/* Planning Studio campaigns. Only the two opted-in landing pages use these rules. */
html.campaign-document { color-scheme:light; scroll-behavior:smooth; }
body.campaign-studio {
  --ink:var(--studio-ink); --paper:var(--studio-background); --paper-2:var(--studio-sage);
  --muted:var(--studio-muted); --rule:var(--studio-rule); --accent:var(--studio-forest);
  --surface-dark:var(--studio-sage); --surface-elevated:var(--studio-background);
  --ink-on-dark:var(--studio-ink); --muted-on-dark:var(--studio-muted);
  --gain:var(--studio-ink); --loss:var(--studio-ink); --data-grid:#dae3dc;
  overflow-x:visible; line-height:1.6;
}
body.campaign-studio main, body.campaign-studio section, body.campaign-studio aside,
body.campaign-studio form, body.campaign-studio .wrap, body.campaign-studio .wrap > * { min-width:0; }
body.campaign-studio h1, body.campaign-studio h2, body.campaign-studio h3,
body.campaign-studio p, body.campaign-studio a, body.campaign-studio strong { overflow-wrap:anywhere; }
body.campaign-studio [hidden] { display:none !important; }
body.campaign-studio .skip-link { position:fixed; z-index:100; top:12px; left:12px; padding:12px 18px; transform:translateY(-160%); background:var(--studio-forest); color:#fff; border-radius:4px; }
body.campaign-studio .skip-link:focus { transform:translateY(0); }
body.campaign-studio :focus-visible { outline:2px solid var(--studio-forest); outline-offset:3px; box-shadow:none; }
body.campaign-studio .nav-menu-toggle { width:44px; height:44px; border-color:var(--studio-muted); border-radius:4px; }
body.campaign-studio .nav-menu-link { min-height:44px; }
body.campaign-studio .nav-menu-panel { background:#fff; }
body.campaign-studio .hero { min-height:0; padding:52px 0 48px; border-top:0; }
body.campaign-studio .hero-inner { max-width:940px; }
body.campaign-studio .eyebrow { margin:0 0 14px; color:var(--studio-forest); font-size:11px; font-weight:700; letter-spacing:.12em; }
body.campaign-studio h1 { max-width:990px; font-size:clamp(40px,5.5vw,68px); line-height:1.08; font-weight:500; letter-spacing:-.025em; }
body.campaign-studio h2 { font-size:clamp(28px,3.2vw,42px); line-height:1.16; letter-spacing:-.015em; }
body.campaign-studio h3 { line-height:1.35; }
body.campaign-studio .lede { max-width:720px; margin-top:22px; color:var(--studio-muted); font-size:18px; line-height:1.65; }
body.campaign-studio .button-row { gap:12px; margin-top:24px; }
body.campaign-studio .primary, body.campaign-studio .secondary,
body.campaign-studio .submit, body.campaign-studio .capture-row button,
body.campaign-studio .results-capture-row button { min-height:48px; padding:12px 20px; border-radius:4px; font:600 14px/1.4 Inter,system-ui,sans-serif; text-align:center; }
body.campaign-studio .primary, body.campaign-studio .submit,
body.campaign-studio .capture-row button, body.campaign-studio .results-capture-row button { border:1px solid var(--studio-forest); background:var(--studio-forest); color:#fff; }
body.campaign-studio .secondary { border:1px solid var(--studio-muted); background:transparent; color:var(--studio-ink); }
body.campaign-studio .primary:hover, body.campaign-studio .submit:hover,
body.campaign-studio .capture-row button:hover, body.campaign-studio .results-capture-row button:hover { background:#124b3c; }
body.campaign-studio .secondary:hover { background:var(--studio-sage); }
body.campaign-studio .microtrust { max-width:none; color:var(--studio-muted); font-size:13px; font-weight:400; }
body.campaign-studio input, body.campaign-studio select { min-width:0; min-height:48px; border:1px solid var(--studio-muted); border-radius:4px; background:#fff; color:var(--studio-ink); padding:10px 12px; font:400 16px/1.4 Inter,system-ui,sans-serif; }
body.campaign-studio input:focus-visible, body.campaign-studio select:focus-visible { border-color:var(--studio-forest); outline:2px solid var(--studio-forest); outline-offset:3px; box-shadow:none; }
body.campaign-studio input::placeholder { color:var(--studio-muted); opacity:1; }
body.campaign-studio button:disabled { opacity:1; background:var(--studio-sage); border-color:var(--studio-muted); color:var(--studio-muted); cursor:default; }
body.campaign-studio button[aria-busy="true"] { cursor:wait; }
body.campaign-studio .campaign-bridges { padding:52px 0; border-top:1px solid var(--studio-rule); background:#fff; }
body.campaign-studio .campaign-bridges > .wrap > p:not(.eyebrow) { max-width:690px; margin:16px 0 0; color:var(--studio-muted); }
body.campaign-studio .campaign-bridge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; margin-top:28px; }
body.campaign-studio .campaign-bridge { min-width:0; padding:24px 0 0; border-top:1px solid var(--studio-rule); }
body.campaign-studio .campaign-bridge h3 { font:600 22px/1.35 Inter,system-ui,sans-serif; letter-spacing:-.02em; }
body.campaign-studio .campaign-bridge p { margin:12px 0; max-width:480px; color:var(--studio-muted); }
body.campaign-studio .campaign-links { display:flex; flex-wrap:wrap; gap:4px 24px; }
body.campaign-studio .campaign-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--studio-forest); font-size:14px; font-weight:600; text-underline-offset:4px; }
body.campaign-studio footer { background:#fff; color:var(--studio-muted); }
body.campaign-studio .foot-row { border-top:1px solid var(--studio-rule); }
body.campaign-studio .foot-row a { text-underline-offset:3px; }
body.campaign-studio .foot-row a:hover { text-decoration:underline; }

body.feel-behind-studio .calc-band { padding:38px 0 48px; border-block:1px solid var(--studio-rule); scroll-margin-top:24px; }
body.feel-behind-studio .calc-heading { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:42px; align-items:end; margin-bottom:30px; }
body.feel-behind-studio .calc-heading h2 { max-width:530px; }
body.feel-behind-studio .calc-heading p { font-size:15px; }
body.feel-behind-studio .calc-grid { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:32px; }
body.feel-behind-studio .input-panel, body.feel-behind-studio .result-panel { min-width:0; border:0; border-radius:0; padding:28px; background:#fff; }
body.feel-behind-studio .input-panel { gap:20px; }
body.feel-behind-studio .field-grid { grid-template-columns:1fr; gap:20px; }
body.feel-behind-studio .field label { margin-bottom:8px; color:var(--studio-ink); text-transform:none; letter-spacing:0; font-size:14px; font-weight:600; }
body.feel-behind-studio .field input, body.feel-behind-studio .field select { width:100%; }
body.feel-behind-studio .helper, body.feel-behind-studio .assumption { color:var(--studio-muted); font-size:13px; line-height:1.55; }
body.feel-behind-studio .result-panel > h2 { font:500 clamp(24px,2.5vw,32px)/1.3 Inter,system-ui,sans-serif; letter-spacing:-.025em; }
body.feel-behind-studio .result-empty { max-width:440px; margin:16px 0 0; font-size:16px; }
/* Keep each runtime .is-visible gate in the owning HTML; no display overrides here. */
body.feel-behind-studio .result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
body.feel-behind-studio .metric { min-width:0; min-height:0; justify-content:start; gap:12px; border:0; border-top:1px solid var(--studio-rule); border-radius:0; background:transparent; padding:20px 0; }
body.feel-behind-studio .metric span { color:var(--studio-muted); font-size:11px; letter-spacing:.08em; font-weight:600; }
body.feel-behind-studio #coverageMetric { grid-column:1/-1; padding:24px; border:0; background:var(--studio-sage); }
body.feel-behind-studio #coverageMetric strong { color:var(--studio-ink); font:500 clamp(48px,5vw,66px)/1.1 Inter,system-ui,sans-serif; letter-spacing:-.035em; }
body.feel-behind-studio .metric:not(#coverageMetric) strong { color:var(--studio-ink); font:500 clamp(22px,2.6vw,30px)/1.3 Inter,system-ui,sans-serif; letter-spacing:-.02em; }
body.feel-behind-studio #gapMetric strong { color:var(--studio-ink); font:500 24px/1.3 Inter,system-ui,sans-serif; }
body.feel-behind-studio #shortfallMetric { grid-column:1/-1; }
body.feel-behind-studio .metric.full { grid-column:1/-1; }
body.feel-behind-studio .bar-row span { font-size:11px; text-transform:none; letter-spacing:0; }
body.feel-behind-studio .bar-row b { font-weight:600; }
body.feel-behind-studio .bar-track { height:8px; border-radius:2px; }
body.feel-behind-studio .bar-fill { border-radius:2px; background:var(--studio-forest); }
body.feel-behind-studio .bar-fill.resources { background:var(--studio-ink); }
body.feel-behind-studio .verdict { border:0; border-left:3px solid var(--studio-forest); border-radius:0; background:var(--studio-sage); color:var(--studio-ink); padding:16px; }
body.feel-behind-studio .verdict strong { color:var(--studio-ink); }
body.feel-behind-studio .capture, body.feel-behind-studio .share-controls { margin-top:24px; padding-top:24px; border-color:var(--studio-rule); }
body.feel-behind-studio .capture h3 { color:var(--studio-ink); font-size:18px; font-weight:600; }
body.feel-behind-studio .capture-row { grid-template-columns:1fr; gap:10px; }
body.feel-behind-studio .capture-row input { width:100%; }
/* The existing failure handler writes a dark-theme inline color; preserve the script. */
body.feel-behind-studio #captureFeedback:not(.is-success) { color:#a13b2f !important; }
body.feel-behind-studio #captureFeedback.is-success { color:var(--studio-ink); }
body.feel-behind-studio .education, body.feel-behind-studio .editorial-band,
body.feel-behind-studio .faq, body.feel-behind-studio .trust { padding:52px 0; }
body.feel-behind-studio .answer-grid, body.feel-behind-studio .editorial-grid,
body.feel-behind-studio .trust-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
body.feel-behind-studio .answer-copy p, body.feel-behind-studio .editorial-copy p { font-size:16px; line-height:1.7; }
body.feel-behind-studio .reading-grid { gap:24px; margin-top:28px; }
body.feel-behind-studio .reading-card { min-height:0; border:0; border-top:1px solid var(--studio-muted); background:transparent; padding:20px 0 12px; }
body.feel-behind-studio .reading-card strong { font:500 23px/1.35 Inter,system-ui,sans-serif; letter-spacing:-.025em; }
body.feel-behind-studio .reading-card:hover strong { text-decoration:underline; text-underline-offset:4px; }
body.feel-behind-studio .faq-item { gap:32px; }
body.feel-behind-studio .faq-item h3 { font-weight:600; line-height:1.5; }
body.feel-behind-studio .trust { padding-top:0; }

body.the-gap-studio .hero { max-width:1184px; }
body.the-gap-studio .chart-band { padding:44px 0; border-block:1px solid var(--studio-rule); }
body.the-gap-studio .chart-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; }
body.the-gap-studio .chart-grid h2 { max-width:520px; }
body.the-gap-studio .rate-chart { min-width:0; min-height:370px; padding:28px; gap:20px; border:0; border-radius:0; background:#fff; }
body.the-gap-studio .rate-bar { height:auto; gap:12px; align-content:end; grid-template-rows:auto auto 110px; }
body.the-gap-studio .rate-bar::before { min-height:0; background:var(--studio-forest); border-radius:2px 2px 0 0; }
body.the-gap-studio .rate-bar strong { color:var(--studio-ink); font-size:clamp(26px,3vw,40px); font-weight:500; letter-spacing:-.035em; white-space:nowrap; }
body.the-gap-studio .rate-bar span { color:var(--studio-muted); font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; line-height:1.5; }
body.the-gap-studio .rate-bar .rate-period { display:block; margin-top:6px; font-size:12px; }
body.the-gap-studio .source-note { font-size:13px; line-height:1.6; }
body.the-gap-studio .source-note a { text-underline-offset:3px; }
body.the-gap-studio .explain, body.the-gap-studio .proof, body.the-gap-studio .faq { padding:52px 0; }
body.the-gap-studio .split { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:48px; }
body.the-gap-studio .split > div > p:not(.eyebrow) { max-width:650px; line-height:1.7; }
body.the-gap-studio .cta-panel { padding:28px; border:0; border-radius:0; background:var(--studio-sage); }
body.the-gap-studio #capture-title { font:500 26px/1.3 Inter,system-ui,sans-serif; letter-spacing:-.02em; }
body.the-gap-studio .results-capture-headline { font-size:16px; font-weight:600; }
body.the-gap-studio .results-capture-row { grid-template-columns:1fr; }
body.the-gap-studio .results-capture-row input { width:100%; }
body.the-gap-studio .results-capture-error { color:#a13b2f; }
body.the-gap-studio .results-capture-confirm { color:var(--studio-ink); }
body.the-gap-studio .proof { padding-top:0; }
body.the-gap-studio .proof > .wrap > p:not(.eyebrow) { max-width:760px; }
body.the-gap-studio .proof-strip { gap:24px; margin-top:28px; }
body.the-gap-studio .proof-card { min-width:0; padding:24px 0; border:0; border-top:1px solid var(--studio-rule); border-radius:0; background:transparent; }
body.the-gap-studio .proof-card strong { font-size:clamp(26px,3.5vw,42px); font-weight:500; line-height:1.2; letter-spacing:-.025em; }
body.the-gap-studio .proof-card:last-child strong { font-size:24px; }
body.the-gap-studio .faq { background:var(--studio-sage); }
body.the-gap-studio .faq-grid { gap:12px 36px; margin-top:28px; }
body.the-gap-studio .faq-card { border:0; border-top:1px solid var(--studio-rule); border-radius:0; padding:24px 0 8px; background:transparent; }
body.the-gap-studio .faq-card h3 { font:600 18px/1.4 Inter,system-ui,sans-serif; }

@media(max-width:1000px) {
  body.feel-behind-studio .calc-grid { gap:24px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  body.feel-behind-studio .input-panel, body.feel-behind-studio .result-panel { padding:22px; }
  body.the-gap-studio .chart-grid, body.the-gap-studio .split { gap:28px; }
  body.the-gap-studio .rate-chart { padding:20px; gap:14px; }
}
@media(max-width:900px) {
  body.feel-behind-studio .calc-grid, body.feel-behind-studio .calc-heading,
  body.feel-behind-studio .answer-grid, body.feel-behind-studio .editorial-grid,
  body.feel-behind-studio .trust-grid, body.the-gap-studio .chart-grid,
  body.the-gap-studio .split { grid-template-columns:1fr; gap:24px; }
  body.feel-behind-studio .field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.the-gap-studio .rate-chart { max-width:600px; width:100%; padding:28px; }
  body.the-gap-studio .rate-bar strong { font-size:36px; }
  body.the-gap-studio .cta-panel { max-width:600px; }
}
@media(max-width:760px) {
  body.campaign-studio .hero { padding:36px 0; }
  body.campaign-studio h1 { font-size:clamp(38px,7.5vw,52px); line-height:1.12; }
  body.campaign-studio h2 { font-size:30px; }
  body.campaign-studio .lede { font-size:17px; }
  body.campaign-studio .campaign-bridges { padding:38px 0; }
  body.campaign-studio .campaign-bridge-grid { grid-template-columns:1fr; gap:16px; margin-top:24px; }
  body.campaign-studio .campaign-links { gap:4px 20px; }
  body.feel-behind-studio .calc-band, body.feel-behind-studio .education,
  body.feel-behind-studio .editorial-band, body.feel-behind-studio .faq,
  body.the-gap-studio .chart-band, body.the-gap-studio .explain,
  body.the-gap-studio .faq { padding:36px 0; }
  body.the-gap-studio .proof { padding:0 0 36px; }
  body.the-gap-studio .faq-grid, body.the-gap-studio .proof-strip { grid-template-columns:1fr; }
}
@media(max-width:520px) {
  body.campaign-studio .wrap { width:calc(100% - 32px); }
  body.campaign-studio .primary, body.campaign-studio .secondary { flex:1 1 100%; }
  body.campaign-studio .hero h1 { font-size:38px; }
  body.feel-behind-studio .input-panel, body.feel-behind-studio .result-panel { padding:20px 16px; }
  body.feel-behind-studio .field-grid, body.feel-behind-studio .result-grid { grid-template-columns:1fr; }
  body.feel-behind-studio #coverageMetric { padding:20px 16px; }
  body.feel-behind-studio .bar-row span { flex-wrap:wrap; gap:2px 10px; }
  body.feel-behind-studio .share-controls .secondary { width:100%; }
  body.the-gap-studio .rate-chart { min-height:0; padding:20px 16px; gap:12px; }
  body.the-gap-studio .rate-bar { grid-template-rows:auto auto 124px; }
  body.the-gap-studio .rate-bar::before { height:calc(var(--bar) * .8); }
  body.the-gap-studio .rate-bar strong { font-size:26px; }
  body.the-gap-studio .cta-panel { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) {
  html.campaign-document { scroll-behavior:auto; }
  body.campaign-studio *, body.campaign-studio *::before, body.campaign-studio *::after { animation:none !important; transition:none !important; }
}
