/* ==========================================================
   ENLIGHTEN DENTAL — Premium Redesign v3
   A complete, self-contained design system.
   No dependency on old CSS files.
   ========================================================== */

/* ---------- Design Tokens ---------- */
:root {
  --c-navy:     #1E2D52;
  --c-navy-lt:  #2C3E6B;
  --c-navy-xlt: #3D5089;
  --c-teal:     #7BA68A;
  --c-teal-dk:  #5E8A6D;
  --c-gold:     #C5A55A;
  --c-gold-lt:  #F5ECD8;
  --c-white:    #FFFFFF;
  --c-off:      #F6F8FA;
  --c-gray-1:   #F0F2F5;
  --c-gray-2:   #D4D9E0;
  --c-gray-3:   #9BA3AF;
  --c-gray-4:   #6B7280;
  --c-gray-5:   #374151;
  --c-text:     #1B1F2B;

  --ff-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --ff-serif: 'Playfair Display', Georgia, serif;

  --fs-xs:  .75rem;   --fs-sm:  .875rem;  --fs-base: 1rem;
  --fs-lg:  1.125rem;  --fs-xl:  1.25rem;  --fs-2xl: 1.5rem;
  --fs-3xl: 2rem;      --fs-4xl: 2.5rem;   --fs-5xl: 3.25rem;
  --fs-6xl: 4rem;

  --sp-1: .25rem; --sp-2: .5rem;  --sp-3: .75rem; --sp-4: 1rem;
  --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-8: 2rem; --sp-10: 2.5rem;
  --sp-12: 3rem; --sp-16: 4rem; --sp-20: 5rem; --sp-24: 6rem;

  --max-w: 1280px;
  --max-w-lg: 1400px;
  --gutter: clamp(1rem, 3vw, 2rem);
  --sec-py: clamp(4rem, 8vw, 7rem);

  --r-sm: .5rem; --r-md: .75rem; --r-lg: 1rem; --r-xl: 1.5rem; --r-2xl: 2rem; --r-full: 9999px;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.06);
  --shadow:    0 4px 24px rgba(0,0,0,.07);
  --shadow-md: 0 8px 32px rgba(0,0,0,.09);
  --shadow-lg: 0 16px 48px rgba(0,0,0,.12);
  --shadow-xl: 0 24px 64px rgba(0,0,0,.16);

  --ease: cubic-bezier(.4,0,.2,1);
  --dur: .3s;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:0}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}

/* ---------- Base ---------- */
body.ed {
  font-family: var(--ff-sans);
  font-size: var(--fs-base);
  line-height: 1.7;
  color: var(--c-text);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ---------- Typography ---------- */
body.ed h1,body.ed h2,body.ed h3,body.ed h4,body.ed h5,body.ed h6{
  font-family: var(--ff-serif);
  line-height: 1.2;
  color: var(--c-text);
  margin-bottom: var(--sp-4);
  font-weight: 600;
}
body.ed h1{font-size:clamp(2.5rem,5vw,var(--fs-6xl));font-weight:700;letter-spacing:-.02em}
body.ed h2{font-size:clamp(1.75rem,4vw,var(--fs-4xl));letter-spacing:-.01em}
body.ed h3{font-size:clamp(1.25rem,2.5vw,var(--fs-2xl))}
body.ed h4{font-size:var(--fs-xl)}
body.ed p{margin-bottom:var(--sp-4);color:var(--c-gray-4);line-height:1.8}
body.ed a{color:var(--c-teal);transition:color var(--dur) var(--ease)}
body.ed a:hover{color:var(--c-teal-dk)}
body.ed strong{font-weight:600;color:var(--c-text)}
body.ed blockquote{border-left:4px solid var(--c-teal);padding-left:var(--sp-6);margin:var(--sp-8) 0;font-style:italic}
body.ed blockquote p{font-size:var(--fs-xl);color:var(--c-gray-5)}

/* ---------- Container ---------- */
.ed-container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}

