/* ============================================================
   adhdmeaning.com — SHARED DESIGN SYSTEM (LOCKED v1)
   "the meaning keeps moving" · cool synaptic (literal) vs warm ember (lived)
   Used by deeper pages. Mirrors the locked home-page system exactly.
   ============================================================ */
:root{
  --void:#0A0E1A; --void-2:#0E1424; --void-3:#060912;
  --bone:#ECE9F4; --mute:#9197B0; --mute-dim:#5B6079;
  --synapse:#40E6D2; --synapse-2:#7C6BF5; --ember:#FF9D6C; --ember-soft:#FFC59E;
  --glass:rgba(20,27,46,0.55); --glass-line:rgba(160,180,230,0.14); --hair:rgba(160,180,230,0.10);
  --shadow-1:0 1px 0 rgba(255,255,255,0.05) inset;
  --shadow-2:0 22px 50px -20px rgba(0,0,0,0.8), 0 6px 16px -8px rgba(0,0,0,0.6);
  --shadow-glow:0 0 60px -12px rgba(64,230,210,0.35);
  --ease:cubic-bezier(0.22,1,0.36,1); --ease-soft:cubic-bezier(0.4,0,0.2,1);
  --maxw:1240px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ font-family:'Inter',system-ui,sans-serif; background:var(--void); color:var(--bone); line-height:1.55; overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
section[id]{ scroll-margin-top:90px; }
::selection{ background:var(--ember); color:var(--void-3); }
::-webkit-scrollbar{ width:11px; } ::-webkit-scrollbar-track{ background:var(--void-3); }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--synapse-2),var(--synapse)); border-radius:99px; border:2px solid var(--void-3); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
:focus-visible{ outline:2px solid var(--synapse); outline-offset:3px; border-radius:4px; }
.skip{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--synapse); color:var(--void-3); padding:12px 18px; border-radius:8px; font-weight:600; }
.skip:focus{ left:16px; top:16px; }

/* ambient */
.grain{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:0.05; mix-blend-mode:overlay; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.aura{ position:fixed; inset:0; z-index:0; pointer-events:none; background:radial-gradient(60% 50% at 78% -8%, rgba(124,107,245,0.18), transparent 70%), radial-gradient(50% 45% at 8% 8%, rgba(64,230,210,0.10), transparent 70%), radial-gradient(70% 60% at 50% 110%, rgba(255,157,108,0.09), transparent 70%); }
#neural{ position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.6; }

/* layout */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 clamp(1.25rem,4vw,3rem); }
main{ position:relative; z-index:2; }
.eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.26em; text-transform:uppercase; color:var(--synapse); display:inline-flex; align-items:center; gap:.7em; }
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--synapse); display:inline-block; }
.section-label{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.2em; color:var(--mute-dim); text-transform:uppercase; }

/* nav */
header.nav{ position:fixed; top:0; left:0; right:0; z-index:60; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1.25rem,4vw,3rem); transition:.4s var(--ease); }
header.nav.scrolled{ background:rgba(8,11,20,0.74); backdrop-filter:blur(14px) saturate(140%); border-bottom:1px solid var(--hair); padding-top:.7rem; padding-bottom:.7rem; }
.brand{ display:flex; align-items:center; gap:.6rem; font-weight:600; flex-shrink:0; }
.brand .dot{ width:11px; height:11px; border-radius:50%; background:var(--synapse); box-shadow:0 0 0 4px rgba(64,230,210,.16),0 0 18px var(--synapse); animation:pulse 3s var(--ease-soft) infinite; }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(64,230,210,.16),0 0 18px var(--synapse);} 50%{ box-shadow:0 0 0 7px rgba(255,157,108,.10),0 0 26px var(--ember);} }
.brand b{ font-weight:700; }
.menu{ display:flex; align-items:center; gap:.3rem; overflow-x:auto; }
.menu::-webkit-scrollbar{ display:none; }
.menu a{ font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.04em; color:var(--mute); padding:.5rem .8rem; border-radius:99px; white-space:nowrap; transition:.25s var(--ease); }
.menu a:hover{ color:var(--bone); }
.menu a.here{ color:var(--void-3); background:linear-gradient(120deg,var(--synapse),var(--synapse-2)); font-weight:600; }
.menu a.exp{ color:var(--ember-soft); border:1px solid rgba(255,157,108,.35); }
.menu a.exp:hover{ border-color:var(--ember); color:var(--ember); }

