/* Self-hosted so the app and site keep their typeface offline and make no request to Google.
   Latin subset from Google Fonts. Atkinson Hyperlegible is chosen for readability. */
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400.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";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700.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";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400-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:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600.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}

/* Kavana. Sage and marigold. One typeface, short blocks. */
:root{
  /* Type scale: use these, not one-off sizes. Display headings use clamp() for fluid sizing. */
  --fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.75rem;--fs-3xl:2rem;
}
:root{
  --bg:#F7F7F4; --ink:#1E2A26; --muted:#56645E; --line:#E1E5DF;
  --accent:#3F7359; --accent-ink:#FFFFFF; --accent-soft:#E5EEE8;
  --accent2:#2C5541; --spark:#E3A13B;
  --note:#FBF0DC; --note-ink:#7A5212; --foot:#EEF2EE; --card:#FFFFFF; --shadow:0 0 2px 0 rgba(30,42,38,.10),0 12px 24px -6px rgba(30,42,38,.10); --shadow-hi:0 0 2px 0 rgba(30,42,38,.12),0 20px 40px -8px rgba(30,42,38,.16); --hdbg:rgba(247,247,244,.86);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#131917; --ink:#ECF1EE; --muted:#A6B4AD; --line:#2A3631;
    --accent:#8CC9A6; --accent-ink:#10201A; --accent-soft:#1B2E26;
    --accent2:#B9DCC7; --spark:#F0B95A;
    --note:#33270F; --note-ink:#F2CD87; --foot:#18201D; --card:#1A2320; --shadow:0 0 0 1px rgba(255,255,255,.04),0 12px 24px -6px rgba(0,0,0,.45); --shadow-hi:0 0 0 1px rgba(255,255,255,.06),0 20px 40px -8px rgba(0,0,0,.55); --hdbg:rgba(19,25,23,.86);
  }
}
*{box-sizing:border-box}
html{color-scheme:light dark;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:var(--fs-md);line-height:1.6;padding-inline:16px;padding-block:0 64px}
.wrap{max-width:640px;margin:0 auto}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:20px;border-bottom:1px solid var(--line)}
.wordmark{font-weight:700;font-size:var(--fs-xl);letter-spacing:.02em;color:var(--ink);text-decoration:none}
.wordmark span{color:var(--accent)}
nav a{color:var(--muted);text-decoration:none;font-size:var(--fs-base);margin-left:14px}
nav a:hover,nav a:focus-visible{color:var(--accent);text-decoration:underline}
h1,h2,h3{line-height:1.2;text-wrap:balance;margin:0;font-weight:700}
h1{font-size:var(--fs-3xl);margin-top:1.8rem}
h2{font-size:var(--fs-xl);margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}
h3{font-size:var(--fs-md);margin-top:1.2rem}
p{margin:.7rem 0;max-width:62ch}
.lede{font-size:var(--fs-md);color:var(--muted)}
.facts{background:var(--accent-soft);border-radius:12px;padding:16px 18px;margin:1.4rem 0;display:grid;gap:8px}
.facts div{display:flex;gap:10px;align-items:baseline}
.facts b{min-width:110px;color:var(--accent)}
.note{background:var(--note);color:var(--note-ink);border-radius:10px;padding:12px 16px;margin:1.2rem 0;font-size:var(--fs-base)}
.note b{display:block;margin-bottom:2px}
ol.steps{list-style:none;padding:0;margin:1rem 0;counter-reset:s}
ol.steps li{position:relative;padding:8px 0 8px 48px;counter-increment:s}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:8px;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700}
ol.steps b{display:block}
ul.plain{list-style:none;padding:0;margin:1rem 0}
ul.plain li{padding:10px 0;border-bottom:1px solid var(--line)}
ul.plain li:last-child{border-bottom:0}
ul.plain b{display:block}
.people{display:grid;gap:16px;margin:1rem 0}
.people b{display:block}
.people p{margin:.2rem 0 0;color:var(--muted);font-size:var(--fs-base)}
.app{border:2px solid var(--accent);border-radius:12px;padding:16px 18px;margin:1.2rem 0}
.app .pill{display:inline-block;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:2px 10px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
form{background:var(--accent-soft);border-radius:12px;padding:20px;margin:1.2rem 0;display:grid;gap:14px}
label{display:grid;gap:6px;font-weight:700;font-size:var(--fs-base)}
input[type=text],input[type=email],input[type=tel]{font:inherit;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:var(--fs-base)}
.check input{margin-top:5px;width:20px;height:20px;flex:none}
button{font:inherit;font-weight:700;font-size:var(--fs-base);background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:15px 18px;cursor:pointer}
button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.fine{font-size:var(--fs-sm);color:var(--muted);margin:0}
.thanks{display:none;background:var(--accent-soft);border-radius:12px;padding:16px 18px;margin:1.2rem 0}
.thanks.show{display:block}
.cta{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;border-radius:8px;padding:13px 18px;margin-top:.6rem}
.cta:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
footer{margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted)}
footer a{color:var(--accent)}
@media (min-width:600px){.people{grid-template-columns:1fr 1fr}}

/* Articles */
.eyebrow{font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1.6rem 0 0}
.eyebrow a{color:var(--muted);text-decoration:none}
.eyebrow a:hover{color:var(--accent)}
article h1{font-size:var(--fs-3xl);margin-top:.6rem}
article h2{margin-top:2.2rem;padding-top:0;border-top:0;font-size:var(--fs-xl)}
article h3{font-size:var(--fs-md)}
article p,article li{max-width:62ch}
article ul,article ol{padding-left:1.3rem}
article li{margin:.4rem 0}
article blockquote{margin:1.2rem 0;padding:10px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0}
article hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
article a{color:var(--accent)}
.byline{color:var(--muted);font-size:var(--fs-base);margin:.4rem 0 1rem}
.byline span{font-size:var(--fs-sm)}
ul.articles li a{text-decoration:none;color:var(--ink)}
ul.articles li a:hover b{color:var(--accent);text-decoration:underline}
ul.articles li p{margin:.3rem 0;color:var(--muted)}
ul.articles li small{color:var(--muted)}

/* Nav button, trust strip, FAQ */
nav .navcta{background:var(--accent);color:var(--accent-ink);padding:8px 12px;border-radius:8px;font-weight:700;margin-left:14px}
nav .navcta:hover,nav .navcta:focus-visible{color:var(--accent-ink);text-decoration:none;opacity:.92}