/* ---------- Buttons ---------- */
.ed-btn{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  padding:.875rem 2rem;
  font-family:var(--ff-sans);font-size:var(--fs-sm);font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  border-radius:var(--r-full);border:2px solid transparent;
  transition:all var(--dur) var(--ease);white-space:nowrap;
}
.ed-btn--accent{background:var(--c-teal);color:var(--c-white)!important;border-color:var(--c-teal)}
.ed-btn--accent:hover{background:var(--c-teal-dk);border-color:var(--c-teal-dk);transform:translateY(-2px);box-shadow:0 8px 24px rgba(123,166,138,.35);color:var(--c-white)!important}
.ed-btn--gold{background:var(--c-gold);color:var(--c-white)!important;border-color:var(--c-gold)}
.ed-btn--gold:hover{background:#b69548;border-color:#b69548;transform:translateY(-2px);box-shadow:0 8px 24px rgba(197,165,90,.35);color:var(--c-white)!important}
.ed-btn--navy{background:var(--c-navy);color:var(--c-white)!important}
.ed-btn--navy:hover{background:var(--c-navy-lt);transform:translateY(-2px);color:var(--c-white)!important}
.ed-btn--white{background:var(--c-white);color:var(--c-navy)!important}
.ed-btn--white:hover{background:var(--c-off);transform:translateY(-2px);color:var(--c-navy)!important}
.ed-btn--outline-white{background:transparent;color:var(--c-white)!important;border-color:rgba(255,255,255,.4)}
.ed-btn--outline-white:hover{background:var(--c-white);color:var(--c-navy)!important;border-color:var(--c-white)}
/* old duplicates removed — consolidated above */
.ed-btn--sm{padding:.625rem 1.5rem;font-size:var(--fs-xs)}
.ed-btn-group{display:flex;gap:var(--sp-4);flex-wrap:wrap}

/* ---------- Header / Nav ---------- */
.ed-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:var(--sp-5) 0;
  transition:all var(--dur) var(--ease);
}
.ed-header.scrolled{
  background:rgba(30,45,82,.98);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:var(--sp-3) 0;
  box-shadow:0 2px 24px rgba(0,0,0,.2);
}
.ed-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max-w-lg);margin:0 auto;padding:0 var(--sp-8);
}
.ed-header__left,.ed-header__right{display:flex;align-items:center;gap:var(--sp-6)}
.ed-header__phone,.ed-header__link{
  display:flex;align-items:center;gap:var(--sp-2);
  color:var(--c-white);font-size:var(--fs-sm);font-weight:500;
  text-transform:uppercase;letter-spacing:.05em;opacity:.85;
}
.ed-header__phone:hover,.ed-header__link:hover{opacity:1;color:var(--c-teal)}
.ed-header__phone svg,.ed-header__link svg{flex-shrink:0}
.ed-header__logo img{height:48px;width:auto;filter:brightness(0) invert(1);transition:height var(--dur) var(--ease)}
.ed-header.scrolled .ed-header__logo img{height:38px}
.ed-header__menu-btn{
  display:flex;align-items:center;gap:var(--sp-2);
  color:var(--c-white);font-size:var(--fs-sm);font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
}
.ed-hamburger{width:22px;height:16px;position:relative}
.ed-hamburger span{
  display:block;position:absolute;left:0;width:100%;height:2px;
  background:var(--c-white);border-radius:2px;
  transition:all var(--dur) var(--ease);
}
.ed-hamburger span:nth-child(1){top:0}
.ed-hamburger span:nth-child(2){top:7px}
.ed-hamburger span:nth-child(3){top:14px}
.ed-hamburger.open span:nth-child(1){top:7px;transform:rotate(45deg)}
.ed-hamburger.open span:nth-child(2){opacity:0}
.ed-hamburger.open span:nth-child(3){top:7px;transform:rotate(-45deg)}

/* ---------- Menu Overlay ---------- */
.ed-menu-overlay{
  position:fixed;inset:0;z-index:99;
  background:var(--c-navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;
  transition:all .4s var(--ease);
  padding:var(--sp-24) var(--sp-8) var(--sp-12);
  overflow-y:auto;
}
.ed-menu-overlay.open{opacity:1;visibility:visible}
.ed-menu-overlay__inner{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:var(--sp-12);
  max-width:var(--max-w);width:100%;
}
.ed-menu-overlay__col h3{
  font-family:var(--ff-serif);font-size:var(--fs-2xl);font-weight:500;
  color:var(--c-gray-3);font-style:italic;margin-bottom:var(--sp-6);
}
.ed-menu-overlay__col a{
  display:block;padding:var(--sp-3) 0;
  color:rgba(255,255,255,.85);font-size:var(--fs-base);font-weight:500;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:all var(--dur) var(--ease);
}
.ed-menu-overlay__col a:hover{color:var(--c-teal);padding-left:var(--sp-2)}
.ed-menu-overlay__cta{display:flex;gap:var(--sp-4);justify-content:center;margin-top:var(--sp-12)}

/* ---------- Section base ---------- */
.ed-section{padding:var(--sec-py) 0;position:relative}
.ed-section--dark{background:var(--c-navy);color:var(--c-white)}
.ed-section--dark h1,.ed-section--dark h2,.ed-section--dark h3,.ed-section--dark h4{color:var(--c-white)!important}
.ed-section--dark p{color:rgba(255,255,255,.75)}
.ed-section--dark a{color:var(--c-teal)}
.ed-section--navy{background:var(--c-navy-lt);color:var(--c-white)}
.ed-section--navy h2,.ed-section--navy h3{color:var(--c-white)}
.ed-section--navy p{color:rgba(255,255,255,.75)}
.ed-section--gray{background:var(--c-off)}
.ed-section--teal{background:var(--c-teal);color:var(--c-white)}
.ed-section--teal h2,.ed-section--teal p{color:var(--c-white)}

/* ---------- Section header ---------- */
.ed-sec-header{text-align:center;max-width:720px;margin:0 auto var(--sp-16)}
.ed-sec-header__tag{
  display:inline-block;font-size:var(--fs-xs);font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--c-teal);margin-bottom:var(--sp-3);
}
.ed-sec-header p{font-size:var(--fs-lg);color:var(--c-gray-4);max-width:600px;margin:0 auto}

