/* Inner pages built in the 2026 design system (the short path pages).
   Load after cf-shell.css and cf.css. */

/* Opening */
.page-hero{padding-block:clamp(40px,6vw,84px) clamp(40px,5vw,68px)}
.page-hero .h1{font-size:clamp(42px,5.8vw,80px);line-height:1.01;max-width:12.5em}
.page-hero .h1 em{display:block}
.page-hero .lede{margin-top:clamp(20px,2.4vw,28px)}
.page-hero .cf-btn-row{margin-top:28px}

/* Article body */
.article h2{font-size:clamp(30px,3.3vw,44px);line-height:1.08;letter-spacing:-.01em}
.article .copy{margin-top:18px}
.article section+section{margin-top:clamp(40px,5vw,60px)}
.article .notes h2,.article .limits h2{font-family:var(--cf-sans);font-size:15.5px;font-weight:700;line-height:1.4;letter-spacing:.02em}
.source-tag{margin:0 0 12px;font-size:15.5px;font-weight:700;letter-spacing:.02em;line-height:1.4;color:var(--cf-muted)}
.interp{margin-top:30px;padding:22px 26px 24px;border-left:3px solid var(--cf-green);background:var(--cf-paper)}
.band:not(.band--stone) .interp{background:var(--cf-stone)}
.interp-label{margin:0 0 10px;font-size:15.5px;font-weight:700;letter-spacing:.02em;color:var(--cf-green)}
.interp-title{margin:0 0 10px;font-family:var(--cf-serif);font-size:clamp(24px,2.2vw,28px);line-height:1.15}
.interp p:not(.interp-label):not(.interp-title){font-size:18px;line-height:1.6}

/* Margin column: figure and fine print */
.aside-stack{display:grid;gap:32px}
.figure-link{display:block;margin:0;text-decoration:none;font-size:16px;line-height:1.4}
.figure-link img{display:block;width:100%;max-width:300px;height:auto;border:1px solid var(--cf-line);background:var(--cf-paper);margin-bottom:12px}
.figure-link strong{display:block;font-size:17px}
.figure-link .muted{display:block}
.figure-link .more{display:inline-block;margin-top:8px}

/* Three stages in order */
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);border-top:1px solid var(--cf-ink)}
.stages li{padding-top:18px}
.stages .n{display:block;font-family:var(--cf-serif);font-size:34px;line-height:1.1;color:var(--cf-green);margin-bottom:8px}
.stages .stage-label{margin:0 0 10px;font-size:15.5px;font-weight:700;letter-spacing:.02em;color:var(--cf-green)}
.stages h2,.stages h3{font-size:clamp(24px,2.2vw,28px);line-height:1.15;letter-spacing:0;margin-bottom:10px}
.stages p{font-size:17px;line-height:1.55}
.stages p+p{margin-top:12px}
.stages .say{margin-top:14px;padding-left:16px;border-left:3px solid var(--cf-green);font-family:var(--cf-serif);font-size:21px;line-height:1.3}
.stages a{display:inline-block;margin-top:12px;font-size:16.5px;font-weight:700}
.after-stages{margin-top:clamp(32px,4vw,48px)}
.plain-note{margin-top:28px;max-width:44em;font-size:17px;line-height:1.6;color:var(--cf-muted)}

/* Related links */
.related h2{font-family:var(--cf-sans);font-size:16.5px;font-weight:700;letter-spacing:.02em;line-height:1.4;color:var(--cf-green);margin:0 0 6px;text-wrap:initial}
.related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,56px);border-top:1px solid var(--cf-ink)}
.related a{display:block;padding:18px 0;border-bottom:1px solid var(--cf-line);text-decoration:none;font-family:var(--cf-serif);font-size:24px;line-height:1.2}
.related a span{display:block;font-family:var(--cf-sans);font-size:15.5px;font-weight:700;letter-spacing:.02em;line-height:1.4;color:var(--cf-muted);margin-bottom:6px}
.related a:hover{color:var(--cf-green)}

/* Where to go next */
.path-next{border-top:1px solid var(--cf-line);background:var(--cf-stone)}
.path-next .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-block:clamp(28px,4vw,44px)}
.path-next a{display:block;text-decoration:none}
.path-next a span{display:block;font-size:15.5px;font-weight:700;letter-spacing:.02em;color:var(--cf-green);margin-bottom:6px}
.path-next a strong{display:block;font-family:var(--cf-serif);font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.1}
.path-next a:hover strong{color:var(--cf-green)}
.path-next .next{text-align:right}

@media (max-width:900px){
  .stages{grid-template-columns:minmax(0,1fr);gap:0}
  .stages li{padding:20px 0 22px;border-bottom:1px solid var(--cf-line)}
  .stages li:last-child{border-bottom:0}
  .related ul{grid-template-columns:minmax(0,1fr)}
  .figure-link img{max-width:220px}
  .path-next .wrap{grid-template-columns:minmax(0,1fr)}
  .path-next .next{text-align:left}
}

