/* Phoenix Guardians shared stylesheet (extracted from index.html) */
/* =====================================================
   Phoenix Guardians, Shared Stylesheet
   Palette: Deep teal · Amber · Stone
   Type:    Fraunces (display) · DM Sans (body)
   ===================================================== */

:root{
  --stone-50:#FAF8F5;--stone-100:#F3EFE8;--stone-200:#E4DDD2;
  --stone-300:#C8BFB0;--stone-400:#7A6B58;--stone-500:#6E6052;
  --teal-50:#EEF6F4;--teal-100:#CCE8E2;--teal-200:#8ECDC3;
  --teal-300:#4DADA0;--teal-400:#2A8A80;--teal-500:#1A6860;
  --teal-600:#124F49;--teal-700:#0D3A35;
  --amber-50:#FEF7EC;--amber-100:#FDEACB;--amber-200:#FAC978;
  --amber-300:#F5A623;--amber-400:#D98A0A;--amber-ink:#9A6206;
  --slate-700:#253252;--slate-900:#141E36;
  --white:#FFFFFF;--off-white:#FDFCFA;--cream:#F7F3EC;
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --section-v:clamp(4.5rem,8vw,7.5rem);
  --section-v-tight:clamp(2.5rem,5vw,4.5rem);
  --container:1080px;
  --container-narrow:760px;
  --radius:14px;--radius-lg:20px;
  --shadow-sm:0 1px 3px rgba(20,30,54,.04);
  --shadow-md:0 12px 40px -12px rgba(20,30,54,.12);
  --shadow-lg:0 24px 60px -20px rgba(20,30,54,.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
body{
  font-family:var(--font-body);font-weight:400;
  background:var(--off-white);color:var(--slate-900);
  line-height:1.75;overflow-x:hidden;
  font-feature-settings:"ss01","ss02";
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--stone-100);}
::-webkit-scrollbar-thumb{background:var(--teal-400);border-radius:3px;}

/* Focus + accessibility */
:focus-visible{outline:3px solid var(--amber-300);outline-offset:3px;border-radius:3px;}
.skip-nav{
  position:absolute;top:-100px;left:1rem;background:var(--amber-300);
  color:var(--slate-900);font-weight:600;padding:.6rem 1.2rem;
  border-radius:0 0 6px 6px;z-index:1000;font-size:.9rem;
  transition:top .2s;text-decoration:none;
}
.skip-nav:focus{top:0;}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
}

.container{max-width:var(--container);margin:0 auto;padding:0 2rem;}
.label{font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-500);}
.label.amber{color:var(--amber-ink);}
/* Eyebrow labels on dark sections stay light (AA on dark green) */
.section.dark .label,.cta-strip .label,.footer .label{color:var(--teal-200);}
.section.dark .label.amber,.cta-strip .label.amber{color:var(--amber-200);}

/* Anchor jumps land below the sticky header (height set by JS) */
html{scroll-padding-top:calc(var(--header-h,180px) + 24px);}
:where(section,article,li,h2,h3,div)[id]{scroll-margin-top:calc(var(--header-h,180px) + 24px);}

/* =====================================================
   STICKY HEADER WRAPPER
   ===================================================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--off-white);
}

/* =====================================================
   HELP BAR, sticky top
   ===================================================== */
.help-bar{
  background:var(--teal-700);color:rgba(255,255,255,.9);font-size:.8rem;
  font-weight:500;padding:.45rem 0;position:relative;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.help-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.help-bar-left{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.help-bar-phone{
  display:inline-flex;align-items:center;gap:.55rem;color:#fff;
  text-decoration:none;font-weight:600;letter-spacing:.005em;
  transition:opacity .2s;
}
.help-bar-phone:hover{opacity:.78;}
.help-bar-text{color:rgba(255,255,255,.55);font-size:.76rem;letter-spacing:.01em;}
.btn-exit{
  background:transparent;border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.85);font-size:.7rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;padding:.32rem .9rem;border-radius:999px;
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;
  gap:.4rem;transition:background .2s,border-color .2s,color .2s;font-family:var(--font-body);
}
.btn-exit:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff;}

/* =====================================================
   PRIMARY NAV
   ===================================================== */
.nav{
  background:var(--white);border-bottom:1px solid rgba(228,221,210,.5);
  position:relative;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:.72rem 2rem;max-width:var(--container);margin:0 auto;gap:1.5rem;
}
.nav-logo{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0;line-height:1;}
.nav-logo img{height:62px;width:auto;filter:drop-shadow(0 3px 8px rgba(15,76,71,.22));transition:transform .25s ease,filter .25s ease;}
.nav-logo:hover img{transform:scale(1.06);filter:drop-shadow(0 5px 14px rgba(15,76,71,.32));}
.nav-logo-text{
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:1.25rem;color:var(--teal-700);letter-spacing:-.01em;
  white-space:nowrap;
}
.nav-right{display:flex;align-items:center;gap:1.2rem;}
.nav-phone{
  display:none;align-items:center;gap:.45rem;
  color:var(--teal-600);font-weight:600;font-size:.92rem;
  text-decoration:none;letter-spacing:.005em;transition:color .2s;
}
.nav-phone:hover{color:var(--teal-500);}
.nav-cta{
  background:var(--amber-300);color:var(--slate-900);font-size:.86rem;
  font-weight:600;padding:.7rem 1.3rem;border-radius:999px;text-decoration:none;
  transition:background .25s,transform .2s,box-shadow .25s;border:none;cursor:pointer;
  font-family:var(--font-body);white-space:nowrap;letter-spacing:.01em;
  display:inline-flex;align-items:center;gap:.4rem;
  box-shadow:0 1px 2px rgba(245,166,35,.25);
}
.nav-cta:hover{background:var(--amber-400);transform:translateY(-1px);box-shadow:0 6px 18px -4px rgba(245,166,35,.45);}
.nav-hamburger{
  display:none;background:none;border:1px solid var(--stone-200);
  border-radius:6px;cursor:pointer;flex-direction:column;gap:4px;
  align-items:center;justify-content:center;width:42px;height:42px;padding:.5rem;
}
.hamburger-line{
  width:20px;height:2px;background:var(--slate-700);border-radius:2px;
  transition:all .25s;display:block;
}
.nav-hamburger[aria-expanded="true"] .hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-hamburger[aria-expanded="true"] .hamburger-line:nth-child(2){opacity:0;}
.nav-hamburger[aria-expanded="true"] .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (min-width:769px){
  .nav-phone{display:inline-flex;}
}

/* =====================================================
   TAB NAV, pill-style, sticky under main nav
   ===================================================== */
.tab-nav{
  background:var(--off-white);border-bottom:1px solid rgba(228,221,210,.5);
  position:relative;
}
.tab-nav-inner{
  max-width:var(--container);margin:0 auto;padding:.55rem 2rem;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.tab-nav-inner::-webkit-scrollbar{display:none;}
.tab-nav-list{
  display:flex;align-items:center;gap:.15rem;list-style:none;
  min-width:max-content;
}
.tab-nav a{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.55rem 1.05rem;border-radius:999px;
  font-size:.85rem;font-weight:500;color:var(--stone-500);
  text-decoration:none;white-space:nowrap;letter-spacing:.005em;
  border:1px solid transparent;
  transition:background .25s,color .25s,border-color .25s;
}
.tab-nav a:hover{
  background:rgba(204,232,226,.4);color:var(--teal-600);
}
.tab-nav a[aria-current="page"]{
  background:var(--teal-700);color:#fff;
  border-color:var(--teal-700);
}
.tab-nav a[aria-current="page"]:hover{background:var(--teal-700);}

@media (max-width:768px){
  /* Hide the tab nav on mobile, full navigation lives in the hamburger menu */
  .tab-nav{display:none;}
}

/* =====================================================
   MOBILE MENU
   ===================================================== */
.mobile-menu{
  position:fixed;inset:0;background:var(--slate-900);z-index:110;
  padding:5rem 2rem 3rem;transform:translateX(100%);
  transition:transform .25s ease-out, visibility 0s linear .25s;
  display:flex;flex-direction:column;
  overflow-y:auto;
  visibility:hidden;pointer-events:none;
}
.mobile-menu-close-btn{
  position:absolute;top:1rem;right:1.2rem;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.75);border-radius:8px;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1.4rem;line-height:1;
  transition:background .2s,color .2s;
}
.mobile-menu-close-btn:hover{background:rgba(255,255,255,.16);color:#fff;}
.mobile-menu.open{
  transform:translateX(0);visibility:visible;pointer-events:auto;
  transition:transform .25s ease-out, visibility 0s linear 0s;
}
.mobile-menu-links{list-style:none;flex:1;}
.mobile-menu-links li{border-bottom:1px solid rgba(255,255,255,.07);}
.mobile-menu-links a{
  display:block;font-family:var(--font-display);font-size:1.4rem;
  font-weight:300;color:rgba(255,255,255,.85);text-decoration:none;
  padding:.9rem 0;transition:color .2s;
}
.mobile-menu-links a:hover,
.mobile-menu-links a[aria-current="page"]{color:var(--amber-300);}
.mobile-menu-phone{
  margin-top:2rem;background:rgba(245,166,35,.12);
  border:1px solid rgba(245,166,35,.3);border-radius:8px;
  padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem;
}
.mobile-menu-phone a{color:var(--amber-300);font-weight:600;font-size:1.1rem;text-decoration:none;}
.mobile-exit{
  margin-top:1rem;display:block;text-align:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.6);font-size:.8rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;padding:.8rem;border-radius:6px;
  text-decoration:none;font-family:var(--font-body);transition:background .2s;
}
.mobile-exit:hover{background:rgba(255,255,255,.12);}

/* =====================================================
   BUTTONS
   ===================================================== */
.btn-primary,.btn-amber{
  background:var(--amber-300);color:var(--slate-900);font-size:.95rem;
  font-weight:600;padding:1rem 1.9rem;border-radius:999px;text-decoration:none;
  border:none;cursor:pointer;font-family:var(--font-body);letter-spacing:.01em;
  transition:background .25s,transform .25s,box-shadow .25s;
  display:inline-flex;align-items:center;gap:.55rem;
  box-shadow:0 1px 2px rgba(245,166,35,.2);
}
.btn-primary:hover,.btn-amber:hover{background:var(--amber-400);transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(245,166,35,.5);}
.btn-teal{
  background:var(--teal-600);color:#fff;font-size:.92rem;font-weight:500;
  padding:.95rem 1.8rem;border-radius:999px;text-decoration:none;border:none;
  cursor:pointer;font-family:var(--font-body);letter-spacing:.01em;
  transition:background .25s,transform .25s;
  display:inline-flex;align-items:center;gap:.55rem;
}
.btn-teal:hover{background:var(--teal-700);transform:translateY(-1px);}
.btn-ghost{
  background:transparent;color:rgba(255,255,255,.88);font-size:.92rem;
  font-weight:500;padding:.95rem 1.6rem;border-radius:999px;text-decoration:none;
  border:1px solid rgba(255,255,255,.22);cursor:pointer;font-family:var(--font-body);
  letter-spacing:.01em;transition:all .25s;
  display:inline-flex;align-items:center;gap:.55rem;
}
.btn-ghost:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.05);color:#fff;}
.btn-ghost-dark{
  background:transparent;color:var(--teal-600);font-size:.9rem;font-weight:500;
  padding:.85rem 1.5rem;border-radius:999px;text-decoration:none;
  border:1px solid var(--teal-200);cursor:pointer;font-family:var(--font-body);
  letter-spacing:.01em;transition:all .25s;
  display:inline-flex;align-items:center;gap:.55rem;
}
.btn-ghost-dark:hover{background:var(--teal-50);border-color:var(--teal-300);color:var(--teal-700);}