/* ---------- Grid ---------- */
.ed-grid{display:grid;gap:var(--sp-8)}
.ed-grid-2{grid-template-columns:repeat(2,1fr)}
.ed-grid-3{grid-template-columns:repeat(3,1fr)}
.ed-grid-4{grid-template-columns:repeat(4,1fr)}
.ed-grid-5{grid-template-columns:repeat(5,1fr)}

/* ---------- Split (image + text) ---------- */
.ed-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center}
.ed-split--flip .ed-split__img{order:2}
.ed-split__img{border-radius:var(--r-2xl);overflow:hidden;position:relative;max-height:500px}
.ed-split__img img{width:100%;height:100%;object-fit:cover;display:block;max-height:500px}
.ed-split__img::after{
  content:'';position:absolute;inset:0;
  border:2px solid var(--c-teal);border-radius:var(--r-2xl);
  transform:translate(12px,12px);z-index:-1;pointer-events:none;
}
.ed-split__body h2{margin-bottom:var(--sp-6)}
.ed-split__body p{margin-bottom:var(--sp-4)}
/* All images inside split sections — prevent stretching */
.ed-split__body img,
.ed-split > div img:not(.ed-split__img img) {
  width:100%;height:auto;max-height:350px;object-fit:cover;
  border-radius:var(--r-xl);display:block;
}

/* ---------- Cards ---------- */
.ed-card{
  background:var(--c-white);border-radius:var(--r-xl);
  overflow:hidden;box-shadow:var(--shadow);
  transition:all var(--dur) var(--ease);
}
.ed-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.ed-card__img{aspect-ratio:4/3;overflow:hidden;background:var(--c-gray-1)}
.ed-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);display:block}
.ed-card:hover .ed-card__img img{transform:scale(1.05)}
.ed-card__body{padding:var(--sp-8)}
.ed-card__body h3{margin-bottom:var(--sp-2)}
.ed-card__body p{font-size:var(--fs-sm);color:var(--c-gray-4);margin-bottom:var(--sp-4)}

/* Doctor card */
.ed-doc-card{
  text-align:center;background:var(--c-white);border-radius:var(--r-xl);
  overflow:hidden;box-shadow:var(--shadow);transition:all var(--dur) var(--ease);
}
.ed-doc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.ed-doc-card__img{aspect-ratio:1;overflow:hidden}
.ed-doc-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ed-doc-card:hover .ed-doc-card__img img{transform:scale(1.05)}
.ed-doc-card__body{padding:var(--sp-6)}
.ed-doc-card__body h3{font-size:var(--fs-xl);margin-bottom:var(--sp-1)}
.ed-doc-card__role{color:var(--c-teal);font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--sp-3)}
.ed-doc-card__body p{font-size:var(--fs-sm)}

/* Feature card */
.ed-feat{
  text-align:center;padding:var(--sp-10);
  background:var(--c-white);border-radius:var(--r-xl);
  border:1px solid var(--c-gray-1);
  transition:all var(--dur) var(--ease);
}
.ed-feat:hover{border-color:var(--c-teal);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.ed-feat__icon{
  width:64px;height:64px;margin:0 auto var(--sp-6);
  background:rgba(123,166,138,.1);border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;
}
.ed-feat__icon svg,.ed-feat__icon img{width:32px;height:32px}
.ed-feat h3{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}
.ed-feat p{font-size:var(--fs-sm);color:var(--c-gray-4);margin:0}

/* ---------- Logos row ---------- */
.ed-logos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-12);padding:var(--sp-4) 0}
.ed-logos img{height:52px;width:auto;opacity:.35;filter:grayscale(1);transition:all var(--dur) var(--ease)}
.ed-logos img:hover{opacity:1;filter:grayscale(0)}

/* ---------- CTA band ---------- */
.ed-cta{background:linear-gradient(135deg,var(--c-teal),var(--c-teal-dk));padding:var(--sp-20) 0;position:relative;overflow:hidden}
.ed-cta::before{content:'';position:absolute;top:-40%;right:-10%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.06)}
.ed-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8);position:relative;z-index:1}
.ed-cta__text h2{color:var(--c-white);margin-bottom:var(--sp-2);font-size:clamp(1.5rem,3vw,var(--fs-3xl))}
.ed-cta__text p{color:rgba(255,255,255,.85);margin:0;font-size:var(--fs-lg)}
.ed-cta__actions{display:flex;gap:var(--sp-4);flex-shrink:0}

