/* Self-hosted fonts (SIL Open Font License): no calls to Google, faster and more private */
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-opsz-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-opsz-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/atkinson-hyperlegible-next-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/atkinson-hyperlegible-next-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* ===== ThisWay tokens: the base is ThisWay-Menopause (Rosewood and Blush); each service redefines them (see build.py THEMES) ===== */
:root{
  color-scheme:light;
  --evergreen:#5E1C38; --oat:#FEF6F4; --ink:#1D2327; --dusty:#B14F69; --rose:#EFA7B1;
  --mist:#FEE4E6; --white:#FFFFFF; --stone:#5C6660; --night:#230F16; --moss:#2E6B45; --urgent:#B42318;

  --bg:var(--oat); --text:var(--ink); --muted:var(--stone); --heading:var(--evergreen);
  --link:var(--evergreen); --panel:var(--mist); --card:var(--white); --card-border:var(--rose);
  --line:#EFD9DC; --accent:var(--dusty); --marker-text:#FFFFFF;
  --btn-bg:var(--evergreen); --btn-fg:#FFFFFF; --btn-hover:#4A152C;
  --btn2-line:var(--evergreen); --btn2-fg:var(--evergreen);
  --band-bg:var(--evergreen); --band-text:var(--oat); --band-accent:var(--rose);
  --band-btn-bg:var(--oat); --band-btn-fg:var(--evergreen);
  --logo-main:var(--evergreen); --logo-dot:var(--dusty);
  --focus:var(--evergreen); --field:#FFFFFF; --field-line:var(--stone);
  --success:var(--moss); --route:var(--evergreen);
  --preview-bg:var(--ink); --preview-text:var(--oat);
  --shadow:0 1px 2px rgba(29,35,39,.05), 0 12px 32px -12px rgba(94,28,56,.22);

  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
  --sans:'Atkinson Hyperlegible Next', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --r-sm:8px; --r:12px; --r-lg:20px;
  --gutter:clamp(16px, 4vw, 40px);
}
/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:400 18px/1.62 var(--sans);margin:0;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,svg{max-width:100%}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{text-decoration-thickness:2.5px}
strong,b{font-weight:700}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
[tabindex="-1"]:focus{outline:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--btn-bg);color:var(--btn-fg);padding:12px 16px;border-radius:var(--r)}
.skip:focus{left:16px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Type scale (brand: display 48/56, h1 36/44, h2 28/36, h3 22/30, lead 20/32, body 18/29, small 16/24) */
.display,.h1,.h2{font-family:var(--serif);color:var(--heading);font-optical-sizing:auto;text-wrap:balance;letter-spacing:-.01em}
.display{font-weight:500;font-size:clamp(36px,5vw,48px);line-height:1.1667}
.h1{font-weight:600;font-size:clamp(30px,3.6vw,36px);line-height:1.22}
.h2{font-weight:600;font-size:clamp(25px,3vw,28px);line-height:1.28}
.h3{font:700 22px/30px var(--sans);color:var(--heading);text-wrap:balance}
.lead{font-size:20px;line-height:32px}
.small{font-size:16px;line-height:24px}
.muted{color:var(--muted)}
.label{font:700 15px/20px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.measure{max-width:64ch}
.num{font-family:var(--serif);font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.stack>*+*{margin-top:var(--s,16px)}

/* Layout */
.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{max-width:820px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(56px,8vw,104px)}
.section-tight{padding-block:clamp(40px,6vw,72px)}
.band{background:var(--band-bg);color:var(--band-text)}
.band .display,.band .h1,.band .h2,.band .h3{color:var(--band-text)}
.band .label{color:var(--band-accent)}
.band a{color:var(--band-text)}
.panel-bg{background:var(--panel)}
.grid{display:grid;gap:clamp(20px,3vw,32px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.head-block{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;
  border-radius:var(--r);font:700 18px/24px var(--sans);text-decoration:none;cursor:pointer;border:2px solid transparent;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn-primary:hover{background:var(--btn-hover)}
.btn-secondary{background:transparent;color:var(--btn2-fg);border-color:var(--btn2-line)}
.btn-secondary:hover{background:color-mix(in srgb, var(--btn2-line) 8%, transparent)}
.band .btn-primary{background:var(--band-btn-bg);color:var(--band-btn-fg)}
.band .btn-primary:hover{background:#FFFFFF}
.band .btn-secondary{color:var(--band-text);border-color:var(--band-text)}
.btn .ic{width:20px;height:20px}
.btn-link{background:none;border:0;padding:0;font:700 17px/24px var(--sans);color:var(--link);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:6px}

/* Icons */
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--panel);color:var(--heading)}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--logo-main);min-height:44px}
.logo svg{width:34px;height:auto;display:block}
.logo .wm{font:600 29px/1 var(--serif);letter-spacing:-.015em;color:var(--logo-main);font-optical-sizing:auto;padding-bottom:3px}
.logo .wm span{color:var(--logo-dot)}
.band .logo,.site-footer .logo{--logo-main:var(--oat);--logo-dot:var(--rose)}

/* Preview strip (version 1 build only; remove at launch) */
.preview-strip{background:var(--preview-bg);color:var(--preview-text);font:400 15px/22px var(--sans);padding-block:8px}
.preview-strip .wrap{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center}
.preview-strip b{font-weight:700;color:var(--rose)}
.ph{border-bottom:2px dashed var(--accent);padding-bottom:1px;white-space:normal}

/* Cards */
.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:clamp(20px,3vw,28px)}
.soft{background:var(--panel);border-radius:var(--r-lg);padding:clamp(20px,3vw,28px)}
.tag{display:inline-flex;align-items:center;gap:6px;font:700 14px/20px var(--sans);letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);border:1.5px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--card)}
.tag.example{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}

/* Pathway card: the signature component */
.pathway{background:var(--panel);border-radius:var(--r-lg);padding:clamp(20px,3vw,30px);position:relative}
.pathway-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.pathway-title{font:600 24px/30px var(--serif);color:var(--heading)}
.steps{list-style:none;margin:0;padding:0;position:relative}
.steps>li{position:relative;padding-left:52px;padding-bottom:22px}
.steps>li:last-child{padding-bottom:0}
.steps>li::before{content:"";position:absolute;left:15px;top:34px;bottom:2px;width:3px;border-radius:3px;background:var(--route);opacity:.55}
.steps>li:last-child::before{display:none}
.marker{position:absolute;left:0;top:0;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;
  font:700 16px/1 var(--sans);border:3px solid var(--route);color:var(--heading);background:var(--panel)}