/* Quiet text link with arrow, the editorial alternative to a secondary button */
.link-arrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--font-body);font-size:.9rem;font-weight:500;
  color:var(--teal-600);text-decoration:none;letter-spacing:.04em;text-transform:uppercase;
  padding:.5rem 0;border-bottom:1px solid transparent;
  transition:border-color .25s,color .25s,gap .25s;
}
.link-arrow::after{
  content:'';display:inline-block;width:18px;height:1px;background:currentColor;
  transition:width .25s;
}
.link-arrow:hover{color:var(--teal-700);}
.link-arrow:hover::after{width:26px;}
.section.dark .link-arrow,.cta-strip .link-arrow{color:var(--amber-200);}
.section.dark .link-arrow:hover,.cta-strip .link-arrow:hover{color:var(--amber-300);}

/* =====================================================
   HERO, homepage
   ===================================================== */
.hero{
  background:
    radial-gradient(ellipse 46% 52% at 79% 48%,rgba(245,166,35,.18) 0%,transparent 64%),
    radial-gradient(ellipse 65% 55% at 82% 14%,rgba(245,166,35,.08) 0%,transparent 60%),
    radial-gradient(ellipse 90% 65% at 18% 82%,rgba(74,173,160,.10) 0%,transparent 65%),
    linear-gradient(180deg,#0E423B 0%,var(--teal-700) 55%,#0B332E 100%);
  position:relative;overflow:hidden;padding:7rem 0 6.5rem;
}
/* Ambient atmosphere - soft embers + abstract uplift feathers in hero negative space.
   Desktop-only; the global prefers-reduced-motion block neutralises ember motion. */
.hero-atmosphere{
  position:absolute;top:0;right:0;bottom:0;
  width:54%;max-width:820px;
  pointer-events:none;z-index:0;overflow:hidden;display:none;
  -webkit-mask-image:radial-gradient(ellipse 92% 98% at 66% 50%,#000 0%,transparent 82%);
          mask-image:radial-gradient(ellipse 92% 98% at 66% 50%,#000 0%,transparent 82%);
}
@media (min-width:1024px){ .hero-atmosphere{display:block;} }
.ember{
  position:absolute;border-radius:50%;opacity:0;
  background:radial-gradient(circle at 50% 50%,rgba(252,213,150,1) 0%,rgba(245,166,35,.6) 45%,transparent 74%);
  box-shadow:0 0 10px rgba(250,201,120,.6);
  will-change:transform,opacity;
  animation:emberFloat var(--dur,18s) ease-in-out var(--delay,0s) infinite;
}
.ember.olive{
  background:radial-gradient(circle at 50% 50%,rgba(224,214,160,1) 0%,rgba(160,150,80,.55) 45%,transparent 74%);
  box-shadow:0 0 10px rgba(198,184,104,.5);
}
@keyframes emberFloat{
  0%{opacity:0;transform:translate3d(0,18px,0) scale(.8);}
  22%{opacity:var(--peak,.5);}
  50%{transform:translate3d(-7px,-26px,0) scale(1);}
  78%{opacity:var(--peak,.5);}
  100%{opacity:0;transform:translate3d(3px,-64px,0) scale(.82);}
}
.hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:160px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.18));
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.25fr 1fr;gap:5rem;align-items:start;
  padding-top:.5rem;
}
.hero-inner > *{min-width:0;}
.hero-eyebrow{display:flex;align-items:center;gap:.85rem;margin-bottom:2.2rem;}
.hero-eyebrow-line{width:42px;height:1px;background:rgba(142,205,195,.45);}
.hero-label{
  font-size:.66rem;font-weight:500;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(204,232,226,.78);
}
.hero-title{
  font-family:var(--font-display);font-size:clamp(2.5rem,5.6vw,4.4rem);
  font-weight:300;color:#fff;line-height:1.1;letter-spacing:-.025em;margin-bottom:2rem;
  max-width:14ch;
}
.hero-title em{font-style:italic;color:var(--amber-200);font-weight:300;}
/* Plain-English positioning line directly below the headline */
.hero-positioning{
  font-family:var(--font-body);font-size:1.05rem;font-weight:500;
  color:var(--amber-200);max-width:30ch;line-height:1.5;
  letter-spacing:.005em;margin-bottom:1.4rem;
}
.hero-body{
  font-size:1.04rem;color:rgba(255,255,255,.72);max-width:480px;
  line-height:1.8;margin-bottom:2.8rem;font-weight:300;
}
.hero-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.hero-reassurance{
  margin-top:2rem;font-size:.76rem;color:rgba(255,255,255,.42);
  letter-spacing:.04em;font-weight:300;
}

