.elementor-kit-4{--e-global-color-primary:#D6A63C;--e-global-color-secondary:#0A0A0A;--e-global-color-text:#0A0A0A;--e-global-color-accent:#CC9933;--e-global-color-db5a8cb:#F8F8F6;--e-global-color-24f7376:#0A0A0A;--e-global-color-7832030:#D6A63C;--e-global-color-d33b031:#EDEDED;--e-global-color-5f5bc3e:#B3B3B3;--e-global-color-64fd05d:#CCCCCC;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:2rem;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0em;--e-global-typography-primary-word-spacing:0.02em;--e-global-typography-secondary-font-family:"Lato";--e-global-typography-secondary-font-size:1.75rem;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:0em;--e-global-typography-secondary-word-spacing:0.05em;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-size:1.125rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-text-word-spacing:0.08em;--e-global-typography-accent-font-family:"Lato";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.06em;--e-global-typography-accent-word-spacing:0.1em;background-color:#F8F8F6;color:#0A0A0A;font-family:"Lato", Sans-serif;font-size:1.125rem;font-weight:400;line-height:1.5em;letter-spacing:0em;word-spacing:0.08em;overscroll-behavior:contain;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:1500ms;--e-preloader-animation:pulse;--e-preloader-animation-duration:1000ms;--e-preloader-delay:1000ms;--e-preloader-width:300px;--e-preloader-max-width:80%;--e-preloader-opacity:1;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:#D6A63C;font-family:"Lato", Sans-serif;font-size:1.2rem;font-weight:700;line-height:1.2em;letter-spacing:0.06em;word-spacing:0.1em;text-shadow:0px 1px 3px rgba(0, 0, 0, 0.25);color:#0A0A0A;box-shadow:0px 4px 12px 0px rgba(0, 0, 0, 0.25);border-style:none;border-radius:18px 18px 18px 18px;padding:12px 28px 12px 28px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:#CC9933;color:#0A0A0A;box-shadow:0px 6px 16px 0px rgba(0, 0, 0, 0.35);border-style:none;border-radius:18px 18px 18px 18px;}.elementor-kit-4 e-page-transition{background-color:var( --e-global-color-24f7376 );}.elementor-kit-4 p{margin-block-end:1em;}.elementor-kit-4 a{color:#D6A63C;font-family:"Lato", Sans-serif;font-size:1.1rem;font-weight:400;line-height:1.3em;letter-spacing:0em;word-spacing:0em;}.elementor-kit-4 a:hover{color:#CC9933;font-family:"Lato", Sans-serif;font-size:1rem;line-height:1.3em;letter-spacing:0em;word-spacing:0em;}.elementor-kit-4 h1{color:#D6A63C;font-family:"Montserrat", Sans-serif;font-size:2rem;font-weight:500;text-transform:uppercase;line-height:1.2em;letter-spacing:0em;word-spacing:0.02em;}.elementor-kit-4 h2{color:var( --e-global-color-text );font-family:"Playfair Display", Sans-serif;font-size:28px;font-weight:500;line-height:1.3em;letter-spacing:0em;word-spacing:0.05em;}.elementor-kit-4 h3{color:#0A0A0A;font-family:"Playfair Display", Sans-serif;font-size:22px;font-weight:500;line-height:1.35em;letter-spacing:0em;word-spacing:0.05em;}.elementor-kit-4 h4{color:#0A0A0A;font-family:"Lato", Sans-serif;font-size:1.3125rem;font-weight:500;line-height:1.35em;letter-spacing:0em;word-spacing:0.05em;}.elementor-kit-4 h5{color:#0A0A0A;font-family:"Lato", Sans-serif;font-size:1.125rem;font-weight:600;line-height:1.3em;letter-spacing:0.06em;word-spacing:0.08em;}.elementor-kit-4 h6{color:#0A0A0A;font-family:"Lato", Sans-serif;font-size:1rem;font-weight:500;line-height:1.3em;letter-spacing:0.03em;word-spacing:0.08em;}.elementor-kit-4 img{border-style:none;border-radius:12px 12px 12px 12px;opacity:1;box-shadow:0px 6px 18px 0px rgba(0, 0, 0, 0.2);filter:brightness( 100% ) contrast( 100% ) saturate( 105% ) blur( 0px ) hue-rotate( 0deg );transition-duration:0.4s;}.elementor-kit-4 img:hover{border-style:none;border-radius:12px 12px 12px 12px;opacity:0.92;box-shadow:0px 8px 24px 0px rgba(0, 0, 0, 0.35);filter:brightness( 105% ) contrast( 105% ) saturate( 110% ) blur( 0px ) hue-rotate( 0deg );}.elementor-kit-4 label{color:var( --e-global-color-text );font-family:"Lato", Sans-serif;font-size:1rem;font-weight:400;line-height:1.3em;letter-spacing:0em;word-spacing:0.05em;}.elementor-kit-4 input:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea,.elementor-kit-4 .elementor-field-textual{font-family:"Lato", Sans-serif;font-size:1rem;font-weight:400;line-height:1.4em;letter-spacing:0em;word-spacing:0.05em;color:var( --e-global-color-text );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-db5a8cb );box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-64fd05d );border-radius:8px 8px 8px 8px;transition:350ms;padding:12px 16px 12px 16px;}.elementor-kit-4 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea:focus,.elementor-kit-4 .elementor-field-textual:focus{color:var( --e-global-color-text );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-db5a8cb );box-shadow:0px 0px 8px 0px rgba(214, 166.00000000000003, 60.00000000000001, 0.35);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-24f7376 );--lightbox-ui-color:var( --e-global-color-primary );--lightbox-ui-color-hover:var( --e-global-color-accent );--lightbox-text-color:var( --e-global-color-d33b031 );--lightbox-header-icons-size:24px;--lightbox-navigation-icons-size:36px;}.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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   EUPHORIA — SITE SETTINGS: CUSTOM CSS (SINGLE DROP-IN)
   ---------------------------------------------------------
   • CSS ONLY (no scripts, no HTML)
   • Safe for Elementor parser
   • Does NOT alter header logic
   • Adds OPT-IN dark chapter typography to prevent “washed out”
     kickers/titles/body text inside black backstage chapters
========================================================= */


/* =========================================================
   1) CANONICAL TOKENS — GOLD • KICKERS • HALOS (GLOBAL)
   ---------------------------------------------------------
   Purpose:
   • One source of truth for:
     1) Kicker dots + halo rings
     2) Gold accent bars/gradients
     3) Micro halo / glow intensity
   • Widgets should reference these tokens (no hardcoded #d4af37)
========================================================= */

:root{
  /* ---------- Brand gold family (canonical) ---------- */
  --ea-gold-1: #d4af37; /* bright */
  --ea-gold-2: #cc9933; /* warm */
  --ea-gold-3: #b8942f; /* deep */

  /* ---------- Global lines / hairlines ---------- */
  --ea-line-on-dark: rgba(255,255,255,.10);
  --ea-line-on-gold: rgba(10,10,10,.18);

  /* ---------- Kicker component tokens ---------- */
  --ea-kicker-text: rgba(248,248,246,.78);
  --ea-kicker-border: var(--ea-line-on-dark);
  --ea-kicker-bg-top: rgba(255,255,255,.06);
  --ea-kicker-bg-bot: rgba(255,255,255,.02);

  /* Dot + halo */
  --ea-kicker-dot: var(--ea-gold-1);
  --ea-kicker-dot-size: 8px;
  --ea-kicker-halo-size: 4px;
  --ea-kicker-halo-color: rgba(212,175,55,.18);

  /* ---------- Gold accent utilities tokens ---------- */
  --ea-accent-bar-w: 5px;
  --ea-accent-bar-radius: 2px;
  --ea-accent-bar-solid: var(--ea-gold-1);
  --ea-accent-bar-grad: linear-gradient(180deg,
    var(--ea-gold-1) 0%,
    #c7972f 50%,
    var(--ea-gold-3) 100%
  );

  /* Accent glow (used by bars/discs/etc.) */
  --ea-accent-glow-1: 0 0 10px rgba(212,175,55,.55);
  --ea-accent-glow-2: 0 0 3px rgba(0,0,0,.45);
}


/* =========================================================
   2) GLOBAL KICKER COMPONENT (TOKEN-DRIVEN)
   Usage:
     <span class="ea-kicker"><i aria-hidden="true"></i> Label</span>
========================================================= */

.ea-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.42rem .85rem;
  border:1px solid var(--ea-kicker-border);
  border-radius:999px;
  background:linear-gradient(180deg, var(--ea-kicker-bg-top), var(--ea-kicker-bg-bot));
  color: var(--ea-kicker-text) !important;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.25;
}