/* ---------- Larger pages ---------- */
.draft-flag{display:inline-block;margin:0 0 14px;padding:6px 12px;border:1.5px dashed var(--cf-green);font-size:15.5px;line-height:1.4;color:var(--cf-green)}
.srcs{margin-top:14px;font-size:16px;line-height:1.55;color:var(--cf-muted)}
.srcs span{font-weight:700}
.srcs a{color:var(--cf-muted)}
.srcs a:hover{color:var(--cf-green)}
a.ref{font-size:.72em;font-weight:700;color:var(--cf-green);text-decoration:none;vertical-align:super;line-height:0;padding:0 1px}
a.ref:hover{text-decoration:underline}
.article h3.sub{font-size:clamp(24px,2.2vw,28px);line-height:1.15;margin-top:34px}
.source-list{margin:22px 0 0;padding-left:1.4em;font-size:17px;line-height:1.55;max-width:52em;display:grid;gap:8px}
.source-list li{scroll-margin-top:calc(var(--cf-header) + 16px)}

/* Questions */
.q-index{border-top:1px solid var(--cf-line);padding-block:clamp(28px,4vw,44px)}
.q-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px clamp(20px,3vw,40px)}
.q-index h2{font-family:var(--cf-sans);font-size:16.5px;font-weight:700;letter-spacing:.02em;line-height:1.4;color:var(--cf-green);margin:0 0 10px;text-wrap:initial}
.q-index h2 a{color:inherit;text-decoration:none}
.q-index ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:17px;line-height:1.4}
.q-index li a{text-decoration:none}
.q-index a:hover{text-decoration:underline}
.qgroup-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(28px,5vw,72px);align-items:start}
.qgroup-grid>h2{position:sticky;top:calc(var(--cf-header) + 24px)}
.qa-list{border-top:1px solid var(--cf-ink)}
.qa-list article{padding:26px 0 24px;border-bottom:1px solid var(--cf-line)}
.qa-list h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15;margin-bottom:12px}
.qa-list .copy{font-size:18px;line-height:1.6;max-width:38em}
.qa-list .copy+.copy{margin-top:14px}
.qa-related{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px;font-size:16.5px}

/* Quality guide */
.ask-list{counter-reset:ask;list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--cf-ink)}
.ask-list li{counter-increment:ask;display:grid;grid-template-columns:2.2em minmax(0,1fr);padding:16px 0;border-bottom:1px solid var(--cf-line);font-family:var(--cf-serif);font-size:clamp(20px,1.9vw,24px);line-height:1.25}
.ask-list li::before{content:counter(ask);color:var(--cf-green)}
.notes .ask-quote{font-family:var(--cf-serif);font-size:22px;line-height:1.3;color:var(--cf-ink)}

/* About */
.about-hero .spread{align-items:end}
.about-physician{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;border-top:2px solid var(--cf-ink);padding-top:20px;font-size:17px;line-height:1.55}
.about-physician img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.about-physician h2{font-size:34px;line-height:1.1;margin-bottom:4px}
.about-physician p+p{margin-top:12px}
.about-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.about-grid .copy{max-width:36em}
.about-grid .copy+.copy{margin-top:18px}

@media (max-width:900px){
  .q-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qgroup-grid,.about-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .qgroup-grid>h2{position:static}
  .about-physician{grid-template-columns:110px minmax(0,1fr);gap:18px}
}
@media (max-width:520px){
  .q-index-grid{grid-template-columns:minmax(0,1fr)}
}

/* Contact */
.contact-privacy{margin-top:28px;font-size:17px;line-height:1.55}
.contact-privacy summary{cursor:pointer;font-weight:700;padding:8px 0}
.contact-privacy p{margin-top:8px;color:var(--cf-muted)}
.contact-form form{background:var(--cf-paper);border:1px solid var(--cf-line);padding:clamp(22px,3vw,30px)}
.contact-form fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:18px}
.contact-form legend{font-family:var(--cf-serif);font-size:30px;line-height:1.1;padding:0;margin-bottom:6px}
.contact-form .contact-required,.contact-form .contact-hint{font-size:15.5px;line-height:1.5;color:var(--cf-muted)}
.contact-form .contact-hint{margin-top:6px}
.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-fields{display:flex;flex-direction:column;gap:18px}
.contact-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-field label{display:block;font-size:17px;font-weight:700;margin-bottom:8px}
.contact-field label span{font-weight:400;color:var(--cf-muted)}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;padding:12px 14px;border:1px solid var(--cf-field-line);border-radius:4px;background:var(--cf-field);color:var(--cf-ink);font:inherit;font-size:17px}
.contact-field textarea{resize:vertical;min-height:150px}
.contact-boundary{font-size:16.5px;line-height:1.55;padding:14px 16px;border-left:3px solid var(--cf-green);background:var(--cf-stone)}
.contact-submit{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;border:1.5px solid var(--cf-ink);background:var(--cf-ink);color:var(--cf-on-ink);font:inherit;font-weight:700;font-size:17px;cursor:pointer}
.contact-submit:hover{background:var(--cf-green);border-color:var(--cf-green)}
.contact-form [role=status],.contact-form [role=alert],.contact-form .contact-status{font-size:17px;font-weight:700}
@media (max-width:600px){.contact-pair{grid-template-columns:minmax(0,1fr)}}
.about-hero .h1{font-size:clamp(40px,4.6vw,66px)}