/* ---------- Footer ---------- */
.ed-footer{background:var(--c-navy);color:rgba(255,255,255,.7);padding:var(--sp-24) 0 var(--sp-8)}
.ed-footer__top{display:grid;grid-template-columns:1.3fr 2fr;gap:var(--sp-16);margin-bottom:var(--sp-16)}
.ed-footer__brand img{filter:brightness(0) invert(1);margin-bottom:var(--sp-6);height:40px;width:auto}
.ed-footer__brand p{font-size:var(--fs-sm);line-height:1.8;margin-bottom:var(--sp-6)}
.ed-footer__social{display:flex;gap:var(--sp-3)}
.ed-footer__social a{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);transition:all var(--dur) var(--ease);
}
.ed-footer__social a:hover{background:var(--c-teal);border-color:var(--c-teal);color:var(--c-white)}
.ed-footer__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-8)}
.ed-footer__col h4{color:var(--c-white)!important;font-family:var(--ff-sans);font-size:var(--fs-base);font-weight:600;margin-bottom:var(--sp-5);text-transform:uppercase;letter-spacing:.05em}
.ed-footer__col ul li{margin-bottom:var(--sp-3)}
.ed-footer__col a{color:rgba(255,255,255,.6);font-size:var(--fs-sm);transition:color var(--dur) var(--ease)}
.ed-footer__col a:hover{color:var(--c-teal)}
.ed-footer__col p{font-size:var(--fs-sm);margin-bottom:var(--sp-2)}
.ed-footer__phone a{color:var(--c-teal);font-size:var(--fs-lg);font-weight:700}
.ed-footer__hours{font-size:var(--fs-xs);color:rgba(255,255,255,.5);margin-bottom:var(--sp-4)}
.ed-footer__bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:var(--sp-8);font-size:var(--fs-xs);
  color:rgba(255,255,255,.4);text-align:center;
}
.ed-footer__bottom a{color:rgba(255,255,255,.5)}
.ed-footer__bottom a:hover{color:var(--c-teal)}
.ed-footer__bottom p{margin-bottom:var(--sp-2)}

/* ---------- Timeline / Steps ---------- */
.ed-timeline{position:relative;max-width:860px;margin:0 auto}
.ed-timeline::before{content:'';position:absolute;left:32px;top:0;bottom:0;width:2px;background:var(--c-gray-2)}
.ed-timeline__step{position:relative;padding-left:88px;margin-bottom:var(--sp-12)}
.ed-timeline__num{
  position:absolute;left:8px;top:0;width:50px;height:50px;
  background:linear-gradient(135deg,var(--c-teal),var(--c-teal-dk));color:var(--c-white);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:var(--fs-xl);font-weight:700;z-index:1;
}
.ed-timeline__step h3{margin-bottom:var(--sp-3)}
.ed-timeline__step p{color:var(--c-gray-4)}

/* ---------- Accordion ---------- */
.ed-accordion__item{border:1px solid var(--c-gray-2);border-radius:var(--r-lg);margin-bottom:var(--sp-3);overflow:hidden;transition:border-color var(--dur) var(--ease)}
.ed-accordion__item:hover{border-color:var(--c-teal)}
.ed-accordion__header{padding:var(--sp-5) var(--sp-6);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:var(--fs-lg)}
.ed-accordion__body{padding:0 var(--sp-6);max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease)}
.ed-accordion__item.active .ed-accordion__body{max-height:600px;padding:0 var(--sp-6) var(--sp-6)}