/* page hero */
.pagehero{ padding:8rem 0 2rem; position:relative; }
.crumb{ font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.1em; color:var(--mute-dim); margin-bottom:.5rem; }
.crumb a:hover{ color:var(--synapse); }
.pagehero h1{ font-family:'Fraunces',serif; font-weight:350; font-size:clamp(2.6rem,7vw,5.2rem); line-height:0.99; letter-spacing:-0.02em; margin:.8rem 0 1.1rem; max-width:16ch; }
.pagehero h1 em{ font-style:italic; color:var(--ember); }
.pagehero .sub{ color:var(--mute); font-size:1.12rem; max-width:62ch; }

/* trust band */
.trust{ position:relative; z-index:2; padding:.25rem 0 1.25rem; }
.trust .wrap{ display:flex; align-items:center; flex-wrap:wrap; gap:.7rem 1.4rem; padding:1rem clamp(1.25rem,4vw,3rem); border:1px solid var(--glass-line); border-radius:14px; background:var(--glass); backdrop-filter:blur(10px); box-shadow:var(--shadow-1); }
.trust-item{ display:inline-flex; align-items:center; gap:.55rem; font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.04em; color:var(--mute); }
.trust-item .ic{ width:9px; height:9px; border-radius:50%; background:var(--synapse); box-shadow:0 0 10px var(--synapse); flex-shrink:0; }
.trust-item.warm .ic{ background:var(--ember); box-shadow:0 0 10px var(--ember); }
.trust-item b{ color:var(--bone); font-weight:500; }
.trust-sep{ width:1px; height:16px; background:var(--hair); }

/* bands + heads */
.band{ position:relative; padding:clamp(3rem,7vh,5.5rem) 0; }
.band-head{ max-width:760px; margin-bottom:2rem; }
.band-head h2{ font-family:'Fraunces',serif; font-weight:400; font-size:clamp(1.9rem,4.6vw,3.3rem); line-height:1.04; letter-spacing:-0.02em; margin:.8rem 0 0; }
.band-head h2 em{ font-style:italic; color:var(--ember); }
.band-head .lede{ color:var(--mute); font-size:1.04rem; max-width:62ch; }
.band-head--row{ max-width:none; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:end; }
.band-head--row .lede{ margin:0; padding-bottom:.4rem; }

/* generic cards */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.card{ position:relative; padding:1.7rem 1.6rem; border-radius:18px; border:1px solid var(--glass-line); background:linear-gradient(160deg,rgba(20,27,46,.7),rgba(9,13,24,.8)); box-shadow:var(--shadow-2),var(--shadow-1); transition:transform .45s var(--ease),border-color .45s var(--ease); }
.card:hover{ transform:translateY(-7px); border-color:rgba(64,230,210,.4); box-shadow:var(--shadow-2),var(--shadow-glow); }
.card.warm:hover{ border-color:rgba(255,157,108,.4); }
.card .knum{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--mute-dim); letter-spacing:.14em; }
.card h3{ font-family:'Fraunces',serif; font-weight:500; font-size:1.5rem; margin:.5rem 0 .8rem; line-height:1.12; }
.card p{ color:var(--mute); font-size:.95rem; line-height:1.6; }
.card p b, .card li b{ color:var(--bone); font-weight:600; }
.tlist{ list-style:none; display:flex; flex-direction:column; gap:.6rem; margin-top:.4rem; }
.tlist li{ position:relative; padding-left:1.3rem; color:var(--mute); font-size:.95rem; line-height:1.5; }
.tlist li::before{ content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--synapse); box-shadow:0 0 9px var(--synapse); }
.card.warm .tlist li::before{ background:var(--ember); box-shadow:0 0 9px var(--ember); }