ul.trust{list-style:none;padding:0;margin:1.6rem 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:var(--fs-sm);color:var(--muted)}
ul.trust b{color:var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font-weight:700;padding:10px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-weight:700;flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq p{margin:0 0 12px;color:var(--muted)}
.faq a{color:var(--accent)}

/* Prices */
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:1.2rem 0}
.jump a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--ink);text-decoration:none;font-size:var(--fs-sm)}
.jump a:hover,.jump a:focus-visible{border-color:var(--accent);color:var(--accent)}
ul.prices{list-style:none;padding:0;margin:1rem 0;border:1px solid var(--line);border-radius:12px}
ul.prices li{display:grid;grid-template-columns:1fr auto auto;gap:10px 18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
ul.prices li:last-child{border-bottom:0}
ul.prices li p{margin:.3rem 0 0;color:var(--muted);font-size:var(--fs-base)}
ul.prices .amount{font-weight:700;white-space:nowrap;text-align:right}
a.book{display:inline-block;border:1px solid var(--line);color:var(--muted);text-decoration:none;border-radius:8px;padding:9px 14px;font-weight:700;font-size:var(--fs-sm);white-space:nowrap;text-align:center}
a.book:hover{border-color:var(--accent);color:var(--accent)}
a.book.live{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
a.book:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (max-width:600px){ul.prices li{grid-template-columns:1fr auto}ul.prices li>div{grid-column:1/-1}ul.prices .amount{text-align:left}}

/* Header nav, menu, footer social */
.wrap{max-width:720px}
nav{display:flex;align-items:center;gap:4px}
nav .navlinks a{color:var(--muted);text-decoration:none;font-size:var(--fs-sm);margin-left:12px}
nav .navlinks a:hover,nav .navlinks a[aria-current]{color:var(--accent)}
nav .menu{display:none;position:relative}
nav .menu summary{cursor:pointer;list-style:none;font-size:var(--fs-sm);color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:8px}
nav .menu summary::-webkit-details-marker{display:none}
nav .menu div{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;min-width:180px;z-index:10;box-shadow:0 8px 24px rgba(0,0,0,.08)}
nav .menu div a{padding:10px 12px;color:var(--ink);text-decoration:none;border-radius:6px}
nav .menu div a:hover{background:var(--accent-soft)}

.social{display:flex;gap:14px;margin-bottom:1rem}
.social a,.social span{display:inline-flex;width:26px;height:26px;color:var(--muted)}
.social svg{width:100%;height:100%}
.social a:hover{color:var(--accent)}
.social .pending{opacity:.35}
.footlinks a{color:var(--muted);text-decoration:none}
.footlinks a:hover{color:var(--accent)}
ul.plain a.book{margin-top:8px}

/* Logo */
.wordmark{display:inline-flex;align-items:center;gap:8px}
.wordmark .logo{width:22px;height:24px;color:var(--ink);flex:none}
.wordmark .wm{font-weight:700;letter-spacing:.02em}

/* Home: most asked for, why */
.cards{display:grid;gap:14px;margin:1rem 0}
.cards a.card{display:block;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink)}
.cards a.card:hover{border-color:var(--accent)}
.cards a.card b{display:block;font-size:var(--fs-base)}
.cards a.card p{margin:.3rem 0 .6rem;color:var(--muted);font-size:var(--fs-base)}
.cards a.card span{color:var(--accent);font-weight:700;font-size:var(--fs-sm)}
@media (min-width:640px){.cards{grid-template-columns:repeat(3,1fr)}}

/* Header v2: bigger logo, bold nav, dropdowns */
header{padding-block:18px}
.wordmark{gap:10px}
.wordmark .logo{width:30px;height:34px}
.wordmark .wm{font-size:var(--fs-2xl);font-weight:700;letter-spacing:.01em;color:var(--ink)}
nav .navlinks{display:flex;align-items:center;gap:22px;margin-right:18px}
nav .navlinks>a,nav .dd>button{font-weight:700;font-size:var(--fs-base);color:var(--ink);text-decoration:none;margin:0;background:none;border:0;padding:6px 0;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
nav .navlinks>a:hover,nav .dd>button:hover,nav .navlinks>a[aria-current]{color:var(--accent)}
nav .dd{position:relative}
nav .dd>button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
nav .ddm{display:none;position:absolute;left:-14px;top:100%;padding-top:10px;z-index:20}
nav .ddm div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:8px;min-width:230px;display:grid;box-shadow:0 12px 28px rgba(0,0,0,.08)}
nav .ddm a{padding:10px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:400;margin:0}
nav .ddm a:hover{background:var(--accent-soft);color:var(--accent)}
nav .dd:hover .ddm,nav .dd:focus-within .ddm{display:block}
nav .navcta{padding:10px 16px}
.wrap{max-width:760px}
@media (max-width:820px){nav .navlinks{display:none}nav .menu{display:block}}
nav .menu div b{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 12px 2px}
nav .navcta{white-space:nowrap}
nav .ddm a{white-space:nowrap}
@media (max-width:480px){.wordmark .wm{font-size:var(--fs-lg)}.wordmark .logo{width:24px;height:28px}nav .navcta{padding:9px 12px;font-size:var(--fs-sm)}nav{gap:8px}}
.three h3{margin:0 0 .3rem;font-size:var(--fs-base)}
/* Videos: click-to-load */
.vid{margin:1.2rem 0 1.6rem}
.video{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;max-width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:var(--accent2);color:#fff;font:inherit;font-weight:700;font-size:var(--fs-base);cursor:pointer;padding:1rem;text-align:center}
.video svg{width:56px;height:56px}
.video:hover svg,.video:focus-visible svg{transform:scale(1.06)}
.video:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.vid iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;border:0;border-radius:12px}
.vid figcaption{color:var(--muted);font-size:var(--fs-sm);margin-top:.4rem}
@media (prefers-reduced-motion: reduce){.video svg{transform:none!important}}
/* Type: Fraunces for big headings and the wordmark, Atkinson Hyperlegible for everything else */
h1,h2,.wordmark .wm{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-weight:600;font-variation-settings:"opsz" 72;letter-spacing:0}
h3{font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-weight:700}

/* Footer v2: full width, three columns, legal bar */
.site-foot{margin:4rem -16px 0;padding:0 16px;background:var(--foot);border-top:1px solid var(--line);font-size:var(--fs-base);color:var(--muted)}
.site-foot .fwrap{max-width:1040px;margin:0 auto}
.site-foot h2,.site-foot h3{border:0;padding:0;margin:0;color:var(--ink)}
.site-foot h2{font-size:var(--fs-xl);margin-bottom:.5rem}
.site-foot h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.8rem}
.site-foot a{color:var(--ink);text-decoration:none}
.site-foot a:hover,.site-foot a:focus-visible{color:var(--accent);text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:0;padding:3rem 0 2rem}
.fgrid>*{padding:0 2rem}
.fgrid>:first-child{padding-left:0}
.fgrid>:last-child{padding-right:0}
.fgrid>*+*{border-left:2px solid var(--spark)}
.fsign p{margin:0 0 1.1rem;max-width:34ch}
.site-foot .fbtn{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:12px 22px;border-radius:10px;text-decoration:none}
.site-foot .fbtn:hover{color:var(--accent-ink);filter:brightness(1.08);text-decoration:none}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.fsoc .social{flex-direction:column;gap:16px;margin:0}
.fsoc .social a,.fsoc .social span{width:26px;height:26px}
.fhelp{background:var(--note);color:var(--note-ink);border-radius:10px;padding:12px 16px;margin-bottom:1.2rem}
.fsmall{font-size:var(--fs-sm);padding-bottom:1.6rem}
.fsmall p{margin:.35rem 0}
.fsmall a{color:var(--accent)}
.fbar{border-top:1px solid var(--line);margin:0 -16px;padding:1.1rem 16px;font-size:var(--fs-sm)}
.fbar .fwrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem}
.flegal{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}
@media (max-width:820px){
  .fgrid{grid-template-columns:1fr 1fr;row-gap:2rem;padding-top:2.4rem}
  .fgrid>*{padding:0;border-left:0!important}
  .fsign{grid-column:1/-1}
  .fsoc{grid-column:1/-1}
  .fsoc .social{flex-direction:row;gap:20px}
}
/* Share */
.share{background:var(--accent-soft);border-radius:12px;padding:16px 18px;margin:2rem 0}
.share p{margin:0 0 .8rem}
.share-btns{display:flex;flex-wrap:wrap;gap:10px}
.share-btns a,.share-btns button{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--accent);background:transparent;color:var(--accent);font:inherit;font-weight:700;font-size:var(--fs-base);text-decoration:none;cursor:pointer}
.share-btns .share-native{background:var(--accent);color:var(--accent-ink)}
.share-btns a:hover,.share-btns button:hover{background:var(--accent);color:var(--accent-ink)}
.share-btns :focus-visible{outline:3px solid var(--ink);outline-offset:2px}
/* Membership plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:1.2rem 0}
.plan{border:1.5px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:18px 18px 20px;background:var(--card);box-shadow:0 1px 3px rgba(30,42,38,.06)}
.plan:nth-child(2){border-top-color:var(--spark)}
.plan:nth-child(3){border-top-color:var(--accent2)}
.plan h3{margin:0}
.plan .plan-price{font-weight:700;color:var(--accent);font-size:var(--fs-md);margin:.3rem 0 .6rem}
.plan p:last-child{margin:0}
.plan a{color:var(--accent)}
/* Prices v2: tick lists, call box */
.ticks{list-style:none;padding:0;margin:.6rem 0 1rem;display:grid;gap:.45rem}
.ticks li{position:relative;padding-left:1.6rem;font-size:var(--fs-base)}
.ticks li::before{content:"";position:absolute;left:.1rem;top:.3em;width:.95rem;height:.95rem;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%233F7359' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.plan{display:flex;flex-direction:column}
.plan .ticks{flex:1}
.plan a.book{align-self:flex-start;margin-top:auto}
.plan .plan-alt{color:var(--muted);font-size:var(--fs-sm);margin:-.3rem 0 .4rem}
.callbox{background:var(--accent-soft);border-radius:14px;padding:20px 22px;margin:1.6rem 0}
.callbox h2{border:0;padding:0;margin:0 0 .5rem;font-size:var(--fs-lg)}
.callmeta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 .8rem}
.callmeta span{background:var(--card);border-radius:999px;padding:3px 12px;font-size:var(--fs-sm);font-weight:700;color:var(--accent)}
.callbox p{margin:.4rem 0}
.callbox .ticks li::before{background-color:var(--card)}
a.book.cta-book{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);padding:12px 18px;margin-top:.6rem}
.tbc{white-space:nowrap}
header nav a,header nav button,header nav summary{white-space:nowrap}
.ticks{align-content:start}
.plans.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.plans.two{grid-template-columns:1fr}}
.plans.two .plan h3{margin-bottom:.4rem}
.plans.two .plan p{margin:0}

/* ============ UI v3 (Zone-style): wider layout, soft cards, sticky header ============ */
.hdbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;margin-inline:-16px;padding-inline:16px;background:var(--hdbg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.wrap.hd{max-width:1120px}
.wrap.hd header{border-bottom:0;padding-block:14px}
.wrap.wide{max-width:1120px}
.site-foot .fwrap{max-width:1120px}

/* Headings: whitespace instead of rules */
h2{border-top:0;padding-top:0;margin-top:2.8rem}
h1{letter-spacing:-.01em}

/* Buttons */
.cta,button[type=submit],nav .navcta,a.book.live,a.book.cta-book{border-radius:10px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.cta,button[type=submit],a.book.live,a.book.cta-book{box-shadow:0 8px 16px -6px rgba(63,115,89,.45)}
.cta:hover,button[type=submit]:hover,a.book.live:hover,a.book.cta-book:hover{transform:translateY(-1px);box-shadow:0 12px 20px -6px rgba(63,115,89,.5)}
.cta.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent);box-shadow:none}
.cta.ghost:hover{background:var(--accent-soft);box-shadow:none}
a.book{border-radius:10px}

/* Cards: soft elevation */
.plan,.cards a.card,.people>div,.site-foot .fbtn{border-radius:16px}
.plan{border:1px solid var(--line);border-top:1px solid var(--line);box-shadow:var(--shadow)}
.plan:nth-child(2),.plan:nth-child(3){border-top-color:var(--line)}
.cards a.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px;transition:transform .18s ease,box-shadow .18s ease}
.cards a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hi);border-color:var(--line)}
ul.prices{background:var(--card);border-radius:16px;box-shadow:var(--shadow)}
.callbox{border-radius:16px}

/* Icons */
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cards a.card .ic,.feat .ic{box-sizing:content-box;padding:12px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:block;margin-bottom:14px}
.ar{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;transition:transform .15s}
.more a{font-weight:700;color:var(--accent);text-decoration:none}
.more a:hover .ar{transform:translateX(3px)}
.chip{display:inline-block;background:var(--accent-soft);color:var(--accent)!important;border-radius:999px;padding:3px 10px;font-size:var(--fs-xs)!important;font-weight:700}
.chip.soon{background:var(--note);color:var(--note-ink)!important}

/* Sections on the wide homepage */
.wide main>.sec{margin-top:4.5rem}
.over{margin:0 0 .4rem;font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.sec>h2{margin-top:0;font-size:clamp(1.6rem,3vw,2.1rem)}
.wide .sec>p:not(.over):not(.more),.wide .narrow{max-width:720px}
.band{background:var(--accent-soft);box-shadow:0 0 0 100vmax var(--accent-soft);clip-path:inset(0 -100vmax);padding-block:3.5rem}

/* Hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:3.5rem 1rem}
.hero h1{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.08;margin:0 0 1rem}
.hero .lede{font-size:var(--fs-md);max-width:36ch;margin:0 0 1.6rem}
.kicker{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 8px;font-size:var(--fs-sm);font-weight:700;color:var(--ink);margin:0 0 1.2rem;box-shadow:var(--shadow)}
.kicker span{width:9px;height:9px;border-radius:50%;background:var(--spark);box-shadow:0 0 0 4px rgba(227,161,59,.2)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btns .cta{margin-top:0}
.hero-note{margin:1.4rem 0 0;font-size:var(--fs-sm);color:var(--muted);max-width:46ch}
.hero-art{position:relative;display:grid;justify-items:center}
.hero-art::before{content:"";position:absolute;inset:6% 4% 14% 8%;border-radius:40% 60% 55% 45%/50% 40% 60% 50%;background:linear-gradient(135deg,var(--accent-soft),var(--note));z-index:0}
.mock{position:relative;z-index:1;width:min(340px,100%);background:var(--card);border-radius:22px;box-shadow:var(--shadow-hi);padding:20px;transform:rotate(-2deg)}
.mock-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.mock-top b{font-family:"Fraunces",Georgia,serif;font-size:var(--fs-xl);font-weight:600}
.mock-top span{color:var(--muted);font-size:var(--fs-sm)}
.mock ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.mock li{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:10px 12px;font-size:var(--fs-base)}
.mock li i{width:18px;height:18px;border-radius:6px;border:2px solid var(--accent);flex:none}
.mock li.done{color:var(--muted);text-decoration:line-through}
.mock li.done i{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/90% no-repeat}
.mock-chip{display:inline-block;background:var(--note);color:var(--note-ink);border-radius:999px;padding:4px 12px;font-size:var(--fs-sm);font-weight:700;margin-bottom:12px}
.mock-foot{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--muted)}
.mock-foot span{width:8px;height:8px;border-radius:50%;background:var(--spark)}
.mock-cap{position:relative;z-index:1;margin:.9rem 0 0;font-size:var(--fs-sm);color:var(--muted)}

/* Trust row */
.trust-row{list-style:none;margin:2.5rem 0 0;padding:18px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.trust-row li{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--muted)}
.trust-row .ic{color:var(--accent);flex:none}
.trust-row b{color:var(--ink);display:block}

/* Horizontal steps */
.hsteps{list-style:none;padding:0;margin:1.4rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:h}
.hsteps li{counter-increment:h;position:relative;padding-top:58px}
.hsteps li::before{content:counter(h);position:absolute;top:0;left:0;width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:var(--fs-base);box-shadow:0 0 0 6px var(--accent-soft)}
.hsteps li:not(:last-child)::after{content:"";position:absolute;top:21px;left:56px;right:-12px;border-top:2px dashed var(--line)}
.hsteps b{font-size:var(--fs-md)}
.hsteps p{margin:.35rem 0 0;color:var(--muted)}

/* Feature grid */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px;margin-top:1.6rem}
.feat h3{margin:0 0 .3rem;font-size:var(--fs-md)}
.feat p{margin:0;color:var(--muted);font-size:var(--fs-base)}