/* ---------- Animations ---------- */
.ed-anim{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ed-anim.visible{opacity:1;transform:translateY(0)}
.ed-anim-left{opacity:0;transform:translateX(-30px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ed-anim-left.visible{opacity:1;transform:translateX(0)}
.ed-anim-right{opacity:0;transform:translateX(30px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ed-anim-right.visible{opacity:1;transform:translateX(0)}

/* ==========================================================
   OLD-CLASS OVERRIDES
   Map existing HTML classes to the new design tokens.
   ========================================================== */

/* Kill every old theme / layout / nav / overlay element */
body.ed .layout-background,
body.ed .fixed-nav-section,
body.ed .fixed-nav-mobile-section,
body.ed .hero-inner-section,
body.ed .logo-mobile,
body.ed #overlay-menu,
body.ed #overlay-phone,
body.ed #slide-menu,
body.ed .overlay-section,
body.ed .closer-section,
body.ed .social-stripe-section,
body.ed .footer-section,
body.ed .slide-menu-backdrop,
body.ed header.header-unstack{display:none!important}

body.ed #layout{background:var(--c-white)}

/* Section reset */
body.ed section.section{
  width:100%;position:relative;overflow:visible;
  font-family:var(--ff-sans);font-size:var(--fs-base);line-height:1.7;
  padding:var(--sec-py) 0;
}

/* Color-scheme backgrounds */
body.ed .color-scheme-1-background-color{background:var(--c-white)}
body.ed .color-scheme-2-background-color{background:var(--c-navy)}
body.ed .color-scheme-3-background-color{background:var(--c-navy)}
body.ed .color-scheme-4-background-color{background:var(--c-navy-lt)}
body.ed .color-scheme-5-background-color{background:var(--c-navy)}
body.ed .color-scheme-6-background-color{background:var(--c-navy)}
body.ed .color-scheme-9-background-color{background:var(--c-navy)}

/* Containers */
body.ed .section-container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);background:transparent!important;position:relative;z-index:2}
body.ed .section-content{max-width:100%;padding:0}
body.ed .row{display:flex;flex-wrap:wrap;margin:0;max-width:100%}
body.ed .content-row{gap:var(--sp-8);align-items:center}
body.ed .column{flex:1;min-width:0;padding:0 var(--sp-4)}

/* Typography inside sections */
body.ed .section h1{font-family:var(--ff-serif);font-size:clamp(2.5rem,5vw,var(--fs-6xl));font-weight:700;color:inherit}
body.ed .section h2{font-family:var(--ff-serif);font-size:clamp(1.75rem,4vw,var(--fs-4xl));font-weight:600;color:inherit}
body.ed .section h3{font-family:var(--ff-serif);font-size:clamp(1.25rem,2.5vw,var(--fs-2xl));font-weight:600;color:inherit}
body.ed .section p{font-size:var(--fs-lg);line-height:1.8;color:inherit;opacity:.85}
body.ed .section a{color:var(--c-teal);font-size:inherit;font-weight:inherit}

/* Dark-scheme text */
body.ed .color-scheme-2 h1,body.ed .color-scheme-2 h2,body.ed .color-scheme-2 h3,
body.ed .color-scheme-3 h1,body.ed .color-scheme-3 h2,body.ed .color-scheme-3 h3,
body.ed .color-scheme-4 h1,body.ed .color-scheme-4 h2,body.ed .color-scheme-4 h3,
body.ed .color-scheme-9 h1,body.ed .color-scheme-9 h2,body.ed .color-scheme-9 h3{color:var(--c-white)}
body.ed .color-scheme-2 p,body.ed .color-scheme-2 li,
body.ed .color-scheme-3 p,body.ed .color-scheme-3 li,
body.ed .color-scheme-4 p,body.ed .color-scheme-4 li,
body.ed .color-scheme-9 p,body.ed .color-scheme-9 li{color:rgba(255,255,255,.75)}
body.ed .color-scheme-2 a,body.ed .color-scheme-3 a,
body.ed .color-scheme-4 a,body.ed .color-scheme-9 a{color:var(--c-teal)}

/* Light-scheme text */
body.ed .color-scheme-1 h1,body.ed .color-scheme-1 h2,body.ed .color-scheme-1 h3{color:var(--c-text)}
body.ed .color-scheme-1 p,body.ed .color-scheme-1 li{color:var(--c-gray-4)}

/* Buttons */
body.ed .section a.button{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  padding:.875rem 2rem;
  background:linear-gradient(135deg,var(--c-teal),var(--c-teal-dk));
  color:var(--c-white)!important;
  border-radius:var(--r-full);border:0;
  font-family:var(--ff-sans);font-size:var(--fs-sm);font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
  transition:all var(--dur) var(--ease);min-width:auto;
}
body.ed .section a.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(123,166,138,.35)}
body.ed .section a.button .button-text{color:var(--c-white)!important;font-weight:600}
body.ed .buttons-container{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-6)}

/* Hero */
body.ed [data-lucid-group="Textblock Columns 2 (5)"]{
  min-height:100vh;display:flex;align-items:center;
  padding-top:160px;padding-bottom:var(--sec-py);overflow:hidden;
}
body.ed [data-lucid-group="Textblock Columns 2 (5)"]::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(30,45,82,.92) 0%,rgba(30,45,82,.65) 50%,rgba(123,166,138,.2) 100%);
  z-index:1;
}
body.ed [data-lucid-group="Textblock Columns 2 (5)"] .section-container{z-index:2}
body.ed [data-lucid-group="Textblock Columns 2 (5)"] .section-custom-background{position:absolute;inset:0;z-index:0;display:block!important}

/* Hero image rounded */
body.ed [data-lucid-group="Textblock Columns 2 (5)"] .column-2 figure{border-radius:var(--r-2xl)!important;box-shadow:var(--shadow-xl);overflow:hidden}
body.ed [data-lucid-group="Textblock Columns 2 (5)"] .column-2 figure img{border-radius:var(--r-2xl)!important}

/* Hero tagline */
body.ed .hero-title{font-family:var(--ff-serif)!important;font-weight:400!important;font-style:italic;color:rgba(255,255,255,.85)!important}
body.ed .hero-title i{font-style:italic;color:var(--c-teal)}

/* Ruled list */
body.ed .ruled-list{list-style:none;padding:0}
body.ed .ruled-list li{padding:var(--sp-3) 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:var(--fs-lg)}

/* Section headings */
body.ed .section-heading{text-align:center;margin-bottom:var(--sp-12)}
body.ed .section-heading .title{display:block;font-family:var(--ff-serif);font-size:clamp(1.75rem,4vw,var(--fs-4xl));font-weight:600}
body.ed .section-heading .subtitle{display:block;font-family:var(--ff-serif);font-size:var(--fs-xl);font-weight:400;font-style:italic;margin-top:var(--sp-2);opacity:.75}
body.ed .section-description{max-width:800px;margin:0 auto var(--sp-8);text-align:center}