/* PATHWAY LIST, editorial framed list, no card chrome */
.pathway-frame{
  position:relative;padding:1.6rem 1.5rem 1.2rem;
  background:linear-gradient(165deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.012) 60%,transparent 100%);
  border:1px solid rgba(255,255,255,.08);border-radius:10px;
  box-shadow:0 30px 70px -40px rgba(0,0,0,.55),
             0 0 60px -12px rgba(245,166,35,.07),
             inset 0 1px 0 rgba(255,255,255,.05);
}
.pathway-cards-label{
  font-size:.64rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(250,201,120,.78);margin-bottom:1.3rem;padding-bottom:1.2rem;
  border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;gap:.7rem;
}
.pathway-cards-label::before{
  content:'';width:18px;height:1px;background:rgba(250,201,120,.55);
}
.pathway-cards{display:flex;flex-direction:column;gap:0;}
.pathway-card{
  background:transparent;border:none;
  border-bottom:1px solid rgba(255,255,255,.08);
  border-radius:0;padding:1.3rem 0 1.3rem 0;cursor:pointer;
  transition:background .35s,padding .35s;
  display:block;text-decoration:none;position:relative;
}
.pathway-card:last-child{border-bottom:none;}
.pathway-card:hover{background:transparent;padding-left:.4rem;}
.pathway-card:hover .pathway-title{color:#fff;}
.pathway-card:hover .pathway-desc{color:rgba(255,255,255,.72);}
.pathway-num{display:none;}
.pathway-title{
  font-family:var(--font-display);font-size:1.1rem;font-weight:300;
  color:rgba(255,255,255,.92);margin-bottom:.3rem;line-height:1.35;
  letter-spacing:-.005em;transition:color .25s;
}
.pathway-desc{
  font-size:.82rem;color:rgba(255,255,255,.52);line-height:1.55;font-weight:300;
  transition:color .25s;
}
.pathway-arrow{display:none;}
.pathway-card.adhd-card .pathway-title{color:var(--amber-200);}
.pathway-card.adhd-card:hover .pathway-title{color:var(--amber-100);}

/* =====================================================
   PAGE HERO, inner pages (smaller)
   ===================================================== */
.page-hero{background:var(--teal-700);position:relative;overflow:hidden;padding:5.5rem 0 5rem;}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 80% 25%,rgba(74,173,160,.14) 0%,transparent 70%);
  pointer-events:none;
}
.page-hero-inner{position:relative;z-index:1;max-width:760px;}
.page-hero-eyebrow{
  font-size:.66rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(204,232,226,.8);margin-bottom:1.2rem;
}
.page-hero-title{
  font-family:var(--font-display);font-size:clamp(2.1rem,4.4vw,3.2rem);
  font-weight:300;color:#fff;line-height:1.18;letter-spacing:-.022em;margin-bottom:1.4rem;
}
.page-hero-title em{font-style:italic;color:var(--amber-200);font-weight:300;}
.page-hero-body{font-size:1.08rem;color:rgba(255,255,255,.78);line-height:1.8;max-width:600px;font-weight:300;}
.page-hero-actions{
  display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2.2rem;
}
.page-hero-actions .link-arrow{color:rgba(204,232,226,.78);}
.page-hero-actions .link-arrow:hover{color:#fff;}

/* =====================================================
   TRUST BAR
   ===================================================== */
.trust-bar{background:var(--cream);border-bottom:none;padding:1.4rem 0;}
.trust-bar-inner{
  display:flex;align-items:center;justify-content:center;
  gap:2.5rem;flex-wrap:wrap;
}
.trust-item{
  display:flex;align-items:center;gap:.55rem;font-size:.78rem;
  font-weight:500;color:var(--stone-500);letter-spacing:.02em;
}
.trust-item svg{color:var(--teal-300);flex-shrink:0;opacity:.9;}
.trust-divider{width:3px;height:3px;border-radius:50%;background:var(--stone-300);flex-shrink:0;}

/* =====================================================
   SECTIONS
   ===================================================== */
.section{padding:var(--section-v) 0;}
.section.alt{background:var(--cream);}
.section.dark{background:var(--teal-700);color:#fff;}
.section.adhd-bg{background:linear-gradient(165deg,#FBF5EA 0%,var(--off-white) 55%,#EEF6F4 100%);}
.section.compact{padding:var(--section-v-tight) 0;}
/* Connect tightly when a compact/trust section sits next to a major one */
.trust-bar + .section.compact{padding-top:calc(var(--section-v-tight) * .55);}
.section.compact + .section{padding-top:calc(var(--section-v) * .8);}
.section + .section{position:relative;}
/* Subtle hairline between adjacent same-coloured sections to add rhythm */
.section + .section:not(.alt):not(.dark):not(.adhd-bg)::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:32px;height:1px;background:var(--stone-200);
}

/* =====================================================
   HOMEPAGE FLOW SPACING (scoped, task-specific)
   Tightens two over-large transitions on the homepage:
   Services -> Credentials, and Testimonials -> Q&A.
   Root cause was stacked full --section-v paddings (and the
   compact divider's own paddings) between the sections.
   ===================================================== */
.home-services-cap{padding-bottom:clamp(1.75rem,4.5vw,3rem);}
.home-creds{padding-top:clamp(1.75rem,4.5vw,3rem);}
.home-testi{padding-bottom:clamp(1.25rem,2.4vw,1.75rem);}
.section.compact.home-divider{padding:clamp(.75rem,1.6vw,1.125rem) 0;}
.section.compact + .section.home-qa{padding-top:clamp(1.25rem,2.6vw,1.875rem);}
@media (max-width:640px){
  /* Hide the decorative divider on small screens to avoid unnecessary height */
  .section.compact.home-divider{display:none;}
  .home-testi{padding-bottom:1.75rem;}
  .section.compact + .section.home-qa{padding-top:2rem;}
}

.section-header{max-width:660px;margin-bottom:4rem;}
.section-header.centered{margin:0 auto 4rem;text-align:center;}
/* Asymmetric variant, title-block on left, body in the right column */
.section-header.split{
  max-width:none;margin-bottom:4rem;
  display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:end;
}
.section-header.split .section-title{margin-bottom:0;}
.section-header.split .section-body{padding-bottom:.5rem;}
@media (max-width:768px){
  .section-header.split{grid-template-columns:1fr;gap:1.2rem;}
}
.section-eyebrow{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem;}
.section-header.centered .section-eyebrow{justify-content:center;}
.section-eyebrow-line{width:28px;height:1px;background:var(--teal-300);flex-shrink:0;opacity:.6;}
.section.dark .section-eyebrow-line{background:rgba(255,255,255,.25);}
.section-title{
  font-family:var(--font-display);font-size:clamp(1.9rem,3.6vw,2.8rem);
  font-weight:300;color:var(--teal-700);line-height:1.18;
  letter-spacing:-.022em;margin-bottom:1.1rem;
}
.section.dark .section-title{color:#fff;}
.section-title em{font-style:italic;font-weight:300;color:var(--amber-ink);}
.section.dark .section-title em{color:var(--amber-200);}
.section-body{font-size:1.05rem;color:var(--stone-500);line-height:1.85;font-weight:300;}
.section.dark .section-body{color:rgba(255,255,255,.72);}

/* =====================================================
   FOUNDER INTRO BLOCK (homepage)
   ===================================================== */
.intro-grid{
  display:grid;grid-template-columns:360px 1fr;gap:5rem;align-items:center;
}
.intro-photo{
  background:var(--white);border:none;
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);
}
.intro-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;}
.intro-quote{
  border-left:none;padding:0 0 0 1.4rem;margin:2rem 0 2.2rem;
  background:transparent;border-radius:0;position:relative;
}
.intro-quote::before{
  content:'';position:absolute;left:0;top:.4em;bottom:.4em;width:2px;
  background:var(--teal-300);opacity:.55;
}
.intro-quote p{
  font-family:var(--font-display);font-size:1.15rem;font-style:italic;
  font-weight:300;color:var(--teal-700);line-height:1.6;letter-spacing:-.005em;
}
.intro-quote cite{
  display:block;font-family:var(--font-body);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;font-style:normal;color:var(--stone-500);margin-top:.8rem;
}

/* =====================================================
   SERVICE PREVIEW CARDS (homepage)
   ===================================================== */
.service-previews{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid rgba(228,221,210,.55);
}
.service-preview-card{
  background:transparent;border:none;
  border-bottom:1px solid rgba(228,221,210,.55);
  border-right:1px solid rgba(228,221,210,.55);
  border-radius:0;padding:2.4rem 2rem 2rem;
  display:flex;flex-direction:column;gap:.9rem;counter-increment:svc;
  text-decoration:none;color:inherit;position:relative;
  transition:background .35s;
}
.service-preview-card:nth-child(3n){border-right:none;}
.service-preview-card:hover{background:rgba(247,243,236,.55);}
/* Replace the icon with a quiet italic numeric prefix */
.service-preview-icon{display:none;}
.service-preview-card::before{
  content:counter(svc,decimal-leading-zero);
  font-family:var(--font-display);font-size:.85rem;font-style:italic;
  font-weight:300;color:var(--amber-ink);letter-spacing:.06em;
  margin-bottom:.6rem;
}
.service-previews{counter-reset:svc;}
.service-preview-title{
  font-family:var(--font-display);font-size:1.4rem;font-weight:300;
  color:var(--teal-700);line-height:1.22;letter-spacing:-.015em;
}
.service-preview-card.amber .service-preview-title{color:var(--amber-ink);}
.service-preview-body{font-size:.94rem;color:var(--stone-500);line-height:1.8;flex:1;font-weight:300;}
.service-preview-link{
  font-size:.76rem;font-weight:500;color:var(--teal-600);letter-spacing:.16em;
  display:inline-flex;align-items:center;gap:.6rem;margin-top:.4rem;
  text-transform:uppercase;
}
.service-preview-link::after{
  content:'';display:inline-block;width:18px;height:1px;background:currentColor;
  transition:width .25s;
}
.service-preview-card:hover .service-preview-link::after{width:26px;}
.service-preview-card.amber .service-preview-link{color:var(--amber-ink);}
.service-preview-card:hover .service-preview-link{color:var(--teal-700);}

/* =====================================================
   FULL SERVICE CARDS (services page)
   ===================================================== */
.service-list{display:flex;flex-direction:column;gap:2rem;}
.service-detail-card{
  background:var(--white);border:1px solid rgba(228,221,210,.5);
  border-radius:var(--radius-lg);padding:2.6rem 2.8rem;
  display:grid;grid-template-columns:90px 1fr;gap:2rem;align-items:flex-start;
  scroll-margin-top:200px;
  transition:box-shadow .35s,border-color .35s;
}
.service-detail-card:hover{box-shadow:var(--shadow-md);border-color:rgba(204,232,226,.7);}
.service-detail-card.featured{
  border-color:rgba(250,201,120,.4);background:linear-gradient(180deg,#FDF8EE,var(--white) 40%);
}
.service-detail-icon{
  width:72px;height:72px;background:var(--teal-50);border:none;
  border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.service-detail-card.featured .service-detail-icon{background:var(--amber-100);border-color:transparent;}
.service-detail-title{
  font-family:var(--font-display);font-size:1.6rem;font-weight:400;
  color:var(--teal-700);margin-bottom:.7rem;line-height:1.22;letter-spacing:-.012em;
}
.service-detail-card.featured .service-detail-title{color:var(--amber-ink);}
.service-detail-tag{
  display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--amber-ink);background:transparent;
  padding:0;border:none;margin-bottom:.5rem;
}
.service-detail-body{font-size:1rem;color:var(--stone-500);line-height:1.85;margin-bottom:1.6rem;font-weight:300;}
.service-features{
  list-style:none;display:grid;grid-template-columns:1fr 1fr;
  gap:.7rem 1.8rem;margin-bottom:1.8rem;
}
.service-features li{
  display:flex;align-items:flex-start;gap:.65rem;font-size:.9rem;color:var(--slate-700);font-weight:400;
}
.service-feature-dot{
  width:5px;height:5px;border-radius:50%;background:var(--teal-400);
  margin-top:.65rem;flex-shrink:0;opacity:.8;
}
.service-detail-card.featured .service-feature-dot{background:var(--amber-300);opacity:1;}

/* =====================================================
   "WHAT HAPPENS NEXT" timeline
   ===================================================== */
.timeline{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;position:relative;
  margin-top:2.5rem;list-style:none;
}
.timeline-step{
  background:var(--white);border:1px solid rgba(228,221,210,.55);
  border-radius:var(--radius-lg);padding:1.8rem 1.6rem 1.7rem;position:relative;
  transition:border-color .35s;
}
.timeline-step:hover{border-color:rgba(204,232,226,.7);}
.timeline-num{
  position:absolute;top:-16px;left:1.6rem;
  width:32px;height:32px;background:var(--teal-700);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:.9rem;font-weight:400;font-style:italic;
}
.timeline-title{
  font-family:var(--font-display);font-size:1.1rem;font-weight:400;
  color:var(--teal-700);margin:.8rem 0 .6rem;line-height:1.3;letter-spacing:-.005em;
}
.timeline-body{font-size:.88rem;color:var(--stone-500);line-height:1.75;font-weight:300;}

/* =====================================================
   ADHD content
   ===================================================== */
.adhd-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.adhd-stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:2rem;}
.adhd-stat-card{
  background:var(--white);border:1px solid rgba(228,221,210,.5);
  border-radius:var(--radius);padding:1.4rem 1.2rem;text-align:center;
  box-shadow:none;
}
.adhd-stat-num{
  font-family:var(--font-display);font-size:2.1rem;font-weight:300;
  color:var(--amber-ink);line-height:1;margin-bottom:.4rem;letter-spacing:-.01em;
}
.adhd-stat-label{font-size:.76rem;color:var(--stone-500);line-height:1.6;font-weight:300;}
/* Evidence-led ADHD prose */
.adhd-evidence{max-width:1040px;}
.adhd-prose-title{font-family:var(--font-display);font-weight:300;font-size:clamp(1.6rem,3.4vw,2.1rem);color:var(--teal-700);line-height:1.2;letter-spacing:-.01em;margin:2rem 0 1rem;}
.adhd-prose-sub{font-family:var(--font-display);font-weight:400;font-size:1.2rem;color:var(--teal-600);line-height:1.3;margin:2rem 0 .7rem;}
.adhd-prose p{font-size:.98rem;color:var(--slate-700);line-height:1.85;margin:0 0 1.05rem;font-weight:300;}
.adhd-prose-note{font-size:.86rem;font-style:italic;color:var(--stone-500);}
.adhd-prose-list{margin:0 0 1.2rem;padding-left:1.3rem;display:grid;gap:.5rem;}
.adhd-prose-list li{font-size:.95rem;color:var(--slate-700);line-height:1.65;font-weight:300;}
.adhd-prose-tagline{font-family:var(--font-display);font-style:italic;font-size:1.18rem;color:var(--teal-600);line-height:1.45;margin:1.8rem 0 1.3rem;font-weight:300;}
.adhd-scope{background:var(--stone-100);border:1px solid var(--stone-200);border-radius:var(--radius);padding:1.1rem 1.3rem;font-size:.86rem;color:var(--slate-700);line-height:1.7;}
.evidence-base{max-width:880px;margin:0 auto;}
.evidence-sources-title{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-500);margin-bottom:.9rem;}
.evidence-sources{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;}
.evidence-sources li{font-size:.82rem;color:var(--slate-700);line-height:1.6;padding-left:1rem;border-left:2px solid var(--stone-200);}
.evidence-sources a{color:var(--teal-600);text-decoration:underline;text-underline-offset:2px;font-weight:500;}
.evidence-sources a:hover{color:var(--teal-700);}
.adhd-signs-title{
  font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone-400);margin-bottom:1.2rem;margin-top:.5rem;
}
.adhd-signs-list{display:flex;flex-direction:column;gap:0;margin-bottom:2rem;}
.adhd-sign-item{
  display:block;background:transparent;
  border:none;border-bottom:1px solid rgba(228,221,210,.55);
  border-radius:0;padding:1.1rem 0;
}
.adhd-sign-item:last-child{border-bottom:none;}
/* Drop the per-item icon, the line itself reads as a statement */
.adhd-sign-icon{display:none;}
.adhd-sign-text{
  font-family:var(--font-display);font-size:1.05rem;
  color:var(--teal-700);line-height:1.55;font-weight:300;font-style:italic;
  letter-spacing:-.005em;
}
.adhd-cta-box{
  background:rgba(253,234,203,.4);border:1px solid rgba(250,201,120,.25);
  border-radius:var(--radius-lg);padding:1.8rem 1.9rem;
}
.adhd-cta-title{
  font-family:var(--font-display);font-size:1.2rem;font-weight:400;
  color:var(--amber-ink);margin-bottom:.6rem;line-height:1.3;letter-spacing:-.005em;
}
.adhd-cta-body{font-size:.92rem;color:var(--stone-500);line-height:1.8;margin-bottom:1.4rem;font-weight:300;}
.adhd-explainer{display:flex;flex-direction:column;gap:0;counter-reset:expl;}
.adhd-explainer-card{
  background:transparent;border:none;
  border-bottom:1px solid rgba(228,221,210,.55);
  border-radius:0;padding:2rem 0;box-shadow:none;counter-increment:expl;
}
.adhd-explainer-card:last-child{border-bottom:none;}
.adhd-explainer-card:first-child{padding-top:.5rem;}
.adhd-explainer-header{display:flex;align-items:baseline;gap:1.2rem;margin-bottom:.8rem;}
/* Replace round icon with a quiet italic prefix */
.adhd-explainer-icon{display:none;}
.adhd-explainer-header::before{
  content:counter(expl,decimal-leading-zero);
  font-family:var(--font-display);font-size:.85rem;font-style:italic;
  font-weight:300;color:var(--amber-ink);letter-spacing:.06em;flex-shrink:0;
}
.adhd-explainer-title{
  font-family:var(--font-display);font-size:1.25rem;font-weight:300;color:var(--teal-700);letter-spacing:-.01em;line-height:1.3;
}
.adhd-explainer-body{font-size:.95rem;color:var(--stone-500);line-height:1.85;font-weight:300;padding-left:0;}