/* stat band */
.statband{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--hair); border:1px solid var(--hair); border-radius:20px; overflow:hidden; }
.statband .stat{ background:linear-gradient(180deg,rgba(16,22,38,.7),rgba(9,13,24,.7)); padding:1.8rem 1.4rem; }
.statband .n{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(2rem,4.4vw,3rem); line-height:1; color:#fff; }
.statband .n .u{ color:var(--synapse); font-size:.5em; }
.statband .lab{ color:var(--mute); font-size:.87rem; margin-top:.6rem; line-height:1.4; }

/* process timeline */
.steps{ display:flex; flex-direction:column; gap:0; counter-reset:s; }
.step{ display:grid; grid-template-columns:auto 1fr; gap:1.3rem; padding:1.4rem 0; border-top:1px solid var(--hair); position:relative; }
.step:first-child{ border-top:none; }
.step .dotn{ width:42px; height:42px; border-radius:50%; border:1px solid var(--glass-line); background:rgba(14,20,36,.6); display:grid; place-items:center; font-family:'IBM Plex Mono',monospace; font-size:.9rem; color:var(--synapse); flex-shrink:0; box-shadow:var(--shadow-1); }
.step h3{ font-family:'Fraunces',serif; font-weight:500; font-size:1.3rem; margin-bottom:.4rem; }
.step p{ color:var(--mute); font-size:.96rem; line-height:1.6; max-width:64ch; }

/* expanders (reveal) */
.reveal-list{ border-top:1px solid var(--hair); }
.rev{ border-bottom:1px solid var(--hair); }
.rev-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; color:var(--bone); padding:1.2rem 0; display:flex; justify-content:space-between; align-items:center; gap:1.2rem; font-family:'Fraunces',serif; font-size:1.18rem; }
.rev-q:hover{ color:var(--synapse); }
.rev-q .pm{ font-family:'IBM Plex Mono',monospace; color:var(--synapse); font-size:1.3rem; transition:transform .4s var(--ease); flex-shrink:0; }
.rev.open .rev-q .pm{ transform:rotate(45deg); }
.rev-a{ max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.rev-a p{ padding:0 0 1.2rem; color:var(--mute); font-size:.97rem; line-height:1.65; max-width:70ch; }
.rev-a p b{ color:var(--bone); }

/* faq 2-col */
.faq-list{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(2rem,5vw,4rem); }
.faq-item{ border-top:1px solid var(--hair); }
.faq-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; color:var(--bone); padding:1.3rem 0; display:flex; justify-content:space-between; align-items:center; gap:1.2rem; font-family:'Fraunces',serif; font-size:1.18rem; }
.faq-q:hover{ color:var(--synapse); }
.faq-q .pm{ font-family:'IBM Plex Mono',monospace; color:var(--synapse); font-size:1.3rem; transition:transform .4s var(--ease); flex-shrink:0; }
.faq-item.open .faq-q .pm{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.faq-a p{ padding:0 0 1.3rem; color:var(--mute); font-size:.97rem; line-height:1.65; }
.faq-a p b{ color:var(--bone); }

/* callout */
.callout{ padding:1.6rem 1.7rem; border-radius:16px; border:1px solid var(--glass-line); background:rgba(14,20,36,.45); box-shadow:var(--shadow-1); }
.callout.warm{ border-color:rgba(255,157,108,.3); }
.callout .ct{ font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ember); display:block; margin-bottom:.6rem; }
.callout p{ font-family:'Fraunces',serif; font-style:italic; font-size:1.15rem; line-height:1.45; color:var(--bone); }