/* Figures */
body.ed .section-richtext figure{margin:0;border-radius:var(--r-xl);overflow:hidden}
body.ed .section-richtext figure img{width:100%;height:auto;border-radius:var(--r-xl)}

/* Affiliations */
body.ed .affiliations-section{background:var(--c-navy)!important;padding:var(--sp-16) 0}
body.ed .affiliations-section .images-container,
body.ed .affiliations-section .section-widget .row,
body.ed .affiliations-section .row.expanded{
  display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-10);
}
body.ed .affiliations-section .row.expanded .column{flex:0 0 auto!important;max-width:none!important;padding:0}
body.ed .affiliations-section .image,
body.ed .affiliations-section span.image{display:inline-block}
body.ed .affiliations-section img{filter:brightness(0) invert(1);opacity:.4;transition:opacity var(--dur) var(--ease);height:52px!important;width:auto!important;max-width:160px!important;object-fit:contain}
body.ed .affiliations-section img:hover{opacity:1}
body.ed .affiliations-section .images-container{gap:var(--sp-10)!important}
body.ed .affiliations-section .image,body.ed .affiliations-section span.image{display:flex!important;align-items:center;justify-content:center}

/* Team photos grid */
body.ed .menu-photo-items{display:grid!important;grid-template-columns:repeat(5,1fr);gap:var(--sp-6)}
body.ed .menu-photo-items .menu-item-break{display:none}
body.ed .menu-photo-items .menu.column{flex:none!important;max-width:none!important;padding:0}
body.ed .menu-photo-item{background:rgba(255,255,255,.04);border-radius:var(--r-xl);overflow:hidden;transition:all var(--dur) var(--ease)}
body.ed .menu-photo-item:hover{background:rgba(255,255,255,.08);transform:translateY(-4px)}
body.ed .photo-box{border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:hidden}
body.ed .menu-photo-item h3 span{color:var(--c-white)!important;font-family:var(--ff-serif)}
body.ed .menu-photo-item .section-richtext p{font-size:var(--fs-sm);opacity:.7}

/* Menu icons */
body.ed .menu-icon-section .menu-icon-items{display:grid!important;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}
body.ed .menu-icon-section .menu-icon-items .menu.column{flex:none!important;max-width:none!important}
body.ed .menu-icon-item{
  background:rgba(255,255,255,.04);border-radius:var(--r-xl);
  padding:var(--sp-8);transition:all var(--dur) var(--ease);
  border:1px solid rgba(255,255,255,.08);
}
body.ed .menu-icon-item:hover{background:rgba(255,255,255,.08);border-color:var(--c-teal);transform:translateY(-4px)}

/* Textblock columns 3 cards */
body.ed .textblock-columns-3-section .content-row{display:grid!important;grid-template-columns:repeat(3,1fr);gap:var(--sp-8)}
body.ed .textblock-columns-3-section .column{
  background:var(--c-white);border-radius:var(--r-xl);padding:var(--sp-8)!important;
  box-shadow:var(--shadow);border:1px solid var(--c-gray-1);transition:all var(--dur) var(--ease);
}
body.ed .textblock-columns-3-section .column:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--c-teal)}
body.ed .textblock-columns-3-section .column .image{border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-4)}

/* Services ruled list */
body.ed .textblock-section .ruled-list{column-count:3;column-gap:var(--sp-8)}
body.ed .textblock-section .ruled-list li{break-inside:avoid;border-bottom:1px solid var(--c-gray-2);color:var(--c-text)}
body.ed .textblock-section .ruled-list li a{color:var(--c-teal);font-weight:600}

/* cs9 blockquote */
body.ed .color-scheme-9 blockquote{border-left:4px solid var(--c-teal);padding-left:var(--sp-8)}
body.ed .color-scheme-9 blockquote h2{font-style:italic;font-weight:500;color:var(--c-white)}

/* Detail page hero padding */
body.ed.detail-page main>section:first-child{padding-top:200px!important;min-height:50vh;display:flex;align-items:center}
body.ed.detail-page main>section:first-child::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,45,82,.9) 0%,rgba(30,45,82,.7) 60%,rgba(123,166,138,.2) 100%);z-index:1}
body.ed.detail-page main>section:first-child .section-container{z-index:2}