.no-diag-banner{
  background:transparent;border:1px solid rgba(250,201,120,.35);border-radius:var(--radius-lg);
  padding:1.4rem 1.7rem;display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem;
}
.no-diag-icon{
  width:32px;height:32px;background:var(--amber-300);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.no-diag-text{font-size:.92rem;color:var(--slate-700);line-height:1.7;font-weight:300;}
.no-diag-text strong{color:var(--amber-ink);display:block;margin-bottom:.3rem;font-size:.94rem;font-weight:600;}

/* =====================================================
   COACHING VS THERAPY CARDS
   ===================================================== */
.pkg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:2.5rem 0;}
.pkg-card{
  border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;
  background:var(--white);transition:box-shadow .35s;
}
.pkg-card.pkg-featured{border:1px solid rgba(250,201,120,.5);box-shadow:0 16px 48px -16px rgba(245,166,35,.18);}
.pkg-card.pkg-featured:hover{box-shadow:0 24px 60px -20px rgba(245,166,35,.28);}
.pkg-card.pkg-standard{border:1px solid rgba(228,221,210,.55);}
.pkg-card-header{padding:1.5rem 1.7rem 1.3rem;}
.pkg-card.pkg-featured .pkg-card-header{background:var(--amber-50);}
.pkg-card.pkg-standard .pkg-card-header{background:var(--stone-50);}
.pkg-badge{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.65rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:.25rem .7rem;border-radius:20px;
  margin-bottom:.8rem;
}
.pkg-featured .pkg-badge{background:var(--amber-300);color:var(--slate-900);}
.pkg-standard .pkg-badge{background:var(--teal-50);border:1px solid var(--teal-200);color:var(--teal-500);}
.pkg-title{font-family:var(--font-display);font-size:1.3rem;font-weight:500;margin-bottom:.25rem;line-height:1.2;}
.pkg-featured .pkg-title{color:var(--amber-ink);}
.pkg-standard .pkg-title{color:var(--teal-600);}
.pkg-subtitle{font-size:.8rem;color:var(--stone-400);font-style:italic;}
.pkg-body{padding:1.4rem 1.7rem;flex:1;}
.pkg-includes-label{
  font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--stone-400);margin-bottom:.9rem;
}
.pkg-includes{list-style:none;display:flex;flex-direction:column;gap:.75rem;}
.pkg-includes li{display:flex;align-items:flex-start;gap:.75rem;}
.pkg-tick{
  width:20px;height:20px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;margin-top:.1rem;
}
.pkg-featured .pkg-tick{background:var(--amber-300);}
.pkg-standard .pkg-tick{background:var(--teal-100);border:1px solid var(--teal-200);}
.pkg-includes-strong{font-size:.88rem;font-weight:600;color:var(--slate-700);line-height:1.35;display:block;}
.pkg-includes-desc{font-size:.78rem;color:var(--stone-500);line-height:1.5;margin-top:.15rem;display:block;}
.pkg-footer{padding:1.3rem 1.7rem 1.6rem;border-top:1px solid var(--stone-100);}
.pkg-note{
  font-size:.8rem;color:var(--stone-500);line-height:1.6;margin-bottom:1.1rem;
  padding:.8rem 1rem;border-radius:8px;
}
.pkg-featured .pkg-note{background:rgba(245,166,35,.08);border-left:3px solid var(--amber-300);}
.pkg-standard .pkg-note{background:var(--teal-50);border-left:3px solid var(--teal-200);color:var(--teal-600);}
.pkg-cta{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--amber-300);color:var(--slate-900);font-size:.9rem;font-weight:700;
  padding:.85rem 1.4rem;border-radius:8px;text-decoration:none;
  transition:background .2s,transform .15s;width:100%;
}
.pkg-cta:hover{background:var(--amber-400);transform:translateY(-1px);}

/* Access to Work card */
.atw-card{
  background:var(--teal-700);position:relative;overflow:hidden;
  border-radius:var(--radius-lg);padding:2.4rem 2.8rem;margin-top:2.5rem;
  display:grid;grid-template-columns:auto 1fr;gap:1.8rem;align-items:center;
}
.atw-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 100% 0%,rgba(74,173,160,.16),transparent 60%);
  pointer-events:none;
}
.atw-icon{
  position:relative;
  width:54px;height:54px;background:rgba(245,166,35,.15);
  border:1px solid rgba(245,166,35,.28);border-radius:14px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.atw-title{position:relative;font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--amber-300);margin-bottom:.5rem;letter-spacing:-.005em;}
.atw-body{position:relative;font-size:.95rem;color:rgba(255,255,255,.72);line-height:1.85;margin-bottom:.9rem;font-weight:300;}
.atw-link{position:relative;color:var(--amber-ink);font-weight:600;text-decoration:none;font-size:.88rem;letter-spacing:.01em;border-bottom:1px solid rgba(154,98,6,.5);}
.atw-link:hover{color:#7d4f05;border-bottom-color:#7d4f05;}

/* =====================================================
   CREDENTIALS / ACCREDITATIONS
   ===================================================== */
.creds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:1rem;}
.cred-card{
  background:var(--white);border:1px solid rgba(228,221,210,.6);
  border-radius:var(--radius-lg);padding:1.3rem;box-shadow:var(--shadow-sm);
  transition:box-shadow .35s,transform .25s,border-color .35s;
}
.cred-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:rgba(204,232,226,.7);}
.cred-frame{
  display:flex;align-items:center;justify-content:center;
  background:var(--stone-50);border:1px solid var(--stone-200);
  border-radius:10px;padding:1rem;height:300px;text-decoration:none;
}
.cred-frame img{max-height:100%;width:auto;border-radius:4px;box-shadow:var(--shadow-sm);}
.cred-meta{margin-top:1.15rem;}
.cred-credential{font-family:var(--font-display);font-size:1.18rem;color:var(--teal-700);font-weight:400;line-height:1.3;}
.cred-issuer{font-size:.86rem;color:var(--stone-500);margin-top:.35rem;line-height:1.55;}
.cred-issuer strong{color:var(--slate-900);font-weight:600;}
.cred-view{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;
  font-size:.78rem;font-weight:600;color:var(--teal-500);text-decoration:none;letter-spacing:.01em;
}
.cred-view:hover{color:var(--teal-400);}
.creds-note{
  display:flex;align-items:flex-start;gap:.7rem;justify-content:center;
  margin-top:2rem;font-size:.86rem;color:var(--stone-500);
  max-width:640px;margin-left:auto;margin-right:auto;text-align:left;
}
.creds-note svg{flex-shrink:0;margin-top:.2rem;}
@media (max-width:768px){
  .creds-grid{grid-template-columns:1fr;}
  .cred-frame{height:auto;}
  .cred-frame img{max-height:none;width:100%;}
}

/* =====================================================
   TESTIMONIALS
   ===================================================== */
.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;}
.testimonial-card{
  background:var(--white);border:1px solid rgba(228,221,210,.55);border-radius:var(--radius-lg);
  padding:2.4rem 2.2rem;box-shadow:none;transition:box-shadow .35s,border-color .35s;
}
.testimonial-card:hover{box-shadow:var(--shadow-md);border-color:rgba(204,232,226,.7);}
.testimonial-context{
  display:inline-flex;align-items:center;gap:.45rem;background:transparent;
  border:none;border-radius:0;padding:0;
  font-size:.64rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--stone-500);margin-bottom:1.4rem;
}
.testimonial-context svg{display:none;}
.testimonial-quote-mark{display:none;}
.testimonial-text{
  font-family:var(--font-body);font-size:.97rem;color:var(--slate-700);
  line-height:1.85;font-style:normal;font-weight:400;
  margin-bottom:1rem;letter-spacing:0;
}
.testimonial-text:last-of-type{margin-bottom:0;}
.testimonial-attribution{
  display:block;padding-top:1.3rem;margin-top:1.4rem;
  border-top:1px solid rgba(243,239,232,.9);
}
.testimonial-avatar{
  width:38px;height:38px;background:var(--teal-50);border:1px solid var(--teal-100);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-style:italic;
  font-size:1.05rem;font-weight:400;color:var(--teal-500);flex-shrink:0;
}
.testimonial-name{font-weight:600;font-size:.88rem;color:var(--slate-900);letter-spacing:.005em;}
.testimonial-role{font-size:.74rem;color:var(--stone-400);letter-spacing:.01em;margin-top:.1rem;}
.testimonial-avatar{display:none!important;}
/* Featured testimonials */
.testimonial-featured{background:var(--white);border:1px solid var(--teal-100);padding:2.8rem 2.6rem;}
.testimonial-featured .testimonial-text:first-of-type{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.16rem;color:var(--teal-700);line-height:1.6;}
.testimonial-quote{margin:0;border:0;padding:0;}
.testimonial-name{font-weight:600;font-size:.9rem;color:var(--slate-900);letter-spacing:.005em;}
/* Hide the floating CTA on the testimonials page so it never overlaps content (static CTA-strip follows the testimonials) */
body:has(article[data-page="testimonials"]:not([hidden])) #floating-cta{display:none!important;}
/* ===== ADHD editorial redesign ===== */
.adhd-intro{max-width:720px;margin-bottom:2.2rem;}
.adhd-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--amber-ink);margin-bottom:.9rem;}
.adhd-h2{font-family:var(--font-display);font-weight:300;font-size:clamp(1.9rem,4vw,2.6rem);color:var(--teal-700);line-height:1.12;letter-spacing:-.02em;margin-bottom:1.1rem;}
.adhd-lead{font-size:1.02rem;color:var(--slate-700);line-height:1.8;font-weight:300;margin:0;}
.adhd-pullquote{margin:1.5rem 0 0;border:0;padding:0;}
.adhd-pullquote p{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.25rem,2.6vw,1.55rem);color:var(--teal-600);line-height:1.4;border-left:3px solid var(--amber-300);padding-left:1.2rem;margin:0;}
.evidence-snapshot{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2.4rem 0 .9rem;}
.evidence-stat{border:1px solid var(--stone-200);border-radius:var(--radius);background:var(--white);padding:1.6rem 1.4rem;}
.evidence-stat-num{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,3.4vw,2.5rem);color:var(--teal-600);line-height:1;letter-spacing:-.01em;margin-bottom:.65rem;}
.evidence-stat-label{font-size:.83rem;color:var(--slate-700);line-height:1.55;font-weight:400;}
.adhd-caveat{font-size:.84rem;font-style:italic;color:var(--stone-500);margin:0 0 2.6rem;max-width:720px;}
.adhd-themes{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.6rem;margin-bottom:2.6rem;}
.adhd-theme h3{font-family:var(--font-display);font-weight:400;font-size:1.22rem;color:var(--teal-600);line-height:1.3;margin-bottom:.7rem;}
.adhd-theme p{font-size:.95rem;color:var(--slate-700);line-height:1.8;font-weight:300;margin:0 0 .9rem;max-width:34rem;}
.adhd-theme p:last-child{margin-bottom:0;}
.adhd-practical{background:var(--stone-100);border:1px solid var(--stone-200);border-radius:var(--radius-lg);padding:1.9rem 2rem;margin-bottom:2.4rem;}
.adhd-practical h3{font-family:var(--font-display);font-weight:400;font-size:1.18rem;color:var(--teal-600);margin-bottom:.4rem;}
.adhd-practical-lead{font-size:.95rem;color:var(--slate-700);margin:0 0 1.1rem;font-weight:300;}
.adhd-practical-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.6rem;}
.adhd-practical-list li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--slate-700);line-height:1.5;font-weight:300;}
.adhd-practical-list li::before{content:"";position:absolute;left:.1rem;top:.35em;width:.55rem;height:.32rem;border-left:2px solid var(--teal-400);border-bottom:2px solid var(--teal-400);transform:rotate(-45deg);}
.adhd-tagline{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.3rem,2.6vw,1.6rem);color:var(--teal-700);line-height:1.4;margin:0 0 1.2rem;}
.adhd-scope{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius);padding:1.2rem 1.4rem;font-size:.9rem;color:var(--slate-700);line-height:1.7;}
.adhd-scope strong{color:var(--teal-700);font-weight:600;}
@media (max-width:768px){
  .evidence-snapshot{grid-template-columns:1fr;}
  .adhd-themes{grid-template-columns:1fr;gap:1.6rem;}
  .adhd-practical-list{grid-template-columns:1fr;}
}