/* Split */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.split .cta{margin-top:.4rem}
.ticks.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px 24px;margin:0}

/* People and story */
.wide .people{grid-template-columns:repeat(2,1fr);gap:20px}
.people>div{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px}
.people em{display:block;font-style:normal;color:var(--accent);font-size:var(--fs-sm);font-weight:700;margin:.1rem 0 .4rem}
.avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;margin-bottom:12px}
.story{margin:2rem 0 0;padding:4px 0 4px 22px;border-left:4px solid var(--spark);max-width:760px}
.story p{margin:0;font-family:"Fraunces",Georgia,serif;font-size:var(--fs-lg);line-height:1.5;color:var(--ink)}

/* App band */
.ticks.cols{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
.app-band p{max-width:720px}

/* Signup card */
.signup{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-hi);padding:32px;max-width:640px}
.signup h2{margin-top:0}

/* Responsive */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:28px;padding-top:2.2rem}
  .trust-row{grid-template-columns:repeat(2,1fr)}
  .feats{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:24px}
}
@media (max-width:600px){
  .hsteps{grid-template-columns:1fr;gap:18px}
  .hsteps li{padding:0 0 0 58px;min-height:42px}
  .hsteps li:not(:last-child)::after{display:none}
  .feats{grid-template-columns:1fr}
  .trust-row{grid-template-columns:1fr}
  .wide .people{grid-template-columns:1fr}
  .ticks.cols{grid-template-columns:1fr}
  .signup{padding:22px}
  .wide main>.sec{margin-top:3.2rem}
}
@media (prefers-reduced-motion:reduce){.cards a.card,.cta,.ar{transition:none}.cards a.card:hover,.cta:hover{transform:none}.mock{transform:none}}
.band .feat .ic{background:var(--card)}
.over+h2{margin-top:0}
.signup form{background:transparent;padding:0;border:0;margin-top:1rem}
main a:not(.cta):not(.book):not(.card):not(.fbtn){color:var(--accent)}
body{padding-bottom:0}
@media (max-width:600px){.mock{width:min(300px,100%)}.feat{display:grid;grid-template-columns:auto 1fr;column-gap:14px}.feat .ic{grid-row:span 2;margin:0}.feat h3{align-self:end}}
/* Waitlist pop-up */
.kv-pop{border:0;border-radius:20px;padding:30px 28px 22px;max-width:440px;width:calc(100% - 32px);background:var(--card);color:var(--ink);box-shadow:var(--shadow-hi);text-align:left}
.kv-pop::backdrop{background:rgba(19,25,23,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.kv-pop[open]{animation:kvIn .25s ease-out}
@keyframes kvIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.kv-pop h2{margin:.6rem 0 .5rem;font-size:var(--fs-xl);line-height:1.2}
.kv-pop p{margin:.3rem 0}
.kv-pop .ticks{margin:.7rem 0 1.2rem}
.kv-logo{width:30px;height:34px}
.kv-x{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:var(--fs-2xl);line-height:1;color:var(--muted);cursor:pointer;border-radius:10px}
.kv-x:hover,.kv-x:focus-visible{background:var(--accent-soft);color:var(--ink)}
.kv-go{display:block;width:100%;box-sizing:border-box;text-align:center;margin-top:0}
.kv-pop h2:focus{outline:none}
.kv-small{font-size:var(--fs-sm);color:var(--muted);text-align:center;margin-top:.7rem!important}
.kv-later{display:block;margin:.4rem auto 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-sm);text-decoration:underline;cursor:pointer;padding:6px}
@media (max-width:600px){.kv-pop{margin:auto auto 12px;border-radius:18px;padding:26px 20px 18px}.kv-pop h2{font-size:var(--fs-lg)}}
@media (prefers-reduced-motion:reduce){.kv-pop[open]{animation:none}}
.kv-x{display:grid;place-items:center}
/* Start-here paths and crisis line */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.2rem}
.path{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px 52px 20px 20px;text-decoration:none;color:var(--ink)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.path b{display:block;font-size:var(--fs-md)}
.path span{display:block;color:var(--muted);font-size:var(--fs-sm);margin-top:.2rem}
.path .ar{position:absolute;right:18px;top:50%;margin-top:-9px;color:var(--accent)}
.path:hover{transform:translateY(-2px);box-shadow:var(--shadow-hi);border-color:var(--accent)}
.path:hover .ar{transform:translateX(3px)}
.crisis{margin:.5rem 0 0;font-size:var(--fs-sm);color:var(--muted)}
.crisis a{color:var(--accent);font-weight:700}
.fhelp a{color:var(--note-ink);font-weight:700;text-decoration:underline}
.plan.urgent{border-color:#C8553D;background:var(--card)}
.plan.urgent .plan-price{color:#B3432D}
@media (max-width:900px){.paths{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.path{transition:none}.path:hover{transform:none}}
.plan-price a{color:inherit!important;text-decoration:none}
/* Tabs */
.tabs{margin-top:1.4rem}
.tablist{display:none}
.js-tabs .tablist{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:6px;background:var(--accent-soft);border-radius:14px;width:fit-content;max-width:100%}
.tablist [role=tab]{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:var(--fs-base);padding:10px 16px;border-radius:10px;cursor:pointer;transition:background .15s,box-shadow .15s}
.tablist [role=tab] span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--card);color:var(--accent);font-size:var(--fs-sm);border:1.5px solid var(--accent)}
.tablist [role=tab][aria-selected=true]{background:var(--card);box-shadow:var(--shadow)}
.tablist [role=tab][aria-selected=true] span{background:var(--accent);color:var(--accent-ink)}
.tablist [role=tab]:hover{background:rgba(255,255,255,.55)}
.tablist [role=tab]:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.tabpanel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px 26px;margin-bottom:12px;max-width:760px}
.js-tabs .tabpanel{margin-bottom:0}
.tabpanel h3{margin:.2rem 0 .4rem;font-size:var(--fs-lg);font-family:"Fraunces",Georgia,serif;font-weight:600}
.tabpanel p{margin:0 0 .6rem;color:var(--muted)}
.tabpanel .ticks{margin:.6rem 0 0}
.stepno{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.more .cta.ghost{display:inline-flex;align-items:center;gap:8px;margin-top:.4rem}
.more .cta.ghost .ar{color:var(--accent)}
.more .cta.ghost:hover .ar{transform:translateX(3px)}
@media (max-width:600px){.js-tabs .tablist{width:100%;display:grid;grid-template-columns:1fr}.tablist [role=tab]{justify-content:flex-start}.tabpanel{padding:20px}}
.reg-note{margin:1rem 0 0;display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-base);color:var(--muted);max-width:760px}
.reg-note::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F7359' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E") center/contain no-repeat}
@media (hover:none){.tablist [role=tab]:hover{background:transparent}.tablist [role=tab][aria-selected=true]:hover{background:var(--card)}}
/* Route comparison */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.2rem 0 .6rem}
.route{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px}
.route.alt{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}
.route h3{margin:0;font-size:var(--fs-lg);font-family:"Fraunces",Georgia,serif;font-weight:600}
.route .route-sub{margin:.1rem 0 .9rem;color:var(--muted);font-size:var(--fs-sm)}
.route dl{margin:0;display:grid;gap:0}
.route dt{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding-top:.7rem;border-top:1px solid var(--line)}
.route dt:first-child{border-top:0;padding-top:0}
.route dd{margin:.2rem 0 .7rem;font-size:var(--fs-base)}
@media (max-width:640px){.compare{grid-template-columns:1fr}}
/* Short vertical clips */
.watchbox{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px 22px;margin:1.4rem 0}
.watch-text h3{margin:0 0 .3rem;font-size:var(--fs-md);font-family:"Fraunces",Georgia,serif;font-weight:600}
.watch-text p{margin:0 0 .4rem}
.watch-text .over{margin-bottom:.3rem}
.vid.short{margin:0}
.vid.short .video,.vid.short iframe{aspect-ratio:9/16;width:100%;max-width:220px;border-radius:14px;font-size:var(--fs-sm)}
@media (max-width:600px){.watchbox{grid-template-columns:1fr 140px;gap:16px;padding:16px}.vid.short .video,.vid.short iframe{max-width:140px}.vid.short .video span{display:none}}
.watchbox{grid-template-columns:1fr 170px}
.vid.short .video,.vid.short iframe{max-width:170px}
.watch-text p:not(.over):not(.fine){font-size:var(--fs-base);color:var(--muted)}
@media (max-width:600px){.watchbox{grid-template-columns:1fr 120px}.vid.short .video,.vid.short iframe{max-width:120px}.watch-text p:not(.over):not(.fine){font-size:var(--fs-sm)}}
.fbrand{display:inline-flex;align-items:center;gap:10px;text-decoration:none!important;margin-bottom:.6rem}
.fbrand .logo{width:26px;height:30px}
.fbrand span{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-xl);color:var(--ink)}
.site-foot .flink{font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.who{font-size:var(--fs-base);color:var(--muted);max-width:760px}.who b{color:var(--ink)}
/* Footer small print across the full width */
.fsmall{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 32px;align-items:start}
.fsmall p{max-width:none;margin:0}
@media (max-width:820px){.fsmall{grid-template-columns:1fr;gap:10px}}
/* Mobile menu: full-width panel under the header */
@media (max-width:820px){
  nav .menu>div{position:fixed;left:12px;right:12px;top:66px;min-width:0;max-height:calc(100vh - 90px);overflow:auto;padding:10px;gap:2px}
  nav .menu>div b{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:12px 12px 4px}
  nav .menu>div a{padding:11px 12px;font-size:var(--fs-base)}
}
.people+.trust-row,.trust-row{margin-top:1.2rem}.wrap:not(.wide) .trust-row{grid-template-columns:repeat(2,1fr)}@media (max-width:600px){.wrap:not(.wide) .trust-row{grid-template-columns:1fr}}
/* Hamburger menu button (phones) */
nav .menu summary{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:10px}
.burger{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;transition:transform .2s}
.burger path{transition:transform .2s ease,opacity .2s ease;transform-origin:12px 12px}
nav .menu[open] .b1{transform:translateY(5px) rotate(45deg)}
nav .menu[open] .b2{opacity:0}
nav .menu[open] .b3{transform:translateY(-5px) rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.burger path{transition:none}}
nav .menu{order:3}nav .navcta{order:2}
/* Phone menu groups */
@media (max-width:820px){
  nav .menu>div{padding:6px 8px}
  nav .menu .mgroup{display:grid;padding:6px 0;border-bottom:1px solid var(--line)}
  nav .menu .mgroup:last-of-type{border-bottom:0}
  nav .menu .mgroup b{padding:10px 12px 4px}
  nav .menu a[aria-current]{color:var(--accent);font-weight:700}
  nav .menu .murgent{margin:6px 4px 4px;background:var(--note);color:var(--note-ink)!important;border-radius:10px;font-weight:700;font-size:var(--fs-base)!important}
}
nav .menu .mgroup{position:static;inset:auto;background:none;border:0;border-radius:0;box-shadow:none;min-width:0;max-height:none;overflow:visible;z-index:auto}
@media (max-width:820px){nav .menu .mgroup{border-bottom:1px solid var(--line);padding:6px 0}nav .menu .mgroup:nth-last-of-type(1){border-bottom:0}}
.fsmall{display:block}.fsmall p{max-width:none}
.wrap:not(.wide) .people{grid-template-columns:1fr}
@media (min-width:700px){.wrap:not(.wide) .people{grid-template-columns:1fr 1fr}}
/* Team cards and profiles */
.team{display:grid;grid-template-columns:1fr;gap:16px;margin:1rem 0}
@media (min-width:700px){.team{grid-template-columns:1fr 1fr}}
.person{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column}
.person b{font-size:var(--fs-md)}
.person em{font-style:normal;color:var(--accent);font-size:var(--fs-sm);font-weight:700;margin:.1rem 0 .4rem}
.person p{margin:.2rem 0 .5rem;color:var(--muted);font-size:var(--fs-base)}
.person .regline{font-size:var(--fs-sm);margin-top:auto}
.person .regline a,.profile-page .regline a{color:var(--accent)}
.person .more-link{font-weight:700;color:var(--accent);font-size:var(--fs-base)}
.photo{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:12px;border:3px solid var(--card);box-shadow:0 0 0 2px var(--accent-soft)}
.profile-head{display:flex;gap:22px;align-items:center;margin:1rem 0 1.4rem}
.profile-head .photo,.profile-head .avatar{width:120px;height:120px;margin:0;font-size:var(--fs-2xl);flex:none}
.profile-head h1{margin:0}
.profile-head .lede{margin:.3rem 0 0}
@media (max-width:520px){.profile-head{flex-direction:column;align-items:flex-start}}
/* Start-here arrows: filled circle so they stand out */
.path{padding-right:76px}
.path .ar{box-sizing:content-box;width:20px;height:20px;padding:10px;margin-top:-20px;right:16px;border-radius:50%;background:var(--accent);color:var(--accent-ink)!important;stroke-width:2.4;box-shadow:0 6px 12px -4px rgba(63,115,89,.45)}
.path:hover .ar,.path:focus-visible .ar{transform:translateX(3px);background:var(--accent2)}
.xlist{list-style:none;padding:0;margin:.6rem 0 1rem;display:grid;gap:.45rem}
.xlist li{position:relative;padding-left:1.7rem}
.xlist li::before{content:"";position:absolute;left:.1rem;top:.3em;width:1rem;height:1rem;border-radius:50%;background:var(--note) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' fill='none' stroke='%237A5212' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/70% no-repeat}
#policies~.paths,.paths{}.wrap:not(.wide) .paths{grid-template-columns:1fr 1fr}@media (max-width:700px){.wrap:not(.wide) .paths{grid-template-columns:1fr}}
/* Step tabs v2: label plus hint */
.js-tabs .tablist{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px}
.tablist [role=tab]{align-items:flex-start;text-align:left;padding:12px 14px}
.tablist [role=tab] em{font-style:normal;display:grid;gap:2px}
.tablist [role=tab] em b{font-size:var(--fs-base)}
.tablist [role=tab] em small{font-weight:400;font-size:var(--fs-sm);color:var(--muted);line-height:1.35}
.tablist [role=tab] span{flex:none;margin-top:1px}
.tabpanel{max-width:none}
@media (max-width:600px){.js-tabs .tablist{grid-template-columns:1fr}}
/* In short / Key points and article contents */
.inshort{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:12px;padding:14px 18px;margin:1.2rem 0 1.4rem;max-width:760px}
.inshort b{display:block;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}
.inshort ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}
.inshort li{font-size:var(--fs-base)}
.toc{border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin:0 0 1.6rem;background:var(--card)}
.toc b{display:block;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.toc ol{margin:0;padding-left:1.2rem;display:grid;gap:.2rem}
.toc a{color:var(--accent)}
article h2[id]{scroll-margin-top:90px}
/* Articles search */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.asearch{margin:1.2rem 0 1.4rem;display:grid;gap:12px}
.asearch input{width:100%;box-sizing:border-box;font:inherit;padding:14px 16px 14px 44px;border:1.5px solid var(--line);border-radius:12px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356645E' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 14px center/20px no-repeat;color:var(--ink)}
.asearch input:focus{outline:3px solid var(--ink);outline-offset:1px;border-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chipf{font:inherit;font-size:var(--fs-sm);font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.chipf.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chipf:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.articles .tag{display:inline-block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}
.noresults{color:var(--muted)}
nav.toc{display:block;gap:0}nav.toc a{margin-left:0;font-size:var(--fs-base);color:var(--accent)}
/* Suitability checker */
.checker{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px;margin:1.4rem 0;max-width:640px}
.checker fieldset{border:0;margin:0;padding:0}
.checker legend{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-xl);line-height:1.25;margin-bottom:.4rem;padding:0}
.ck-step{margin:0 0 .6rem;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.ck-hint{margin:0 0 .6rem;color:var(--muted)}
.ck-opts{display:grid;gap:10px;margin-top:.8rem}
.ck-opts button{font:inherit;font-weight:700;text-align:left;padding:15px 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.ck-opts button:hover,.ck-opts button:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}
.ck-back,.ck-again{font:inherit;font-size:var(--fs-base);margin-top:14px;background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;padding:6px 0}
.ck-result h2{margin:0 0 .5rem;font-size:var(--fs-xl)}
.ck-result p{margin:.3rem 0 .8rem}
.ck-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ck-actions .cta{margin-top:0}
.ck-yes h2{color:var(--accent)}
.ck-urgent{border-left:4px solid #C8553D;padding-left:14px}
.faq details .costs{margin:.2rem 0 .6rem}.faq details .costs li{color:var(--muted)}.faq details .costs b{color:var(--ink)}
ol.steps .sub{margin:.3rem 0 .2rem;padding-left:1.1rem;display:grid;gap:.15rem}ol.steps .sub li{padding:0;counter-increment:none}ol.steps .sub li::before{content:none}ol.steps .subnote{display:block;color:var(--muted);font-size:var(--fs-base)}

/* Phone menu v3: four main pages with hints, then a compact grid */
nav .menu .mmain,nav .menu .mmore,nav .menu .mgrid{position:static;inset:auto;background:none;border:0;border-radius:0;box-shadow:none;min-width:0;max-height:none;overflow:visible;z-index:auto;padding:0}
nav .menu .mmain{display:grid;gap:2px;padding:4px 0 8px;border-bottom:1px solid var(--line)}
nav .menu .mmain a{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;padding:12px 12px}
nav .menu .mmain a::after{content:"";grid-row:1 / span 2;grid-column:2;width:8px;height:8px;border-right:2px solid var(--accent);border-top:2px solid var(--accent);transform:rotate(45deg);margin-right:4px}
nav .menu .mmain .mt{font-weight:700;font-size:var(--fs-md);color:var(--ink)}
nav .menu .mmain .mh{font-size:var(--fs-sm);color:var(--muted);grid-column:1}
nav .menu .mmain a[aria-current] .mt{color:var(--accent)}
nav .menu .mmore{display:block;padding:8px 0 4px}
nav .menu .mmore>b{display:block;padding:6px 12px 4px}
nav .menu .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 4px}
nav .menu .mgrid a{padding:10px 12px;font-size:var(--fs-base)}

/* Learn about ADHD: Read / Watch tabs without the card look */
.tabs.flat .tabpanel{background:none;border:0;box-shadow:none;padding:4px 0 0;max-width:none}
.tabs.flat .tablist [role=tab] span svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.tabs.flat .tablist [role=tab][aria-selected=true] span svg{fill:currentColor}
.tabs.flat .tablist [role=tab] em{display:grid;font-style:normal;text-align:left;line-height:1.2}
.tabs.flat .tablist [role=tab] small{font-weight:400;color:var(--muted);font-size:var(--fs-xs)}
.soon-intro{color:var(--muted)}
ul.soon li{padding:12px 0;border-bottom:1px solid var(--line)}
/* fix: filled buttons inside .more kept the link colour, hiding the text */
.more a.cta:not(.ghost){color:var(--accent-ink)}
.tabs.flat.js-tabs .tablist{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:520px}
.tabs.flat .tablist [role=tab]{padding:10px 12px}
.tabs.flat .tablist [role=tab][aria-selected=true] span svg{fill:none}

/* Top banner: one useful link, cream, scrolls away (the header stays sticky) */
.topbar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-inline:-16px;padding:10px 16px;background:var(--note);color:var(--note-ink);text-decoration:none;font-size:var(--fs-sm);line-height:1.35;text-align:center}
.topbar b{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.topbar .ar{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.topbar:hover .ar{transform:translateX(3px)}
.topbar:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
@media (max-width:640px){.topbar{flex-wrap:nowrap;justify-content:space-between;text-align:left;font-size:var(--fs-sm);padding:9px 16px}.topbar span{min-width:0}}

/* Section labels as pills, so "Start here" and friends are easy to spot */
.over{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 14px 6px 12px;font-size:var(--fs-sm);letter-spacing:.08em;margin:0 0 .8rem}
.over::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--spark);flex:none}
.watch-text .over{margin-bottom:.5rem}

/* Service cards: chip on the left, the same filled arrow as "Start here" on the right */
.cards a.card .cfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:.2rem}
.cards a.card .cfoot .ar{box-sizing:content-box;width:20px;height:20px;padding:10px;border-radius:50%;background:var(--accent);color:var(--accent-ink);fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 6px 12px -4px rgba(63,115,89,.45);flex:none;transition:transform .15s}
.cards a.card:hover .cfoot .ar{transform:translateX(3px)}
.cards a.card{display:flex!important;flex-direction:column}
.cards a.card .cfoot{margin-top:auto;padding-top:.4rem}

/* How it works: each step in its own card */
ol.steps{display:grid;gap:12px}
ol.steps>li{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px 18px 18px 66px}
ol.steps>li::before{left:18px;top:18px}
ol.steps>li>b{font-size:var(--fs-base);margin-bottom:.15rem}
@media (max-width:480px){ol.steps>li{padding:16px 16px 16px 60px}ol.steps>li::before{left:14px;top:16px}}

/* ===== Eden-inspired homepage: green hero, gold buttons, fact strip ===== */
:root{--hero:#2C5541;--hero-ink:#FFFFFF;--hero-muted:#D6E6DC;--gold:#E8A93F;--gold-hi:#D99A2E;--gold-ink:#1E2A26}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--hero:#1B2E26;--hero-muted:#B9CFC2;--gold:#F0B95A;--gold-hi:#E3A13B}}
:root[data-theme="dark"]{--hero:#1B2E26;--hero-muted:#B9CFC2;--gold:#F0B95A;--gold-hi:#E3A13B}

/* Gold for the main action, everywhere */
.cta:not(.ghost),button[type=submit],nav .navcta,a.book.live,a.book.cta-book,.more a.cta:not(.ghost){background:var(--gold);color:var(--gold-ink)!important;box-shadow:0 8px 16px -6px rgba(180,120,20,.45)}
.cta:not(.ghost):hover,button[type=submit]:hover,nav .navcta:hover,a.book.live:hover,a.book.cta-book:hover{background:var(--gold-hi);box-shadow:0 12px 20px -6px rgba(180,120,20,.5)}
nav .navcta:hover,nav .navcta:focus-visible{color:var(--gold-ink)!important;opacity:1}

/* Green hero band */
.hero{grid-template-columns:1fr;position:relative;background:var(--hero);box-shadow:0 0 0 100vmax var(--hero);clip-path:inset(0 -100vmax);color:var(--hero-ink);padding-block:4rem 5.5rem}
.hero-text{max-width:760px}
.hero h1{color:var(--hero-ink)}
.hero .lede{color:var(--hero-muted);max-width:44ch}
.hero .cta.ghost{color:var(--hero-ink);border-color:rgba(255,255,255,.7)}
.hero .cta.ghost:hover{background:rgba(255,255,255,.1)}
.hero .hero-note{color:var(--hero-muted)}
.hero .crisis{color:var(--hero-muted)}
.hero .crisis a{color:var(--hero-ink)!important;text-decoration:underline;text-underline-offset:3px}
.btns{align-items:center}
@media (max-width:900px){.hero{padding-block:2.6rem 4.5rem}}

/* Watch button in the hero */
.heroplay{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:var(--hero-ink);font:inherit;cursor:pointer;padding:4px 6px 4px 0}
.heroplay .pc{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.75);transition:transform .15s,background .15s}
.heroplay .pc svg{width:22px;height:22px;fill:var(--hero-ink);margin-left:3px}
.heroplay .pt{display:grid;text-align:left;line-height:1.15}
.heroplay .pt small{color:var(--hero-muted);font-size:var(--fs-sm)}
.heroplay:hover .pc{transform:scale(1.06);background:rgba(255,255,255,.22)}
.heroplay:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:30px}

/* Video pop-up */
.vmodal{border:0;padding:0;background:#000;border-radius:16px;width:min(900px,94vw);overflow:visible}
.vmodal.vertical{width:min(380px,90vw)}
.vmodal::backdrop{background:rgba(10,16,14,.8)}
.vmodal .vframe{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.vmodal.vertical .vframe{aspect-ratio:9/16;max-height:82vh;margin:auto}
.vmodal iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vmodal .vclose{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:#1E2A26;font-size:var(--fs-xl);line-height:1;cursor:pointer}

/* Fact strip, overlapping the bottom of the hero */
.factstrip{list-style:none;margin:-2.8rem 0 0;padding:6px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-hi)}
.factstrip li{padding:18px 16px;text-align:center;display:grid;gap:2px}
.factstrip li+li{border-left:1px solid var(--line)}
.factstrip b{font-family:"Fraunces",Georgia,serif;font-size:var(--fs-2xl);font-weight:650;color:var(--accent);line-height:1.15}
.factstrip span{color:var(--muted);font-size:var(--fs-sm);line-height:1.35}
@media (max-width:700px){.factstrip{grid-template-columns:1fr;padding:4px 16px}.factstrip li{grid-template-columns:auto 1fr;align-items:center;gap:14px;text-align:left;padding:14px 0}.factstrip li+li{border-left:0;border-top:1px solid var(--line)}.factstrip b{font-size:var(--fs-lg);min-width:6.2rem}}

/* App section: text and the app preview side by side */
.app-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.app-grid .ticks.cols{grid-template-columns:1fr}
.app-grid .hero-art{padding-block:10px}
@media (max-width:900px){.app-grid{grid-template-columns:1fr;gap:24px}}
.site-foot .slogan{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-md);color:var(--ink);margin:.4rem 0 .1rem}

/* Kavana box inside articles */
.kbox{background:var(--accent-soft);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:16px;padding:20px 22px 18px;margin:1.6rem 0}
.kbox .pill{display:inline-block;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:3px 12px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;margin-bottom:.6rem}
.kbox p{margin:.2rem 0 .7rem}
.kbox ul{margin:.2rem 0 .8rem;padding-left:1.2rem}
.kbox li{margin:.25rem 0}
.kbox a{font-weight:700}
.wrap:not(.wide) main>.over{margin-top:2.6rem}

/* Menu icon: two plain icons swapped, no animation, so the cross always draws cleanly (Safari included) */
.burger path{transform:none!important;opacity:1!important;transition:none}
nav .menu .ic-close{display:none}
nav .menu[open] .ic-open{display:none}
nav .menu[open] .ic-close{display:block}
.burger{stroke-width:2.2}

/* ===== One button system across the site =====
   Primary (gold, filled): the main next step. One per section.
   Secondary (green outline + arrow): go to another page to learn more.
   Text links: only inside sentences. */
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:12px;font-weight:700;font-size:var(--fs-base);line-height:1.2;text-decoration:none!important}
.cta.ghost{background:transparent;color:var(--accent)!important;border:1.5px solid var(--accent);box-shadow:none}
.cta.ghost:hover{background:var(--accent-soft);box-shadow:none;transform:none}
.cta.ghost::after{content:"";flex:none;width:18px;height:18px;background:currentColor;transition:transform .15s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.cta.ghost:hover::after{transform:translateX(3px)}
.hero .cta.ghost{color:var(--hero-ink)!important;border-color:rgba(255,255,255,.75)}
.hero .cta.ghost:hover{background:rgba(255,255,255,.1)}
.more{margin-top:1.2rem}
.more .cta{margin-top:0}
button[type=submit]{min-height:48px;border-radius:12px;font-weight:700;font-size:var(--fs-base)}
/* "Opens 2028" placeholders are a status, not a button */
a.book:not(.live):not(.cta-book){border:0;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 14px;font-size:var(--fs-sm);min-height:0;box-shadow:none}
a.book.cta-book{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;border-radius:12px;font-size:var(--fs-base)}

/* ===== Footer v3 (centred brand, divided columns, dark bottom bar) ===== */
.site-foot{background:var(--foot);border-top:1px solid var(--line);margin-top:4rem}
.site-foot .ftop{text-align:center;padding:3rem 0 2rem;display:grid;justify-items:center;gap:.2rem}
.site-foot .ftop .fbrand{margin:0}
.site-foot .ftop .fbrand .logo{width:32px;height:36px}
.site-foot .ftop .fbrand span{font-size:var(--fs-3xl)}
.site-foot .ftop .slogan{margin:.3rem 0 0;font-size:var(--fs-md)}
.site-foot .fblurb{margin:0;color:var(--muted)}
.site-foot .fcols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 0;padding-bottom:2.2rem}
.site-foot .fcol{border-left:1px solid var(--line);padding:0 20px}
.site-foot .fcol h2,.site-foot .fcol h3{font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 .9rem}
.site-foot .fcol h3.fsub{margin-top:1.4rem}
.site-foot .fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.site-foot .fcol a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.site-foot .fcol a:hover{color:var(--accent);text-decoration:underline}
.site-foot .fcol .social{display:flex;flex-direction:row;gap:12px;margin:0}
.site-foot .fcol .social a,.site-foot .fcol .social span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
.site-foot .fcol .social svg{width:20px;height:20px}
.site-foot .fco dl{margin:0;display:grid;gap:.2rem}
.site-foot .fco dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.site-foot .fco dd{margin:0 0 .7rem;color:var(--ink)}
.site-foot .fhelp{margin:0 0 2rem}
.site-foot .fbar{background:var(--hero);color:var(--hero-muted);border:0;margin:0 -16px;padding:1.2rem 16px}
.site-foot .fbar .fwrap{display:flex;justify-content:space-between;align-items:center;gap:1rem 2rem;flex-wrap:wrap}
.site-foot .fbar p{margin:.15rem 0;font-size:var(--fs-sm)}
.site-foot .fbar a{color:var(--hero-ink);text-decoration:none;font-weight:700;white-space:nowrap}
.site-foot .fbar a:hover{text-decoration:underline}
@media (max-width:900px){.site-foot .fcols{grid-template-columns:repeat(2,minmax(0,1fr))}.site-foot .fco{grid-column:1/-1}}
@media (max-width:420px){.site-foot .fcol{padding:0 14px}}

/* Contact page: details on the left, green message card on the right */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:start;margin:1.6rem 0 2.4rem}
.contact-info h2{margin-top:0}
.contact-form{background:var(--hero);color:var(--hero-ink);border-radius:20px;padding:26px;display:grid;gap:14px;box-shadow:var(--shadow-hi)}
.contact-form label{display:grid;gap:6px;font-weight:700;font-size:var(--fs-base)}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-weight:400;color:var(--hero-ink);background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.55);border-radius:12px;padding:12px 14px;width:100%;box-sizing:border-box}
.contact-form select option{color:#1E2A26}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid var(--ink);outline-offset:1px;border-color:transparent}
.contact-form .fine{color:var(--hero-muted);font-size:var(--fs-sm);margin:0}
.contact-form button{justify-self:start;border:0;cursor:pointer;padding:12px 24px}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr}}

