.elementor-kit-6{--e-global-color-primary:#131B31;--e-global-color-secondary:#1E2A47;--e-global-color-text:#23262B;--e-global-color-accent:#B08D4F;--e-global-color-egpaper:#F7F4EB;--e-global-color-egpaper2:#EFEADA;--e-global-color-egbrassl:#D8BD87;--e-global-color-egice:#6E93B4;--e-global-color-egline:rgba(176,141,79,0.32);--e-global-color-eglinelt:rgba(19,27,49,0.12);--e-global-typography-primary-font-family:"DM Serif Display";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"DM Serif Display";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-weight:400;background-color:var( --e-global-color-egpaper );color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-weight:400;line-height:1.6em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{font-family:"DM Serif Display", Sans-serif;}.elementor-kit-6 h3{font-family:"DM Serif Display", Sans-serif;}.elementor-kit-6 h4{font-family:"DM Serif Display", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:980px;}.e-con{--container-max-width:980px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:760px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:640px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =============================================================
   EMILY GINSBERG — minimal site-wide CSS.

   Everything Elementor can express is built with native containers
   and widgets and is editable in the editor. Only the things below
   have no Elementor control. Colors read from the Global Colors, so
   Site Settings still drives the palette.
   ============================================================= */

html{ scroll-behavior:smooth; }

::selection{
  background:var(--e-global-color-egbrassl,#D8BD87);
  color:var(--e-global-color-primary,#131B31);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
}

/* ---- Fixed nav ---- */
.eg-nav{
  transition:background .4s ease, backdrop-filter .4s ease, padding .4s ease, box-shadow .4s ease;
}
.eg-nav.scrolled{
  background:rgba(247,244,235,0.88);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--e-global-color-eglinelt,rgba(19,27,49,0.12));
}

/* Let the longer tab titles wrap to a second line instead of overflowing. */
.eg-nav .elementor-nav-menu--main .elementor-nav-menu{
  flex-wrap:wrap;
  justify-content:flex-end;
  row-gap:6px;
}

/* Over the dark hero the nav has no background yet, so its links and
   wordmark switch to light. !important is deliberate: this is a scroll
   state, and it has to beat the widget's own colour from the panel. */
.eg-nav:not(.scrolled) .elementor-nav-menu .elementor-item{
  color:#C7CFE0 !important;
}
.eg-nav:not(.scrolled) .elementor-nav-menu .elementor-item:hover,
.eg-nav:not(.scrolled) .elementor-nav-menu .current-menu-item .elementor-item{
  color:var(--e-global-color-egbrassl,#D8BD87) !important;
}
.eg-nav:not(.scrolled) .eg-mark .elementor-heading-title,
.eg-nav:not(.scrolled) .eg-mark .elementor-heading-title a{
  color:#FBF8F0 !important;
}
.eg-nav:not(.scrolled) .elementor-menu-toggle{
  color:#C7CFE0 !important;
}

/* ---- Hero: the faint skate-trace rings ---- */
.eg-hero::before{
  content:"";
  position:absolute; right:-8%; top:8%;
  width:640px; height:640px; border-radius:50%;
  pointer-events:none; z-index:0;
  background:
    radial-gradient(circle at center, transparent 58%, rgba(176,141,79,0.10) 59%, transparent 60%),
    radial-gradient(circle at center, transparent 68%, rgba(110,147,180,0.08) 69%, transparent 70%);
}
.eg-hero > .e-con-inner{ position:relative; z-index:2; }

/* ---- Trace spine (delete the container in Elementor to remove it) ---- */
.eg-spine{
  position:absolute; left:50%; top:0; width:1px; height:100%;
  transform:translateX(-0.5px); z-index:0; pointer-events:none;
  background:linear-gradient(to bottom,
    transparent 0%,
    var(--e-global-color-egline,rgba(176,141,79,0.32)) 6%,
    var(--e-global-color-egline,rgba(176,141,79,0.32)) 94%,
    transparent 100%);
}

/* ---- Home cards: the whole rectangle is the link ----
   The "View …" link stretches an invisible overlay across the card.
   Elementor makes each widget position:relative, so the direct child
   widgets are reset to static — otherwise the overlay would only cover
   the link's own widget instead of the whole card. */
.eg-navcard{ position:relative; cursor:pointer; }
.eg-navcard > .elementor-widget{ position:static; }
.eg-navcard a::after{ content:""; position:absolute; inset:0; }

.eg-mark{ white-space:nowrap; }

/* ---- Supabase-driven list (Leadership dance videos): this markup is
       created at runtime by the page script, so Elementor cannot style
       it from the editor. ---- */
.eg-media-list{ display:flex; flex-direction:column; gap:18px; margin-top:36px; }
.eg-card{
  padding:22px 24px;
  background:var(--e-global-color-egpaper,#F7F4EB);
  border:1px solid var(--e-global-color-eglinelt,rgba(19,27,49,0.12));
}
.eg-card h4{
  font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:18px;
  color:var(--e-global-color-primary,#131B31); margin:0 0 4px;
}
.eg-card .meta{
  font-family:'IBM Plex Mono',monospace; font-size:13.5px;
  color:var(--e-global-color-accent,#B08D4F); margin-bottom:10px;
}
.eg-card p{
  font-family:'Inter',sans-serif; font-size:14.5px; color:#3E4148;
  line-height:1.6; margin:0;
}
.eg-video{
  position:relative; width:100%; padding-top:56.25%; margin-top:12px;
  background:var(--e-global-color-primary,#131B31);
}
.eg-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.eg-video-link{
  display:inline-block; margin-top:10px;
  font-family:'IBM Plex Mono',monospace; font-size:13.5px;
  color:var(--e-global-color-egice,#6E93B4); text-decoration:none;
  border-bottom:1px solid rgba(110,147,180,0.4);
}
.eg-empty{
  font-family:'IBM Plex Mono',monospace; font-size:13.5px;
  color:#9BA0A8; padding:14px 0;
}/* End custom CSS */