/* =====================================================
   CONFIDENTIALITY BAND
   ===================================================== */
.confidentiality-band{
  background:var(--cream);border-top:none;
  border-bottom:none;padding:2.6rem 0;
}
.confidentiality-inner{
  display:flex;align-items:center;gap:1.8rem;justify-content:center;
  flex-wrap:wrap;max-width:780px;margin:0 auto;
}
.confidentiality-icon{
  width:48px;height:48px;background:rgba(204,232,226,.55);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.confidentiality-icon svg{stroke:var(--teal-600)!important;}
.confidentiality-icon svg [fill="var(--amber-400)"]{fill:var(--teal-600);}
.confidentiality-icon svg [stroke="var(--amber-400)"]{stroke:var(--teal-600);}
.confidentiality-title{
  font-family:var(--font-display);font-size:1.2rem;font-weight:400;
  color:var(--teal-700);margin-bottom:.35rem;letter-spacing:-.005em;
}
.confidentiality-body{font-size:.9rem;color:var(--stone-500);line-height:1.75;font-weight:300;max-width:520px;}

/* =====================================================
   ABOUT NAZ / BIO
   ===================================================== */
.team-grid{
  display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:start;
}
.team-member-card{
  background:var(--white);border:none;border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-lg);position:sticky;top:200px;
}
.team-member-img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  object-position:top center;display:block;
}
.team-member-info{padding:1.4rem 1.6rem;}
.team-member-name{
  font-family:var(--font-display);font-size:1.4rem;font-weight:500;
  color:var(--teal-600);margin-bottom:.15rem;
}
.team-member-role{
  font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--stone-400);margin-bottom:1rem;
}
.team-credentials{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem;}
.credential-badge{
  background:var(--teal-50);border:1px solid var(--teal-100);color:var(--teal-600);
  font-size:.68rem;font-weight:600;padding:.22rem .65rem;border-radius:20px;
}
.team-member-quals{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--stone-100);}
.team-member-quals-label{
  font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--stone-400);margin-bottom:.5rem;
}
.team-member-quals ul{list-style:none;display:flex;flex-direction:column;gap:.25rem;}
.team-member-quals li{
  font-size:.76rem;color:var(--stone-500);padding-left:.85rem;position:relative;line-height:1.5;
}
.team-member-quals li::before{
  content:'';position:absolute;left:0;top:.55rem;width:4px;height:4px;
  border-radius:50%;background:var(--teal-300);
}
.bio-intro-pull{
  font-family:var(--font-display);font-size:1.2rem;font-weight:300;
  font-style:italic;color:var(--teal-700);line-height:1.7;margin-bottom:2rem;
  padding-left:1.4rem;border-left:2px solid rgba(77,173,160,.5);letter-spacing:-.005em;
}
.bio-chapters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem;}
.bio-chapter{
  padding:2rem 2.2rem;background:var(--white);border:1px solid rgba(228,221,210,.55);
  border-radius:var(--radius-lg);box-shadow:none;
  transition:border-color .35s;
}
.bio-chapter:hover{border-color:rgba(204,232,226,.7);}
.bio-chapter-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1rem;}
.bio-chapter-num{
  font-family:var(--font-display);font-size:1.4rem;font-weight:300;font-style:italic;
  color:rgba(77,173,160,.55);line-height:1;flex-shrink:0;width:auto;text-align:center;
}
.bio-chapter-heading{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--teal-700);line-height:1.3;letter-spacing:-.01em;}
.bio-chapter-heading em{font-style:italic;color:var(--teal-500);font-weight:300;}
.bio-chapter-body{font-size:.95rem;color:var(--stone-500);line-height:1.85;font-weight:300;}
.bio-chapter-body p+p{margin-top:.8rem;}
.bio-closing-card{
  background:var(--teal-700);position:relative;overflow:hidden;
  border-radius:var(--radius-lg);padding:2rem 2.2rem;margin-bottom:2rem;
}
.bio-closing-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 80% at 90% 0%,rgba(74,173,160,.18),transparent 60%);
  pointer-events:none;
}
.bio-closing-quote{
  position:relative;
  font-family:var(--font-display);font-size:1.15rem;font-style:italic;
  font-weight:300;color:#fff;line-height:1.6;margin-bottom:.6rem;letter-spacing:-.005em;
}
.bio-closing-cite{position:relative;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,201,120,.7);}

/* =====================================================
   FAQ ACCORDION
   ===================================================== */
.faq-list{display:flex;flex-direction:column;gap:.5rem;max-width:760px;margin:3rem auto 0;}
.faq-item{
  background:var(--white);border:1px solid rgba(228,221,210,.55);border-radius:var(--radius);
  overflow:hidden;transition:border-color .3s;
}
.faq-item[open]{border-color:rgba(204,232,226,.8);}
.faq-summary{
  cursor:pointer;list-style:none;padding:1.3rem 1.6rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-size:.98rem;font-weight:500;color:var(--teal-700);line-height:1.45;letter-spacing:-.005em;
}
.faq-summary::-webkit-details-marker{display:none;}
.faq-summary::after{
  content:'';width:14px;height:14px;flex-shrink:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23124F49' stroke-width='1.4' stroke-linecap='round' d='M3 5l4 4 4-4'/%3E%3C/svg%3E") no-repeat center;
  transition:transform .35s;opacity:.6;
}
.faq-item[open] .faq-summary::after{transform:rotate(180deg);opacity:1;}
.faq-answer{padding:0 1.6rem 1.4rem;font-size:.92rem;color:var(--stone-500);line-height:1.85;font-weight:300;}
.faq-answer a{color:var(--teal-600);text-decoration:none;border-bottom:1px solid rgba(26,104,96,.3);}
.faq-answer a:hover{border-bottom-color:var(--teal-500);}

/* =====================================================
   ACCREDITATIONS
   ===================================================== */
.accred-strip{
  background:var(--off-white);padding:3rem 0;
  border-top:none;border-bottom:none;
}
.accred-inner{
  display:flex;align-items:center;justify-content:center;
  gap:3.5rem;flex-wrap:wrap;
}
.accred-item{display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;opacity:1;transition:opacity .25s;}
.accred-item:hover{opacity:1;}
.accred-item a{display:block;}
.accred-item img{height:54px;width:auto;object-fit:contain;}
.accred-name{font-size:.68rem;font-weight:500;color:var(--stone-400);max-width:140px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;}
.accred-divider{width:1px;height:42px;background:var(--stone-200);}

/* =====================================================
   CONTACT
   ===================================================== */
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start;
}
.contact-info-title{
  font-family:var(--font-display);font-size:1.8rem;font-weight:300;
  color:var(--teal-700);margin-bottom:.9rem;line-height:1.25;letter-spacing:-.015em;
}
.contact-info-body{font-size:1.02rem;color:var(--stone-500);line-height:1.85;margin-bottom:2.5rem;font-weight:300;}
.contact-items{display:flex;flex-direction:column;gap:1.4rem;}
.contact-item{display:flex;align-items:flex-start;gap:1rem;}
.contact-item-icon{
  width:42px;height:42px;background:var(--teal-50);border:none;
  border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-item-label{
  font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone-400);margin-bottom:.3rem;
}
.contact-item-value{font-size:.96rem;color:var(--slate-700);font-weight:400;line-height:1.55;}
.contact-item-value a{color:var(--teal-600);text-decoration:none;font-weight:500;border-bottom:1px solid rgba(26,104,96,.25);transition:border-color .25s;}
.contact-item-value a:hover{border-bottom-color:var(--teal-500);}
.contact-form-wrap{
  background:var(--white);border:1px solid rgba(228,221,210,.5);
  border-radius:var(--radius-lg);padding:2.6rem;box-shadow:var(--shadow-md);
}
.contact-form-title{font-family:var(--font-display);font-size:1.35rem;font-weight:400;color:var(--teal-700);margin-bottom:.5rem;letter-spacing:-.005em;}
.contact-form-subtitle{font-size:.88rem;color:var(--stone-500);margin-bottom:2rem;line-height:1.7;font-weight:300;}
.form-group{margin-bottom:1.3rem;}
.form-label{display:block;font-size:.78rem;font-weight:500;color:var(--slate-700);margin-bottom:.5rem;letter-spacing:.04em;}
.form-label .optional{font-weight:400;color:var(--stone-400);letter-spacing:0;}
.form-input,.form-select,.form-textarea{
  width:100%;padding:.85rem 1.1rem;border:1px solid var(--stone-200);
  border-radius:10px;font-size:.95rem;font-family:var(--font-body);
  color:var(--slate-900);background:var(--white);
  transition:border-color .25s,box-shadow .25s;appearance:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;border-color:var(--teal-400);box-shadow:0 0 0 4px rgba(42,138,128,.1);
}
.form-textarea{min-height:96px;resize:vertical;line-height:1.65;}
.form-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23A89880' stroke-width='1.5' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;
  padding-right:2.5rem;cursor:pointer;
}
.form-confidentiality{
  font-size:.78rem;color:var(--stone-400);display:flex;align-items:flex-start;
  gap:.5rem;margin-bottom:1.2rem;line-height:1.55;
}
.btn-form-submit{
  width:100%;background:var(--amber-300);color:var(--slate-900);
  font-size:.96rem;font-weight:600;padding:1.05rem;border-radius:999px;border:none;
  cursor:pointer;font-family:var(--font-body);letter-spacing:.01em;
  transition:background .25s,transform .2s,box-shadow .25s;
  display:flex;align-items:center;justify-content:center;gap:.55rem;
  box-shadow:0 1px 2px rgba(245,166,35,.2);
}
.btn-form-submit:hover{background:var(--amber-400);transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(245,166,35,.45);}
.form-obligation{text-align:center;font-size:.76rem;color:var(--stone-400);margin-top:.9rem;letter-spacing:.02em;}

