*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--primary);font:400 var(--fs-body)/var(--lh-body) var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button,input,textarea,img{border-radius:var(--radius)}
img{display:block;max-width:100%;border:0}p,figure,blockquote{margin:0}p{max-width:62ch}p+p{margin-top:.75em}
a{color:var(--primary);text-underline-offset:4px}a:hover{color:var(--primary-hover)}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400;line-height:var(--lh-heading);letter-spacing:-.025em;text-wrap:balance;font-optical-sizing:auto}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
h1,h2{font-weight:300;letter-spacing:-.01em}h1 em,h2 em{color:var(--slate);font-weight:300}h1 em{display:block}
strong,b{font-weight:600}small{font-size:var(--fs-small);font-weight:400;line-height:1.5}
a,button,p,td,th{overflow-wrap:break-word}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary);outline-offset:5px}
[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
section{padding-block:var(--section-padding)}
.eyebrow,.fine,.hint,.inline-link,.tag,.index,figcaption,.sources,.creds{font-size:var(--fs-small)}
.eyebrow,.index{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.lede{font-size:var(--fs-lede);max-width:56ch;color:var(--slate)}
.sec-head{display:grid;gap:18px;margin-bottom:48px;max-width:760px}
.row{display:flex;gap:16px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;min-height:48px;border:1px solid var(--primary);border-radius:var(--radius);font-size:var(--fs-ui);font-weight:600;text-decoration:none;transition:background .15s}
.button-primary{background:var(--primary);color:var(--paper)}
.button-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--paper)}
.button-ghost{background:transparent;color:var(--primary)}
.button-ghost:hover{background:var(--primary-hover);color:var(--paper);border-color:var(--primary-hover)}
.inline-link{font-weight:600}.fine,.hint{color:var(--slate)}.fine{margin-top:28px}
.preview-banner{display:flex;align-items:center;gap:20px;padding:8px 32px;font-size:var(--fs-small);color:var(--slate)}
.preview-banner a{margin-left:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;padding:14px;background:var(--paper)}.skip-link:focus{top:10px}
header.top{position:sticky;top:0;z-index:20;background:var(--paper)}
header.top .wrap{display:flex;align-items:center;gap:24px;justify-content:space-between;min-height:90px}
.logo{display:flex;gap:10px;align-items:center;text-decoration:none;flex-shrink:0}.lockup{display:grid}.logo .mark{font:400 var(--fs-h3)/1.3 var(--brand)}.logo .sub{font-size:var(--fs-small)}
.main{display:flex;gap:18px;align-items:center}.main a{font-size:var(--fs-ui);text-decoration:none;white-space:nowrap}.main a:hover{text-decoration:underline}
.top .button{padding:10px 16px;white-space:nowrap}.menu-toggle{display:none}
.hero{padding-block:clamp(98px,9vw,120px)}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.hero-copy{display:grid;gap:32px}.hero-copy .eyebrow{max-width:none}.hero-copy .lede{max-width:56ch}.hero-copy .row{margin-top:8px}
.portrait{position:relative;overflow:hidden;border-radius:var(--radius)}.hero-photo{aspect-ratio:4/5}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:53% center}
.portrait-caption{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:var(--primary);color:var(--paper);font-size:var(--fs-small)}
.stats{padding-block:64px}.stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:32px}.stat{display:grid;gap:12px}.stat .n{font:300 var(--fs-h2)/1.1 var(--serif)}.stat .l{font-size:var(--fs-small);color:var(--slate)}
.dark-band{background:var(--band);color:var(--paper)}.dark-band h2 em{color:var(--gold)}
.dark-band a,.dark-band a:hover,.dark-band .lede{color:var(--paper)}
.dark-band a:focus-visible,.dark-band button:focus-visible{outline-color:var(--paper)}
.dark-band .button-primary{background:var(--paper);color:var(--primary);border-color:var(--paper)}
.dark-band .button-primary:hover{background:var(--paper);color:var(--primary-hover)}
.dark-band .button-ghost{background:transparent;color:var(--paper);border-color:var(--paper)}
.dark-band .button-ghost:hover{background:var(--primary-hover)}
.rating{display:flex;align-items:center;gap:16px;font-size:var(--fs-small)}.stars{letter-spacing:2px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.review-card{display:flex;flex-direction:column;gap:28px}.review-card blockquote{font:italic 400 var(--fs-h3)/1.5 var(--serif)}.review-card figcaption{margin-top:auto}
.reviews-grid+.inline-link{display:inline-block;margin-top:40px}
#how{background:var(--tint)}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.data-copy{display:grid;gap:24px}.data-copy .lede{margin-top:24px}.sources{color:var(--slate);line-height:2}
.readout{min-width:0}.readout-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:20px;font-size:var(--fs-small)}
.readout table{width:100%;border-collapse:collapse;font-size:var(--fs-ui)}
.readout td{padding:16px 8px;border-top:1px solid rgb(30 53 80 / 20%);vertical-align:top}
.readout td:first-child{padding-left:0}.readout td:last-child{padding-right:0}
.readout .v{font-family:var(--mono)}.readout .src{color:var(--slate)}.readout-foot{margin-top:24px;font-size:var(--fs-small)}
.table-scroll{overflow-x:auto}.compare{width:100%;min-width:880px;border-collapse:collapse;font-size:var(--fs-ui);line-height:1.7}
.compare th,.compare td{padding:20px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgb(30 53 80 / 20%)}
.compare th{font-weight:600}.compare thead th{width:20%}.compare td{color:var(--slate)}
.compare .us{background:var(--primary);color:var(--paper);border-bottom-color:rgb(246 247 243 / 30%)}
.comparison-link{margin-top:28px}
.personas{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.persona{display:grid;gap:20px;align-content:start}.persona p{color:var(--slate)}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:48px}.fit article{display:grid;gap:12px}.fit p{color:var(--slate)}