/* Contact form */
body.ed .contact-form-section .contact-form{background:var(--c-white);padding:var(--sp-10);border-radius:var(--r-2xl);box-shadow:var(--shadow-xl)}
body.ed .contact-form-section input,body.ed .contact-form-section textarea,body.ed .contact-form-section select{
  border:1px solid var(--c-gray-2);border-radius:var(--r-md);padding:var(--sp-4);
  font-family:var(--ff-sans);background:var(--c-off);transition:all var(--dur) var(--ease);width:100%;margin-bottom:var(--sp-4);font-size:var(--fs-base);
}
body.ed .contact-form-section input:focus,body.ed .contact-form-section textarea:focus{border-color:var(--c-teal);box-shadow:0 0 0 3px rgba(123,166,138,.12);background:var(--c-white);outline:0}
body.ed .submit-button{
  background:linear-gradient(135deg,var(--c-teal),var(--c-teal-dk))!important;
  border:0!important;border-radius:var(--r-full)!important;padding:.875rem 2rem!important;
  color:var(--c-white)!important;font-family:var(--ff-sans)!important;font-weight:600!important;
  letter-spacing:.06em!important;text-transform:uppercase!important;cursor:pointer;
  transition:all var(--dur) var(--ease)!important;
}
body.ed .submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(123,166,138,.35)}

/* Timeline counters */
body.ed .timeline-section .timeline-wrapper{counter-reset:tl}
body.ed .timeline-section .timeline-item.has-icon{counter-increment:tl}
body.ed .timeline-section .timeline-item.has-icon .timeline-item-container::before{
  content:counter(tl);display:flex;align-items:center;justify-content:center;
  width:50px;height:50px;border-radius:50%;
  background:linear-gradient(135deg,var(--c-teal),var(--c-teal-dk));color:var(--c-white);
  font-size:var(--fs-xl);font-weight:700;margin-bottom:var(--sp-4);
}

/* Hide the header spacer */
body.ed header.header-unstack{display:none!important;height:0!important}

/* Location section */
body.ed .location-section{padding-top:0!important}
body.ed .location-section .section-container{max-width:100%}
body.ed .location-info{background:var(--c-white);padding:var(--sp-12) var(--sp-8)!important}
body.ed .location-info h2{color:var(--c-text)}
body.ed .location-info p,body.ed .location-info a:not(.button){color:var(--c-text)}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .ed-grid-4,.ed-grid-5{grid-template-columns:repeat(2,1fr)}
  .ed-split{grid-template-columns:1fr;gap:var(--sp-8)}
  .ed-split--flip .ed-split__img{order:0}
  .ed-footer__top{grid-template-columns:1fr}
  .ed-footer__nav{grid-template-columns:repeat(3,1fr)}
  .ed-menu-overlay__inner{grid-template-columns:repeat(3,1fr)}
  body.ed .menu-photo-items{grid-template-columns:repeat(3,1fr)!important}
  body.ed .menu-icon-section .menu-icon-items{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:768px){
  .ed-grid-2,.ed-grid-3{grid-template-columns:1fr}
  .ed-grid-4,.ed-grid-5{grid-template-columns:1fr}
  .ed-header__left span,.ed-header__left .ed-header__link{display:none}
  .ed-header__phone span{display:none}
  .ed-header__right a:not(.ed-header__menu-btn){font-size:var(--fs-xs);letter-spacing:.02em}
  .ed-header__inner{padding:0 var(--sp-4)}
  .ed-hero__content{overflow:hidden}
  .ed-hero__text h1{font-size:clamp(2rem,8vw,3rem)}
  .ed-hero__list li{font-size:var(--fs-base)}
  .ed-cta__inner{flex-direction:column;text-align:center}
  .ed-cta__actions{justify-content:center}
  .ed-footer__nav{grid-template-columns:1fr}
  .ed-menu-overlay__inner{grid-template-columns:1fr 1fr;gap:var(--sp-6)}
  .ed-menu-overlay__cta{flex-direction:column;align-items:center}
  body.ed .content-row{flex-direction:column}
  body.ed .column{flex:0 0 100%;max-width:100%}
  body.ed .menu-photo-items{grid-template-columns:1fr!important}
  body.ed .textblock-columns-3-section .content-row{grid-template-columns:1fr!important}
  body.ed .textblock-section .ruled-list{column-count:1}
  body.ed .menu-icon-section .menu-icon-items{grid-template-columns:1fr!important}
  .ed-btn-group{flex-direction:column}
}
@media(max-width:480px){
  .ed-menu-overlay__inner{grid-template-columns:1fr}
  body.ed [data-lucid-group="Textblock Columns 2 (5)"]{padding-top:120px}
}

/* ==========================================================
   CLEAN HOMEPAGE COMPONENTS (no old-class dependencies)
   ========================================================== */

