/* Inner pages (couples, blog, availability, privacy, 404). Loaded after styles.css and
   built from the same tokens, type, and components as the homepage. */
.page-hero{position:relative;padding-top:190px;padding-bottom:84px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#efece2 0%,var(--paper) 100%)}
.page-hero .eyebrow{color:#526348}
.page-hero h1{font-size:clamp(54px,6.4vw,96px);line-height:.98;letter-spacing:-.035em;margin-top:22px;max-width:14ch}
.page-hero h1 em{color:#526348}
.page-lede{margin-top:28px;font-size:16px;line-height:1.85;color:#3f5040;max-width:600px}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 30px;margin-top:32px}
.page-fine{margin-top:22px;font-size:12px;color:var(--muted)}
.page-fine a,.page-body a:not(.button):not(.text-link):not(.post-card),.card-list a{text-decoration:underline;text-underline-offset:3px}
.page-body{padding-block:80px 110px}
.page-body>.section-heading{margin-bottom:34px}
.page-body h2{font-size:clamp(38px,3.8vw,54px)}

/* Couples enrollment */
.enroll-tip{font-family:var(--serif);font-size:26px;line-height:1.3;letter-spacing:-.015em;max-width:30ch;margin-bottom:34px}
.enroll-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px}
.enroll-step{border:1px solid #d9dccf;border-radius:var(--radius);background:#fafaf5;padding:34px 34px 30px;display:flex;flex-direction:column;gap:14px}
.enroll-step .step-number{font-size:10px;font-weight:600;letter-spacing:.14em;color:#647557}
.enroll-step h2{font-size:40px}
.enroll-step p{font-size:14px;line-height:1.8;color:var(--muted);flex:1}
.enroll-step .button{align-self:flex-start;margin-top:6px}
.promo{max-width:980px;margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:20px 24px;border-radius:14px;background:var(--forest);color:#f4f3e8;font-size:14px}
.promo code{font-family:var(--sans);font-weight:600;letter-spacing:.12em;font-size:15px;background:#f2f0e4;color:var(--ink);padding:6px 12px;border-radius:8px}
.enroll-fine{margin-top:20px;font-size:13px;color:var(--muted)}
.enroll-fine a{text-decoration:underline;text-underline-offset:3px}

/* Cards shared by education and 404 */
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px}
.info-card{border:1px solid #d9dccf;border-radius:var(--radius);background:#fafaf5;padding:32px}
.info-card .eyebrow{color:#647557}
.info-card h3{font-size:34px;margin-top:12px}
.card-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;font-size:14px;color:var(--muted)}
.card-list li{display:flex;gap:10px;align-items:flex-start}
.card-list .icon{width:16px;height:20px;color:#7c8b69}
.info-card .button,.info-card .text-link{margin-top:22px}

/* Blog listing */
.post-list{display:grid;gap:18px;max-width:860px}
.post-card{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;border:1px solid #d9dccf;border-radius:var(--radius);background:#fafaf5;padding:22px;transition:background-color .22s,border-color .22s}
.post-card:hover{background:#fffef8;border-color:#b9c2ab}
.post-card img{width:100%;height:200px;object-fit:cover;object-position:center 40%;border-radius:90px 90px 8px 8px}
.post-card time{font-size:10px;font-weight:600;letter-spacing:.14em;color:#647557}
.post-card h3{font-size:36px;margin-top:10px}
.post-card p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}
.post-card .text-link{margin-top:6px}

/* Blog post */
.post-hero{padding-bottom:60px}
.post-hero h1{max-width:16ch;font-size:clamp(48px,5.6vw,84px)}
.back-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;min-height:44px}
.back-link .icon{transform:scaleX(-1);width:17px}
.post-meta{display:flex;align-items:center;gap:16px;margin-top:30px}
.post-meta img{width:56px;height:62px;object-fit:cover;border-radius:28px 28px 6px 6px}
.post-meta strong{display:block;font-size:14px;font-weight:600}
.post-meta span{font-size:12px;color:var(--muted)}
.post-layout{padding-block:70px 40px}
.post-body{max-width:680px}
.post-body p{font-size:17px;line-height:1.85;color:#3f4d40}
.post-body p+p{margin-top:20px}
.post-body h2{font-size:clamp(34px,3.2vw,44px);margin-top:56px;margin-bottom:18px}
.post-figure{margin:44px 0}
.post-figure img{width:100%;border-radius:220px 220px 12px 12px;max-height:620px;object-fit:cover;object-position:center 42%}
.post-figure figcaption{font-size:12px;color:var(--muted);margin-top:12px}
.post-signoff{font-family:var(--serif);font-size:30px!important;line-height:1.2!important;letter-spacing:-.02em;color:var(--ink)!important;margin-top:44px!important}
.post-disclaimer{font-size:13px!important;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:20px;margin-top:34px!important}
.post-cta{margin-block:40px 110px;max-width:860px;border-radius:var(--radius);background:var(--forest);color:#f4f3e8;padding:44px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.post-cta .eyebrow{color:#ccd4bb}
.post-cta h2{font-size:clamp(36px,3.6vw,50px);margin-top:14px;max-width:16ch}
.post-cta p{font-size:13px;color:#d3d8c9;margin-top:14px;max-width:420px;line-height:1.8}

.nav-current{text-decoration:underline;text-underline-offset:6px}

@media(max-width:850px){
 .page-hero{padding-top:160px;padding-bottom:64px}
 .enroll-steps,.card-grid{grid-template-columns:1fr}
 .post-card{grid-template-columns:130px 1fr;gap:22px}
 .post-card img{height:150px}
}
@media(max-width:640px){
 .page-hero{padding-top:130px;padding-bottom:52px}
 .page-hero h1{font-size:clamp(46px,12.5vw,64px)}
 .post-hero h1{font-size:clamp(40px,11vw,56px)}
 .page-lede{font-size:15px}
 .page-body{padding-block:56px 80px}
 .enroll-tip{font-size:22px}
 .enroll-step{padding:26px 22px}
 .enroll-step h2{font-size:34px}
 .info-card{padding:26px 22px}
 .post-card{grid-template-columns:1fr;padding:16px}
 .post-card img{height:220px}
 .post-card h3{font-size:30px}
 .post-body p{font-size:16px}
 .post-figure img{border-radius:160px 160px 10px 10px}
 .post-cta{padding:30px 24px;margin-bottom:70px}
}
.page-body a.post-card{text-decoration:none}.post-card:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
/* Providers & states */
.provider-list{max-width:860px;border-top:1px solid var(--line)}
.provider{border-bottom:1px solid var(--line)}
.provider summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4px;cursor:pointer;min-height:56px}
.provider summary::-webkit-details-marker{display:none}
.provider summary strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.02em}
.provider-count{font-size:12px;color:var(--muted)}
.provider summary>span[aria-hidden]{font-size:20px;transition:transform .2s}
.provider[open] summary>span[aria-hidden]{transform:rotate(45deg)}
.provider p{padding:0 4px 22px;font-size:13px;line-height:1.9;color:var(--muted)}
.states{padding-top:0}
.states-label{display:flex;align-items:center;gap:10px;font-size:26px;margin:34px 0 16px}
.dot{width:8px;height:8px;border-radius:50%;background:#b9bfab}
.dot-on{background:#4f6b45;box-shadow:0 0 0 4px #6e7e5920}
.state-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:980px}
.state-grid li{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #d9dccf;border-radius:10px;background:#fafaf5;font-size:13px}
.state-grid .icon{width:15px;height:15px;color:#6f845b}
.state-grid-off li{background:#ecebe2;color:#6c7567}
@media(max-width:850px){.state-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.state-grid{grid-template-columns:repeat(2,1fr)}.provider summary strong{font-size:22px}}
.legal-links a{padding:6px 0;font-size:10px;color:#4b5a45;border-bottom:1px solid transparent;min-height:32px;display:inline-flex;align-items:center}
.legal-links a:hover{border-color:currentColor}
/* Legal pages */
.legal-hero{padding-bottom:56px}
.legal-page{max-width:760px}
.legal-page h2{font-size:clamp(30px,2.8vw,40px);margin-top:52px;margin-bottom:14px}
.legal-page h3{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:0;margin-top:26px}
.legal-page p,.legal-page li{font-size:15px;line-height:1.85;color:#3f4d40}
.legal-page p{margin-top:14px}
.legal-page ul{padding-left:20px;margin:14px 0 0}
.legal-page li+li{margin-top:8px}
.legal-page strong{color:var(--ink)}
.legal-effective{font-size:13px!important;color:var(--muted)!important}
.legal-callout{border:1px solid #cbd2bf;background:#eeeee3;border-radius:12px;padding:18px 20px;margin-top:0!important}
.states-fine{margin-top:22px}
h2.states-label{font-size:30px;margin-top:0}
@media(max-width:640px){.legal-page p,.legal-page li{font-size:14px}}

/* ---- TRT information page (/trt/) ---- */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.trt-hero h1{max-width:17ch}
.trt-subtitle{font-family:var(--serif);font-size:clamp(26px,2.4vw,34px);line-height:1.2;letter-spacing:-.02em;margin-top:22px;max-width:30ch}
.trt-guide{margin-top:26px;max-width:620px;border:1px solid #d9dccf;border-radius:16px;background:#fafaf5c9;padding:20px 24px}
.trt-guide-label{font-size:14px;font-weight:600}
.trt-guide-list{grid-template-columns:1fr 1fr;gap:8px 22px;margin-top:12px;color:#3f5040}
.trt-belief{margin-top:22px}
.trt-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:70px;padding-block:70px 110px;align-items:start}
.trt-toc{position:sticky;top:110px;border-left:2px solid #a4b48e;padding-left:18px}
.trt-toc .eyebrow{color:#647557}
.trt-toc ol{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:4px}
.trt-toc a{display:block;padding:6px 0;font-size:13px;line-height:1.4;color:#3f5040}
.trt-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.trt-body{max-width:720px}
.trt-body>section{scroll-margin-top:100px}
.trt-body>section+section{margin-top:64px;padding-top:56px;border-top:1px solid var(--line)}
.trt-body h2{font-size:clamp(36px,3.4vw,50px)}
.trt-body h3{font-size:clamp(26px,2.2vw,32px);margin-top:34px;margin-bottom:12px}
.trt-body h2+h3{margin-top:22px}
.trt-body p,.trt-body li{font-size:16px;line-height:1.85;color:#3f4d40}
.trt-body p{margin-top:14px}
.trt-body strong{color:var(--ink)}
.trt-body ul{padding-left:22px;margin:12px 0 0}
.trt-body ul li::marker{color:#7c8b69}
.trt-body li+li{margin-top:4px}
.trt-body a:not(.button){text-decoration:underline;text-underline-offset:3px}
.cite{font-size:.68em;line-height:0;margin-left:2px;color:#647557;white-space:nowrap}
.cite a{text-decoration:none!important;padding:0 1px}
.cite a:hover{text-decoration:underline!important}
.trt-steps{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px;counter-reset:step}
.trt-steps li{counter-increment:step;position:relative;border:1px solid #d9dccf;border-radius:16px;background:#fafaf5;padding:18px 20px 18px 66px;margin:0!important}
.trt-steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:20px;top:17px;font-family:var(--serif);font-size:26px;line-height:1;color:#738064}
.trt-steps strong{display:block;font-size:16px}
.trt-steps span{display:block;font-size:15px;color:var(--muted);margin-top:4px}
.trt-table-wrap{margin-top:20px;border:1px solid #d9dccf;border-radius:16px;overflow:hidden;background:#fafaf5}
.trt-table{width:100%;border-collapse:collapse;font-size:15px}
.trt-table th,.trt-table td{text-align:left;vertical-align:top;padding:16px 20px;border-top:1px solid #e3e5da;line-height:1.7}
.trt-table thead th{border-top:0;background:#edeee6;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#647557}
.trt-table tbody th{width:32%;font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.015em;line-height:1.2;color:var(--ink)}
.trt-table td{color:#3f4d40}
.trt-faqs{margin-top:22px}
.trt-faqs summary{font-size:16px!important}
.trt-faq-answer{padding-bottom:20px;max-width:620px}
.trt-faq-answer p{margin:0 0 10px!important;padding:0!important;font-size:15px!important;color:#3f4d40!important}
.trt-next{border-radius:var(--radius);background:var(--forest);color:#f4f3e8;padding:44px;border-top:0!important}
.trt-next .eyebrow{color:#ccd4bb}
.trt-next h2{margin-top:14px;max-width:16ch;color:#f8f7f2}
.trt-next h2 em{color:#d1dbb8}
.trt-next p,.trt-next li{color:#dfe4d6}
.trt-next ol{padding-left:22px;margin:10px 0 0}
.trt-next .button{margin-top:26px}
.trt-next .trt-more{font-size:13px;color:#ccd4bb}
.trt-next .trt-more a{color:#f4f3e8}
.trt-disclaimer{margin-top:28px!important;font-size:14px!important;color:var(--muted)!important}
.trt-sources ol{padding-left:22px;margin:16px 0 0}
.trt-sources li{font-size:14px;line-height:1.75;scroll-margin-top:110px;padding:4px 0;border-radius:8px}
.trt-sources li:target{background:#e8ecdf;outline:6px solid #e8ecdf}
.trt-sources a{word-break:break-word}
@media(max-width:850px){
 .trt-layout{grid-template-columns:1fr;gap:34px;padding-top:44px}
 .trt-toc{position:static;border-left:0;padding:20px;border:1px solid #d9dccf;border-radius:16px;background:#fafaf5}
 .trt-toc ol{display:flex;flex-wrap:wrap;gap:8px}
 .trt-toc a{padding:8px 13px;border:1px solid #cbd2bf;border-radius:30px;font-size:12px;background:#f8f7f2}
}
@media(max-width:640px){
 .trt-guide{padding:18px}
 .trt-guide-list{grid-template-columns:1fr}
 .trt-body p,.trt-body li{font-size:15px}
 .trt-steps li{padding:16px 16px 16px 56px}
 .trt-steps li::before{left:16px;font-size:22px}
 .trt-table thead{display:none}
 .trt-table,.trt-table tbody,.trt-table tr,.trt-table th,.trt-table td{display:block;width:100%}
 .trt-table tr+tr{border-top:1px solid #e3e5da}
 .trt-table th,.trt-table td{border-top:0;padding:14px 18px 0}
 .trt-table td{padding-bottom:16px;font-size:14px}
 .trt-table tbody th{width:100%;font-size:21px}
 .trt-next{padding:30px 22px}
 .trt-next .button{white-space:normal;width:100%}
}
.trt-body>.trt-sources{margin-top:56px;padding-top:48px;border-top:1px solid var(--line)}

/* ---- Symptom check (/symptom-check/) ---- */
.quiz-hero{padding-bottom:52px}
.quiz-hero h1{max-width:18ch}
.quiz-wrap{padding-top:56px}
.quiz-card{max-width:760px;border:1px solid #d9dccf;border-radius:var(--radius);background:#fafaf5;padding:44px;scroll-margin-top:100px}
.quiz-step h2{font-size:clamp(32px,3.2vw,44px);margin-top:14px;outline:0}
.quiz-step>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#3f4d40;margin-top:14px;max-width:560px}
.quiz-step .eyebrow{color:#647557}
.quiz-tracks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.quiz-track{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:22px 24px;border:1px solid #cbd2bf;border-radius:16px;background:#f8f7f2;min-height:96px}
.quiz-track:hover{background:#eef0e6;border-color:#9ba695}
.quiz-track-label{font-family:var(--serif);font-size:30px;line-height:1;letter-spacing:-.02em}
.quiz-track span+span{font-size:13px;color:var(--muted)}
.quiz-fine{font-size:12px!important;color:var(--muted)!important;margin-top:18px!important}
.quiz-progress{height:4px;border-radius:4px;background:#e3e5da;overflow:hidden;margin-bottom:22px}
.quiz-progress span{display:block;height:100%;width:0;background:var(--forest);transition:width .3s}
.quiz-prompt{font-size:13px!important;color:var(--muted)!important}
.quiz-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}
.quiz-option{min-height:58px;border:1px solid #cbd2bf;border-radius:14px;background:#f8f7f2;font-size:15px;font-weight:500}
.quiz-option:hover{background:#eef0e6;border-color:#9ba695}
.quiz-option[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fffdf5}
.quiz-back{display:inline-flex;align-items:center;gap:10px;background:none;margin-top:22px;padding:0;min-height:44px;font-size:13px;color:var(--muted)}
.quiz-back .icon{transform:scaleX(-1);width:17px}
.quiz-back:hover{color:var(--ink)}
.quiz-band{color:#526348!important}
.quiz-links{font-size:14px!important}
.quiz-links a{text-decoration:underline;text-underline-offset:3px}
.lead-form{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
.lead-form h3{font-size:30px}
.lead-form>p{font-size:14px;line-height:1.8;color:#3f4d40;margin-top:10px}
.lead-hidden{position:absolute;left:-9999px}
.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.lead-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em}
.lead-field input{font:inherit;font-size:16px;font-weight:400;letter-spacing:0;color:var(--ink);background:#fff;border:1px solid #c4cdb8;border-radius:12px;padding:13px 14px;min-height:50px}
.lead-field input:focus-visible{outline:2px solid #6b7240;outline-offset:2px}
.lead-consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:12px;line-height:1.7;color:var(--muted)}
.lead-consent input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--forest)}
.lead-consent a{text-decoration:underline;text-underline-offset:3px}
.lead-form .button{margin-top:20px}
.lead-form .button:disabled{opacity:.6}
.lead-status{font-size:13px;color:#7a3d2e;margin-top:12px;min-height:1px}
.quiz-step a:not(.button):not(.text-link){text-decoration:underline;text-underline-offset:3px}
.quiz-disclaimer{max-width:760px;margin-top:22px;font-size:12px;line-height:1.8;color:var(--muted)}

/* ---- What we test (/labs/) ---- */
.labs-panel{scroll-margin-top:100px;max-width:1040px}
.labs-panel+.labs-panel{margin-top:70px;padding-top:60px;border-top:1px solid var(--line)}
.labs-panel-head .eyebrow{color:#647557}
.labs-panel-head h2{margin-top:14px}
.labs-panel-head p{margin-top:14px;font-size:15px;line-height:1.8;color:#3f4d40;max-width:620px}
.labs-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.labs-group{border:1px solid #d9dccf;border-radius:var(--radius);background:#fafaf5;padding:26px}
.labs-group h3{font-size:28px}
.labs-group dl{margin:16px 0 0;display:grid;gap:16px}
.labs-group dl>div{padding-top:14px;border-top:1px solid #e3e5da}
.labs-group dt{font-size:14px;font-weight:600;line-height:1.5}
.labs-group dd{margin:5px 0 0;font-size:13px;line-height:1.75;color:var(--muted)}
.labs-fine{margin-top:40px;max-width:640px}
@media(max-width:850px){.labs-groups{grid-template-columns:1fr}}
@media(max-width:640px){
 .quiz-card{padding:28px 20px}
 .quiz-tracks,.lead-fields{grid-template-columns:1fr}
 .quiz-options{grid-template-columns:1fr}
 .lead-form .button{width:100%;white-space:normal}
}
.labs-groups-4{grid-template-columns:repeat(2,1fr)}
.labs-more{margin-top:20px;font-size:14px;color:#3f4d40}
.labs-more a{text-decoration:underline;text-underline-offset:3px}
.labs-jump{font-size:13px}
.hrt-callout{margin-top:30px;border:1px solid #d8c9a3;background:#f6f1e3;border-radius:16px;padding:22px 24px}
.hrt-callout h3{margin-top:0!important}
@media(max-width:850px){.labs-groups-4{grid-template-columns:1fr}}
.benefit-list{list-style:none;padding:0!important;display:grid;gap:8px;margin-top:16px!important}
.benefit-list li{border:1px solid #d9dccf;border-radius:12px;background:#fafaf5;padding:12px 16px;margin:0!important}
.post-body a{text-decoration:underline;text-underline-offset:3px}
.post-further{font-size:15px!important;margin-top:28px!important;padding:18px 20px;border:1px solid #d9dccf;border-radius:14px;background:#fafaf5}
.start-wrap .intake-options{max-width:620px;margin-top:28px}
.start-wrap .page-fine{max-width:620px}