.ea-kicker i{
  width:var(--ea-kicker-dot-size);
  height:var(--ea-kicker-dot-size);
  border-radius:50%;
  background:var(--ea-kicker-dot);
  box-shadow:0 0 0 var(--ea-kicker-halo-size) var(--ea-kicker-halo-color);
  display:inline-block;
  flex:0 0 auto;
}


/* =========================================================
   3) MICRO-UTILITIES — GOLD ACCENTS (TOKEN-BASED)
========================================================= */

.ea-gold-heading{
  position:relative;
  padding-left:18px;
  display:inline-block;
}
.ea-gold-heading::before{
  content:"";
  position:absolute;
  left:0;
  top:.15em;
  bottom:.15em;
  width:var(--ea-accent-bar-w);
  background:var(--ea-accent-bar-solid);
  border-radius:var(--ea-accent-bar-radius);
}

.ea-gold-column{
  position:relative;
  padding-left:26px;
}
.ea-gold-column::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:var(--ea-accent-bar-w);
  border-radius:999px;
  background:var(--ea-accent-bar-grad);
  box-shadow:var(--ea-accent-glow-1), var(--ea-accent-glow-2);
}


/* =========================================================
   4) ELEMENTOR WIDGET UTILITIES
========================================================= */

/* Accordion gold button (+/–) */
.ea-acc-goldbtn{ --ea-disc:37px; --ea-disc-m:32px; }