/* Jump links under a page opening */
.jump{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:30px;padding-top:18px;border-top:1px solid var(--cf-ink);font-size:17px}
.jump a{text-decoration:none;font-weight:700}
.jump a:hover{text-decoration:underline}

/* Tables on inner pages */
.cmp--two tbody th{width:22%}
.cmp--two td{width:39%}
.cmp--data{font-variant-numeric:tabular-nums}
.cmp--data td,.cmp--data tbody th{width:auto}
.article .cmp-wrap{margin-top:26px}
.article .cmp-source+.copy{margin-top:22px}

/* Concerns and detailed question lists */
.qgroup-head{position:sticky;top:calc(var(--cf-header) + 24px)}
.short-answer{font-family:var(--cf-serif);font-size:22px;line-height:1.3;color:var(--cf-green);margin-bottom:10px}
.qa-list h3.concern-question{margin-bottom:8px}
.ask-list--detail li{font-family:var(--cf-sans);font-size:17px;line-height:1.55}
.ask-list--detail li::before{font-family:var(--cf-serif);font-size:30px;line-height:1.1}
.ask-list--detail strong{display:block;font-family:var(--cf-serif);font-weight:400;font-size:clamp(22px,2vw,26px);line-height:1.2;margin-bottom:6px}
.ask-list--detail p{color:var(--cf-muted)}

/* Handouts */
.handouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px);margin-top:40px}
.handout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;align-items:start;border-top:1px solid var(--cf-ink);padding-top:22px}
.handout img{display:block;width:100%;height:auto;border:1px solid var(--cf-line);background:#fff}
.handout h3{font-size:28px;line-height:1.15;margin-bottom:10px}
.handout p{font-size:17px;line-height:1.55}
.handout .cf-btn-row{margin:16px 0 12px}

/* Start at 45 */
.age-hero .spread{align-items:end}
.byline-note{margin-top:22px;font-size:16px;line-height:1.5;color:var(--cf-muted)}
.age-aside{border-top:2px solid var(--cf-ink);padding-top:10px;font-size:17px;line-height:1.5}
.age-number{display:block;font-family:var(--cf-serif);font-size:clamp(120px,15vw,210px);line-height:.86;letter-spacing:-.03em;color:var(--cf-green);margin-bottom:14px}
.age-aside p+p{margin-top:8px;color:var(--cf-muted)}
.takeaways{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,56px);border-top:1px solid var(--cf-ink)}
.takeaways li{padding-top:16px;font-size:18px;line-height:1.45}
.plan3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:40px;border-top:1px solid var(--cf-ink)}
.plan3>div{padding-top:18px}
.plan-age{font-family:var(--cf-serif);font-size:clamp(40px,4vw,56px);line-height:1;color:var(--cf-green);margin-bottom:8px}
.plan3 h3{font-size:26px;line-height:1.15;margin-bottom:10px}
.plan3 p{font-size:17px;line-height:1.55}
.stats2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px;border-top:1px solid var(--cf-ink)}
.stats2>div{padding-top:14px;font-size:17px;line-height:1.5}
.stats2 strong{display:block;font-family:var(--cf-serif);font-weight:400;font-size:clamp(44px,4.4vw,60px);line-height:1;margin-bottom:8px}
.more-detail{margin-top:26px;border-top:1px solid var(--cf-ink);border-bottom:1px solid var(--cf-line)}
.more-detail+.more-detail{margin-top:0;border-top:0}
.more-detail summary{cursor:pointer;padding:16px 0;font-family:var(--cf-serif);font-size:clamp(21px,2vw,24px);line-height:1.25}
.more-detail summary:hover{color:var(--cf-green)}
.more-detail[open]{padding-bottom:20px}
.more-detail .copy{margin-top:14px;font-size:17px;line-height:1.6}

@media (max-width:900px){
  .qgroup-head{position:static}
  .handouts,.takeaways,.plan3{grid-template-columns:minmax(0,1fr)}
  .takeaways{gap:0}
  .takeaways li{padding:14px 0;border-bottom:1px solid var(--cf-line)}
  .plan3{gap:0}
  .plan3>div{padding:20px 0;border-bottom:1px solid var(--cf-line)}
  .handout{grid-template-columns:120px minmax(0,1fr);gap:18px}
  .age-number{font-size:120px}
}
@media (max-width:520px){
  .stats2{grid-template-columns:minmax(0,1fr);gap:0}
  .stats2>div{padding:14px 0}
}
.cmp--data tbody th{white-space:nowrap}