/* form consent checkbox */
.form-consent{
  display:flex;align-items:flex-start;gap:.7rem;
  font-size:.8rem;color:var(--stone-500);line-height:1.6;
  margin-bottom:1.2rem;cursor:pointer;font-weight:300;
}
.form-consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  width:18px;height:18px;border:1.5px solid var(--stone-300);
  border-radius:4px;background:var(--white);cursor:pointer;flex-shrink:0;
  margin-top:.12rem;transition:border-color .2s,background .2s;
  position:relative;
}
.form-consent input[type="checkbox"]:checked{
  background:var(--teal-500);border-color:var(--teal-500);
}
.form-consent input[type="checkbox"]:checked::after{
  content:'';position:absolute;left:5px;top:1px;
  width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.form-consent input[type="checkbox"]:focus-visible{outline:3px solid var(--amber-300);outline-offset:2px;}
.form-consent a{color:var(--teal-600);text-decoration:underline;text-underline-offset:2px;}

/* form error block */
.form-error{
  background:#FDECEC;border:1px solid #F5C2C2;
  color:#8C2A2A;font-size:.88rem;line-height:1.55;
  padding:.9rem 1.1rem;border-radius:10px;margin-bottom:1rem;
}
.form-error a{color:inherit;font-weight:600;}

[hidden]{display:none!important;}

/* =====================================================
   EDITORIAL PRIMITIVES (calm, less iconography)
   ===================================================== */

/* Pull quote, left-aligned editorial; oversized opening glyph as accent */
.pull-quote{
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:clamp(1.45rem,2.6vw,1.9rem);line-height:1.45;
  color:var(--teal-700);letter-spacing:-.015em;
  max-width:720px;margin:0 auto;text-align:left;
  padding:1.4rem 0 1.4rem 2.6rem;position:relative;
}
.pull-quote::before{
  content:'"';position:absolute;left:-.4rem;top:-.8rem;
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:6.5rem;line-height:1;color:rgba(77,173,160,.3);
  pointer-events:none;
}
.pull-quote::after{display:none;}
.section.dark .pull-quote{color:#fff;}
.section.dark .pull-quote::before{color:rgba(250,201,120,.35);}
.pull-quote.centered{text-align:center;padding-left:0;padding-right:0;max-width:760px;}
.pull-quote.centered::before{left:50%;transform:translateX(-50%);top:-1.6rem;}

/* Quiet reassurance block, calmer than a card, no border */
.reassure{
  max-width:680px;margin:0 auto;text-align:center;
  padding:1.4rem 1.4rem;
}
.reassure-label{
  font-size:.64rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--amber-ink);margin-bottom:1rem;
}
.reassure-text{
  font-family:var(--font-display);font-weight:300;font-size:1.15rem;
  font-style:italic;color:var(--teal-700);line-height:1.6;letter-spacing:-.005em;
}
.section.dark .reassure-text{color:rgba(255,255,255,.9);}
.section.dark .reassure-label{color:var(--amber-200);}

/* Emotional list, used on Families page */
.emo-list{
  list-style:none;display:flex;flex-direction:column;gap:1.1rem;
  max-width:640px;margin:2rem auto 0;
}
.emo-list li{
  font-family:var(--font-display);font-size:1.15rem;font-weight:300;
  font-style:italic;color:var(--teal-700);line-height:1.55;
  padding-left:1.2rem;border-left:2px solid rgba(77,173,160,.4);
  letter-spacing:-.005em;
}
.emo-list li:last-child{
  font-style:normal;color:var(--slate-700);font-weight:400;
  font-family:var(--font-body);font-size:1rem;line-height:1.75;
  border-left-color:var(--amber-300);margin-top:.6rem;
}

/* Ethical promise, numbered editorial list */
.promise{max-width:780px;margin:0 auto;}
.promise-list{
  list-style:none;counter-reset:promise;
  display:flex;flex-direction:column;gap:1.5rem;
}
.promise-list li{
  counter-increment:promise;display:grid;
  grid-template-columns:auto 1fr;gap:1.2rem;align-items:baseline;
  padding-bottom:1.5rem;border-bottom:1px solid rgba(228,221,210,.55);
}
.promise-list li:last-child{border-bottom:none;padding-bottom:0;}
.promise-list li::before{
  content:counter(promise,decimal-leading-zero);
  font-family:var(--font-display);font-size:.95rem;font-style:italic;font-weight:300;
  color:var(--amber-ink);letter-spacing:.02em;line-height:1.4;
  min-width:1.8rem;
}
.promise-text{font-size:1rem;color:var(--slate-700);line-height:1.7;font-weight:400;}

/* Fees note, discreet boxed paragraph */
.fees-note{
  background:var(--cream);border:none;border-radius:var(--radius-lg);
  padding:2rem 2.2rem;max-width:780px;margin:0 auto;
}
.fees-note-label{
  font-size:.64rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--stone-500);margin-bottom:.7rem;
}
.fees-note-title{
  font-family:var(--font-display);font-size:1.2rem;font-weight:400;
  color:var(--teal-700);margin-bottom:.8rem;letter-spacing:-.005em;
}
.fees-note-body{
  font-size:.95rem;color:var(--stone-500);line-height:1.85;font-weight:300;
}
.fees-note-body p+p{margin-top:.6rem;}

/* Founder byline, text-only editorial credit, sits near the top */
.founder-byline{
  max-width:560px;margin:0 auto;text-align:center;
  padding:.4rem 1rem;
}
.founder-byline-lead{
  display:block;
  font-family:var(--font-display);font-style:italic;font-weight:300;
  color:var(--teal-700);font-size:1.2rem;letter-spacing:-.01em;line-height:1.35;
  margin-bottom:.55rem;
}
.founder-byline-meta{
  display:block;
  font-family:var(--font-body);font-size:.78rem;color:var(--stone-500);
  letter-spacing:.04em;line-height:1.6;font-weight:400;
}

/* Form notice, used when the form endpoint isn't yet configured */
.form-notice{
  background:rgba(253,234,203,.4);border:1px solid rgba(250,201,120,.35);
  color:var(--slate-700);font-size:.88rem;line-height:1.7;
  padding:1rem 1.2rem;border-radius:10px;margin-bottom:1.6rem;font-weight:300;
}
.form-notice strong{color:var(--amber-ink);font-weight:600;display:block;margin-bottom:.25rem;font-size:.88rem;}
.form-notice a{color:var(--teal-600);font-weight:500;border-bottom:1px solid rgba(26,104,96,.3);text-decoration:none;}
.form-notice a:hover{border-bottom-color:var(--teal-500);}
/* Prominent variant - used while the form endpoint is not wired up */
.form-notice-prominent{
  background:#FEF7EC;border-left:3px solid var(--amber-300);border-radius:0 8px 8px 0;
  padding:1.05rem 1.15rem;
}
.form-notice-prominent strong{font-size:.95rem;color:var(--slate-900);}

/* Trust grid near the hero, calmer than a row of icons */
.trust-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:1rem;max-width:980px;margin:0 auto;
  padding:.4rem 0;
}
.trust-grid-item{
  text-align:center;padding:.4rem .8rem;
  border-right:1px solid rgba(228,221,210,.7);
}
.trust-grid-item:last-child{border-right:none;}
.trust-grid-num{
  font-family:var(--font-display);font-size:1.7rem;font-weight:300;
  color:var(--teal-700);line-height:1;letter-spacing:-.015em;font-style:italic;
}
.trust-grid-label{
  font-size:.72rem;color:var(--stone-500);line-height:1.45;
  margin-top:.4rem;letter-spacing:.01em;font-weight:400;
}
@media (max-width:768px){
  /* Mobile becomes a hairline-divided vertical list, more legible than a grid */
  .trust-grid{grid-template-columns:1fr;gap:0;}
  .trust-grid-item{
    padding:1rem .2rem;display:flex;align-items:baseline;justify-content:space-between;
    text-align:left;border-right:none;border-bottom:1px solid rgba(228,221,210,.55);
  }
  .trust-grid-item:last-child{border-bottom:none;}
  .trust-grid-num{font-size:1.1rem;}
  .trust-grid-label{margin-top:0;text-align:right;max-width:60%;}
}

/* Resources / guides preview, editorial mini list (no real links yet) */
.resources{max-width:880px;margin:0 auto;}
.resources-eyebrow{
  font-size:.64rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--teal-500);margin-bottom:1rem;text-align:center;
}
.resources-title{
  font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2rem);
  font-weight:300;color:var(--teal-700);text-align:center;margin-bottom:.6rem;
  letter-spacing:-.015em;line-height:1.25;
}
.resources-note{
  font-size:.86rem;color:var(--stone-500);text-align:center;
  margin-bottom:2.5rem;font-style:italic;font-weight:300;
}
.resources-list{
  list-style:none;display:grid;grid-template-columns:1fr 1fr;
  gap:0;border-top:1px solid rgba(228,221,210,.65);
}
.resources-list li{
  padding:1.6rem 1.8rem 1.7rem;border-bottom:1px solid rgba(228,221,210,.65);
  display:block;
}
.resources-list li:nth-child(odd){border-right:1px solid rgba(228,221,210,.65);}
.resources-list li:nth-last-child(-n+2){border-bottom:none;}
.resources-q{
  font-family:var(--font-display);font-size:1.1rem;font-weight:400;
  color:var(--teal-700);letter-spacing:-.005em;line-height:1.3;margin-bottom:.55rem;
}
.resources-a{
  font-size:.88rem;color:var(--stone-500);line-height:1.7;font-weight:300;
}
@media (max-width:640px){
  .resources-list{grid-template-columns:1fr;}
  .resources-list li{border-right:none!important;padding:1.4rem .2rem;}
  .resources-list li:nth-last-child(-n+2){border-bottom:1px solid rgba(228,221,210,.65);}
  .resources-list li:last-child{border-bottom:none;}
}

/* Steps list, used by What happens after you contact us */
.steps{
  list-style:none;counter-reset:step;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;
  max-width:980px;margin:2.5rem auto 0;
}
.steps li{
  counter-increment:step;position:relative;
  padding:1.6rem 1.4rem 1.5rem;
  border-left:1px solid rgba(228,221,210,.7);
}
.steps li:first-child{border-left:none;padding-left:0;}
.steps li::before{
  content:counter(step,decimal-leading-zero);
  display:block;font-family:var(--font-display);font-size:.85rem;
  font-weight:300;font-style:italic;color:var(--amber-ink);
  letter-spacing:.06em;margin-bottom:.6rem;
}
.steps-title{
  font-family:var(--font-display);font-size:1.05rem;font-weight:400;
  color:var(--teal-700);line-height:1.4;letter-spacing:-.005em;
  margin-bottom:.4rem;
}
.steps-body{font-size:.88rem;color:var(--stone-500);line-height:1.75;font-weight:300;}
@media (max-width:1024px){
  .steps{grid-template-columns:1fr 1fr;gap:1.2rem;}
  .steps li:nth-child(3){border-left:none;padding-left:0;}
}
@media (max-width:640px){
  .steps{grid-template-columns:1fr;gap:0;}
  .steps li{padding:1.4rem 0 1.4rem 1.4rem;border-left:1px solid rgba(228,221,210,.7);}
  .steps li:first-child{padding-left:1.4rem;border-left:1px solid rgba(228,221,210,.7);}
}
/* 5-step variant (contact journey) */
.steps.steps-5{grid-template-columns:repeat(5,1fr);max-width:1120px;gap:1.1rem;}
@media (max-width:1024px){.steps.steps-5{grid-template-columns:1fr 1fr;gap:1.2rem;}}
@media (max-width:640px){.steps.steps-5{grid-template-columns:1fr;gap:0;}}

/* What we are / are not */
.boundaries{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;max-width:920px;margin:2.5rem auto 0;}
.boundary-card{background:var(--white);border:1px solid var(--stone-200);border-radius:var(--radius-lg);padding:1.9rem 1.8rem;box-shadow:var(--shadow-sm);}
.boundary-card.is{background:var(--teal-50);border-color:var(--teal-100);}
.boundary-title{font-family:var(--font-display);font-weight:400;font-size:1.25rem;color:var(--teal-700);letter-spacing:-.01em;margin-bottom:1.1rem;}
.boundary-list{list-style:none;display:flex;flex-direction:column;gap:.85rem;}
.boundary-list li{position:relative;padding-left:1.7rem;font-size:.92rem;line-height:1.6;color:var(--teal-600);font-weight:300;}
.boundary-card.is .boundary-list li{color:var(--teal-700);}
.boundary-list li::before{position:absolute;left:0;top:0;font-size:.95rem;line-height:1.5;}
.boundary-card.is .boundary-list li::before{content:"\2713";color:var(--teal-500);font-weight:700;}
.boundary-card.isnot .boundary-list li::before{content:"\2013";color:var(--stone-400);font-weight:700;}
.boundary-emergency{max-width:920px;margin:1.6rem auto 0;background:var(--amber-50);border:1px solid var(--amber-100);border-left:3px solid var(--amber-200);border-radius:var(--radius);padding:1rem 1.3rem;font-size:.9rem;line-height:1.65;color:var(--teal-700);}
.boundary-emergency strong{font-weight:700;}
@media (max-width:680px){.boundaries{grid-template-columns:1fr;gap:1.1rem;}}

/* Founder statement (near hero) */
.founder-statement-cite{display:block;margin-top:1.2rem;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-500);font-style:normal;}

