/* Shared shell, fonts and colors remain in public.css / admin.css. */
.seo-crumbs ol{display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;padding:0;margin:0 0 32px;font-size:13px;color:var(--public-muted)}
.seo-crumbs li+li:before{content:"/";margin-right:14px;opacity:.5}
.seo-crumbs a{color:inherit}
.seo-hub-head{max-width:760px;margin:0 0 54px}
.seo-hub-head h1{font-size:clamp(38px,5vw,64px);line-height:1.06;letter-spacing:-.04em;text-wrap:balance}
.seo-hub-head .lead{max-width:48ch}
.seo-list{border-top:1px solid var(--public-line)}
.seo-teaser{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:36px 0;border-bottom:1px solid var(--public-line)}
.seo-teaser h2{max-width:28ch;font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.03em;margin:8px 0 14px}
.seo-teaser h2 a{color:inherit;text-decoration:none}
.seo-teaser h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.seo-teaser p{max-width:60ch;line-height:1.7}
.seo-read{white-space:nowrap;font-weight:750;color:var(--public-green)}
.seo-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:52px;align-items:center;margin-bottom:64px}
.seo-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.seo-hero img{display:block;width:100%;height:auto;border-radius:22px;background:#e6eddb}
.seo-byline{font-size:13px;color:var(--public-muted);margin-top:22px}
.seo-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:64px;align-items:start}
.seo-toc{position:sticky;top:28px;font-size:14px;line-height:1.6}
.seo-toc ol{padding-left:20px;display:grid;gap:14px;margin-top:18px}
.seo-toc a{color:var(--public-muted);text-decoration:none}
.seo-toc a:hover{text-decoration:underline}
.seo-prose{min-width:0;max-width:68ch;font-size:17px;line-height:1.8}
.seo-prose section{scroll-margin-top:28px;margin:0 0 48px}
.seo-prose h2{font-size:clamp(25px,3vw,32px);line-height:1.25;letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}
.seo-prose p{margin:0 0 20px}
.seo-prose li{margin-bottom:12px}
.seo-prose a,.seo-related a{color:var(--public-green);text-underline-offset:3px}
.seo-table-wrap{overflow:auto}
.seo-prose table{border-collapse:collapse;font-size:14px;line-height:1.6;width:100%;min-width:520px}
.seo-prose caption{text-align:left;font-weight:750;margin-bottom:12px}
.seo-prose th,.seo-prose td{border-bottom:1px solid var(--public-line);padding:14px 12px;text-align:left;vertical-align:top}
.seo-prose thead{background:#e6eddb}
.seo-related{border-top:1px solid var(--public-line);padding-top:28px;margin-top:12px;max-width:760px}
.seo-related ul{line-height:1.7;display:grid;gap:12px;padding-left:20px}
.seo-cta{background:#e6eddb;border-radius:22px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:56px}
.seo-cta h2{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:0 0 10px}
.seo-cta p{margin:0;max-width:50ch;line-height:1.7}
.seo-cta .btn{flex-shrink:0}
.campaign-head{display:grid;grid-template-columns:1fr minmax(220px,320px);gap:40px;align-items:center;padding:16px 0 32px}
.campaign-head h1{font-size:clamp(32px,4vw,46px);line-height:1.12;letter-spacing:-.035em;margin:8px 0 14px}
.campaign-goal{display:grid;gap:8px}
.campaign-goal strong{font-size:56px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.campaign-goal strong span{font-size:28px;color:#65745c}
.campaign-goal progress{display:block;width:100%;height:12px;accent-color:#354f27;margin-top:12px}
.campaign-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:28px 0;border-block:1px solid #d8decf}
.campaign-metrics dt{font-size:14px;color:#55614e}.campaign-metrics dd{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;margin:8px 0 0}
.campaign-note{font-size:14px;line-height:1.7;max-width:85ch;color:#55614e}
.campaign-section{margin-top:44px}
.campaign-section>p{max-width:80ch;line-height:1.7}
.campaign-section h2{font-size:24px;letter-spacing:-.025em}
.campaign-empty{background:#e6eddb;padding:26px;border-radius:16px;margin-top:24px}
.campaign-empty h3{margin-top:0}.campaign-empty p{line-height:1.7}
.campaign-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,210px) minmax(150px,210px) auto;align-items:end;gap:20px;padding:24px 0;border-bottom:1px solid #d8decf}
.campaign-row h3{font-size:17px;margin:0 0 6px;overflow-wrap:anywhere}
.campaign-row p{font-size:13px;margin:0}
.campaign-row label{display:grid;gap:8px;font-size:13px}
.campaign-row select{max-width:100%;min-width:0;padding:10px;background:#fff;border:1px solid #cdd4c5;border-radius:8px;font:inherit}
.campaign-channels{list-style:none;padding:0;max-width:640px}
.campaign-channels li{display:flex;justify-content:space-between;border-bottom:1px solid #d8decf;padding:12px 0;gap:20px}
.campaign-plan{padding-left:22px;max-width:85ch;line-height:1.7}
.campaign-plan li{margin-bottom:22px;padding-left:8px}.campaign-plan span{display:block;margin-top:6px}
@media(max-width:1000px){.seo-layout{grid-template-columns:210px minmax(0,1fr);gap:36px}.seo-hero{gap:28px}.campaign-row{grid-template-columns:1fr 1fr}.campaign-row>div{grid-column:1/-1}}
@media(max-width:720px){.seo-hub-head{margin-bottom:36px}.seo-crumbs ol{margin-bottom:24px}.seo-teaser{grid-template-columns:1fr;gap:10px;padding:28px 0}.seo-teaser p{font-size:15px}.seo-hero{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.seo-hero img{max-width:480px}.seo-layout{grid-template-columns:1fr;gap:28px}.seo-toc{position:static;padding:20px;background:#e6eddb;border-radius:14px}.seo-prose{font-size:16px}.seo-prose section{margin-bottom:36px}.seo-cta{display:block;padding:26px}.seo-cta .btn{margin-top:22px}.campaign-head{grid-template-columns:1fr;gap:12px}.campaign-goal{max-width:320px}.campaign-goal strong{font-size:48px}.campaign-metrics{grid-template-columns:1fr 1fr}.campaign-row{grid-template-columns:minmax(0,1fr)}.campaign-row>div{grid-column:auto}.campaign-row .btn{justify-self:start}.campaign-note{font-size:13px}}
@media print{.top,.foot,.seo-toc,.seo-cta,.skip{display:none!important}.seo-hero,.seo-layout{display:block}.seo-hero img{max-width:280px}.seo-prose{max-width:none;font-size:11pt}.seo-prose section{break-inside:avoid}}