.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.plan{display:flex;flex-direction:column;gap:28px;padding:32px 24px;border:1px solid transparent;border-radius:var(--radius)}
.plan.feature{background:var(--tint);border-color:var(--primary)}.price{font:300 var(--fs-h2)/1.2 var(--serif)}.price small{font-family:var(--sans);color:var(--slate)}
.plan ul{padding-left:18px;margin:0;display:grid;gap:16px;font-size:var(--fs-ui)}.plan .button{align-self:flex-start}
.os-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px;max-width:860px;margin:auto;align-items:start}
.app-screen{width:75%;margin-inline:auto;height:auto;aspect-ratio:358/812;object-fit:contain}.app-figure figcaption{margin-top:24px;color:var(--slate)}
.intake{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.intake-side{display:grid;gap:24px;align-content:start}.intake-side .lede{margin-top:24px}
.prototype-notice{font-size:var(--fs-small);color:var(--slate)}form{display:grid;gap:28px}.field{display:grid;gap:12px}
.field>label,.field legend{font-weight:500;font-size:var(--fs-ui)}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0;margin-bottom:12px}
textarea,input[type=text],input[type=email]{display:block;width:100%;min-width:0;padding:14px;background:transparent;border:1px solid var(--slate);font-size:var(--fs-ui)}
textarea{min-height:120px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--slate);opacity:1;font-size:var(--fs-ui)}
.checks{display:flex;gap:8px;flex-wrap:wrap}.checks label{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid rgb(30 53 80 / 30%);border-radius:var(--radius);font-size:var(--fs-ui);font-weight:500;cursor:pointer}
.checks label:has(input:checked){background:var(--primary);color:var(--paper)}.checks input{accent-color:var(--primary)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.done{padding:20px;border-left:2px solid var(--primary);font-size:var(--fs-body)}.done p{margin:12px 0}.form-error{font-size:var(--fs-small);font-weight:600;color:var(--primary)}
.bio{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.bio-photo{aspect-ratio:4/5}.bio-photo img{height:100%;width:100%;object-fit:cover;object-position:center 38%}
.bio-copy{display:grid;gap:24px}.bio-copy>p{margin-top:24px;color:var(--slate)}.creds{color:var(--slate)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.post{display:block;text-decoration:none}.post:hover h3{text-decoration:underline;text-underline-offset:6px}
.faq{max-width:920px}.faq details{border-bottom:1px solid rgb(30 53 80 / 20%)}summary{display:flex;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:24px 0;font:400 var(--fs-h3)/1.4 var(--serif)}
summary::-webkit-details-marker{display:none}summary::after{content:'+';font:400 var(--fs-body)/1.4 var(--sans)}details[open] summary::after{content:'−'}details p{padding:0 0 28px;color:var(--slate)}
.closing{padding-block:48px}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.closing h2{font-size:var(--fs-h3)}.closing p{font-size:var(--fs-ui)}
.footer{width:min(1120px,calc(100% - 96px));margin:auto;padding:80px 0 40px;display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:48px;font-size:var(--fs-small)}
.footer-brand{display:grid;gap:12px;align-content:start;min-width:0}.footer-brand strong{font:400 var(--fs-h3)/1.4 var(--brand)}
.footer-links{grid-column:2;grid-row:1;display:grid;gap:12px;align-content:start}.footer-links a{text-decoration:none}.footer-newsletter{grid-column:3;grid-row:1;min-width:0}.footer-newsletter strong{font-size:var(--fs-h3);font-family:var(--serif);font-weight:400}
.footer-newsletter form{margin-top:20px;gap:12px}.newsletter-note,.newsletter-privacy{color:var(--slate);font-size:var(--fs-small)}.newsletter-privacy{margin-top:16px}
.footer-note{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-top:24px;color:var(--slate)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1150px){
 .main{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 32px;background:var(--paper);grid-template-columns:1fr 1fr;gap:0}.main.is-open{display:grid}.main a{padding:14px}
 .menu-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:10px 0;font-size:var(--fs-ui)}.top .button{margin-left:auto}.hero-grid{gap:40px}
 .data-grid,.bio,.intake{gap:48px}.os-grid{gap:32px}.plans{gap:12px}.plan{padding:28px 18px}
}
@media(max-width:800px){
 .wrap,.footer{width:calc(100% - 48px)}.preview-banner{padding-inline:24px}.preview-banner span{display:none}
 .hero-grid,.data-grid,.intake,.bio{grid-template-columns:1fr}.hero-copy{max-width:60ch}.hero-photo{aspect-ratio:5/4}.hero-photo img{object-position:center 40%}
 .personas,.reviews-grid,.posts{gap:28px}.plans{grid-template-columns:1fr;gap:36px}.plan{padding:32px}.plan:not(.feature){padding-inline:0;border:0}
 .footer{grid-template-columns:1fr 1fr}.footer-newsletter{grid-column:1/-1;grid-row:2;max-width:440px}.bio-photo{aspect-ratio:5/4}.bio-photo img{object-position:center 34%}
}
@media(max-width:600px){
 html{scroll-padding-top:100px}.wrap,.footer{width:calc(100% - 40px)}.preview-banner{padding:8px 20px;gap:8px}.preview-banner a{margin-left:auto}
 header.top .wrap{gap:12px;flex-wrap:wrap;padding-block:16px}.logo{gap:8px}.logo img{width:28px;height:28px}.logo .sub{white-space:nowrap;line-height:1.4}.top .button{padding:10px}.menu-toggle{gap:4px}
 .hero{padding-block:96px}.hero-grid{gap:48px}.hero-copy .row{display:block}.hero-photo{aspect-ratio:4/5}.hero-photo img{object-position:center}
 .stats{padding-block:64px}.stat-row{grid-template-columns:repeat(2,1fr);gap:32px}.stat:last-child{grid-column:1/-1}
 .reviews-grid,.personas,.posts,.fit{grid-template-columns:1fr;gap:40px}.review-card{gap:20px}.data-grid{gap:48px}.readout td{padding:16px 5px}.readout .src{overflow-wrap:anywhere}.readout .v{overflow-wrap:anywhere}
 .os-grid{gap:12px}.app-figure figcaption{margin-top:16px}.two{grid-template-columns:1fr}.bio-copy{gap:24px}
 .closing .row{display:grid}.footer{gap:40px 20px}.footer-brand{overflow-wrap:anywhere}.footer-note{display:grid}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep short editorial sections compact; make linked content visible at rest. */
section[aria-labelledby="reviews-h"],#insights{padding-block:clamp(72px,7vw,104px)}
section[aria-labelledby="reviews-h"] .sec-head,#insights .sec-head{margin-bottom:36px}
.review-card{padding-top:24px;border-top:1px solid rgb(246 247 243 / 30%);gap:24px}
.reviews-grid+.inline-link{margin-top:32px}
.post{display:flex;flex-direction:column;gap:20px;padding-top:24px;border-top:1px solid rgb(30 53 80 / 20%)}
.post p{color:var(--slate);font-size:var(--fs-body)}
.post-cta{margin-top:auto;padding-top:4px;font-size:var(--fs-small);font-weight:600;text-decoration:underline;text-underline-offset:5px}






/* Quiet icon controls; the full article or diagnostic item remains clickable. */
.content-icon{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:44px;height:44px;margin-top:auto;border:1px solid currentColor;border-radius:var(--radius);color:var(--primary);transition:background .15s,color .15s}
.content-icon svg{display:block;flex-shrink:0}
.dark-band .content-icon{color:var(--paper)}
.post:hover .content-icon,.post:focus-visible .content-icon{background:var(--primary);color:var(--paper)}

/* Blend the logo's white canvas into the paper-colored header. */
.logo img{mix-blend-mode:multiply}
/* Compact diagnostics: only the standalone media icon responds to hover. */








.post{position:relative}
.post h3{padding-right:58px;min-height:44px}
.post .content-icon{position:absolute;top:16px;right:0;margin:0}
/* Restore desktop navigation and close the accumulated section-padding gap. */
section[aria-labelledby="cmp-h"]{padding-bottom:48px}
section[aria-labelledby="who-h"]{padding-top:48px}
@media(min-width:900px){
 .main,.main.is-open{display:flex;position:static;padding:0;gap:18px;background:transparent}
 .main a{padding:0}
 .menu-toggle{display:none}
 .top .button{margin-left:0}
}
@media(min-width:900px) and (max-width:1150px){
 header.top .wrap{width:calc(100% - 40px);gap:12px}
 .main,.main.is-open{gap:12px}
 .main a{white-space:normal}
}

/* Optical sizing and readable secondary typography. */
.stat .n,.price,.review-card blockquote,summary,.footer-newsletter strong{font-optical-sizing:auto}
.fine,.hint,.tag,.index,figcaption,.sources,.creds,.logo .sub,.stat .l,.rating,.readout-head,.readout-foot,.prototype-notice,.form-error,.footer,.newsletter-note,.newsletter-privacy{line-height:1.5}
.inline-link{font-size:var(--fs-ui)}

/* Quiet elevation: only the designated surfaces and primary controls are raised. */
.plan,.readout,#intake-form,.table-scroll{
 background:var(--surface);border:0;border-radius:var(--radius);box-shadow:var(--shadow-1);
}
.plan.feature{background:var(--tint);border:0;box-shadow:var(--shadow-2)}
.hero-photo,.app-screen{border:0;border-radius:var(--radius);box-shadow:var(--shadow-2)}
.bio-photo{border:0;border-radius:var(--radius);box-shadow:var(--shadow-1)}
header.top{box-shadow:none;transition:box-shadow .15s ease}
header.top.is-scrolled{border-bottom:0;box-shadow:var(--shadow-1)}
.dark-band{background:var(--band-gradient)}
.button-primary{
 border:0;padding:15px 23px;box-shadow:var(--shadow-btn);
 transition:transform .15s ease,box-shadow .15s ease;
}
.button-primary:hover{border-color:transparent;box-shadow:var(--shadow-1)}
/* Light buttons on dark bands retain their flat treatment. */
.dark-band .button-primary,.dark-band .button-primary:hover{box-shadow:none}
@media(prefers-reduced-motion:no-preference){
 .button-primary:hover{transform:translateY(-1px)}
 .button-primary:active{transform:translateY(0)}
 .dark-band .button-primary:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 header.top,.button-primary{transition:none}
}

.top .button-primary{padding:11px 17px}
.dark-band .button-primary{border:1px solid var(--paper);padding:14px 22px}
@media(max-width:600px){.top .button-primary{padding:11px}}

/* Profile cards share row tracks so their starting-point labels align. */
section[aria-labelledby="who-h"] .personas{gap:20px 28px;grid-template-columns:repeat(3,minmax(0,1fr))}
section[aria-labelledby="who-h"] .persona{
 grid-row:span 4;grid-template-rows:subgrid;gap:20px;padding:32px;
 background:var(--surface);box-shadow:var(--shadow-1);border:0;border-radius:var(--radius);
}
section[aria-labelledby="who-h"] .persona p{text-wrap:pretty}
.persona-start{display:grid;gap:12px;align-content:start}
.persona-start p{font-size:var(--fs-small);line-height:1.5}
section[aria-labelledby="who-h"] .fit{
 background:var(--tint);border-radius:var(--radius);padding:32px;box-shadow:none;
}
section[aria-labelledby="who-h"] .fit article{align-content:start}
@media(max-width:800px){
 section[aria-labelledby="who-h"] .personas,section[aria-labelledby="who-h"] .fit{grid-template-columns:1fr;gap:28px}
 section[aria-labelledby="who-h"] .persona{grid-row:auto;grid-template-rows:auto}
}


/* Diagnostics: four patient-question panels with whole-row guide links. */
#diagnostics .sec-head{margin-bottom:32px}
#diagnostics .lede{color:color-mix(in srgb,var(--paper) 85%,var(--primary))}
#diagnostics .diagnostic-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
#diagnostics .diagnostic-group{padding:32px;background:rgba(255,255,255,.05);border-radius:var(--radius);border:0;box-shadow:none}
#diagnostics .diagnostic-question{font-size:var(--fs-small);color:#d5dde4;margin:12px 0 24px}
#diagnostics .diagnostic-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 16px;border-radius:var(--radius);border-top:1px solid rgba(255,255,255,.10);text-decoration:none}
#diagnostics .diagnostic-name{font:400 1.2rem/1.3 var(--serif);margin:0 0 8px;font-optical-sizing:auto}
#diagnostics .diagnostic-description{font-size:var(--fs-body);color:#d5dde4;text-wrap:pretty}
#diagnostics .diagnostic-play{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1.5px solid var(--gold);border-radius:50%;color:var(--gold);background:transparent;transition:background-color .15s,color .15s}
#diagnostics .diagnostic-play svg{width:14px;height:16px;transform:translateX(1.5px);fill:currentColor}
#diagnostics .diagnostic-row:hover .diagnostic-play,#diagnostics .diagnostic-row:focus-visible .diagnostic-play{background:var(--gold);color:var(--primary)}
#diagnostics .diagnostic-row:focus-visible{background:rgba(255,255,255,.04)}
#diagnostics .diagnostic-callout{display:flex;align-items:center;gap:16px;color:var(--paper);font-size:var(--fs-body)}
#diagnostics .diagnostic-callout .diagnostic-play{width:32px;height:32px}
@media(max-width:759px){#diagnostics .diagnostic-row .diagnostic-play{width:44px;height:44px}}
#diagnostics .diagnostic-row:hover{background:rgba(255,255,255,.04)}
#diagnostics .diagnostic-row:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.comparison-footer{display:flex;align-items:start;justify-content:space-between;gap:32px;margin-top:20px}
.comparison-footer .fine{margin:0;flex:1}
.comparison-footer .inline-link{font-weight:400;flex-shrink:0}
@media(max-width:759px){
 #diagnostics .diagnostic-groups{grid-template-columns:1fr}
 .comparison-footer{flex-direction:column;gap:16px}
}

/* Bring your data: an illustrative first read, using the existing type scale. */
#how .data-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center}
#how .sources strong,#how .first-read-footer strong{color:var(--primary)}
#how .data-nowrap,#how .data-value{white-space:nowrap}
#how .first-read{background:var(--surface);box-shadow:var(--shadow-1);border-radius:var(--radius);padding:32px;display:grid;gap:24px;min-width:0}
#how .first-read-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:16px;border-bottom:1px solid rgb(30 53 80 / 12%)}
#how .first-read-head h3{flex-shrink:0}
#how .first-read-head span{font-size:var(--fs-small);line-height:1.5;color:var(--slate)}
#how .first-read-step{display:grid;gap:10px}
#how .first-read-step>.eyebrow{color:var(--gold-ink)}
#how .brought{font-size:var(--fs-ui);color:var(--slate);margin:0}
#how .finding{display:grid;grid-template-columns:5.25rem minmax(0,1fr);gap:14px;align-items:start}
#how .finding+.finding{padding-top:14px;border-top:1px solid rgb(30 53 80 / 12%)}
#how .status-pill{justify-self:start;padding:6px 9px;border-radius:999px;font-size:var(--fs-label);font-weight:500;line-height:1;white-space:nowrap}
#how .elevated{background:#fbf1df;color:#9a5b12}
#how .pattern{background:#eaf0f5;color:var(--slate)}
#how .finding-title{font-size:var(--fs-ui);font-weight:600}
#how .data-value{font-family:var(--mono);font-size:var(--fs-small);font-weight:500}
#how .finding-detail{font-size:var(--fs-small);line-height:1.5;color:var(--slate);margin-top:4px}
#how .first-read ol{margin:0;padding-left:1.25rem;display:grid;gap:6px;font-size:var(--fs-ui)}
#how .first-read li::marker{color:var(--gold-ink);font-weight:600}
#how .first-read-footer{padding-top:16px;border-top:1px solid rgb(30 53 80 / 12%);font-size:var(--fs-small);line-height:1.5;color:var(--slate)}
@media(max-width:859px){
 #how .data-grid{grid-template-columns:1fr;gap:40px}
 #how .first-read{padding:24px}
}

/* Ground the practice numbers and bring the strip closer to the hero. */
.stats{padding-top:0;margin-top:calc(-1 * clamp(40.8px,calc(3.6vw + 1.6px),49.6px))}
.stats .stat-row{padding-block:40px;border-block:1px solid rgb(30 53 80 / 20%);gap:0}
.stats .stat{padding-inline:24px;align-content:start}
.stats .stat:first-child{padding-left:0}
.stats .stat+.stat{border-left:1px solid rgb(30 53 80 / 20%)}
.stats .stat .n{font-size:calc(var(--fs-h2) * 1.2);font-weight:400;font-variant-numeric:lining-nums tabular-nums}
.stats .stat .l{max-width:18ch;text-wrap:pretty}
@media(max-width:800px){
 .stats .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .stats .stat{padding-inline:0}
 .stats .stat+.stat{border-left:0}
 .stats .stat:last-child{grid-column:1/-1}
}
@media(max-width:600px){.stats{margin-top:-40px}}

section[aria-labelledby="who-h"] .life-stage{color:var(--gold-ink)}

/* Intake controls use native inputs with a single visible pill surface. */
#start .intake-panel{min-width:0;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:32px}
#start #intake-form{background:transparent;box-shadow:none;border:0}
#start .intake-next{display:grid;gap:16px}
#start .intake-next ol{margin:0;padding-left:1.25rem;display:grid;gap:16px;font-size:var(--fs-ui);color:var(--slate)}
#start .intake-next li::marker{color:var(--gold-ink);font-weight:600}
#start .intake-options{display:flex;flex-wrap:wrap;gap:8px}
#start .intake-options label{position:relative;cursor:pointer}
#start .intake-options input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
#start .intake-options span{display:block;padding:10px 12px;border:1px solid rgb(30 53 80 / 30%);border-radius:var(--radius);font-size:var(--fs-ui);line-height:1.5}
#start .intake-options input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--paper)}
#start .intake-options input:focus-visible+span{outline:3px solid var(--primary);outline-offset:3px}
#start .intake-options input:disabled+span{opacity:.6}
#start .field-hint{font-size:var(--fs-small);font-weight:400;color:var(--slate)}
#start input[type=tel],#start input[type=number]{display:block;width:100%;min-width:0;padding:14px;background:transparent;border:1px solid var(--slate);font:400 var(--fs-ui)/var(--lh-body) var(--sans)}
#start textarea{min-height:112px}
#start .intake-send{display:grid;gap:16px;justify-items:start}
#start .intake-send button:disabled{cursor:wait}
#start .requester-note{margin:0}
#start .intake-confirmation{display:grid;gap:24px}
#start .intake-confirmation blockquote{font:400 var(--fs-h3)/1.5 var(--serif)}
#start .intake-confirmation>p:last-child{font-size:var(--fs-ui);color:var(--slate)}
@media(max-width:859px){#start .intake{grid-template-columns:1fr}#start .intake-panel{padding:24px}}
@media(max-width:600px){#start .two{grid-template-columns:1fr}}

/* A secondary destination introducing the care model. */
.model-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px;align-items:center;margin-top:48px;padding:40px;background:var(--surface);box-shadow:var(--shadow-1);border-radius:var(--radius)}
.model-guide-copy{display:grid;gap:20px}
.model-guide-copy .eyebrow,.model-guide-number{color:var(--gold-ink)}
.model-guide-copy h3{font-size:1.75rem;font-weight:300}
.model-guide-copy h3 em{color:var(--slate)}
.model-guide-copy p{color:var(--slate)}
.model-guide-copy .button{justify-self:start}
.model-guide-copy .button:hover{background:var(--primary);border-color:var(--primary);color:var(--surface)}
.model-guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}
.model-guide-steps li{display:grid;align-content:start;gap:16px;padding:0 20px}
.model-guide-steps li:first-child{padding-left:0}
.model-guide-steps li:last-child{padding-right:0}
.model-guide-steps li+li{border-left:1px solid rgb(30 53 80 / 20%)}
.model-guide-number{font:500 var(--fs-small)/1.5 var(--sans)}
.model-guide-steps h4{font:400 1.2rem/1.3 var(--serif);margin:0;font-optical-sizing:auto}
.model-guide-steps p{font-size:var(--fs-small);color:var(--slate);text-wrap:pretty}
@media(max-width:800px){
 .model-guide{grid-template-columns:1fr;gap:32px;padding:24px}
 .model-guide-steps{grid-template-columns:1fr;gap:28px}
 .model-guide-steps li{padding:0}
 .model-guide-steps li+li{border:0}
}

/* Inline, keyboard-accessible terminology definitions. */
.glossary-term{display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:underline dotted currentColor 1px;text-underline-offset:3px;cursor:pointer}
.glossary-popover{position:fixed;z-index:100;max-width:280px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:16px;background:var(--surface);color:var(--primary);box-shadow:var(--shadow-1);border-radius:var(--radius);font:400 var(--fs-small)/1.5 var(--sans)}

/* Intake revision: rounded native choices and grouped priorities. */
#start .intake-panel{padding:40px}
#start #intake-form{gap:32px}
#start .field>label,#start .field legend{font-weight:600;font-size:var(--fs-ui)}
#start .field>label.sr-only{font-size:var(--fs-small)}
#start .intake-options span{min-height:44px;padding:9px 16px;border-radius:999px;background:var(--paper);border-color:rgb(30 53 80 / 20%)}
#start .intake-options label:hover span{border-color:var(--slate)}
#start .intake-options input:checked+span{color:var(--surface);background:var(--primary)}
#start .intake-options input[type=checkbox]:checked+span::before{content:'✓';margin-right:8px}
#start .intake-options input:focus-visible+span{outline:2px solid var(--slate);outline-offset:3px}
#start .intake-topics{gap:20px;padding-bottom:32px;border-bottom:1px solid rgb(30 53 80 / 20%)}
#start .intake-topics legend{margin-bottom:8px}
#start .topic-group{display:grid;gap:12px}
#start .topic-group .eyebrow{color:var(--gold-ink)}
#start #family-fields{background:var(--tint);border-radius:var(--radius);padding:20px}
#start input:not([type=radio]):not([type=checkbox]),#start textarea{border:1px solid rgb(30 53 80 / 20%);background:var(--paper);font-size:var(--fs-ui)}
#start input:not([type=radio]):not([type=checkbox]):focus,#start textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,53,80,.12);background:var(--surface)}
@media(max-width:859px){#start .intake-panel{padding:24px}}
@media(max-width:600px){#start .intake-send button{width:100%}}

/* Align intake choices and fields to a consistent, balanced grid. */
#start .intake-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#start .intake-options label{min-width:0;display:flex}
#start .intake-options label:last-child:nth-child(odd){grid-column:1/-1}
#start .intake-options span{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;min-height:48px;padding:11px 16px;line-height:1.4;text-wrap:balance}
#start .intake-interests span{position:relative;padding-inline:28px}
#start .intake-options input[type=checkbox]:checked+span::before{position:absolute;left:11px;margin:0;font-size:var(--fs-small)}
#start .intake-topics{gap:24px}
#start .topic-group{gap:12px}
#start .two{gap:20px;align-items:start}
#start .two>.field{gap:12px}
#start .two>fieldset.field{display:flex;flex-direction:column;gap:0}
#start .two>fieldset.field legend{margin-bottom:12px;line-height:var(--lh-body)}
#start .two>fieldset .intake-options{gap:8px}
#start .two>fieldset .intake-options span{min-height:54px}
#start input:not([type=radio]):not([type=checkbox]){min-height:54px}
#start .intake-send{justify-items:stretch;text-align:center;gap:16px}
#start .intake-send .hint{max-width:none}
#start .intake-send button{width:100%;min-height:54px}
@media(max-width:480px){
 #start .intake-options{grid-template-columns:1fr}
 #start .intake-options label:last-child:nth-child(odd){grid-column:auto}
 #start .two>fieldset .intake-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* First-read card shares the intake card's spacing and surface language. */
#how .first-read{padding:40px;gap:32px}
#how .first-read-head{gap:16px;padding-bottom:24px;border-color:rgb(30 53 80 / 20%);flex-wrap:wrap}
#how .first-read-head span{max-width:28ch}
#how .first-read-step{gap:12px}
#how .finding{grid-template-columns:84px minmax(0,1fr);gap:20px}
#how .finding+.finding{padding-top:20px;margin-top:8px;border-color:rgb(30 53 80 / 20%)}
#how .status-pill{display:flex;align-items:center;justify-content:center;width:84px;min-height:28px;padding:6px 12px;border:1px solid rgb(30 53 80 / 12%)}
#how .finding-detail{margin-top:8px;text-wrap:pretty}
#how .first-read ol{gap:12px}
#how .first-read-footer{padding-top:24px;border-color:rgb(30 53 80 / 20%)}
@media(max-width:859px){#how .first-read{padding:24px}}
@media(max-width:480px){
 #how .first-read-head{display:grid;gap:8px}
 #how .first-read-head span{max-width:none}
 #how .finding{grid-template-columns:1fr;gap:12px}
}

/* Make definitions distinct from navigation links without moving inline text. */
.glossary-term{--term-gold:#8a6a2e;--term-tint:rgba(201,164,92,.14);font-weight:500;text-decoration:underline dotted var(--term-gold);text-decoration-thickness:2px;text-underline-offset:4px;border-radius:2px;padding-inline:1px;margin-inline:-1px}
.dark-band .glossary-term{--term-gold:#c9a45c;--term-tint:rgba(201,164,92,.18)}
.glossary-term:hover,.glossary-term:focus-visible,.glossary-term[aria-expanded="true"]{text-decoration-style:solid;background:var(--term-tint)}
.glossary-term:focus-visible,.dark-band .glossary-term:focus-visible{outline:2px solid var(--term-gold);outline-offset:3px}

/* Responsive polish: keep navigation compact and avoid narrow card columns. */
@media(max-width:767px){
 header.top .wrap{flex-wrap:nowrap;gap:12px;min-height:76px;padding-block:12px}
 .top .button{padding:8px 12px;min-height:40px}
 .menu-toggle{white-space:nowrap;flex-shrink:0}
}
@media(max-width:419px){.top .button{display:none}}
section[aria-labelledby="who-h"] .persona h3{font-size:var(--fs-h3)}
@media(max-width:959px){
 section[aria-labelledby="who-h"] .personas{grid-template-columns:1fr;gap:28px}
 section[aria-labelledby="who-h"] .persona{grid-row:auto;grid-template-rows:auto}
}
@media(max-width:1023px){
 .model-guide{grid-template-columns:1fr;gap:32px}
 .model-guide-steps{grid-template-columns:1fr;gap:28px}
 .model-guide-steps li{padding:0}
 .model-guide-steps li+li{border:0}
}
#start .intake-options,#start .two>fieldset .intake-options{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px}
#start .intake-options label{display:block;flex:0 0 auto}
#start .intake-options span{width:auto;height:auto;justify-content:flex-start;text-align:left;white-space:nowrap;text-wrap:nowrap;padding:11px 16px}
#start .intake-interests span{padding-inline:28px}

/* Shared raised-card primitive for linked-page templates. */
.surface-card{background:var(--surface);box-shadow:var(--shadow-1);border-radius:var(--radius);padding:var(--card-padding);display:grid;gap:var(--question-gap)}
@media(max-width:859px){.surface-card{padding:var(--card-padding-mobile)}}

/* Legacy inbound anchors account for the shared sticky header. */
#model, #contact { scroll-margin-top: 120px; }
/* Actual sticky-header height also covers cross-page intake focus. */
[id] { scroll-margin-top:var(--anchor-offset,120px); }
#model,#contact { scroll-margin-top:var(--anchor-offset,120px); }

/* Mobile review: retain heading focus without drawing a control outline. */
#start-h:focus{outline:none}
.plan,.plan:not(.feature){padding:24px}
@media(min-width:768px){.plan,.plan:not(.feature){padding:32px}}
@media(max-width:767px){
 #membership{padding-bottom:48px}
 #portal{padding-top:48px}
}
/* Inquiry form v2: patient-first blocks, referral checkbox, select and date inputs. */
#start .intake-block{display:grid;gap:16px;margin:0;padding:0;border:0}
#start .intake-block>legend{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3,1.375rem);margin-bottom:4px}
#start input[type=date],#start select{display:block;width:100%;min-width:0;min-height:54px;padding:12px 14px;background:transparent;border:1px solid var(--slate);border-radius:0;font:400 var(--fs-ui)/var(--lh-body) var(--sans);color:inherit}
#start select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--slate) 50%),linear-gradient(135deg,var(--slate) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
#start .check-row{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:var(--fs-ui);line-height:1.5;cursor:pointer}
#start .check-row input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--primary)}
#start .check-row-strong{padding:14px 16px;border:1px solid rgb(30 53 80 / 20%);border-radius:var(--radius);background:var(--paper);font-weight:600}
#start .intake-contact{display:flex!important;flex-wrap:wrap}
#start .intake-contact label{flex:1 1 auto}

/* Compact self inquiry choices, with room for multiple selections. */
#start .intake-contact label{padding:0;min-width:0}
#start .intake-contact span{position:relative}
@media(max-width:767px){
 #start .intake-panel{padding:20px}
 #start #intake-form{gap:20px}
 #start .intake-block,#start .two{gap:12px}
 #start .two>.field{gap:6px}
 #start .field>label,#start .field legend,#start .check-row{font-size:14px}
 #start .field-hint{font-size:12px;margin-block:4px 8px}
 #start .intake-topics{gap:16px;padding-bottom:20px}
 #start .topic-group{gap:6px}
 #start .intake-options,#start .two>fieldset .intake-options{gap:6px}
 #start .intake-options span,#start .two>fieldset .intake-options span{min-height:34px;padding:7px 12px;font-size:13px;line-height:1.4}
 #start .intake-options input[type=checkbox]:checked+span::before{position:static;margin-right:5px;font-size:12px}
 #start .two>fieldset .intake-contact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 #start .intake-contact label:last-child:nth-child(odd){grid-column:auto}
 #start .intake-contact span{justify-content:center;padding-inline:5px}
 #start input:not([type=radio]):not([type=checkbox]){min-height:42px;padding:8px 10px}
 #start .intake-name-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Balanced inquiry choices: reserved check space prevents text collisions. */
#start .intake{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:48px}
#start .intake-name-row{grid-template-columns:repeat(3,minmax(0,1fr))}
#start .intake-contact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#start .intake-options label:last-child:nth-child(odd){grid-column:auto}
#start .intake-options span{position:relative;display:flex;flex:1;align-items:center;justify-content:center;white-space:normal;text-wrap:balance;border-radius:6px;padding:8px 12px;min-height:38px}
#start .intake-options input[type=checkbox]+span::before{content:'';position:static;flex:none;width:5px;height:9px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);margin:0 7px 0 0;opacity:0}
#start .intake-options input[type=checkbox]:checked+span::before{content:'';position:static;margin:0 7px 0 0;opacity:1}
#start .intake-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#start .topic-group{align-content:start;gap:10px;padding-top:16px;border-top:1px solid rgb(30 53 80 / 15%)}
#start .intake-interests{display:grid;grid-template-columns:1fr;gap:8px}
#start .intake-interests label{width:auto;display:flex}
#start .intake-interests{grid-auto-rows:1fr}
#start .intake-interests span{justify-content:flex-start;text-align:left;font-size:var(--fs-small);padding-inline:10px;line-height:1.35}
@media(max-width:1100px){#start .intake{grid-template-columns:1fr;gap:32px}#start .intake-side{max-width:640px}#start .intake-side .lede{margin-top:0}}
@media(max-width:600px){
 #start .intake-topic-grid{grid-template-columns:1fr;gap:18px}
 #start .intake-options span{min-height:34px;font-size:13px;padding:7px 8px}
 #start .intake-contact span{padding-inline:6px;font-size:12px;white-space:nowrap}
 #start .intake-name-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 #start .intake-dob{grid-column:1/-1}
 #start .intake-interests{grid-template-columns:repeat(2,minmax(0,1fr))}
 #start .topic-group{padding-top:12px;gap:8px}
}

/* Final intake order: story, priorities, then identity and contact details. */
#start .intake-divider{border-top:1px solid rgb(30 53 80 / 20%)}
#start .intake-topics{padding-bottom:0;border-bottom:0}
#start .intake-send{padding-top:24px;border-top:1px solid rgb(30 53 80 / 20%)}
#start [aria-invalid=true]:not([type=checkbox]),#start .intake-options input[aria-invalid=true]+span{border-color:#9B2C2C;box-shadow:0 0 0 1px #9B2C2C}
#start .field-error{color:#9B2C2C;font-size:var(--fs-small);margin-top:6px}
@media(max-width:600px){#start .intake-name-row,#start .intake-interests{grid-template-columns:1fr}#start .intake-dob{grid-column:auto}}

/* Shared assessment copy uses the existing card and disclosure styles on both pages. */
.assessment-testing{margin-top:32px}
.assessment-testing p{margin:0;color:var(--slate)}
.assessment-testing .eyebrow{color:var(--gold-ink)}
.assessment-testing h3{margin:12px 0 0}
.assessment-labs{border-block:1px solid var(--line)}
.assessment-labs ul{padding:0 0 24px 24px;color:var(--slate)}
.assessment-labs li+li{margin-top:8px}
.assessment-optional{display:grid;gap:12px}
.baseline-hero-panel .assessment-inclusions{margin:24px 0}
.baseline-includes .baseline-step-grid{margin-top:32px}