/* Hide default icons (fully hidden) */
.ea-acc-goldbtn .elementor-tab-title :is(
  .elementor-accordion-icon,
  .elementor-accordion-icon-closed,
  .elementor-accordion-icon-opened,
  [class*="eicon"],
  [class*="icon"],
  [class*="fa-"],
  .fa,.fas,.far,
  i,svg,use,img
){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Prevent pseudo icons */
.ea-acc-goldbtn .elementor-tab-title *::before,
.ea-acc-goldbtn .elementor-tab-title *::after{
  content:none !important;
  display:none !important;
}

/* Gold disc */
.ea-acc-goldbtn .elementor-accordion-item > .elementor-tab-title::before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:var(--ea-disc);
  height:var(--ea-disc);
  border-radius:50%;
  background:linear-gradient(180deg,#d4af37,#b8942f);
  box-shadow:0 1px 3px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.35);
}

.ea-acc-goldbtn .elementor-accordion-item > .elementor-tab-title::after{
  content:"+";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:var(--ea-disc);
  height:var(--ea-disc);
  line-height:var(--ea-disc);
  text-align:center;
  font-weight:700;
  color:#0A0A0A;
}

.ea-acc-goldbtn .elementor-accordion-item.elementor-active > .elementor-tab-title::after{
  content:"–";
}


/* =========================================================
   5) FAQ STAGE — SCALPEL OVERRIDE (SAFE SCOPE)
   Only targets Euphoria FAQ widgets (not CTA, not other modules)
========================================================= */

.ea-faq-stage{
  background:transparent !important;
  box-shadow:none !important;
}

/* Only neutralize stray backgrounds/shadows inside actual FAQ widgets */
.ea-faq-stage :is(
  .euphoria-faq-wow,
  .euphoria-tox-faq-wow,
  .euphoria-med-aes-faq-wow
){
  background:transparent !important;
  box-shadow:none !important;
}

.ea-faq-stage :is(
  .euphoria-faq-wow,
  .euphoria-tox-faq-wow,
  .euphoria-med-aes-faq-wow
) :where(*):not(.ea-faq-panel):not(.ea-faq-panel *){
  background:transparent !important;
  box-shadow:none !important;
}

/* Preserve your intended gold FAQ panel */
.ea-faq-stage :is(
  .euphoria-faq-wow,
  .euphoria-tox-faq-wow,
  .euphoria-med-aes-faq-wow
) .ea-faq-panel{
  background:#c7a970 !important;
  box-shadow:0 14px 40px rgba(0,0,0,.22) !important;
}

/* =========================================================
   FAQ STAGE — ALLOW CHAPTER FRAMES (CTA-style borders)
   Add this UNDER the existing scalpel rules
========================================================= */
.ea-faq-stage :where(*):not(.ea-faq-panel):not(.ea-faq-panel *):not(.ea-chapter-frame):not(.ea-chapter-frame *){
  /* keep scalpel behavior, but DO NOT strip our frame */
}

.ea-faq-stage .ea-chapter-frame{
  background:transparent !important;
  box-shadow:none !important;
}


/* =========================================================
   6) BOULEVARD OVERLAY — LEFT SIDE PANEL
========================================================= */