/* Service cards v2: title and date at the top, icon top right, bigger arrow bottom right */
.cards a.card.svc{display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;column-gap:16px;align-items:start}
.card.svc .svc-head{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.card.svc .svc-head b{font-size:var(--fs-md)}
.card.svc .svc-head .chip{margin:0;font-size:var(--fs-xs);padding:4px 10px}
.card.svc>.ic{grid-column:2;grid-row:1;margin:0}
.card.svc>p{grid-column:1/-1;grid-row:2;margin:.7rem 0 .4rem}
.card.svc .cfoot{grid-column:1/-1;grid-row:3;justify-content:flex-end;padding-top:.2rem;margin:0}
.cards a.card.svc .cfoot .ar{width:26px;height:26px;padding:14px}
.cards a.card.svc .cfoot{justify-content:flex-end}
.cards a.card.svc .svc-head,.cards a.card.svc .svc-head b{color:var(--ink)}
.cards a.card.svc .svc-head .chip{color:var(--accent)}
.cards a.card.svc .svc-head .chip.soon{color:var(--note-ink)}
.ticks.panel.incl li{padding-left:1.9rem}
.ticks.panel.incl li b{display:block;color:var(--ink)}
.ticks.panel.incl li::before{top:.35em}

/* Share box v2: short line, one row of icon buttons with labels */
.share{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px 20px 16px;margin:2.2rem 0}
.share .share-lead{margin:0 0 14px;color:var(--muted)}
.share .share-lead b{display:block;color:var(--ink);font-size:var(--fs-base);margin-bottom:2px}
.share-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;max-width:420px}
.share-btns a,.share-btns button{display:grid!important;justify-items:center;gap:6px;min-height:0;padding:4px 2px;border:0;background:none;color:var(--ink);font:inherit;font-size:var(--fs-sm);font-weight:700;text-decoration:none;cursor:pointer;border-radius:12px}
.share-btns a:hover,.share-btns button:hover{background:none;color:var(--accent)}
.share-btns .share-native{background:none;color:var(--ink)}
.share-btns .si{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent);transition:background .15s,color .15s,transform .15s}
.share-btns .si svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.share-btns a:hover .si,.share-btns button:hover .si{background:var(--accent);color:var(--accent-ink);transform:translateY(-2px)}
.share-btns .share-native .si{background:var(--accent);color:var(--accent-ink)}
.share-btns [hidden]{display:none!important}