/* buttons */
.btn{ display:inline-flex; align-items:center; gap:.7rem; font-family:'Inter',sans-serif; font-weight:600; padding:.95rem 1.7rem; border-radius:99px; background:linear-gradient(120deg,var(--synapse),var(--synapse-2)); color:var(--void-3); transition:.4s var(--ease); }
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 40px -10px rgba(64,230,210,.6); }
.btn .arr{ transition:transform .4s var(--ease); } .btn:hover .arr{ transform:translateX(5px); }
.btn-ghost{ background:none; color:var(--bone); border:1px solid var(--glass-line); }
.btn-ghost:hover{ border-color:var(--ember); color:var(--ember); box-shadow:none; }

/* next-page pull */
.nextpull{ text-align:center; padding:clamp(3rem,7vh,5.5rem) 0; }
.nextpull h2{ font-family:'Fraunces',serif; font-weight:380; font-size:clamp(1.9rem,4.6vw,3.2rem); line-height:1.05; max-width:20ch; margin:0 auto 1.4rem; }
.nextpull h2 em{ font-style:italic; color:var(--ember); }

/* references */
.refs-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem 2.5rem; }
.ref{ display:flex; gap:.9rem; padding:1rem 0; border-top:1px solid var(--hair); }
.ref .rn{ font-family:'IBM Plex Mono',monospace; font-size:.74rem; color:var(--synapse); flex-shrink:0; padding-top:.15rem; }
.ref a{ color:var(--bone); font-weight:500; transition:.25s; } .ref a:hover{ color:var(--synapse); }
.ref .src{ display:block; font-family:'IBM Plex Mono',monospace; font-size:.7rem; color:var(--mute-dim); margin-top:.2rem; }
.editorial-note{ margin-top:1.6rem; padding:1.1rem 1.3rem; border:1px dashed var(--glass-line); border-radius:12px; font-size:.86rem; color:var(--mute); line-height:1.55; background:rgba(14,20,36,.4); }
.editorial-note b{ color:var(--ember-soft); }

/* footer */
footer{ position:relative; z-index:2; border-top:1px solid var(--hair); padding:3.2rem 0 2.6rem; background:var(--void-3); }
.foot-grid{ display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; align-items:flex-start; }
.foot-brand{ max-width:34ch; } .foot-brand .brand{ margin-bottom:.9rem; } .foot-brand p{ color:var(--mute-dim); font-size:.9rem; }
.foot-links{ display:flex; gap:3.5rem; flex-wrap:wrap; }
.foot-col h4{ font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--mute-dim); margin-bottom:.9rem; }
.foot-col a{ display:block; color:var(--mute); font-size:.92rem; padding:.28rem 0; transition:.25s; } .foot-col a:hover{ color:var(--synapse); }
.disclaimer{ margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid var(--hair); font-size:.8rem; color:var(--mute-dim); line-height:1.55; max-width:82ch; } .disclaimer b{ color:var(--mute); }
.disclaimer a{ color:var(--mute); border-bottom:1px solid var(--glass-line); }
.copy{ margin-top:1.2rem; font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--mute-dim); letter-spacing:.06em; }

/* reveal-on-scroll initial state (JS adds .in) */
.ro{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.ro.in{ opacity:1; transform:none; }

/* responsive */
@media (max-width:920px){
  .band-head--row{ grid-template-columns:1fr; gap:.8rem; }
  .band-head--row .lede{ padding-bottom:0; }
  .grid-2,.grid-3{ grid-template-columns:1fr; }
  .statband{ grid-template-columns:repeat(2,1fr); }
  .faq-list{ grid-template-columns:1fr; }
  .refs-grid{ grid-template-columns:1fr; }
  .trust-sep{ display:none; }
  .brand small{ display:none; }
}
@media (max-width:560px){ .statband{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  #neural{ display:none; }
  .ro{ opacity:1 !important; transform:none !important; }
}