/* Lock scroll when open */
body.ReactModal__Body--open{
  overflow:hidden !important;
}

/* Overlay container */
body .boulevard-booking-overlay{
  align-items:stretch !important;
  justify-content:flex-start !important;
}

/* LEFT drawer */
body .boulevard-booking-overlay iframe,
body .boulevard-booking-overlay .ReactModal__Content{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;

  width:min(460px, 92vw) !important;
  max-width:460px !important;
  height:100vh !important;

  border-radius:0 !important;
  background:#0a0a0a !important;

  box-shadow:18px 0 44px rgba(0,0,0,.35) !important;
  animation: eaBoulevardSlideInLeft .35s ease forwards;
}

/* Dim backdrop */
body .boulevard-booking-overlay .ReactModal__Overlay{
  background:rgba(0,0,0,.55) !important;
}

/* Slide from LEFT */
@keyframes eaBoulevardSlideInLeft{
  from{ transform:translateX(-100%); }
  to{ transform:translateX(0); }
}

/* Mobile = full screen */
@media (max-width:767px){
  body .boulevard-booking-overlay iframe,
  body .boulevard-booking-overlay .ReactModal__Content{
    width:100vw !important;
    max-width:100vw !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   7) SOCIAL RAIL — TRANSPARENT WRAPPER / NATIVE COLORS
========================================================= */

body .euphoria-social-rail{
  position:fixed !important;
  top:50% !important;
  right:1px !important;
  transform:translateY(-50%) translateY(6px) !important;
  z-index:999999 !important;

  background:transparent !important;
  box-shadow:none !important;
  border:none !important;

  opacity:1 !important;
  pointer-events:auto !important;

  transition:transform .35s ease;
}

/* Scroll-aware: subtle settle (no opacity change) */
body.ea-rail-scrolled .euphoria-social-rail{
  transform:translateY(-50%) translateY(0) !important;
}

/* Spacing between icons WITHOUT changing colors */
body .euphoria-social-rail :is(
  .elementor-social-icon,
  .wp-block-social-links .wp-social-link
){
  margin:0 0 12px 0 !important;
}
body .euphoria-social-rail :is(
  .elementor-social-icon:last-child,
  .wp-block-social-links .wp-social-link:last-child
){
  margin-bottom:0 !important;
}

/* ICON-ONLY OPACITY: always semi-transparent by default */
body .euphoria-social-rail :is(
  .elementor-social-icon,
  .wp-block-social-links .wp-social-link a
){
  opacity:.62;
  transition:opacity .18s ease, transform .18s ease, filter .18s ease;
  will-change:opacity, transform;
}

/* Only hovered/focused icon goes full opacity */
body .euphoria-social-rail :is(
  .elementor-social-icon:hover,
  .elementor-social-icon:focus-within,
  .wp-block-social-links .wp-social-link a:hover,
  .wp-block-social-links .wp-social-link a:focus
){
  opacity:1;
  transform:translateY(-1px);
}

/* Optional: soften non-hover siblings slightly more while hovering rail */
body .euphoria-social-rail:hover :is(
  .elementor-social-icon,
  .wp-block-social-links .wp-social-link a
){
  opacity:.55;
}
body .euphoria-social-rail:hover :is(
  .elementor-social-icon:hover,
  .elementor-social-icon:focus-within,
  .wp-block-social-links .wp-social-link a:hover,
  .wp-block-social-links .wp-social-link a:focus
){
  opacity:1;
}

/* Keyboard focus ring */
body .euphoria-social-rail :is(
  .elementor-social-icon:focus-visible,
  .wp-block-social-links .wp-social-link a:focus-visible
){
  outline:none;
  box-shadow:0 0 0 2px rgba(212,175,55,.35);
  border-radius:999px;
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  body .euphoria-social-rail{
    transition:none !important;
    transform:translateY(-50%) !important;
  }
  body .euphoria-social-rail :is(
    .elementor-social-icon,
    .wp-block-social-links .wp-social-link a
  ){
    transition:none !important;
    transform:none !important;
  }
}


/* =========================================================
   8) FIX: Remove any red debug/outline on Elementor HTML widget
   ONLY for the Teeth Whitening comparison widget
   (Chrome/Edge support :has())
========================================================= */

.elementor-widget-html:has(.ea-tw-compare),
.elementor-widget-html:has(.ea-tw-compare) > .elementor-widget-container{
  outline:none !important;
  border:none !important;
  box-shadow:none !important;
  outline-offset:0 !important;
}

.elementor-widget.ea-no-outline,
.elementor-widget.ea-no-outline > .elementor-widget-container{
  outline:none !important;
  border:none !important;
  box-shadow:none !important;
}


/* =========================================================
   EUPHORIA — BRAND SEAL TOKENS (GLOBAL)
========================================================= */

:root{
  --ea-brand-badge-size: 36px;
  --ea-brand-glyph-size: 24px;
  --ea-brand-glyph-nudge: .5px;

  --ea-brand-badge-bg: #0a0a0a;
  --ea-brand-badge-shadow:
    0 8px 18px rgba(0,0,0,.28),
    0 1px 0 rgba(255,255,255,.06) inset;
  --ea-brand-badge-shadow-hover:
    0 10px 22px rgba(0,0,0,.30),
    0 1px 0 rgba(255,255,255,.08) inset;
}

/* =========================================================
   EUPHORIA — BRAND SEAL COMPONENT
========================================================= */

.ea-brand-seal{
  width:var(--ea-brand-badge-size);
  height:var(--ea-brand-badge-size);
  border-radius:999px;
  background:var(--ea-brand-badge-bg);
  display:grid;
  place-items:center;
  box-shadow:var(--ea-brand-badge-shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}

.ea-brand-seal img,
.ea-brand-seal svg{
  width:var(--ea-brand-glyph-size);
  height:var(--ea-brand-glyph-size);
  display:block;
  transform:translateY(var(--ea-brand-glyph-nudge));
}

@media (hover:hover) and (pointer:fine){
  .ea-brand-seal:hover{
    transform:translateY(-1px);
    box-shadow:var(--ea-brand-badge-shadow-hover);
  }
}


/* =========================================================
   EUPHORIA — CHAPTER MODULE SYSTEM (GLOBAL)
========================================================= */

:root{
  --ea-ch-radius: 18px;

  --ea-ch-frame-dark: 2px;
  --ea-ch-frame-gold: 3px;
  --ea-ch-hairline: 1px;

  --ea-ch-gap: 6px;

  --ea-ch-gold: #B38A2E;
  --ea-ch-ink: #0a0a0a;

  --ea-ch-gold-hair-a: .40;
  --ea-ch-ink-hair-a: .20;

  --ea-ch-halo-a: .18;
  --ea-ch-halo-spread: 2px;
}

.ea-chapter{
  position:relative;
  border-radius:var(--ea-ch-radius);
  box-sizing:border-box;
  isolation:isolate;
}

/* === TRUST / DARK CHAPTER (Gold frame on black) === */
.ea-chapter.ea-chapter--dark{
  border: var(--ea-ch-frame-gold) solid rgba(179,138,46,.78);
  border-radius:var(--ea-ch-radius);

  filter:
    drop-shadow(0 16px 38px rgba(0,0,0,.28))
    drop-shadow(0 0 var(--ea-ch-halo-spread) rgba(179,138,46,var(--ea-ch-halo-a)));
}

/* Inner gold hairline (default dark chapter) */
.ea-chapter.ea-chapter--dark::after{
  content:"";
  position:absolute;
  inset: var(--ea-ch-gap);
  border-radius: calc(var(--ea-ch-radius) - var(--ea-ch-gap));
  pointer-events:none;
  border: var(--ea-ch-hairline) solid rgba(179,138,46,var(--ea-ch-gold-hair-a));
}

/* === CTA / GOLD CHAPTER (Black frame on gold) === */
.ea-chapter.ea-chapter--gold{
  border: var(--ea-ch-frame-dark) solid rgba(10,10,10,.95);
  border-radius:var(--ea-ch-radius);
  filter: drop-shadow(0 16px 38px rgba(0,0,0,.20));
}

.ea-chapter.ea-chapter--gold::after{
  content:"";
  position:absolute;
  inset: var(--ea-ch-gap);
  border-radius: calc(var(--ea-ch-radius) - var(--ea-ch-gap));
  pointer-events:none;
  border: var(--ea-ch-hairline) solid rgba(10,10,10,var(--ea-ch-ink-hair-a));
}

/* Optional: restrained “wow” */
@media (hover:hover) and (pointer:fine){
  .ea-chapter.ea-chapter--gold:hover{
    transform: translateY(-1px);
    transition: transform .18s ease;
  }
  .ea-chapter.ea-chapter--gold:hover::after{
    border-color: rgba(10,10,10,.24);
  }
}

.ea-chapter::before,
.ea-chapter::after{
  box-sizing:border-box;
}


/* =========================================================
   EUPHORIA — CHAPTER FRAME FIX (OPT-IN)
========================================================= */

.ea-chapter.ea-chapter--dark.ea-framefix{
  position: relative;
  overflow: hidden;
  border-radius: var(--ea-ch-radius);
  background-color: #0a0a0a;
  isolation: isolate;
}

/* Inner ring override (framefix) */
.ea-chapter.ea-chapter--dark.ea-framefix::after{
  content: "";
  position: absolute;
  inset: var(--ea-framefix-inset, 6px);
  border-radius: calc(var(--ea-ch-radius) - var(--ea-framefix-inset, 6px));
  border: 1px solid var(--ea-framefix-ring, rgba(212,175,55,.42));
  pointer-events: none;
  z-index: 3;
}

/* Ensure ea-framefix inner ring matches Chapter gold token */
.ea-chapter.ea-chapter--dark.ea-framefix::after{
  border-color: rgba(179,138,46,var(--ea-ch-gold-hair-a)) !important;
}


/* =========================================================
   EUPHORIA — UNIVERSAL FRAME UTILITY (OPT-IN)
========================================================= */

.ea-frame{
  --ea-frame-radius: 16px;
  --ea-frame-outer-w: 3px;
  --ea-frame-outer: rgba(212,175,55,.95);
  --ea-frame-inset: 6px;
  --ea-frame-inner: rgba(212,175,55,.42);
  --ea-frame-fill: #0a0a0a;

  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--ea-frame-radius);
  background-color: var(--ea-frame-fill);

  box-shadow:
    0 0 0 var(--ea-frame-outer-w) var(--ea-frame-outer),
    var(--ea-frame-shadow, none);
}

.ea-frame::after{
  content:"";
  position:absolute;
  inset: var(--ea-frame-inset);
  border-radius: calc(var(--ea-frame-radius) - var(--ea-frame-inset));
  border: 1px solid var(--ea-frame-inner);
  pointer-events:none;
  z-index: 2;
}

.ea-frame > *{
  position: relative;
  z-index: 3;
}


/* =========================================================
   EUPHORIA: ANCHOR OFFSETS FOR FIXED HEADER
========================================================= */

#contact-form{
  scroll-margin-top: 240px;
}
@media (max-width:1024px){
  #contact-form{ scroll-margin-top: 210px; }
}
@media (max-width:767px){
  #contact-form{ scroll-margin-top: 195px; }
}