/* --- Hero --- */
.ed-hero{
  min-height:100vh;position:relative;overflow:hidden;
  display:flex;align-items:center;
  background:var(--c-navy);
}
.ed-hero__bg{position:absolute;inset:0;z-index:0}
.ed-hero__bg img{width:100%;height:100%;object-fit:cover}
.ed-hero__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(30,45,82,.92) 0%,rgba(30,45,82,.7) 50%,rgba(123,166,138,.15) 100%);
}
.ed-hero__content{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-16);
  align-items:center;
  padding-top:160px;padding-bottom:var(--sec-py);
}
.ed-hero__text{color:var(--c-white)}
.ed-hero__text h1{color:var(--c-white)!important;margin-bottom:var(--sp-4)}
.ed-hero__label{
  display:inline-block;color:var(--c-teal);
  font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  margin-bottom:var(--sp-4);
}
.ed-hero__subtitle{
  font-family:var(--ff-serif);font-size:clamp(1.125rem,2vw,var(--fs-xl));
  color:rgba(255,255,255,.8);font-weight:400;margin-bottom:var(--sp-8);
}
.ed-hero__subtitle em{color:var(--c-teal)}
.ed-hero__list{
  list-style:none;padding:0;margin:0 0 var(--sp-10);
}
.ed-hero__list li{
  color:rgba(255,255,255,.85);font-size:var(--fs-lg);
  padding:var(--sp-3) 0;border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;gap:var(--sp-3);
}
.ed-hero__list li::before{
  content:'';width:8px;height:8px;border-radius:50%;background:var(--c-teal);flex-shrink:0;
}
.ed-hero__img{position:relative;max-height:550px}
.ed-hero__img img{
  border-radius:var(--r-2xl);box-shadow:var(--shadow-xl);
  width:100%;height:100%;max-height:550px;object-fit:cover;
}
.ed-hero__img::before{
  content:'';position:absolute;inset:-12px;
  border:2px solid rgba(123,166,138,.3);border-radius:calc(var(--r-2xl) + 12px);z-index:-1;
}

@media(max-width:1024px){
  .ed-hero__content{grid-template-columns:1fr;padding-top:140px}
  .ed-hero__img{max-width:520px;margin:0 auto}
}
@media(max-width:768px){
  .ed-hero__content{padding-top:120px;gap:var(--sp-8)}
  .ed-hero__img::before{display:none}
}

/* --- Service Grid --- */
.ed-svc-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);
  list-style:none;padding:0;margin:0;
}
.ed-svc-grid li{
  padding:var(--sp-4) var(--sp-5);
  border:1px solid var(--c-gray-2);border-radius:var(--r-md);
  font-size:var(--fs-sm);font-weight:500;color:var(--c-gray-5);
  transition:all var(--dur) var(--ease);
  background:var(--c-white);
}
.ed-svc-grid li:hover{border-color:var(--c-teal);color:var(--c-teal);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.ed-svc-grid li a{color:var(--c-teal);font-weight:600}
.ed-svc-grid li a:hover{color:var(--c-teal-dk)}

@media(max-width:1024px){.ed-svc-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.ed-svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ed-svc-grid{grid-template-columns:1fr}}

/* --- Dark Feature Cards --- */
.ed-feat--dark{
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:var(--c-white);
}
.ed-feat--dark:hover{
  background:rgba(255,255,255,.08)!important;
  border-color:var(--c-teal)!important;
}
.ed-feat--dark h3{color:var(--c-white)}
.ed-feat--dark p{color:rgba(255,255,255,.7)}
.ed-feat--dark a{color:var(--c-teal)}
.ed-feat--dark .ed-feat__icon{background:rgba(123,166,138,.15)}
.ed-feat--dark .ed-feat__icon svg{stroke:var(--c-teal)}

/* --- Dark section quote style --- */
.ed-section--dark blockquote{border-left:4px solid var(--c-teal);padding-left:var(--sp-6);margin:var(--sp-6) 0}
.ed-section--dark blockquote h2{color:var(--c-white);font-style:italic;font-weight:500}
.ed-section--dark blockquote p{color:rgba(255,255,255,.85);font-size:var(--fs-xl)}

/* --- Dark section doc cards --- */
.ed-section--dark .ed-doc-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ed-section--dark .ed-doc-card:hover{background:rgba(255,255,255,.08);border-color:rgba(123,166,138,.3)}
.ed-section--dark .ed-doc-card__body h3{color:var(--c-white)}
.ed-section--dark .ed-doc-card__body p{color:rgba(255,255,255,.65)}
.ed-section--dark .ed-doc-card__role{color:var(--c-teal)}

/* --- Dark split text colors --- */
.ed-section--dark .ed-split__body h2{color:var(--c-white)}
.ed-section--dark .ed-split__body p{color:rgba(255,255,255,.75)}
.ed-section--dark .ed-split__body a{color:var(--c-teal)}
.ed-section--dark .ed-sec-header h2{color:var(--c-white)}
.ed-section--dark .ed-sec-header p{color:rgba(255,255,255,.65)}
.ed-section--dark .ed-sec-header__tag{color:var(--c-teal)}

/* --- Logos row tweaks --- */
.ed-section--navy .ed-logos img{filter:brightness(0) invert(1)}

/* --- Split image border accent --- */
.ed-split__img::after{
  content:'';position:absolute;inset:0;
  border:2px solid var(--c-teal);border-radius:var(--r-2xl);
  transform:translate(10px,10px);z-index:-1;pointer-events:none;
}
.ed-section--dark .ed-split__img::after{border-color:rgba(123,166,138,.3)}