.steps>li.next .marker{background:var(--accent);border-color:var(--accent);color:var(--marker-text)}
.step-title{font:700 19px/27px var(--sans);color:var(--text)}
.next-flag{display:inline-block;font:700 13px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--heading);margin-bottom:2px}
.panel-bg .label,.pathway .label,.soft .label{color:var(--heading)}
.why{margin-top:6px}
.why-body{margin-top:8px;padding:14px 16px;background:var(--card);border-radius:var(--r);font-size:16px;line-height:24px}
.src{font-size:16px;line-height:24px;color:var(--muted)}
.reviewer{display:flex;gap:8px;align-items:flex-start;font-size:16px;line-height:24px;color:var(--muted);margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.reviewer .ic{width:20px;height:20px;margin-top:2px;color:var(--heading)}

/* Stats */
.stat{display:grid;gap:8px;align-content:start;padding-top:18px;border-top:2px solid var(--line)}
.stat .num{font-size:clamp(44px,5vw,56px);line-height:1;color:var(--accent)}
.stat p{font-size:18px;line-height:27px}
.stat .src{font-size:15px;line-height:22px}

/* Forms */
.field{display:grid;gap:8px}
.field label,.field .flabel{font:700 17px/24px var(--sans);color:var(--text)}
.field .hint{font-size:16px;line-height:22px;color:var(--muted)}
.input{width:100%;min-height:52px;padding:12px 14px;border:2px solid var(--field-line);border-radius:var(--r);background:var(--field);color:var(--text);font:400 18px/24px var(--sans)}
.input:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--heading)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:24px;cursor:pointer}
.check input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--evergreen)}
.error{color:var(--urgent);font-size:16px;font-weight:700}

/* Details / accordion */
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;font:700 19px/27px var(--sans);color:var(--text);min-height:44px}
.qa summary::-webkit-details-marker{display:none}
.qa summary .ic{transition:transform .25s ease;color:var(--heading)}
.qa[open] summary .ic{transform:rotate(45deg)}
.qa .ans{padding:0 0 22px;max-width:66ch}
.qa .ans>*+*{margin-top:12px}