/* Founder statement brand card with phoenix seal */
.founder-card{
  position:relative;max-width:740px;margin:0 auto;overflow:hidden;
  background:linear-gradient(180deg,var(--white) 0%,var(--cream) 100%);
  border:1px solid var(--stone-200);border-radius:var(--radius-lg);
  padding:2.9rem 3.1rem;box-shadow:var(--shadow-md);
}
.founder-card .reassure-text,.founder-card .founder-statement-cite{position:relative;z-index:1;}
.founder-card .reassure-text{font-size:1.3rem;}
.founder-card-seal{
  position:absolute;top:-22px;right:-18px;width:150px;height:150px;aspect-ratio:1/1;
  color:var(--amber-300);opacity:.16;pointer-events:none;z-index:0;
}
@media (max-width:640px){
  .founder-card{padding:2.2rem 1.7rem;}
  .founder-card .reassure-text{font-size:1.12rem;}
  .founder-card-seal{width:108px;height:108px;top:-14px;right:-12px;}
}

/* Credibility strip: real qualification badge as a supporting trust marker */
.cred-strip{
  max-width:680px;margin:2.4rem auto 0;
  display:flex;align-items:center;gap:1.9rem;
  background:var(--white);border:1px solid var(--stone-200);
  border-radius:var(--radius-lg);padding:1.5rem 2rem;box-shadow:var(--shadow-sm);
}
.cred-strip-badge{width:138px;height:auto;object-fit:contain;flex-shrink:0;display:block;}
.cred-strip-text{display:flex;flex-direction:column;}
.cred-strip-title{font-size:1.08rem;font-weight:600;color:var(--teal-700);letter-spacing:-.01em;}
.cred-strip-org{font-size:.9rem;font-weight:500;color:var(--stone-500);margin-top:.12rem;}
.cred-strip-desc{font-size:.92rem;color:var(--stone-500);line-height:1.55;margin-top:.55rem;}
@media (max-width:640px){
  .cred-strip{flex-direction:column;text-align:center;gap:1.1rem;padding:1.6rem 1.4rem;margin-top:1.8rem;}
  .cred-strip-badge{width:108px;}
  .cred-strip-text{align-items:center;}
}

.form-success{display:none;text-align:center;padding:2rem 0;}
.form-success.active{display:block;}
.form-success-icon{
  width:60px;height:60px;background:var(--teal-50);border:1px solid var(--teal-100);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 1rem;
}
.form-success-title{font-family:var(--font-display);font-size:1.3rem;color:var(--teal-600);margin-bottom:.4rem;}
.form-success-body{font-size:.9rem;color:var(--stone-500);line-height:1.7;}

/* =====================================================
   FAMILIES STRIP
   ===================================================== */
.families-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem;
  border-top:1px solid rgba(228,221,210,.55);counter-reset:fam;
}
.families-card{
  background:transparent;border:none;
  border-bottom:1px solid rgba(228,221,210,.55);
  border-right:1px solid rgba(228,221,210,.55);
  border-radius:0;padding:2.2rem 2rem;display:flex;flex-direction:column;gap:.8rem;
  counter-increment:fam;transition:background .35s;
}
.families-card:nth-child(3n){border-right:none;}
.families-card:hover{background:rgba(247,243,236,.5);}
/* Replace icon with a quiet italic prefix */
.families-card-icon{display:none;}
.families-card::before{
  content:counter(fam,decimal-leading-zero);
  font-family:var(--font-display);font-size:.85rem;font-style:italic;
  font-weight:300;color:var(--teal-400);letter-spacing:.06em;
  margin-bottom:.2rem;
}
.families-card-title{font-family:var(--font-display);font-size:1.4rem;font-weight:300;color:var(--teal-700);letter-spacing:-.015em;line-height:1.22;}
.families-card-body{font-size:.94rem;color:var(--stone-500);line-height:1.8;font-weight:300;}

/* =====================================================
   FINAL CTA STRIP
   ===================================================== */
.cta-strip{
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,rgba(74,173,160,.14) 0%,transparent 65%),
    linear-gradient(180deg,#0E423B 0%,var(--teal-700) 100%);
  position:relative;overflow:hidden;
  padding:5.5rem 0 5rem;text-align:center;
  border-top:1px solid rgba(255,255,255,.04);
}
.cta-strip::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:48px;height:1px;background:rgba(250,201,120,.5);
}
.cta-strip-inner{max-width:640px;margin:0 auto;position:relative;z-index:1;}
.cta-strip-title{
  font-family:var(--font-display);font-size:clamp(1.7rem,3.2vw,2.4rem);
  font-weight:300;color:#fff;line-height:1.25;margin-bottom:1rem;letter-spacing:-.015em;
}
.cta-strip-title em{font-style:italic;color:var(--amber-200);font-weight:300;}
.cta-strip-body{font-size:1.02rem;color:rgba(255,255,255,.72);margin-bottom:2rem;line-height:1.8;font-weight:300;}
.cta-strip-actions{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;}
.cta-strip .nav-phone{
  display:inline-flex;color:var(--amber-200);font-size:1rem;
  text-decoration:none;font-weight:500;letter-spacing:.01em;
}
.cta-strip .nav-phone:hover{color:var(--amber-300);}
/* Branded final CTA panel */
.cta-strip-brand::before{display:none;}
.cta-strip-mark{
  display:block;width:52px;height:52px;aspect-ratio:1/1;margin:0 auto 1.5rem;
  color:var(--amber-200);opacity:.92;
}
.cta-strip-brand::after{
  content:'';position:absolute;left:50%;bottom:-12%;transform:translateX(-50%);
  width:min(60vw,460px);aspect-ratio:1/1;
  background:radial-gradient(circle at 50% 45%,rgba(250,201,120,.07),transparent 62%);
  pointer-events:none;z-index:0;
}
/* Phoenix section divider */
.phoenix-rule{display:flex;align-items:center;justify-content:center;gap:1.3rem;max-width:300px;margin:0 auto;}
.phoenix-rule::before,.phoenix-rule::after{content:'';height:1px;flex:1;background:var(--stone-200);}
.phoenix-rule svg{width:30px;height:30px;aspect-ratio:1/1;color:var(--amber-300);flex-shrink:0;opacity:.85;}
/* Footer phoenix emblem watermark */
.footer{position:relative;overflow:hidden;}
.footer-emblem{
  position:absolute;right:-30px;bottom:-40px;width:260px;height:260px;aspect-ratio:1/1;
  color:var(--amber-300);opacity:.05;pointer-events:none;z-index:0;
}
.footer .container{position:relative;z-index:1;}
@media (max-width:640px){.footer-emblem{width:180px;height:180px;right:-24px;bottom:-30px;}}

/* =====================================================
   CRISIS FOOTER + FOOTER
   ===================================================== */
.crisis-footer{background:var(--teal-700);padding:1.8rem 0;text-align:center;border-top:1px solid rgba(255,255,255,.05);}
.crisis-footer p{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.75;max-width:780px;margin:0 auto;font-weight:300;}
.crisis-footer a{color:var(--amber-200);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(250,201,120,.3);}
.crisis-footer a:hover{color:var(--amber-300);border-bottom-color:rgba(250,201,120,.6);}
.crisis-footer strong{color:rgba(255,255,255,.85);font-weight:500;}

.footer{background:var(--teal-700);color:rgba(255,255,255,.6);padding:5rem 0 0;border-top:none;}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:3.5rem;
  padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logo{margin-bottom:1.6rem;line-height:1;}
.footer-logo img{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.8;}
.footer-logo-text{
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:1.4rem;color:rgba(255,255,255,.85);letter-spacing:-.01em;
}
.footer-brand-desc{font-size:.88rem;line-height:1.85;max-width:280px;margin-bottom:1.6rem;color:rgba(255,255,255,.6);font-weight:300;}
/* Footer badges removed visually, AOC/BACP already live in the trust-grid */
.footer-badges{display:none;}
.footer-badge{display:none;}
.footer-reg{font-size:.72rem;color:rgba(255,255,255,.55);line-height:1.6;}
.footer-col-title{font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,201,120,.85);margin-bottom:1.2rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
.footer-links a{font-size:.88rem;color:rgba(255,255,255,.6);text-decoration:none;transition:color .25s;font-weight:300;}
.footer-links a:hover{color:#fff;}
.footer-contact-item{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.85rem;}
.footer-contact-icon{
  width:30px;height:30px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.05rem;
}
.footer-contact-label{
  font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:.15rem;
}
.footer-contact-value{font-size:.86rem;color:rgba(255,255,255,.65);}
.footer-contact-value a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s;}
.footer-contact-value a:hover{color:var(--amber-300);}
.footer-crisis{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.08);}
.footer-crisis-title{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-300);margin-bottom:.7rem;}
.footer-crisis-links{display:flex;flex-direction:column;gap:.4rem;}
.footer-crisis-links a{font-size:.8rem;color:rgba(255,255,255,.72);text-decoration:none;transition:color .2s;}
.footer-crisis-links a:hover{color:#fff;}
.footer-bottom{
  padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
}
.footer-bottom-text{font-size:.78rem;color:rgba(255,255,255,.6);}
.footer-bottom-links{display:flex;gap:1.5rem;}
.footer-bottom-links a{font-size:.78rem;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#fff;}

/* =====================================================
   FLOATING / STICKY CALL BUTTON
   ===================================================== */
.floating-cta{
  position:fixed;bottom:1.8rem;left:50%;transform:translateX(-50%) translateY(8px);z-index:70;
  background:var(--slate-900);color:#fff;font-size:.86rem;font-weight:500;
  padding:.85rem 1.6rem;border-radius:999px;border:none;cursor:pointer;
  font-family:var(--font-body);letter-spacing:.01em;
  display:flex;align-items:center;gap:.55rem;
  box-shadow:0 16px 40px -10px rgba(20,30,54,.4),0 2px 8px rgba(0,0,0,.1);
  transition:opacity .35s,transform .35s,background .25s;text-decoration:none;white-space:nowrap;
  opacity:0;pointer-events:none;
}
.floating-cta.visible{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0);}
.floating-cta:hover{background:var(--teal-700);}

/* mobile sticky call button */
.mobile-call-btn{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:75;
  background:var(--slate-900);color:#fff;
  padding:1rem 1rem;text-decoration:none;font-weight:500;font-size:.95rem;
  letter-spacing:.01em;text-align:center;box-shadow:0 -8px 24px rgba(20,30,54,.18);
  align-items:center;justify-content:center;gap:.55rem;
  border-top:1px solid rgba(255,255,255,.06);
}
@media (max-width:640px){
  .mobile-call-btn{display:flex;}
  body{padding-bottom:60px;}
  .floating-cta{display:none;}
}

/* =====================================================
   REVEALS - default to visible; IO is a progressive
   enhancement only. Mobile Safari + the hash-routed
   hidden articles made the opacity-0 default unreliable.
   ===================================================== */
.reveal{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease;}
.js-ready .reveal.reveal-pending{opacity:0;transform:translateY(16px);}
.js-ready .reveal.reveal-pending.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:3rem;}
  .intro-grid{grid-template-columns:1fr;gap:2.5rem;}
  .intro-photo{max-width:320px;margin:0 auto;}
  .service-previews{grid-template-columns:1fr 1fr;}
  .adhd-grid{grid-template-columns:1fr;gap:3rem;}
  .contact-grid{grid-template-columns:1fr;gap:3rem;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:3rem;}
  .timeline{grid-template-columns:1fr 1fr;}
  .families-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr;gap:2.5rem;}
  .team-member-card{position:static;max-width:360px;}
  .service-detail-card{grid-template-columns:1fr;gap:1.5rem;}
}
@media (max-width:768px){
  :root{--section-v:4rem;}
  .container{padding:0 1.4rem;}
  .help-bar-text{display:none;}
  .help-bar{padding:.5rem 0;font-size:.82rem;}
  .nav-cta{font-size:.8rem;padding:.5rem .9rem;}
  .nav-hamburger{display:flex;width:38px;height:38px;}
  .nav-logo img{height:52px;}
  .nav-logo-text{font-size:1.05rem;}
  .nav-inner{padding:.8rem 1.2rem;gap:.6rem;}
  .hero{padding:5rem 0 4.5rem;}
  .hero-actions{flex-direction:column;align-items:stretch;gap:.6rem;}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{justify-content:center;width:100%;}
  .service-previews{grid-template-columns:1fr;gap:1rem;}
  .testimonials-grid{grid-template-columns:1fr;gap:1rem;}
  .adhd-stat-cards{grid-template-columns:1fr 1fr;}
  .pkg-grid{grid-template-columns:1fr;}
  .families-grid{grid-template-columns:1fr;}
  .families-card{border-right:none;}
  .service-previews > *{border-right:none;}
  .accred-inner{gap:2.4rem;}
  .accred-divider{display:none;}
  /* Mobile footer: tight, scannable. Prioritise phone/email/crisis. */
  .footer{padding-top:3rem;padding-bottom:1.4rem;}
  .footer-grid{grid-template-columns:1fr;gap:1.8rem;}
  .footer-bottom{flex-direction:column;text-align:center;gap:.6rem;padding:1.2rem 0;}
  .footer-brand-desc{display:none;}
  .footer-logo{margin-bottom:1rem;}
  .footer-logo img{height:40px;}
  .footer-reg{font-size:.68rem;line-height:1.5;}
  /* Drop the "Services" sub-list on mobile, the inner pages already list them */
  .footer-col-services{display:none;}
  .footer-links{gap:.5rem;}
  .footer-col-title{margin-bottom:.8rem;}
  .footer-crisis{margin-top:1rem;padding-top:1rem;}
  .trust-divider{display:none;}
  .trust-bar-inner{gap:1.2rem;}
  .trust-item{font-size:.74rem;}
  .confidentiality-inner{flex-direction:column;text-align:center;gap:1rem;}
  .service-features{grid-template-columns:1fr;}
  .service-detail-card{padding:1.8rem 1.6rem;gap:1.2rem;}
  .service-detail-icon{width:56px;height:56px;border-radius:14px;}
  .service-preview-card{padding:1.8rem 1.6rem;}
  .atw-card{grid-template-columns:1fr;padding:1.8rem;text-align:left;gap:1rem;}
  .atw-icon{margin-bottom:.2rem;}
  .timeline{grid-template-columns:1fr;gap:1rem;}
  .contact-form-wrap{padding:1.8rem 1.6rem;}
  .testimonial-card{padding:1.8rem 1.6rem;}
  .bio-chapter{padding:1.6rem 1.6rem;}
  .cta-strip{padding:4rem 0;}
  .cta-strip-actions{flex-direction:column;gap:.8rem;}
}
@media (max-width:480px){
  .container{padding:0 1.2rem;}
  .nav-inner{padding:.5rem 1rem;gap:.5rem;}
  .nav-logo img{height:46px;}
  .nav-logo-text{font-size:.98rem;}
  .nav-cta{display:none;}
  .adhd-stat-cards{grid-template-columns:1fr;}
  .page-hero{padding:3.5rem 0 3rem;}
  .hero{padding:4rem 0 3.5rem;}
  .hero-title{font-size:2.05rem;}
  .pathway-card{padding:1rem 1.1rem;}
  .pathway-num{display:none;}
  .pathway-frame{padding:1.2rem 1rem 1rem;}
  .service-detail-card{padding:1.4rem 1.2rem;}
  .bio-chapter{padding:1.4rem 1.2rem;}
  .contact-form-wrap{padding:1.4rem 1.2rem;}
  .testimonial-card{padding:1.4rem 1.2rem;}
}