/* =========================================================
   NEW: EUPHORIA — DARK CHAPTER TYPOGRAPHY (OPT-IN)
   Purpose:
   • Prevent “washed out” text on black backstage
   • Standardize kicker/title/body/bullets inside dark chapters
   Usage:
   <div class="ea-chapter ea-chapter--dark ea-framefix">
     <div class="ea-darkcopy"> ... </div>
   </div>
========================================================= */

.ea-chapter.ea-chapter--dark .ea-darkcopy{
  color: var(--ea-dark-text, #fffdfa);
}

/* Headings: crisp */
.ea-chapter.ea-chapter--dark .ea-darkcopy :is(h1,h2,h3,h4){
  color: var(--ea-dark-text, #fffdfa);
  font-family:"Playfair Display", serif;
  letter-spacing:.01em;
}

/* Body copy: higher opacity */
.ea-chapter.ea-chapter--dark .ea-darkcopy :is(p,li){
  color: var(--ea-dark-muted, rgba(248,248,246,.88));
  line-height:1.65;
}

/* Bullets: gold markers */
.ea-chapter.ea-chapter--dark .ea-darkcopy li::marker{
  color: var(--ea-ch-gold, #B38A2E);
}

/* Kicker inside dark chapters:
   • Use the GLOBAL .ea-kicker component
   • Only override tokens so dot/halo match chapter gold family
*/
.ea-chapter.ea-chapter--dark .ea-darkcopy{
  --ea-kicker-text: rgba(248,248,246,.88);
  --ea-kicker-border: rgba(255,255,255,.12);
  --ea-kicker-bg-top: rgba(255,255,255,.06);
  --ea-kicker-bg-bot: rgba(255,255,255,.02);

  --ea-kicker-dot: var(--ea-ch-gold, #B38A2E);
  --ea-kicker-halo-color: rgba(179,138,46,.18);
}

/* Preserve your centered kicker spacing behavior */
.ea-chapter.ea-chapter--dark .ea-darkcopy .ea-kicker{
  margin:0 auto 10px;
}/* End custom CSS */