/* 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 people getting on with life, everyday UK settings, natural light) =====
   Photos are cropped and given one light, even colour adjustment so they sit together (see the image register).
   The service's 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}
}

/* Portrait photos in page heroes and two-column sections stay a sensible height */
.photo.portrait{max-width:440px;width:100%;justify-self:end}
.page-hero.has-photo .photo.portrait{justify-self:center}
.side-photo{margin-top:12px;max-width:520px}
.side-photo.portrait{max-width:360px;justify-self:start}
@media (max-width:860px){.photo.portrait{justify-self:center;max-width:min(100%,400px)}.side-photo,.side-photo.portrait{max-width:min(100%,460px)}}
.ty-photo{margin-top:12px}
.wl-photo{margin-top:8px;max-width:520px}

/* ThisWay home: hero mosaic of the women ThisWay serves, then the "What you can count on" card across the full width */
.fam-hero-grid.with-photo{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"copy mosaic" "trust trust";row-gap:48px;align-items:center}
.fam-hero-grid.with-photo .hero-copy{grid-area:copy}
.fam-hero-grid.with-photo .fam-mosaic{grid-area:mosaic}
.fam-hero-grid.with-photo .fam-trust{grid-area:trust}
@media (max-width:900px){.fam-hero-grid.with-photo{grid-template-columns:1fr;grid-template-areas:"copy" "mosaic" "trust";row-gap:32px}}
.with-photo .fam-trust .check-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px}
@media (max-width:1060px){.with-photo .fam-trust .check-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.with-photo .fam-trust .check-list{grid-template-columns:1fr}}
.fam-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(64px,7.4vw,104px);gap:12px}
.fam-mosaic .fm{margin:0}
.fam-mosaic .fm img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg);background:var(--panel)}
.fm1{grid-column:1/3;grid-row:1/4}
.fm2{grid-column:3/5;grid-row:2/5}
.fm3{grid-column:5/7;grid-row:1/4}
.fm4{grid-column:1/3;grid-row:4/6}
.fm5{grid-column:5/7;grid-row:4/6}
.fm1 img{object-position:50% 30%}.fm4 img{object-position:50% 25%}.fm5 img{object-position:50% 35%}
@media (max-width:900px){.fam-mosaic{grid-auto-rows:clamp(54px,14vw,96px)}}
@media (max-width:520px){.fam-mosaic{gap:8px}}

/* Service cards: a photo across the top of each card */
.svc-card .svc-photo{display:block;width:calc(100% + 2*clamp(22px,3vw,28px));max-width:none;margin:calc(-1*clamp(22px,3vw,28px)) calc(-1*clamp(22px,3vw,28px)) 4px;
  aspect-ratio:16/10;object-fit:cover;object-position:50% 30%;border-radius:0;height:auto}
.svc-card:has(.svc-photo){grid-template-rows:auto auto auto 1fr auto auto;overflow:hidden}

/* ThisWay-Postpartum: a row of everyday moments */
.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.photo-strip .photo img{aspect-ratio:4/3;object-fit:cover;height:auto}
@media (max-width:760px){.photo-strip{grid-template-columns:1fr 1fr}.photo-strip .photo:last-child{grid-column:1/-1}}
.credit-list{margin:0;padding-left:20px;display:grid;gap:4px}
.ty-photo.portrait{justify-self:start;max-width:360px}


/* ===== 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 OCCO Family" strip (plain text), then one row: the OCCO London logo (links to occolondon.co.uk)
   and the three service 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{display:flex;align-items:center;min-height:44px;font:700 15px/20px var(--sans)}
.family-strip ul{display:flex;flex-wrap:wrap;align-items:center;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-strip .fs-occo{padding-right:22px;border-right:1px solid var(--line)}
.family-strip .fs-occo img{display:block;width:auto;height:26px}
.site-footer .family-strip .fs-occo a:hover{opacity:.75}
@media (max-width:640px){.family-strip .fs-occo{flex-basis:100%;padding-right:0;border-right:0}}

/* 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}}