/* Waitlist form sits inside the app section, under the preview */
.app-signup{margin:2.2rem auto 0;max-width:680px}
.app-signup h3{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-xl);margin:0 0 .3rem}
.app-signup .signup-sub{color:var(--muted);margin:0 0 1rem}
@media (min-width:900px){.app-signup form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.app-signup form .check,.app-signup form button,.app-signup form .fine{grid-column:1/-1}}
.share-btns a,.share-btns button{color:var(--ink)!important}
.share-btns a:hover,.share-btns button:hover{color:var(--accent)!important}

/* Slogan under the name in the header */
.wordmark .wmtext{display:grid;line-height:1}
.wordmark .tagline{font-size:.72rem;font-weight:600;letter-spacing:.03em;color:var(--muted);margin-top:4px;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;white-space:nowrap}
@media (max-width:480px){.wordmark .tagline{font-size:.64rem;margin-top:3px}}
@media (max-width:350px){.wordmark .tagline{display:none}}
@media (max-width:480px){
  .wordmark{gap:8px}
  .wordmark .wm{font-size:var(--fs-lg)}
  .wordmark .logo{width:22px;height:26px}
  .wordmark .tagline{font-size:.6rem;letter-spacing:0}
  nav .navcta{padding:9px 10px;font-size:var(--fs-sm);margin-left:0}
  nav{gap:6px}
}