/* Urgent (brand rule: urgent red only here, no rose on urgent screens) */
.urgent{background:var(--urgent);color:#FFFFFF;border-radius:var(--r);padding:20px 22px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.urgent .ic{width:28px;height:28px;stroke:#FFFFFF}
.urgent p{font-size:19px;line-height:28px}
.urgent strong{font-size:20px}
.urgent a{color:#FFFFFF}
.urgent .btn{background:#FFFFFF;color:var(--urgent);margin-top:12px}

/* Help-now strip */
.help-now{display:grid;gap:6px;font-size:16px;line-height:24px}
.help-now strong{font-size:17px}

/* Footer */
.site-footer{background:var(--band-bg);color:var(--band-text);padding-block:56px 40px}
.site-footer a{color:var(--band-text)}
.site-footer .small{color:color-mix(in srgb, var(--band-text) 82%, transparent)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.foot-grid h2{font:700 16px/22px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--rose);margin-bottom:10px}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.foot-grid li a{display:inline-block;padding-block:4px;text-decoration:none}
.foot-grid li a:hover{text-decoration:underline}
.disclaimer{margin-top:40px;padding-top:24px;border-top:1px solid rgba(251,243,238,.2);display:grid;gap:12px;font-size:16px;line-height:24px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

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

.t-group{--evergreen:#4C575F;--dusty:#4C575F;--rose:#DAE3E8;--mist:#EDF3F7;--night:#151B21;--line:#DFE5EA;--heading:#4C575F;--link:#4C575F;--panel:#EDF3F7;--card-border:#C9D3DA;--accent:#4C575F;--btn-bg:#4C575F;--btn-hover:#3E474E;--btn2-line:#4C575F;--btn2-fg:#4C575F;--band-bg:#4C575F;--band-text:#F8FAFC;--band-accent:#DAE3E8;--band-btn-bg:#F8FAFC;--band-btn-fg:#4C575F;--logo-main:#4C575F;--logo-dot:#4C575F;--focus:#4C575F;--route:#4C575F;--preview-bg:#DAE3E8;--preview-text:#1D2327;--oat:#F8FAFC;--bg:#F8FAFC;--shadow:0 1px 2px rgba(29,35,39,.05), 0 12px 32px -12px rgba(76,87,95,.22)}
.t-meno{--evergreen:#5E1C38;--dusty:#B14F69;--rose:#EFA7B1;--mist:#FEE4E6;--night:#230F16;--line:#EFD9DC;--heading:#5E1C38;--link:#5E1C38;--panel:#FEE4E6;--card-border:#F2BDC5;--accent:#B14F69;--btn-bg:#5E1C38;--btn-hover:#4A152C;--btn2-line:#5E1C38;--btn2-fg:#5E1C38;--band-bg:#5E1C38;--band-text:#FEF6F4;--band-accent:#EFA7B1;--band-btn-bg:#FEF6F4;--band-btn-fg:#5E1C38;--logo-main:#5E1C38;--logo-dot:#B14F69;--focus:#5E1C38;--route:#5E1C38;--preview-bg:#EFA7B1;--preview-text:#1D2327;--oat:#FEF6F4;--bg:#FEF6F4;--shadow:0 1px 2px rgba(29,35,39,.05), 0 12px 32px -12px rgba(94,28,56,.22)}
.t-adhd{--evergreen:#1C2F57;--dusty:#127C5E;--rose:#6FDDB9;--mist:#E0F5EE;--night:#0F1A2E;--line:#D6E4E0;--heading:#1C2F57;--link:#1C2F57;--panel:#E0F5EE;--card-border:#9FDFC8;--accent:#127C5E;--btn-bg:#1C2F57;--btn-hover:#142342;--btn2-line:#1C2F57;--btn2-fg:#1C2F57;--band-bg:#1C2F57;--band-text:#F4F8F7;--band-accent:#6FDDB9;--band-btn-bg:#F4F8F7;--band-btn-fg:#1C2F57;--logo-main:#1C2F57;--logo-dot:#127C5E;--focus:#1C2F57;--route:#1C2F57;--preview-bg:#6FDDB9;--preview-text:#1D2327;--oat:#F4F8F7;--bg:#F4F8F7;--shadow:0 1px 2px rgba(29,35,39,.05), 0 12px 32px -12px rgba(28,47,87,.22)}
.t-postpartum{--evergreen:#4E2F5E;--dusty:#8454AE;--rose:#CDB3E8;--mist:#EFE6F8;--night:#1C1224;--line:#E4DAEC;--heading:#4E2F5E;--link:#4E2F5E;--panel:#EFE6F8;--card-border:#D5C2EC;--accent:#8454AE;--btn-bg:#4E2F5E;--btn-hover:#3D2449;--btn2-line:#4E2F5E;--btn2-fg:#4E2F5E;--band-bg:#4E2F5E;--band-text:#FAF7FC;--band-accent:#CDB3E8;--band-btn-bg:#FAF7FC;--band-btn-fg:#4E2F5E;--logo-main:#4E2F5E;--logo-dot:#8454AE;--focus:#4E2F5E;--route:#4E2F5E;--preview-bg:#CDB3E8;--preview-text:#1D2327;--oat:#FAF7FC;--bg:#FAF7FC;--shadow:0 1px 2px rgba(29,35,39,.05), 0 12px 32px -12px rgba(78,47,94,.22)}
.lk-meno{--lk-route:#5E1C38;--lk-dot:#B14F69;--lk-word:#5E1C38;--lk-hyphen:#B14F69;--lk-name:#5E1C38}
.lk-meno.rev{--lk-route:#FEF6F4;--lk-dot:#EFA7B1;--lk-word:#FEF6F4;--lk-hyphen:#EFA7B1;--lk-name:#EFA7B1}
.urgent-screen .lk-meno{--lk-dot:#5E1C38;--lk-hyphen:#5E1C38}
.lk-adhd{--lk-route:#1C2F57;--lk-dot:#127C5E;--lk-word:#1C2F57;--lk-hyphen:#127C5E;--lk-name:#1C2F57}
.lk-adhd.rev{--lk-route:#F4F8F7;--lk-dot:#6FDDB9;--lk-word:#F4F8F7;--lk-hyphen:#6FDDB9;--lk-name:#6FDDB9}
.urgent-screen .lk-adhd{--lk-dot:#1C2F57;--lk-hyphen:#1C2F57}
.lk-postpartum{--lk-route:#4E2F5E;--lk-dot:#8454AE;--lk-word:#4E2F5E;--lk-hyphen:#8454AE;--lk-name:#4E2F5E}
.lk-postpartum.rev{--lk-route:#FAF7FC;--lk-dot:#CDB3E8;--lk-word:#FAF7FC;--lk-hyphen:#CDB3E8;--lk-name:#CDB3E8}
.urgent-screen .lk-postpartum{--lk-dot:#4E2F5E;--lk-hyphen:#4E2F5E}
.lk-group{--lk-route:#4C575F;--lk-dot:#8A9299;--lk-word:#4C575F}
.lk-group.rev{--lk-route:#F8FAFC;--lk-dot:#DAE3E8;--lk-word:#F8FAFC}
.urgent-screen .lk-group{--lk-dot:#4C575F}
.t-group{--coral:#8A9299}
.lk.lk-mono{--lk-route:#1D2327;--lk-dot:#1D2327;--lk-word:#1D2327;--lk-hyphen:#1D2327;--lk-name:#1D2327}

/* ===== Full site: header ===== */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb, var(--bg) 94%, transparent);
  backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:76px}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}

.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border-radius:10px;color:var(--text);text-decoration:none;font:700 16px/20px var(--sans);white-space:nowrap}
.header-actions .signin{font:700 16px/20px var(--sans);color:var(--heading);padding:8px 6px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.header-actions .btn{white-space:nowrap}
.main-nav a:hover{background:var(--panel)}
.main-nav a[aria-current="page"]{color:var(--heading);box-shadow:inset 0 -3px 0 var(--accent);border-radius:10px 10px 4px 4px}
.header-actions{display:flex;gap:10px;align-items:center}
.header-actions .btn{min-height:48px;padding:11px 20px;font-size:18px}
.menu-btn{display:none;background:none;border:2px solid var(--line);border-radius:var(--r);min-width:48px;min-height:48px;color:var(--heading);cursor:pointer;align-items:center;justify-content:center}
@media (max-width:1240px){
  .main-nav a{padding:8px 8px}
}
@media (max-width:1260px){
  .menu-btn{display:inline-flex;margin-left:auto}
  .header-actions .signin{display:none}
  .main-nav{position:fixed;inset:calc(76px + env(safe-area-inset-top,0px)) 0 auto 0;background:var(--bg);border-bottom:1px solid var(--line);
    padding:12px var(--gutter) 24px;display:none;max-height:calc(100dvh - 76px);overflow:auto;box-shadow:var(--shadow)}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav a:not(.btn){font-size:19px;padding:12px 8px;width:100%}
  .main-nav a.btn{width:100%;color:var(--btn-fg)}
  .main-nav a[aria-current="page"]{box-shadow:inset 4px 0 0 var(--accent);border-radius:6px}
  .main-nav .mobile-only{display:block}
}
.main-nav .mobile-only{display:none}
@media (max-width:520px){ .header-actions .start{display:none} }

/* ===== Home hero ===== */
.hero{padding-block:clamp(40px,6vw,88px) clamp(56px,7vw,96px);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero-copy{display:grid;gap:24px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:16px;line-height:24px;color:var(--muted)}
.hero-meta span{display:inline-flex;align-items:center;gap:6px}
.hero-meta .ic{width:18px;height:18px;color:var(--heading)}
.hero-visual{position:relative}
.hero-route{position:absolute;inset:-40px -60px auto auto;width:130%;height:auto;pointer-events:none;opacity:.9}
.hero-route path{fill:none;stroke:var(--route);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 12;opacity:.55}
.hero-visual .pathway{box-shadow:var(--shadow);position:relative}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-route{display:none}}

/* ===== Inner page hero ===== */
.page-hero{padding-block:clamp(40px,6vw,80px) clamp(32px,4vw,56px)}
.page-hero .wrap{display:grid;gap:18px}
.page-hero .lead{max-width:60ch}
.crumb{font-size:16px;color:var(--muted)}
.crumb a{color:var(--muted)}

/* ===== Route steps (how it works) ===== */
.route-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px);position:relative;list-style:none;margin:0;padding:0}
.route-steps::before{content:"";position:absolute;top:22px;left:24px;right:24px;height:0;border-top:3px dotted var(--route);opacity:.7}
.route-steps li{position:relative;display:grid;gap:12px;align-content:start}
.route-steps .dot{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:3px solid var(--route);font:600 22px/1 var(--serif);color:var(--heading);position:relative}
.route-steps li:last-child .dot{background:var(--accent);border-color:var(--accent);color:var(--marker-text)}
.panel-bg .route-steps .dot{background:var(--panel)}
.panel-bg .route-steps li:last-child .dot{background:var(--accent)}
@media (max-width:760px){
  .route-steps{grid-template-columns:1fr;gap:28px}
  .route-steps::before{top:24px;bottom:24px;left:22px;right:auto;width:0;height:auto;border-top:0;border-left:3px dotted var(--route)}
  .route-steps li{grid-template-columns:46px 1fr;column-gap:18px}
  .route-steps li>*:not(.dot){grid-column:2}
  .route-steps .dot{grid-row:1 / span 3}
}

/* ===== Feature trio ===== */
.feature{display:grid;gap:14px;align-content:start}

/* ===== Is / isn't ===== */
.isnt{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.isnt>div{padding:clamp(20px,3vw,32px)}
.isnt .is{background:var(--card)}
.isnt .not{background:var(--panel)}
.isnt ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:14px}
.isnt li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}
.isnt .is .ic{color:var(--success)}
.isnt .not .ic{color:var(--muted)}
@media (max-width:760px){.isnt{grid-template-columns:1fr}}

/* ===== Show my GP mock ===== */
.gp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:900px){.gp-split{grid-template-columns:1fr}}
.phone{max-width:380px;margin-inline:auto;background:#1D2327;border-radius:40px;padding:12px;box-shadow:var(--shadow)}
.gp-screen{background:#FFFFFF;color:#1D2327;border-radius:30px;padding:26px 22px 24px;display:grid;gap:16px}
.gp-screen .gp-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;line-height:20px;color:#5C6660}
.gp-screen .gp-top .logo{--logo-main:#5E1C38;--logo-dot:#B14F69;min-height:0;gap:6px}
.gp-screen .gp-top .logo svg{width:18px}
.gp-screen .gp-top .logo .wm{font-size:16px;color:#5E1C38}
.gp-screen h3{font:700 22px/28px var(--sans);color:#1D2327}
.gp-screen h4{font:700 14px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#5E1C38;margin-bottom:4px}
.gp-screen p,.gp-screen li{font-size:17px;line-height:25px}
.gp-screen ul{margin:0;padding-left:20px}
.gp-screen .gp-block{padding-top:12px;border-top:1px solid #E3E6E4}

/* ===== Persona grid ===== */
.persona{display:grid;gap:10px;align-content:start;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:22px 22px 20px;transition:transform .2s ease, box-shadow .2s ease}
.persona:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.persona q{font:600 22px/28px var(--serif);color:var(--heading);quotes:"\201C" "\201D"}
.persona .go{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--link);font-size:16px}
.persona .go .ic{width:18px;height:18px}

/* ===== Plans ===== */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
@media (max-width:760px){.plans{grid-template-columns:1fr}}
.plan{display:grid;gap:18px;align-content:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px)}
.plan.featured{border:2px solid var(--heading)}
.plan .price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.plan .price .num{font-size:52px;line-height:1;color:var(--heading)}
.plan ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.plan li{display:grid;grid-template-columns:24px 1fr;gap:10px}
.plan li .ic{color:var(--success)}
.plan .btn{justify-self:start}

/* ===== Feature table ===== */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
table.cmp{width:100%;border-collapse:collapse;min-width:560px}
table.cmp th,table.cmp td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.cmp thead th{font:700 16px/22px var(--sans);color:var(--heading);background:var(--panel)}
table.cmp tbody th{font-weight:700}
table.cmp td.c{text-align:center;width:120px}
table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:0}
table.cmp .ic{color:var(--success)}
table.cmp .no{color:var(--muted)}

/* ===== Month rhythm ===== */
.month{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.month li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:6px;align-content:start}
.month li.end{background:var(--panel);border-color:transparent}
.month .wk{font:700 14px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:860px){.month{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.month{grid-template-columns:1fr}}

/* ===== Calculator ===== */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:end}
.calc-out{background:var(--panel);border-radius:var(--r-lg);padding:22px}
.calc-out .num{font-size:48px;line-height:1.05;color:var(--heading)}
@media (max-width:680px){.calc{grid-template-columns:1fr}}

/* ===== Questionnaire ===== */
.q-shell{max-width:720px;margin-inline:auto;padding-inline:var(--gutter);padding-block:clamp(28px,5vw,64px) clamp(56px,8vw,96px)}
.q-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,4vw,40px);box-shadow:var(--shadow)}
.q-progress{display:grid;gap:8px;margin-bottom:26px}
.q-progress .bar{height:8px;background:var(--panel);border-radius:8px;overflow:hidden}
.q-progress .bar span{display:block;height:100%;background:var(--heading);border-radius:8px;transition:width .4s ease}
.q-progress .small{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}
.q-title{font:600 clamp(26px,3.4vw,32px)/1.25 var(--serif);color:var(--heading);text-wrap:balance}
.q-hint{color:var(--muted);font-size:17px;margin-top:8px}
.opts{display:grid;gap:10px;margin-top:22px;border:0;padding:0}
.opt{display:flex;align-items:center;gap:14px;min-height:56px;padding:12px 16px;border:2px solid var(--line);border-radius:var(--r);cursor:pointer;background:var(--field);font-size:18px;line-height:24px}
.opt:hover{border-color:var(--field-line)}
.opt input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--evergreen)}
.opt:has(input:checked){border-color:var(--heading);background:color-mix(in srgb, var(--panel) 70%, var(--field))}
.opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.opt.pnts{border-style:dashed}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips .opt{min-height:48px;padding:10px 14px;border-radius:999px}
.q-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.q-nav .right{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.heads-up{display:grid;grid-template-columns:24px 1fr;gap:12px;background:var(--panel);border-radius:var(--r);padding:14px 16px;font-size:17px;margin-bottom:18px}
.heads-up .ic{color:var(--heading)}
.note-short{display:grid;grid-template-columns:24px 1fr;gap:10px;font-size:15px;line-height:22px;color:var(--muted);border:1.5px dashed var(--line);border-radius:var(--r);padding:12px 14px;margin-top:22px}

/* ===== Pathway page ===== */
.pw-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,48px);align-items:start}
.pw-aside{position:sticky;top:100px;display:grid;gap:16px}
@media (max-width:960px){.pw-layout{grid-template-columns:1fr}.pw-aside{position:static}}
.pw-section{display:grid;gap:14px;padding-block:28px;border-top:1px solid var(--line)}
.pw-section:first-of-type{border-top:0;padding-top:0}
.pw-intro{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;font-size:17px;line-height:26px}
.told{display:flex;flex-wrap:wrap;gap:8px}
.told span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:16px}
.locked{position:relative;border-radius:var(--r-lg);overflow:hidden}
.locked .blur{filter:blur(5px);opacity:.55;pointer-events:none;user-select:none}
.locked .veil{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;background:color-mix(in srgb, var(--panel) 40%, transparent)}
.locked .veil>div{display:grid;gap:12px;justify-items:center;background:var(--card);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow);max-width:420px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:760px){.tiles{grid-template-columns:1fr}}
.tile{background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);padding:16px;display:grid;gap:8px;align-content:start;font-size:17px}
.tile .small{color:var(--muted)}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.check-list li{display:grid;grid-template-columns:24px 1fr;gap:12px}
.check-list .ic{color:var(--heading)}
.worry{display:grid;grid-template-columns:24px 1fr;gap:12px;background:var(--panel);border-radius:var(--r);padding:16px 18px;font-weight:700}
.worry .ic{color:var(--heading)}

/* ===== Sign in / auth ===== */
.auth{max-width:480px;margin-inline:auto;padding-inline:var(--gutter);padding-block:clamp(40px,6vw,88px)}
/* Sign in: choose a member area */
.svc-choose{display:grid;gap:14px}
.svc-choose-card{border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:10px;background:#fff}
.svc-choose-card p{margin:0}
.svc-choose-card .svc-lk .lk{height:26px;width:auto;max-width:100%}
.svc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.svc-choose-card[data-svc="meno"]{--svc:#5E1C38;--svc-hover:#4A152C;border-top:4px solid var(--svc)}
.svc-choose-card[data-svc="adhd"]{--svc:#1C2F57;--svc-hover:#142342;border-top:4px solid var(--svc)}
.svc-choose-card[data-svc="postpartum"]{--svc:#4E2F5E;--svc-hover:#3D2449;border-top:4px solid var(--svc)}
.svc-choose-card .btn-primary{background:var(--svc,var(--btn-bg));border-color:var(--svc,var(--btn-bg));color:#FFFFFF}
.svc-choose-card .btn-primary:hover{background:var(--svc-hover,var(--btn-hover))}
.svc-choose-card{--focus:var(--svc)}
.svc-choose-card .btn-secondary{border-color:var(--svc,var(--btn2-line));color:var(--svc,var(--btn2-fg))}
.form-grid{display:grid;gap:20px}
.success{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;border:2px solid var(--success);border-radius:var(--r);padding:14px 16px;font-size:17px}
.success .ic{color:var(--success)}

/* ===== Misc ===== */
.cta-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
@media (max-width:760px){.cta-band .wrap{grid-template-columns:1fr}}
.quote{font:500 clamp(24px,3vw,30px)/1.3 var(--serif);color:var(--heading);text-wrap:balance}
.inline-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.inline-list li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:16px}
.doc-list{display:grid;gap:16px}
.doc-list .card{display:grid;gap:8px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:17px}
.kv dt{font-weight:700}
.two-col{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
.page{animation:fade .35s ease both}
@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
/* ===== Fixes and details ===== */
.why summary{list-style:none}
.why summary::-webkit-details-marker{display:none}
.site-footer .ph{border-color:var(--rose)}
#emp-calc,#emp-buy{scroll-margin-top:100px}
@media (max-width:1260px){
  .header-actions{margin-left:auto}
  .menu-btn{order:3;margin-left:0}
}


/* ===== Appointment pack (printable) ===== */
/* Paper sheet: always printed-paper colours, whatever the theme */
.sheet{--p-ink:#1D2327;--p-muted:#5C6660;--p-green:#5E1C38;--p-rose:#B14F69;--p-line:#E6E0DC;
  background:#FFFFFF;color:var(--p-ink);border-radius:4px;aspect-ratio:1/1.414;width:100%;max-width:100%;
  box-shadow:0 1px 1px rgba(29,35,39,.06),0 18px 40px -18px rgba(29,35,39,.35);
  padding:7.5% 8% 6%;display:flex;flex-direction:column;gap:3.2%;overflow:hidden;position:relative;
  font:400 2.8cqw/1.45 var(--sans);container-type:inline-size}
.sheet .sh-top{display:flex;justify-content:space-between;align-items:center;font-size:2.44cqw;color:var(--p-muted)}
.sheet .sh-logo{display:inline-flex;align-items:center;gap:1.2cqw;font:600 3.26cqw/1 var(--serif);color:var(--p-green);--logo-main:#5E1C38;--logo-dot:#B14F69}
.sheet .sh-logo svg{width:3.7cqw;height:auto}
.sheet .sh-title{font:600 4.9cqw/1.15 var(--serif);color:var(--p-green);margin:0}
.sheet .sh-meta{font-size:2.56cqw;color:var(--p-muted);margin-top:-1.5%}
.sheet .sh-quote{border-left:.7cqw solid var(--p-rose);padding:.4cqw 0 .4cqw 2.4cqw;font:italic 500 3cqw/1.4 var(--serif);color:var(--p-ink)}
.sheet .sh-quote.empty{font-style:normal;font-family:var(--sans);font-size:2.56cqw;color:var(--p-muted);border-left-style:dashed}
.sheet .sh-grid{display:grid;grid-template-columns:1fr 1fr;gap:4% 6%}
.sheet h4{font:700 2.2cqw/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--p-green);margin:0 0 .9cqw}
.sheet ul,.sheet ol{margin:0;padding-left:3.5cqw;font-size:2.67cqw;line-height:1.45}
.sheet ul{list-style:disc} .sheet ol{list-style:decimal}
.sheet li{margin:0 0 .45cqw;padding:0} .sheet li::before{content:none}
.sheet p{margin:0;font-size:2.67cqw}
.sheet .sh-block{border-top:1px solid var(--p-line);padding-top:1.4cqw}
.sheet .sh-foot{margin-top:auto;border-top:1px solid var(--p-line);padding-top:1.4cqw;font-size:2.2cqw;color:var(--p-muted)}
.sheet .ph{border-color:var(--p-rose)}

/* Hero with paper */
.desk{position:relative;padding:6% 4% 4% 10%;width:100%}
.desk .under{position:absolute;inset:10% 18% 0 0;background:var(--panel);border-radius:28px}
.desk .sheet.back{position:absolute;top:3%;right:0;width:78%;transform:rotate(4deg);opacity:.95}
.desk .sheet.front{position:relative;width:86%;transform:rotate(-2deg)}
.desk .tag.example{position:absolute;top:0;left:10%;z-index:2}
@media (max-width:900px){.desk{width:100%;max-width:520px;margin-inline:auto}}
@media (prefers-reduced-motion:no-preference){.desk .sheet.front{transition:transform .5s ease}.desk:hover .sheet.front{transform:rotate(-1deg) translateY(-4px)}}

/* Being-believed band */
.believe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:860px){.believe{grid-template-columns:1fr}}
.big-stat{display:grid;gap:10px;padding:26px 0;border-top:2px solid var(--line)}
.big-stat .num{font-size:clamp(56px,7vw,80px);line-height:1;color:var(--accent)}

/* Pack pages */
.pack-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
@media (max-width:980px){.pack-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.pack-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pack-row li{display:grid;gap:12px;align-content:start}
.mini{padding:10% 10% 8%;gap:5%;font-size:7px;line-height:1.4;container-type:normal}
.mini .m-title{font:600 11px/1.15 var(--serif);color:#5E1C38}
.mini .m-line{height:4px;border-radius:2px;background:#E6E0DC}
.mini .m-line.s{width:60%} .mini .m-line.m{width:82%}
.mini .m-h{font:700 6px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#5E1C38;margin-top:2%}
.mini table{width:100%;border-collapse:collapse}
.mini td{border:1px solid #E6E0DC;height:9px}
.mini .m-quote{border-left:2px solid #B14F69;padding-left:5px;height:18px}
.pg-no{font:700 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.pack-row h3{font:700 18px/24px var(--sans);color:var(--heading)}
.pack-row p{font-size:16px;line-height:24px;color:var(--muted)}
.locked-mini{position:relative}
.locked-mini::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,color-mix(in srgb,var(--bg) 70%,transparent));border-radius:4px}
.locked-mini .lk{white-space:nowrap;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:var(--card);color:var(--heading);border-radius:999px;padding:6px 12px;font:700 14px/1 var(--sans);display:inline-flex;gap:6px;align-items:center;box-shadow:var(--shadow)}
.locked-mini .lk .ic{width:16px;height:16px}
.pack-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:900px){.pack-split{grid-template-columns:1fr}}
.panel-bg .desk .under{background:var(--bg)}


/* ===== Photography (brand guidelines, Imagery: real UK women, everyday settings, natural light, faces visible) =====
   Despora photos (CC BY-ND 4.0, "no-photoshop") are shown whole and unedited: no crops, filters or overlays.
   The rose mist block sits behind the frame, never on top of the picture. */
.photo{position:relative;margin:0;isolation:isolate}
.photo img{display:block;width:100%;height:auto;border-radius:var(--r-lg);background:var(--panel)}
.photo.backed::before{content:"";position:absolute;z-index:-1;left:26px;right:-18px;top:30%;bottom:-18px;background:var(--panel);border-radius:calc(var(--r-lg) + 6px)}
.panel-bg .photo.backed::before{background:var(--bg)}

/* Home hero: copy and example pathway on the left, photo on the right */
.hero-grid.with-photo{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"copy photo" "card photo";row-gap:40px;align-items:start}
.with-photo .hero-copy{grid-area:copy}
.with-photo .hero-card{grid-area:card;max-width:580px;position:relative;z-index:1}
.with-photo .hero-card .pathway{box-shadow:var(--shadow)}
.with-photo .hero-visual{grid-area:photo;align-self:center;justify-self:end;width:100%;max-width:480px;isolation:isolate}
.with-photo .hero-route{z-index:-2;inset:auto auto -10% -70%;width:150%}
@media (max-width:900px){
  .hero-grid.with-photo{grid-template-columns:1fr;grid-template-areas:"copy" "photo" "card";row-gap:36px}
  .with-photo .hero-visual{justify-self:center;max-width:min(100%,400px)}
  .with-photo .hero-card{max-width:none}
}

/* Section heads and inner page heroes with a photo */
.head-block.photo-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:clamp(32px,5vw,72px);row-gap:32px}
.page-hero.has-photo .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:36px clamp(32px,5vw,72px)}
.ph-copy{display:grid;gap:18px;align-content:start}
@media (max-width:860px){
  .head-block.photo-head,.page-hero.has-photo .wrap{grid-template-columns:1fr}
  .photo.backed::before{left:18px;right:-10px;bottom:-12px}
}


/* ===== Waitlist page ===== */
.wl-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.pill{display:inline-flex;align-items:center;gap:8px;font:700 15px/20px var(--sans);color:var(--heading);background:var(--panel);border-radius:999px;padding:8px 14px}
.pill .ic{width:18px;height:18px}
.wl-hero{padding-block:clamp(28px,5vw,72px) clamp(56px,7vw,96px)}
.wl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:940px){.wl-grid{grid-template-columns:1fr}}
.join{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,28px);box-shadow:var(--shadow);display:grid;gap:18px}
.join .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.join .row2{grid-template-columns:1fr}}
.offer-line{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border-radius:var(--r);padding:12px 14px;font-size:17px;line-height:25px}
.offer-line .num{font-size:22px;color:var(--heading)}
.offer-line .ic{color:var(--heading);margin-top:2px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tabs [role="tab"]{font:700 15px/20px var(--sans);min-height:44px;padding:10px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}
.tabs [role="tab"][aria-selected="true"]{background:var(--heading);border-color:var(--heading);color:var(--bg)}
.tabpanel{display:grid;gap:14px}
.tabpanel .told span{background:var(--card)}
.founding{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:860px){.founding{grid-template-columns:1fr}}
.founding .plan .num{font-size:44px}
.founding .plan.featured{position:relative}
.founding .badge{position:absolute;top:-14px;left:24px;background:var(--accent);color:var(--marker-text);font:700 14px/20px var(--sans);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 12px}
.done{display:grid;gap:16px}
.done .h2{color:var(--heading)}

/* ===== ThisWay family: shared build additions (ThisWay Brand Guidelines v1.2) ===== */
html{scroll-padding-top:96px}
[hidden]{display:none!important}
.skip{text-decoration:none;font-weight:700}
.prelaunch a{color:var(--preview-text);font-weight:700}
.preview-strip b{color:inherit}   /* the strip is the soft accent with Ink text (brand guidelines v1.2) */
@media (max-width:640px){.prelaunch .pl-long{display:none}}
@media (max-width:1260px){.main-nav .mobile-only{display:block}}
.hero-card .pathway{box-shadow:var(--shadow)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.input[aria-invalid="true"]{border-color:var(--urgent)}
.form-msg:focus{outline:none}
.page-hero .soft{margin-top:4px}
/* Urgent screens: no accent colours anywhere (brand guidelines, colour rules) */
.urgent-screen .prelaunch,.urgent-screen .note-short{display:none}
.urgent-screen .main-nav a[aria-current="page"]{box-shadow:none}

/* Logos: one <symbol> per lockup, coloured by class (primary, .rev reversed, .lk-mono single colour) */
.lk{display:block;height:34px;width:auto;max-width:100%}
.brand{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;flex:none}
.site-footer .brand .lk{height:30px}
/* ThisWay-Menopause is the longest lockup: a touch smaller before the nav collapses, so the header never scrolls sideways */
@media (max-width:1320px){.t-meno .site-header .brand .lk{height:30px}}
@media (max-width:520px){.site-header .brand .lk,.wl-header .brand .lk{height:28px}}
@media (max-width:380px){.site-header .brand .lk,.wl-header .brand .lk{height:24px}}
.sheet .sh-logo svg.lk{width:auto;height:2.7cqw}

/* Footer: "Part of the ThisWay family" strip, three marks side by side (Meno, ADHD, Postpartum) */
.site-footer{padding-bottom:0}
.site-footer .disclaimer{padding-bottom:36px}
.foot-grid h2{color:var(--band-accent)}   /* the soft accent (4.5:1 or more on every anchor) */
.family-strip{background:var(--oat);color:var(--ink);border-top:1px solid var(--line)}
.family-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 28px;padding-block:10px}
.site-footer .family-strip a{color:var(--ink);text-decoration:none}
.site-footer .family-strip a:hover{text-decoration:underline}
.family-strip p{font:700 15px/20px var(--sans)}
.family-strip p a{display:inline-flex;align-items:center;min-height:44px}
.family-strip ul{display:flex;flex-wrap:wrap;gap:0 22px;list-style:none;margin:0;padding:0}
.family-strip li a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 16px/20px var(--sans)}
.family-strip svg{width:28px;height:auto;flex:none}

/* Family home: a simple overview of the three services (ThisWay: Slate and Pewter; each card in its own colourway) */
.fam-trust{background:var(--card);border:1px solid var(--card-border);border-radius:var(--r-lg);padding:clamp(22px,3vw,30px);box-shadow:var(--shadow)}
.fam-trust .h3{margin-bottom:16px}
.fam-trust .check-list{gap:14px}
.fam-trust .check-list .ic{color:var(--heading);margin-top:2px}
.svc-more{display:inline-flex;align-items:center;gap:8px;min-height:48px;font:700 18px/24px var(--sans);color:var(--svc);text-decoration:underline;text-underline-offset:4px;justify-self:start}
.svc-more .ic{width:20px;height:20px;flex:none}
.svc-more:hover{text-decoration-thickness:2px}
.fam-about .lead{max-width:62ch}
.fam-hero{padding-block:clamp(40px,6vw,80px) clamp(40px,6vw,72px)}
.fam-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:900px){.fam-hero-grid{grid-template-columns:1fr}}
.fam-copy{max-width:760px}
.fam-services .head-block{margin-bottom:28px}
.svc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
@media (max-width:1060px){.svc-cards{grid-template-columns:1fr;max-width:640px}}
.svc-card{--svc:var(--heading);--svc-mist:var(--card);--svc-hover:var(--btn-hover);--focus:var(--svc);
  background:var(--svc-mist);border:0;border-top:6px solid var(--svc);border-radius:var(--r-lg);padding:clamp(22px,3vw,28px);
  display:grid;gap:14px;align-content:start;grid-template-rows:auto auto 1fr auto auto;box-shadow:0 1px 2px rgba(29,35,39,.05)}
.svc-card.svc-meno{--svc:#5E1C38;--svc-mist:#FEE4E6;--svc-hover:#4A152C}
.svc-card.svc-adhd{--svc:#1C2F57;--svc-mist:#E0F5EE;--svc-hover:#142342}
.svc-card.svc-pp{--svc:#4E2F5E;--svc-mist:#EFE6F8;--svc-hover:#3D2449}
.svc-card .btn-primary{background:var(--svc);border-color:var(--svc);color:#FFFFFF}
.svc-card .btn-primary:hover{background:var(--svc-hover);border-color:var(--svc-hover)}
.svc-link{display:inline-flex;align-items:center;min-height:48px;justify-self:start;max-width:100%}
.svc-card .lk{height:30px}
.svc-promise{font:600 22px/29px var(--serif);color:var(--svc)}
.svc-status{display:inline-flex;gap:8px;align-items:center;font:700 16px/22px var(--sans);color:var(--ink)}
.svc-status .ic{width:18px;height:18px;flex:none;color:var(--svc)}
.svc-card .btn{justify-self:start}
@media (min-width:1061px){.fam-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1060px) and (min-width:761px){.fam-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.fam-steps::before{display:none}}
.panel-bg .fam-steps .dot{background:var(--card)}
/* The last step is the next step: Pewter, as in the logo, with Ink numbers (5.0:1) */
.t-group .fam-steps li:last-child .dot{background:var(--coral);border-color:var(--coral);color:#1D2327}
.t-group .feature .ic-badge{background:var(--rose);color:var(--heading)}

/* Service landing pages */
.steps>li.done .marker{background:var(--heading);border-color:var(--heading);color:#FFFFFF}
.steps>li.done .marker .ic{width:18px;height:18px}
.steps>li.here .marker{background:var(--rose);border-color:var(--heading)}
.route-eg>li:not(.done):not(.here) .marker{border-color:var(--stone);color:var(--stone)}
.route-eg>li.here::before,.route-eg>li:not(.done)::before{background:var(--stone);opacity:.35}
.age-chip{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:700 16px/22px var(--sans);color:var(--ink);margin-bottom:18px}
.now-list .card{border-color:var(--line)}
ul.tight-list{margin:0;padding-left:22px;display:grid;gap:4px;list-style:disc}
.note-row{margin-top:24px;gap:12px;align-items:flex-start;flex-wrap:nowrap}
.note-row>.ic{color:var(--heading);margin-top:3px;flex:none}
.join-grid{align-items:start}
.adhd-feats .check-list{gap:12px}
/* ThisWay-ADHD reads fast: shorter lines (brand guidelines, typography) */
.t-adhd .measure{max-width:56ch}
.t-adhd .lead{max-width:56ch}

/* "If you need help now": plain, calm, always in Ink */
.help-now{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;background:#FFFFFF;border:2px solid var(--ink);border-radius:var(--r-lg);padding:clamp(18px,3vw,26px);max-width:880px;color:var(--ink)}
.help-now>.ic{width:26px;height:26px;color:var(--ink);margin-top:2px}
.help-now .h3{color:var(--ink)}
.help-now a{color:var(--ink)}

/* ThisWay-Postpartum "When to get help straight away": white, Urgent red, Ink links, no colourway */
.urgent-panel{background:#FFFFFF;border:2px solid var(--urgent);border-radius:var(--r-lg);overflow:hidden;color:var(--ink)}
.urgent-head{display:flex;gap:12px;align-items:center;background:var(--urgent);color:#FFFFFF;padding:14px clamp(18px,3vw,26px)}
.urgent-head .ic{width:24px;height:24px;flex:none}
.urgent-panel .urgent-head .h3{color:#FFFFFF}
.urgent-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 32px;padding:clamp(18px,3vw,26px)}
@media (max-width:900px){.urgent-body{grid-template-columns:1fr}}
.urgent-body ul{margin:0;padding-left:22px;display:grid;gap:4px}
.urgent-panel a{color:var(--ink)}
.urgent-panel .src{padding:0 clamp(18px,3vw,26px) clamp(18px,3vw,22px)}

/* "Also from ThisWay": white, with the other service's logo; never beside an urgent signpost */
.also-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px 22px;align-items:center;background:#FFFFFF;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:18px 22px;text-decoration:none;color:var(--ink);max-width:980px}
.also-card:hover{box-shadow:var(--shadow)}
.also-card .lk{height:26px}
.also-card>.ic{color:var(--ink)}
@media (max-width:700px){.also-card{grid-template-columns:minmax(0,1fr)}.also-card>.ic{display:none}}
.panel-bg .ic-badge{background:var(--card)}
.help-now p{font-size:18px;line-height:28px}
.help-now p.src{font-size:16px;line-height:24px}
/* Waitlist header: the ThisWay-Menopause lockup is long, so the date pill drops below it on small screens */
@media (max-width:600px){.wl-header .wrap{flex-wrap:wrap;row-gap:6px;padding-block:10px}}
/* ThisWay-Menopause is the longest lockup: smaller on phones so the menu button always fits */
@media (max-width:520px){.t-meno .site-header .brand .lk{height:25px}}
@media (max-width:400px){.t-meno .site-header .brand .lk{height:22px}}

/* ===== Guides: /<service>/guides/ and the articles (guides.py) ===== */
.g-crumb ol{list-style:none;margin:0;padding:0}
.g-crumb li{display:inline}
.g-crumb li+li::before{content:"/";margin-inline:8px;color:var(--muted)}
.g-crumb [aria-current]{color:var(--text)}
.g-hero .wrap{gap:14px}
.g-hero .h1{max-width:32ch}
.g-hero .lead{max-width:58ch}
.g-meta{font-size:16px;line-height:24px;color:var(--muted)}
.g-meta a{color:var(--muted)}
/* Article layout: text column plus a side column (contents and the service's next step) */
.g-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start}
.g-aside{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));display:grid;gap:20px}
@media (max-width:980px){
  .g-grid{grid-template-columns:minmax(0,1fr)}
  .g-aside{position:static}
  .g-toc{display:none}
}
.g-prose{max-width:68ch;min-width:0}
.g-prose>*+*{margin-top:18px}
.g-prose h2{font:600 clamp(25px,3vw,28px)/1.28 var(--serif);color:var(--heading);letter-spacing:-.01em;text-wrap:balance;margin-top:48px;scroll-margin-top:100px}
.g-prose h3{font:700 21px/29px var(--sans);color:var(--heading);text-wrap:balance;margin-top:32px;scroll-margin-top:100px}
.g-prose h2+*,.g-prose h3+*{margin-top:12px}
.g-prose ul,.g-prose ol{padding-left:0;list-style:none;display:grid;gap:8px}
.g-prose ul>li{position:relative;padding-left:26px}
.g-prose ul>li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.g-prose ol{counter-reset:g}
.g-prose ol>li{position:relative;padding-left:40px;counter-increment:g}
.g-prose ol>li::before{content:counter(g);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:var(--panel);color:var(--heading);
  font:700 15px/28px var(--sans);text-align:center}
.g-prose li>p{margin:0}
.g-prose strong{color:var(--heading)}

/* In short */
.g-key{background:var(--panel);border-radius:var(--r-lg);padding:clamp(20px,3vw,28px)}
.g-key-title,.g-say-title,.g-next-title,.g-toc-title,.g-cta-title{font:700 15px/20px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--heading)}
.g-key ul{margin-top:12px}
.g-key ul>li::before{background:var(--heading)}

/* Words or questions to take along */
.g-say{border-left:4px solid var(--accent);background:var(--card);border-radius:0 var(--r) var(--r) 0;padding:18px 22px;box-shadow:0 1px 2px rgba(29,35,39,.05)}
.g-say ul,.g-say p{margin-top:10px}
.g-say ul>li::before{background:var(--line);border:2px solid var(--accent);width:10px;height:10px;left:3px;top:.55em}

/* One stat, as on the service pages */
.g-stat{padding-top:18px}
.g-stat .num{font-size:clamp(44px,5vw,56px)}

/* Tables */
.g-table{overflow-x:auto;border:1px solid var(--card-border);border-radius:var(--r);background:var(--card)}
.g-table table{border-collapse:collapse;width:100%;font-size:17px;line-height:26px;font-variant-numeric:tabular-nums}
.g-table th,.g-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.g-table th{background:var(--panel);color:var(--heading);font-weight:700}
.g-table tr:last-child td{border-bottom:0}
@media (max-width:520px){.g-table table{font-size:16px;line-height:24px}.g-table th,.g-table td{padding:10px 12px}}

/* Your next step */
.g-next{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;border:2px solid var(--heading);border-radius:var(--r-lg);padding:clamp(18px,3vw,26px);background:var(--card);margin-top:40px!important}
.g-next>.ic{width:26px;height:26px;color:var(--heading);margin-top:2px}
.g-next p{margin-top:8px}
.g-next .g-next-title{margin-top:0}

/* Sources */
.g-sources{border-top:2px solid var(--line);padding-top:24px;margin-top:48px!important;font-size:16px;line-height:24px;color:var(--muted)}
.g-sources h2{font:700 15px/20px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--heading);margin:0}
.g-sources ol{margin-top:14px;gap:6px}
.g-sources ol>li{padding-left:34px}
.g-sources ol>li::before{width:24px;height:24px;font-size:13px;line-height:24px;top:0}
.g-sources a{color:var(--muted);overflow-wrap:anywhere}
.g-sources p{margin-top:12px}

/* Side column */
.g-toc{border-left:2px solid var(--line);padding:4px 0 4px 18px}
.g-toc ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:16px;line-height:22px}
.g-toc a{color:var(--text);text-decoration:none}
.g-toc a:hover{color:var(--heading);text-decoration:underline}
.g-cta{background:var(--panel);border-radius:var(--r-lg);padding:22px;display:grid;gap:10px}
.g-cta p{font-size:17px;line-height:26px}
.g-cta .g-cta-title{font-size:15px}
.g-cta-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:4px}
.g-cta-link{font-weight:700}
.panel-bg .g-cta{background:var(--card);border:1px solid var(--card-border)}

/* Cards (index and "More guides") */
.g-cards .g-card{position:relative;display:grid;gap:10px;align-content:start;transition:box-shadow .15s ease, transform .15s ease}
.g-card .h3{text-wrap:pretty}
.g-card .h3 a{color:var(--heading);text-decoration:none}
.g-card .h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.g-card:hover{box-shadow:var(--shadow)}
.g-card:hover .h3 a{text-decoration:underline}
.g-card:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.g-card .h3 a:focus-visible{outline:none}
.g-card>p:not(.label):not(.g-card-meta){font-size:17px;line-height:26px}
.g-card-meta{font-size:15px;line-height:22px;color:var(--muted);margin-top:auto}
.g-more-head{justify-content:space-between;align-items:end;gap:12px 24px}
.g-all{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.g-all .ic{width:18px;height:18px}
.g-how .check-list .ic{color:var(--accent)}

/* Urgent panel with two columns */
.urgent-body.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.urgent-body.cols-2{grid-template-columns:1fr}}
@media (max-width:980px){.g-cards.g3{grid-template-columns:1fr}}
@media (max-width:760px){.g-cards.g2,.g-how{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.g-card{transition:none}}

.main-nav a[aria-current="true"]{color:var(--heading);box-shadow:inset 0 -3px 0 var(--accent);border-radius:10px 10px 4px 4px}
@media (max-width:1140px){.main-nav a[aria-current="true"]{box-shadow:inset 4px 0 0 var(--accent);border-radius:6px}}