/* Bundle-specific: keep the floating-cta visible on inner "pages" too */
article[data-page]{display:block;}
article[data-page][hidden]{display:none;}
.cred-strip-row{max-width:980px;margin:2.4rem auto 0;display:flex;flex-direction:row;gap:1.5rem;align-items:stretch;}
.cred-strip-row .cred-strip{flex:1;max-width:none;margin:0;}
@media (max-width:640px){.cred-strip-row{flex-direction:column;gap:1.2rem;margin-top:1.8rem;}}

/* ===== What We Offer section — styling ported from mockup, scoped with wo- to avoid bleed ===== */
.wo-service-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;border-top:none;counter-reset:svc;}
.wo-service-preview-card{background:var(--white);border:1px solid rgba(228,221,210,.6);border-bottom:1px solid rgba(228,221,210,.6);border-right:1px solid rgba(228,221,210,.6);border-radius:var(--radius-lg);padding:2rem 1.8rem 1.8rem;display:flex;flex-direction:column;gap:.9rem;counter-increment:svc;text-decoration:none;color:inherit;position:relative;transition:background .35s,box-shadow .35s;}
.wo-service-preview-card:nth-child(3n){border-right:1px solid rgba(228,221,210,.6);}
.wo-service-preview-card:hover{background:rgba(247,243,236,.8);box-shadow:0 4px 20px rgba(0,0,0,.06);}
.wo-service-preview-card:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;}
.wo-service-preview-icon{display:none;}
.wo-service-preview-card::before{content:counter(svc,decimal-leading-zero);font-family:var(--font-display);font-size:.85rem;font-style:italic;font-weight:300;color:var(--amber-ink);letter-spacing:.06em;margin-bottom:.6rem;}
.wo-service-preview-title{font-family:var(--font-display);font-size:1.4rem;font-weight:300;color:var(--teal-700);line-height:1.22;letter-spacing:-.015em;}
.wo-service-preview-card.wo-amber .wo-service-preview-title{color:var(--amber-ink);}
.wo-service-preview-body{font-size:.94rem;color:var(--stone-500);line-height:1.8;flex:1;font-weight:300;}
.wo-service-preview-link{font-size:.76rem;font-weight:500;color:var(--teal-600);letter-spacing:.16em;display:inline-flex;align-items:center;gap:.6rem;margin-top:.4rem;text-transform:uppercase;}
.wo-service-preview-link::after{content:'';display:inline-block;width:18px;height:1px;background:currentColor;transition:width .25s;}
.wo-service-preview-card:hover .wo-service-preview-link::after{width:26px;}
.wo-service-preview-card.wo-amber .wo-service-preview-link{color:var(--amber-ink);}
.wo-service-preview-card:hover .wo-service-preview-link{color:var(--teal-700);}
.wo-see-all-services{padding:.75rem 1.4rem;border:1px solid rgba(0,98,90,.22);border-radius:999px;font-size:.8rem;transition:background .25s,color .25s,border-color .25s;}
.wo-see-all-services:hover{background:var(--teal-700);color:#fff;border-color:var(--teal-700);}
.wo-see-all-services:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;}
@media (max-width:1024px){.wo-service-previews{grid-template-columns:1fr 1fr;gap:1rem;}}
@media (max-width:768px){.wo-service-previews{grid-template-columns:1fr;gap:.9rem;}.wo-service-previews > *{border-right:none;}.wo-service-preview-card{padding:1.8rem 1.6rem;}}

/* Decorative phoenix watermark — single shared asset, used sparingly (3 homepage sections) */
.phx-host{position:relative;overflow:hidden;}
.phx-watermark{position:absolute;width:clamp(160px,18vw,260px);height:auto;opacity:.13;pointer-events:none;user-select:none;z-index:0;}
.phx-br{right:0;bottom:0;}
.phx-bl{left:0;bottom:0;transform:scaleX(-1);}
.phx-tr{right:0;top:0;}
.phx-tl{left:0;top:0;transform:scaleX(-1);}
.phx-accent{width:clamp(220px,30vw,440px);opacity:.5;}
@media (max-width:768px){.phx-watermark{width:clamp(120px,26vw,180px);opacity:.11;}.phx-accent{width:clamp(170px,40vw,260px);opacity:.42;}}
@media (max-width:480px){.phx-watermark{width:130px;}.phx-accent{width:160px;}}

/* Inner-page hero phoenix — shared right-edge decorative motif, identical across all inner pages.
   Vertically centred, anchored to the right edge, partially cropped; sits behind the content layer. */
.page-hero-phoenix{
  position:absolute;z-index:0;
  top:50%;right:clamp(-90px,-3vw,-30px);
  transform:translateY(-50%);
  width:clamp(300px,28vw,430px);height:auto;
  opacity:.14;pointer-events:none;user-select:none;
}
@media (max-width:1024px){
  .page-hero-phoenix{width:clamp(240px,32vw,320px);right:clamp(-130px,-7vw,-55px);opacity:.11;}
}
@media (max-width:768px){
  .page-hero-phoenix{top:30%;width:clamp(170px,42vw,230px);right:-52px;opacity:.085;}
}
@media (max-width:480px){
  .page-hero-phoenix{top:26%;width:185px;right:-46px;opacity:.07;}
}
@media (max-width:360px){
  .page-hero-phoenix{display:none;}
}

/* Homepage hero phoenix — large, very light atmospheric motif emerging from the right edge.
   Sits behind the hero copy and the "Find your path" panel; masked to fade toward the left. */
.hero-phoenix{
  position:absolute;z-index:1;
  top:67%;right:clamp(-160px,-7vw,-80px);
  transform:translateY(-50%);
  width:clamp(600px,48vw,780px);height:auto;
  opacity:.055;pointer-events:none;user-select:none;
  -webkit-mask-image:linear-gradient(to left,rgba(0,0,0,1) 45%,rgba(0,0,0,.65) 72%,transparent 100%);
          mask-image:linear-gradient(to left,rgba(0,0,0,1) 45%,rgba(0,0,0,.65) 72%,transparent 100%);
}
@media (max-width:1024px){
  .hero-phoenix{top:65%;width:clamp(480px,52vw,600px);right:clamp(-150px,-9vw,-80px);opacity:.05;}
}
@media (max-width:768px){
  .hero-phoenix{top:72%;width:clamp(240px,55vw,340px);right:-70px;opacity:.045;}
}
@media (max-width:480px){
  .hero-phoenix{top:76%;width:240px;right:-60px;opacity:.04;}
}
@media (max-width:360px){
  .hero-phoenix{display:none;}
}

/* ===== SEO build additions: breadcrumb, related links, evidence byline ===== */
.breadcrumb{border-bottom:1px solid var(--stone-200);background:var(--off-white);}
.breadcrumb .container{padding-top:.7rem;padding-bottom:.7rem;font-size:.8rem;color:var(--stone-500);}
.breadcrumb a{color:var(--teal-500);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .bc-sep{margin:0 .45rem;color:var(--stone-300);}
.breadcrumb [aria-current="page"]{color:var(--slate-900);font-weight:500;}
.evidence-byline{font-size:.85rem;color:var(--stone-500);background:var(--stone-50);border:1px solid var(--stone-200);border-radius:var(--radius);padding:.9rem 1.1rem;max-width:760px;margin:1.5rem auto;line-height:1.6;}
.evidence-byline a{color:var(--teal-500);}
.evidence-byline .evidence-reviewed{color:var(--stone-400);}
.related-services{padding-top:var(--section-v-tight);padding-bottom:var(--section-v-tight);}
.rel-list{list-style:none;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1.4rem 0 0;padding:0;}
.rel-list li{background:var(--white);border:1px solid var(--stone-200);border-radius:var(--radius);padding:1.05rem 1.2rem;box-shadow:var(--shadow-sm);}
.rel-list li a{display:block;font-family:var(--font-display);font-size:1.05rem;color:var(--teal-600);text-decoration:none;margin-bottom:.3rem;}
.rel-list li a:hover{color:var(--teal-400);}
.rel-blurb{display:block;font-size:.85rem;color:var(--stone-500);line-height:1.5;}