/* Service cards v3: same layout every time.
   [Opens 20xx] .......... [icon]
   Title
   Description ........... (arrow) */
.cards a.card.svc{grid-template-columns:1fr auto;grid-template-rows:auto;grid-template-areas:"chip icon" "title title" "desc arrow";align-content:start;row-gap:0;column-gap:14px;padding:20px 20px 18px}
.card.svc .svc-head{display:contents}
.card.svc .svc-head .chip{grid-area:chip;align-self:center;justify-self:start}
.card.svc .svc-head b{grid-area:title;margin:.9rem 0 .35rem;font-size:var(--fs-md);line-height:1.3}
.card.svc>.ic{grid-area:icon;align-self:center;width:44px;height:44px;padding:10px;box-sizing:border-box}
.card.svc>p{grid-area:desc;margin:0;align-self:center}
.card.svc .cfoot{grid-area:arrow;align-self:end;padding:0;margin:0}
.cards a.card.svc .cfoot .ar{width:22px;height:22px;padding:13px}
.cards a.card.svc>svg.ic{width:44px;height:44px;padding:10px;border-radius:12px;margin:0;box-sizing:border-box}
.cards a.card.svc .svc-head b{margin:.8rem 0 .3rem}
.site-foot .fcols{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.site-foot .fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.site-foot .fbar .cqc,.site-foot .fbar p a{color:var(--hero-ink)}
.contact-grid.solo{grid-template-columns:minmax(0,640px)}

/* Prices: ways to pay as one tidy card */
.paylist{list-style:none;margin:1rem 0 2rem;padding:6px 20px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.paylist li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:14px 0}
.paylist li+li{border-top:1px solid var(--line)}
.paylist .pic{width:44px;height:44px;padding:11px;box-sizing:border-box;border-radius:12px;background:var(--accent-soft);color:var(--accent);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.paylist b{display:block;color:var(--ink);margin-bottom:2px}
.paylist span{color:var(--muted);font-size:var(--fs-base);line-height:1.5}

/* Prices: assessment, treatment and the combined package, then one place to book */
.plans.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.plans.three{grid-template-columns:1fr}}
.plan.best{border:2px solid var(--gold);position:relative}
.plan-tag{position:absolute;top:-13px;left:20px;background:var(--gold);color:var(--gold-ink);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;padding:4px 12px;border-radius:999px}
.bookbox{background:var(--hero);color:var(--hero-ink);border-radius:20px;padding:24px;margin:1.6rem 0 1rem;box-shadow:var(--shadow-hi)}
.bookbox h3{margin:0 0 .4rem;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-xl);color:var(--hero-ink)}
.bookbox p{color:var(--hero-muted);margin:0 0 1rem}
.bookbox .btns{margin-bottom:.8rem}
.bookbox .cta.ghost{color:var(--hero-ink)!important;border-color:rgba(255,255,255,.75)}
.bookbox .fine{margin:0;font-size:var(--fs-sm)}
.bookbox .fine a{color:var(--hero-ink)!important;font-weight:700}
.cta[hidden],a[hidden]{display:none!important}

/* About: one story card */
.about-story{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:24px 24px 20px;margin:1.4rem 0 2rem}
.about-story p{margin:0 0 .9rem}
.about-story .ticks{margin:.2rem 0 1.2rem}
.about-story .about-name{margin:0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}
.about-story .about-name b{font-family:"Fraunces",Georgia,serif;font-size:var(--fs-md);color:var(--ink)}

/* End-of-page nudge */
.endcta{background:var(--accent-soft);margin:3rem -16px 0;padding:2.4rem 16px}
.endcta-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.2rem 2rem;flex-wrap:wrap}
.endcta h2{margin:0 0 .3rem;font-size:var(--fs-xl)}
.endcta p{margin:0;color:var(--muted);max-width:52ch}
.endcta .cta{margin:0;flex:none}
.endcta+.site-foot{margin-top:0}

/* Check page shortcut */
.checkfast{background:var(--accent-soft);border-radius:12px;padding:12px 16px;margin:0 0 1.2rem}
.checkfast a{font-weight:700;color:var(--accent)}

