/* Remaining page families share the established Planning Studio tokens. */
body.site-studio {
  --ink:var(--studio-ink); --paper:var(--studio-background); --paper-2:var(--studio-sage); --paper2:var(--studio-sage);
  --muted:var(--studio-muted); --rule:var(--studio-rule); --accent:var(--studio-forest);
  --surface-dark:var(--studio-sage); --surface-elevated:#fff; --data-grid:var(--studio-rule);
  --ink-on-dark:var(--studio-ink); --muted-on-dark:var(--studio-muted);
  --nav-hover:var(--studio-forest); --nav-cta-bg:var(--studio-forest);
  line-height:1.65;
}
.site-studio .wrap,.site-studio .wrap-wide { width:min(1184px,calc(100% - 48px)); max-width:1184px; padding-inline:0; margin-inline:auto; }
.site-studio main { overflow-wrap:break-word; }
.site-studio main :is(section,article,aside,div) { min-width:0; }
.site-studio :is(h1,h2,h3) { color:var(--studio-ink); text-wrap:balance; }
.site-studio h1 { font-size:clamp(36px,4.6vw,62px); line-height:1.08; letter-spacing:-.025em; font-weight:500; }
.site-studio h2 { line-height:1.2; }
.site-studio :is(.hero,.article-header,.article-hero,.data-hero,.manifesto-hero) { padding-block:48px 32px; }
.site-studio :is(.eyebrow,.section-label,.label,.card-kicker) { color:var(--studio-muted); font-size:12px; line-height:1.5; }
.site-studio :is(.lede,.deck) { max-width:66ch; font-size:18px; line-height:1.6; }
.site-studio :is(.primary,.button,.secondary,.btn,.pill) { min-height:48px; border-radius:4px; white-space:normal; text-align:center; }
.site-studio :is(.primary,.button.primary,.btn-primary) { background:var(--studio-forest); color:#fff; border-color:var(--studio-forest); }
.site-studio :is(.primary,.button.primary,.btn-primary):hover { background:#124938; color:#fff; }
.site-studio :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { font-family:Inter,system-ui,sans-serif; font-size:16px; min-height:48px; max-width:100%; color:var(--studio-ink); background:#fff; border-color:#80968a; }
.site-studio :is(input,select,textarea,button):focus-visible { outline:2px solid var(--studio-forest); outline-offset:3px; }
.site-studio input:is([type=checkbox],[type=radio],[type=range]) { accent-color:var(--studio-forest); }
.site-studio :is(.panel,.faq-card,.source-card,.method-card,.notice,.answer-card,.headline-stat,.component-card,.correction-card,.correction-notice) { background:var(--studio-sage); border-color:var(--studio-rule); border-radius:5px; box-shadow:none; }
.site-studio :is(.prose p,.prose li,.answer-card p,.sources li) { color:var(--studio-ink); }
.site-studio :is(.article-cta,.index-cta,.cta-panel,.product-band,.handoff-band,.newsletter-cta) { background:var(--studio-sage); color:var(--studio-ink); border-color:var(--studio-rule); }
.site-studio :is(.article-cta,.index-cta,.cta-panel,.product-panel,.handoff,.newsletter-cta) p { color:var(--studio-muted); }
.site-studio :is(.article-cta,.index-cta) a { color:var(--studio-forest); border-bottom-color:var(--studio-forest); }
.site-studio :is(.product-panel,.handoff) :is(.primary,.button.primary) { background:var(--studio-forest); color:#fff; border-color:var(--studio-forest); }
.site-studio :is(.article-cta,.index-cta) .section-label { color:var(--studio-muted); }
.site-studio :is(.table-scroll,.table-wrap,.article-table-scroll) { max-width:100%; overflow:auto; overscroll-behavior-x:contain; }
.site-studio table { font-variant-numeric:tabular-nums; }
.site-studio :is(.prose h2[id],section[id]) { scroll-margin-top:24px; }
.site-studio :is(.footer-logo span,.brand span) { color:#b46347; }
.site-studio footer { border-top:1px solid var(--studio-rule); margin-top:32px; }
.site-studio .skip-link { position:absolute; left:24px; top:-100px; z-index:100; padding:12px 18px; background:var(--studio-forest); color:#fff; }
.site-studio .skip-link:focus { top:12px; }
@media(max-width:760px) {
  .site-studio .wrap,.site-studio .wrap-wide { width:calc(100% - 40px); }
  .site-studio :is(.hero,.article-header,.article-hero,.data-hero,.manifesto-hero) { padding-block:30px 26px; }
  .site-studio :is(.lede,.deck) { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) {
  html:has(body.site-studio) { scroll-behavior:auto; }
  .site-studio *, .site-studio *::before, .site-studio *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

.site-studio .editorial-capture { background:var(--studio-sage); border-radius:5px; }
.site-studio .editorial-capture button { border-radius:4px; min-height:48px; }