/* Checker answers: look clearly tappable (circle on the left, arrow on the right) */
.ck-tap{margin:-.2rem 0 .8rem;font-size:var(--fs-sm);color:var(--muted)}
.ck-opts button{display:flex!important;align-items:center;gap:14px;width:100%;text-align:left;background:var(--card)!important;border:2px solid var(--line)!important;border-radius:14px!important;box-shadow:0 2px 6px rgba(30,42,38,.06);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.ck-opts button::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--accent);background:var(--card);box-sizing:border-box}
.ck-opts button::after{content:"";flex:none;margin-left:auto;width:10px;height:10px;border-right:2.5px solid var(--accent);border-top:2.5px solid var(--accent);transform:rotate(45deg);margin-right:4px}
.ck-opts button:hover,.ck-opts button:focus-visible{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.ck-opts button:hover::before,.ck-opts button:focus-visible::before{background:var(--accent);box-shadow:inset 0 0 0 4px var(--card)}
.ck-opts button:active{transform:scale(.99)}
.ck-opts button{padding:14px 14px 14px 16px!important;gap:12px;font-size:var(--fs-base);line-height:1.35}

/* Homepage benefit strip: icon, title, one line. Stacks neatly on phones. */
.factstrip.benefits li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 18px}
.factstrip.benefits .fic{width:48px;height:48px;padding:12px;box-sizing:border-box;border-radius:50%;background:var(--accent-soft);color:var(--accent);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.factstrip.benefits b{display:block;font-family:"Fraunces",Georgia,serif;font-size:var(--fs-lg);font-weight:600;color:var(--ink);margin-bottom:4px;min-width:0}
.factstrip.benefits span{display:block;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}
@media (max-width:700px){
  .factstrip.benefits{padding:4px 18px}
  .factstrip.benefits li{flex-direction:row;align-items:flex-start;text-align:left;gap:14px;padding:16px 0}
  .factstrip.benefits b{font-size:var(--fs-md);min-width:0}
}

/* Desktop hero: text left, "What to expect" card right */
.hero-card{display:none}
@media (min-width:1000px){
  .hero{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:56px;align-items:center;padding-block:4.5rem 6rem}
  .hero h1{font-size:clamp(2.6rem,4.4vw,3.6rem)}
  .hero .lede{max-width:34ch}
  .hero-card{display:block;background:var(--card);color:var(--ink);border-radius:22px;padding:26px 26px 22px;box-shadow:0 24px 48px -16px rgba(0,0,0,.35)}
  .hero-card .hc-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-xl);margin:0 0 .8rem;color:var(--ink)}
  .hero-card .ticks{margin:0 0 1.1rem;gap:.8rem}
  .hero-card .ticks li{font-size:var(--fs-base);color:var(--ink)}
  .hero-card .hc-link{display:inline-block;font-weight:700;color:var(--accent);text-decoration:none;border-top:1px solid var(--line);padding-top:14px;width:100%}
  .hero-card .hc-link:hover{text-decoration:underline}
  .hero .hero-note{max-width:44ch}
}
/* Service cards without the date tag: title beside the icon */
.cards a.card.svc{grid-template-areas:"title icon" "desc arrow"}
.cards a.card.svc .svc-head b{margin:0 0 .5rem;align-self:center}
.sec-sub{margin:-.3rem 0 1rem;color:var(--muted);font-size:var(--fs-base)}
.cards.more-prices a.card{display:flex!important;flex-direction:column;gap:.3rem}
.cards.more-prices .cfoot{margin-top:auto;color:var(--accent);font-weight:700}
.cards.more-prices .cfoot::after{content:" →"}
@media (min-width:640px){.cards.more-prices{grid-template-columns:repeat(2,1fr)}}
.contact-sent{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:14px 16px;font-size:var(--fs-base);line-height:1.5;color:var(--hero-ink)}
.contact-sent a{color:var(--hero-ink)!important;font-weight:700}
.contact-sent .contact-copy{display:block;margin-top:10px;background:var(--hero-ink);color:var(--hero);border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.contact-form .fine a{color:var(--hero-ink)!important;font-weight:700}
/* Footer bar: text uses the full width of the green bar */
.site-foot .fbar .fwrap>div{flex:1 1 0;min-width:0}
.site-foot .fbar p{max-width:none}
.site-foot .fbar .ftoplink{flex:none}
.plans.two-up{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:760px}
.plans.two-up{row-gap:28px}
.plan .cta.start{align-self:flex-start;margin-top:auto}

/* Homepage: featured guides row, and anchor offset for How it works steps */
.cards.arts a.card{display:flex;flex-direction:column}
.cards.arts .tag{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.cards.arts a.card b{font-size:var(--fs-md);line-height:1.35}
.cards.arts a.card p{flex:1}
.cards.arts a.card small{color:var(--muted);font-size:var(--fs-sm)}
.cards.arts a.card:hover b{color:var(--accent)}
.steps li[id]{scroll-margin-top:96px}

/* Three desktop menu items need about 980px; below that, use the menu button */
@media (max-width:980px){nav .navlinks{display:none}nav .menu{display:block}}
@media (min-width:821px) and (max-width:980px){nav .menu>div{position:absolute;left:auto;right:0;top:calc(100% + 8px);width:360px;min-width:0;max-height:calc(100vh - 140px);overflow:auto;padding:6px 8px}}
.more + .fine{margin-top:.8rem}

/* Single plan card (diagnosis review) */
.plans.one{grid-template-columns:minmax(0,560px)}
.plan .btns{margin:1rem 0 0}

/* Waitlist: what you get, errors, and the hidden EmailOctopus form that does the saving */
.ticks.perks{margin:0 0 1.2rem}
.ticks.perks li{margin:.35rem 0}
.form-error{grid-column:1/-1;margin:0;background:var(--note);color:var(--note-ink);border-radius:10px;padding:10px 14px;font-size:var(--fs-base)}
#eo-embed{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#join[disabled]{opacity:.7;cursor:progress}

/* Cookie choice (only appears when Google Ads is switched on in tools/build.py) */
.cookiebar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;max-width:720px;margin:0 auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-hi);padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.cookiebar p{margin:0;flex:1 1 320px;font-size:var(--fs-base)}
.cookiebar a{color:var(--accent);font-weight:700}
.cookiebtns{display:flex;gap:10px}
.cookiebtn{font:inherit;font-weight:700;border:2px solid var(--accent);background:var(--card);color:var(--accent);border-radius:12px;padding:9px 20px;cursor:pointer}
.cookiebtn:hover{background:var(--accent-soft)}
.linkbtn{font:inherit;background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cookiebar[hidden]{display:none}

/* UX audit fixes, 29 Sep 2026 */
#waitlist{scroll-margin-top:110px}
.waitpage{margin:1.5rem auto 1rem;max-width:640px}
.waitpage h1{margin-top:0;font-size:clamp(1.7rem,6vw,2.3rem)}
.waitpage .lede{margin:.4rem 0 1rem}

/* Bold is for headings, buttons and short labels. Links inside sentences are underlined, not bold. */
.crisis a,.fhelp a,.kbox a,.bookbox .fine a,.checkfast a,.contact-sent a,.contact-form .fine a,.cookiebar a,.topbar b{font-weight:inherit;text-decoration:underline;text-underline-offset:3px}
.facts b{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em}

/* ===== Less template (Sep 2026): quieter labels, fewer boxes, no icon badges ===== */
/* Section labels: plain text, not pills */
.over{display:block;background:none;padding:0;border-radius:0;font-size:var(--fs-sm);font-weight:700;letter-spacing:0;text-transform:none;color:var(--muted);margin:0 0 .4rem}
.over::before{content:none}
/* Hero: "What to expect" sits on the green, not in a white card */
@media (min-width:900px){
  .hero-card{background:none;box-shadow:none;border-radius:0;border-left:1px solid rgba(255,255,255,.28);padding:6px 0 6px 32px;color:var(--hero-ink)}
  .hero-card .hc-title{color:var(--hero-ink);font-size:var(--fs-lg)}
  .hero-card .hc-list{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.7rem}
  .hero-card .hc-list li{color:var(--hero-muted);font-size:var(--fs-base);line-height:1.45}
  .hero .hero-card a.hc-link{color:var(--hero-ink)!important;border-top:1px solid rgba(255,255,255,.22)}
}
/* Founder note in place of the icon strip */
.founder-note{max-width:760px;margin:3.5rem 0 0;padding-left:22px;border-left:3px solid var(--spark)}
.fn-quote{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.4;color:var(--ink);margin:0 0 .8rem}
.fn-by{margin:0;color:var(--muted);font-size:var(--fs-base)}
.fn-by a{color:var(--accent);font-weight:700;margin-left:.3rem}
/* Service cards: text only, a plain text link instead of a round arrow button */
.cards a.card.svc{display:flex!important;flex-direction:column;gap:.5rem;padding:22px;box-shadow:none;background:var(--card)}
.cards a.card.svc .svc-head b{margin:0!important;font-size:var(--fs-md);align-self:flex-start;text-align:left}
.cards a.card.svc>p{margin:0;flex:1}
.cards a.card.svc .go{color:var(--accent);font-weight:700;font-size:var(--fs-base);margin-top:.4rem}
.cards a.card.svc:hover .go{text-decoration:underline}
/* Prices as three numbers, no box */
.numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:900px}
.numbers div{padding:20px 24px 20px 0}
.numbers div+div{padding-left:24px;border-left:1px solid var(--line)}
.numbers dt{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(2rem,4vw,2.6rem);line-height:1;color:var(--accent2);margin-bottom:.5rem}
.numbers dd{margin:0;color:var(--muted);font-size:var(--fs-base);line-height:1.45}
.sec p a{color:var(--accent);font-weight:700}
@media (max-width:700px){.numbers{grid-template-columns:1fr}.numbers div,.numbers div+div{padding:16px 0;border-left:0}.numbers div+div{border-top:1px solid var(--line)}}
/* Coaching: first session as a simple timeline */
.coach-sec h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:0;padding-top:0;border-top:0}
.split.top{align-items:start}
.first-session h3{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-lg);margin:0 0 1rem}
.timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--line);display:grid;gap:1.1rem}
.timeline li{position:relative;color:var(--muted);font-size:var(--fs-base);line-height:1.5}
.timeline li::before{content:"";position:absolute;left:-29px;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.timeline b{display:block;color:var(--ink)}
/* Guides: a reading list, not cards */
.learn .cards.arts{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);max-width:900px}
.learn .cards.arts a.card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;padding:18px 0;display:grid!important;grid-template-columns:150px 1fr auto;gap:4px 24px;align-items:baseline}
.learn .cards.arts .tag{grid-column:1;grid-row:1/span 2;margin:0;letter-spacing:.04em}
.learn .cards.arts a.card b{grid-column:2}
.learn .cards.arts a.card p{grid-column:2;margin:0}
.learn .cards.arts a.card small{grid-column:3;grid-row:1;white-space:nowrap}
@media (max-width:700px){.learn .cards.arts a.card{grid-template-columns:1fr auto}.learn .cards.arts .tag{grid-column:1/-1;grid-row:auto}.learn .cards.arts a.card b,.learn .cards.arts a.card p{grid-column:1/-1}.learn .cards.arts a.card small{grid-column:2;grid-row:1}}
/* App features: plain list with rules, no ticks */
.featlist{list-style:none;padding:0;margin:1rem 0 1.4rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;max-width:640px}
.featlist li{padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-base)}
@media (max-width:600px){.featlist{grid-template-columns:1fr}}
/* About: promises without icon badges */
.feat{border-top:2px solid var(--spark);padding-top:14px}
@media (max-width:600px){.feat{display:block}}
/* Steps: numbered, no boxes (coaching, how it works, membership, complaints) */
ol.steps{display:grid;gap:0;border-top:1px solid var(--line);max-width:760px}
ol.steps>li{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:16px 0 16px 52px}
ol.steps>li::before{left:0;top:14px;width:auto;height:auto;background:none;color:var(--accent2);font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.6rem;line-height:1;place-items:start}
@media (max-width:480px){ol.steps>li{padding:14px 0 14px 40px}ol.steps>li::before{left:0;top:13px}}
/* Ways to pay: two columns of plain text */
.paylist{background:none;border:0;border-radius:0;box-shadow:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--line)}
.paylist li{display:block;padding:16px 0;border-bottom:1px solid var(--line)}
.paylist li+li{border-top:0}
@media (max-width:640px){.paylist{grid-template-columns:1fr}}
/* Lists inside price plans: plain lines, not ticks */
.plan .ticks{gap:0}
.plan .ticks li{padding:8px 0 8px 0;border-top:1px solid var(--line)}
.plan .ticks li::before{content:none}
/* Membership "what it includes": two columns, no box, no ticks */
.ticks.panel.incl{background:none;border:0;box-shadow:none;border-radius:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--line)}
.ticks.panel.incl li{padding:14px 0;border-bottom:1px solid var(--line)}
.ticks.panel.incl li::before{content:none}
@media (max-width:640px){.ticks.panel.incl{grid-template-columns:1fr}}
/* Coaching "what people work on" */
.worklist{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--line);max-width:760px}
.worklist li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--fs-base)}
.worklist li b{display:block;color:var(--ink)}
@media (max-width:640px){.worklist{grid-template-columns:1fr}}
/* About: story without a box */
.about-story{background:none;border:0;box-shadow:none;border-radius:0;padding:0;max-width:720px}
.about-story .about-name{border-top:1px solid var(--line)}
/* How it works: report preview */
.report-peek{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;margin-top:1rem}
.report-peek h2{margin-top:2.6rem}
@media (min-width:860px){.report-peek{grid-template-columns:1.1fr .9fr;gap:40px}}
.paper{margin:0;display:grid;justify-items:center}
.paper-sheet{width:min(320px,100%);background:var(--card);border-radius:6px;box-shadow:var(--shadow-hi);padding:22px 22px 26px;transform:rotate(1.5deg);border-top:5px solid var(--accent2)}
.paper-head{display:grid;gap:2px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.paper-head b{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-md);color:var(--ink)}
.paper-head span{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.04em}
.paper ol{margin:0;padding-left:1.4rem;display:grid;gap:5px;font-size:var(--fs-sm);color:var(--ink)}
.paper ol li::marker{color:var(--muted)}
.paper ol i{display:block;height:6px;border-radius:3px;background:var(--line);margin:6px 0 0}
.paper ol i.short{width:62%;margin-bottom:4px}
.paper figcaption{margin-top:.9rem;font-size:var(--fs-sm);color:var(--muted)}
@media (prefers-reduced-motion:reduce){.paper-sheet{transform:none}}
/* Very small phones (320px): stop the header pushing past the screen edge */
@media (max-width:350px){header{gap:6px}nav .navcta{padding:8px 9px!important;font-size:.8rem!important;margin-left:6px!important;letter-spacing:0!important}nav .menu summary{padding:8px}}
/* "In short" and "Key points": a quiet note, not a filled box */
.inshort{background:none;border-left:3px solid var(--spark);border-radius:0;padding:4px 0 4px 18px}
.inshort b{letter-spacing:0;text-transform:none;font-size:var(--fs-sm);color:var(--muted)}
/* Article contents: a simple list with a rule */
.toc{border:0;border-left:1px solid var(--line);border-radius:0;background:none;padding:2px 0 2px 18px}
.toc b{letter-spacing:0;text-transform:none;font-size:var(--fs-sm)}
.toc ol{gap:.15rem}
/* Share: one quiet row of text buttons */
.share{background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:18px 0 0}
.share-btns{display:flex!important;flex-wrap:wrap;gap:8px 20px;max-width:none}
.share-btns a,.share-btns button{display:inline-flex!important;align-items:center;gap:8px;padding:6px 0;font-size:var(--fs-base)}
.share-btns .si{width:auto;height:auto;background:none!important;color:var(--accent)!important;transform:none!important}
.share-btns .si svg{width:18px;height:18px}
/* Guides list: serif titles */
ul.articles li a b{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:var(--fs-lg);color:var(--ink);line-height:1.3}
ul.articles li a:hover b{color:var(--accent)}
/* Waitlist page: reasons on the left, form on the right */
.waitpage2{display:grid;grid-template-columns:1fr;gap:28px;margin:1.5rem 0 1rem}
@media (min-width:880px){.waitpage2{grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:2.5rem}}
.wp-intro h1{margin:0 0 .6rem;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1}
.wp-intro .lede{margin:0 0 1.4rem}
.wp-h{font-size:var(--fs-md);margin:0 0 .4rem;padding:0;border:0}
.wp-list{list-style:none;padding:0;margin:0 0 1.2rem;border-top:1px solid var(--line)}
.wp-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-base)}
.wp-note{color:var(--muted);font-size:var(--fs-base);margin:0}
.wp-form{margin:0;max-width:none}
.wp-form .signup-sub{color:var(--muted);margin:0 0 .6rem}

/* Free app page: real screenshots */
.shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:2rem 0 2.4rem}
.shots figure{margin:0}
.shots img,.app-shot{display:block;width:100%;height:auto;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--card)}
.shots figcaption{margin-top:.6rem;font-size:var(--fs-sm);color:var(--muted);text-align:center}
.app-art .app-shot{width:min(280px,100%);position:relative;z-index:1}
@media (max-width:760px){.shots{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:64%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch}.shots figure{scroll-snap-align:start}}

/* Careers: vacancy pages and role list (30 Sep 2026) */
.job-hero{padding:.4rem 0 .2rem}
.job-hero h1{font-size:clamp(2rem,6vw,2.9rem);line-height:1.1;margin:.5rem 0 .6rem;text-wrap:balance}
.job-hero .btns{margin-top:.4rem}
.apply-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 22px 20px;margin:2.4rem 0 1rem;scroll-margin-top:90px}
.apply-box ul{margin:.4rem 0 .8rem;padding-left:1.2rem}
.apply-box li{margin:.25rem 0}
.recruit{margin-top:2rem}
.recruit ol.steps span{display:block;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}
ul.jobs li.job{padding:16px 0}
ul.jobs li.job > a b{font-size:var(--fs-lg)}
ul.jobs li.job p{margin:.3rem 0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:.5rem!important}
.chips span{font-size:var(--fs-xs);background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:3px 10px}
.chips span.st{background:transparent;border:1px solid var(--line);color:var(--muted)}
.apply-float{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%,24px);opacity:0;pointer-events:none;z-index:40;background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none;border-radius:999px;padding:13px 26px;box-shadow:0 10px 24px -8px rgba(0,0,0,.35);transition:opacity .2s ease,transform .2s ease;white-space:nowrap}
.apply-float.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.apply-float:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.apply-float{transition:none}}

/* Slogan back on phones (30 Sep 2026): shown down to 360px wide, hidden only on the narrowest screens where it would crowd the button */
@media (max-width:480px){.wordmark .tagline{display:block;font-size:.62rem;letter-spacing:.01em}}
@media (max-width:359px){.wordmark .tagline{display:none}}
@media (max-width:370px){nav .navcta{padding:9px 8px;font-size:.82rem}.wordmark{gap:6px}nav{gap:5px}}

/* Articles list: a clear Read button on every article (30 Sep 2026) */
ul.articles li .art-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:.5rem 0 0}
ul.articles li a.readbtn{flex:none;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:var(--fs-sm);color:var(--accent);border:1.5px solid var(--accent);border-radius:999px;padding:7px 16px;text-decoration:none;min-height:40px}
ul.articles li a.readbtn span{transition:transform .15s ease}
ul.articles li a.readbtn:hover{background:var(--accent-soft)}
ul.articles li a.readbtn:hover span{transform:translateX(2px)}
@media (prefers-reduced-motion:reduce){ul.articles li a.readbtn span{transition:none}}

/* How it works: report preview folded into step 3 (30 Sep 2026) */
details.peek{margin-top:.6rem}
details.peek summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
details.peek summary::-webkit-details-marker{display:none}
details.peek summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 4px;transition:transform .15s ease}
details.peek[open] summary::after{transform:rotate(-135deg);margin-top:3px}
details.peek .peek-body{margin-top:.8rem}
details.peek .paper{max-width:340px;margin:1rem auto}
@media (prefers-reduced-motion:reduce){details.peek summary::after{transition:none}}
ol.steps .paper li{position:static;padding:0;counter-increment:none;background:none;border:0;box-shadow:none}
ol.steps .paper li::before{content:none}
ol.steps .paper ol{counter-reset:none}
details.peek .paper{width:100%;box-sizing:border-box}
details.peek .paper{margin:1rem 0;padding:0 6px 0 0}details.peek .paper-sheet{max-width:100%;box-sizing:border-box;margin-right:4px}

/* Book button at the foot of each price card: says Coming soon until the BOOKING key is filled in, then Book now (30 Sep 2026) */
.plan .plan-book{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;border:1.5px solid var(--accent);color:var(--accent);font-weight:700;text-decoration:none;min-height:46px}
.plan ul + .plan-book,.plan ul + .plan-note{margin-top:auto}
.plan .plan-book::after{content:"\2192";transition:transform .15s ease}
.plan .plan-book:hover{background:var(--accent-soft)}
.plan .plan-book:hover::after{transform:translateX(3px)}
.plan .plan-book.live{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.plan .plan-note{margin-top:auto;color:var(--muted);font-size:var(--fs-sm);padding-top:12px}
.plans .plan ul.ticks{margin-bottom:1.2rem}
@media (prefers-reduced-motion:reduce){.plan .plan-book::after{transition:none}}

/* Short topic tags (coaching page) */
.tags-label{margin:1rem 0 .4rem;color:var(--muted);font-size:var(--fs-sm)}
ul.tags{list-style:none;padding:0;margin:0 0 .6rem;display:flex;flex-wrap:wrap;gap:8px}
ul.tags li{background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:var(--fs-sm);font-weight:600}
p.oneline{margin:.6rem 0}

/* check page: guides link under the checker */
.read-first{margin:1.4rem 0 .6rem;color:var(--muted)}
.read-first a{font-weight:700}

/* gold buttons with an arrow */
.cta .ar{display:inline-block;margin-left:8px;transition:transform .15s}
.cta:hover .ar{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.cta .ar{transition:none}}

/* mailing list form: optional mobile */
label .opt{font-weight:400;color:var(--muted)}

/* questions page: contact button */
.ask-note .cta{display:inline-block;margin-top:12px;text-decoration:none}

/* footer: one contact button */
.fcontact{margin:.4rem 0 1.2rem}
.fcontact .cta{text-decoration:none;display:inline-block;white-space:nowrap;padding-inline:18px}

/* footer: urgent help as a short list */
.fhelp-list{list-style:none;margin:10px 0 12px;padding:0;display:grid;gap:6px}
.fhelp-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid rgba(120,80,20,.18);padding-top:6px}
.fhelp-list a{font-weight:700;white-space:nowrap;text-decoration:none}

/* floating back-to-top: arrow in a circle, shown after scrolling down */
.totop{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:39;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 20px -6px rgba(0,0,0,.35);text-decoration:none;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.totop.show{opacity:1;transform:none}
.totop:focus-visible{outline:3px solid var(--spark);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}

/* homepage: "not sure" prompt */
.more > .cta:not(.ghost){display:inline-block;margin-top:.7rem;text-decoration:none}

/* homepage app section: single column now the screenshot is gone */
.app-grid:not(:has(.hero-art)){grid-template-columns:1fr;max-width:46rem}

/* footer: legal links as one row in the bottom bar */
.site-foot .flegal{display:flex;flex-wrap:wrap;gap:8px 20px;margin:.8rem 0}
.site-foot .flegal .fbreak{flex-basis:100%;height:0;margin-top:-8px}
@media (min-width:640px){.site-foot .flegal .fbreak{display:none}}
.site-foot .flegal a{color:inherit;font-weight:400;text-decoration:underline;text-underline-offset:3px}

/* footer: "Get in touch" and "Follow" each sit on one row with their buttons */
.site-foot .fget .frow{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:1rem}
.site-foot .fget .frow h2,.site-foot .fget .frow h3{margin:0}
.site-foot .fget .frow .cta{text-decoration:none;white-space:nowrap}
.site-foot .fget .frow .social{margin:0}
.site-foot .fget{grid-column:1/-1}
@media (min-width:900px){.site-foot .fget{grid-column:span 2}}

/* Tagline legibility: never below 12px */
.wordmark .tagline{font-size:.75rem}
@media (max-width:480px){.wordmark .tagline{font-size:.75rem;letter-spacing:0}}
@media (max-width:370px){nav .navcta{margin-left:6px;letter-spacing:0}}
@media (max-width:379px){header{gap:6px}nav .navcta{margin-left:0}}
@media (max-width:365px){.wordmark .tagline{display:none}}

/* Home hero: opening status */
.hero-status{display:inline-block;background:var(--note);color:var(--note-ink);font-size:var(--fs-sm);font-weight:600;line-height:1.35;padding:6px 12px;border-radius:999px;margin:0 0 14px}
.hero-status{border-radius:12px}
@media (max-width:379px){.topbar{font-size:13px;letter-spacing:0;gap:8px}.topbar b{white-space:nowrap}}
/* Service cards: status chip above the title, left aligned */
.cards a.card.svc .svc-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;grid-area:title;margin:0 0 .4rem}
.cards a.card.svc .svc-head .chip{order:-1;align-self:flex-start}
.cards a.card.svc .svc-head b{margin:0}
/* Hero card: gold ticks and brighter text so the promises scan quickly */
.hero-card .hc-list li{display:flex;gap:12px;align-items:flex-start;color:var(--hero-ink)}
.hero-card .hc-list li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;background:var(--spark);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* Desktop: the menu button stays visible, because Coaching, ADHD assessment and Prices now live in the menu and the homepage cards */
@media (min-width:821px){
  nav .menu{display:block}
  nav .menu>div{min-width:340px;padding:10px;gap:2px}
  nav .menu .mmain{display:grid;gap:2px}
  nav .menu .mmain a{display:grid;gap:2px;padding:10px 12px}
  nav .menu .mmain .mt{font-weight:700;color:var(--ink)}
  nav .menu .mmain .mh{font-size:var(--fs-sm);color:var(--muted)}
  nav .menu .murgent{display:block;margin:6px 4px 4px;padding:10px 12px;background:var(--note);color:var(--note-ink)!important;border-radius:10px;font-weight:700}
}
/* Service cards: titles in the heading font, so they read as the way in */
.cards a.card.svc .svc-head b{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.45rem;line-height:1.2;letter-spacing:-.01em}
/* Footer sign-up: one compact row on every page except the mailing list page */
.site-foot .fsignup{display:grid;gap:14px;padding:28px 0 26px;border-bottom:1px solid var(--line)}
.site-foot .fsignup h2{font-size:var(--fs-lg);margin:0 0 2px}
.site-foot .fsignup .fs-text p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.site-foot .fsignup form{margin:0;display:grid;gap:10px}
.site-foot .fsignup .fs-row{display:grid;gap:10px}
.site-foot .fsignup .fs-row label{display:grid;gap:4px;font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.site-foot .fsignup input[type=text],.site-foot .fsignup input[type=email]{font:inherit;font-size:var(--fs-base);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);width:100%;box-sizing:border-box}
.site-foot .fsignup button{font:inherit;font-weight:700;font-size:var(--fs-base);padding:11px 18px;border:0;border-radius:10px;background:var(--spark);color:#1E2A24;cursor:pointer;align-self:end;white-space:nowrap}
.site-foot .fsignup button:hover{filter:brightness(.96)}
.site-foot .fsignup .check{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm);color:var(--muted);font-weight:400}
.site-foot .fsignup .check input{width:18px;height:18px;margin:2px 0 0;flex:none}
.site-foot .fsignup .check a{color:var(--accent)}
.site-foot .fsignup .form-error{margin:0;color:#9B2C2C;font-size:var(--fs-sm)}
.site-foot .fsignup .thanks{margin:0}
@media (min-width:821px){
  .site-foot .fsignup{grid-template-columns:minmax(220px,1fr) 2fr;align-items:start;gap:28px}
  .site-foot .fsignup .fs-row{grid-template-columns:1fr 1.3fr auto;align-items:end}
}
/* Coaching page: relatable list and who-it's-for grid */
ul.familiar{list-style:none;padding:0;margin:.8rem 0 1rem;display:grid;gap:.55rem}
ul.familiar li{position:relative;padding-left:28px}
ul.familiar li::before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;border-radius:50%;background:var(--spark)}
ul.whofor{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:12px}
ul.whofor li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--muted);font-size:var(--fs-base)}
ul.whofor li b{display:block;color:var(--ink);font-size:var(--fs-md);margin-bottom:2px}
@media (min-width:700px){ul.whofor{grid-template-columns:1fr 1fr}}
/* Services page: one section per service with a clear numbered divider */
.svc-jump{display:flex;flex-wrap:wrap;gap:8px;margin:1rem 0 .5rem}
.svc-jump a{font-size:var(--fs-sm);font-weight:700;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px}
.svc-jump a:hover{border-color:var(--accent);color:var(--accent)}
.svc-sec{margin:2.2rem 0 0;padding:1.6rem 0 0;border-top:3px solid var(--line);scroll-margin-top:90px}
.svc-sec .svc-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:.6rem}
.svc-sec .svc-num{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:var(--fs-md);margin-top:2px}
.svc-sec h2{margin:.35rem 0 0;padding:0;border:0;font-size:var(--fs-2xl)}
.svc-sec .chip{margin:0}
.svc-sec .svc-for{margin:.4rem 0 .6rem;color:var(--muted)}
.svc-sec .svc-for b{color:var(--ink)}
.svc-sec .btns{margin-top:1rem}
#coaching.svc-sec{border-top-color:var(--spark)}

/* Menu panel: items fill the panel width, hints wrap, chevrons stay inside */
nav .menu>div a{margin:0;white-space:normal}
nav .menu .mmain{grid-template-columns:minmax(0,1fr)}
nav .menu .mmain a{grid-template-columns:minmax(0,1fr) auto;min-width:0}
nav .menu .mmain .mh{line-height:1.4;margin-top:2px}
nav .menu .mmain a[aria-current]{font-weight:400}
nav .menu .mmain a[aria-current] .mh{color:var(--muted);font-weight:400}
nav .menu>div>a.murgent{margin:6px 0 4px}
/* Footer sign-up: no heading text, the button explains it */
@media (min-width:821px){.site-foot .fsignup{grid-template-columns:1fr}}
