@import url('/assets/site-v3.css?v=4');
/* Scoped to upgraded pages; the five campaign pages retain their original assets. */
:root { --ink:#22333e; --muted:#566773; --line:#dbe3e5; --accent:#087b8c; }
body { color:var(--ink); letter-spacing:0; }
.header-row { flex-wrap:wrap; gap:14px 24px; }
.main-nav { gap:16px; font-size:14px; }
.main-nav a { white-space:nowrap; }
.search-results a { display:flex; flex-direction:column; gap:4px; }
.search-results small { color:var(--muted); font-weight:400; }
.seo-intro { max-width:800px; margin:0; font-size:18px; line-height:1.8; }
.seo-hero { border-bottom:1px solid var(--line); padding:42px 0; }
.seo-hero h1 { font-size:38px; line-height:1.35; margin:16px 0; }
.seo-kicker { color:var(--accent); font-size:14px; font-weight:700; }
.seo-overview { display:flex; flex-wrap:wrap; gap:10px 24px; margin:20px 0; padding:0; list-style:none; }
.seo-toc { display:flex; flex-wrap:wrap; gap:12px 24px; padding:22px 0; border-bottom:1px solid var(--line); }
.seo-toc a { text-decoration:underline; text-underline-offset:5px; }
.seo-section { padding:48px 0; border-bottom:1px solid var(--line); scroll-margin-top:160px; }
.seo-section h2 { font-size:28px; line-height:1.45; margin:0 0 20px; }
.seo-section h3 { font-size:20px; margin:24px 0 10px; }
.seo-hero h1,.seo-section h2,.seo-section h3,.seo-home-process h2 { word-break:keep-all; overflow-wrap:anywhere; text-wrap:balance; }
.seo-section p,.seo-section li { line-height:1.85; }
.seo-section > p { max-width:850px; }
.seo-columns { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.seo-columns > div { min-width:0; }
.seo-steps { margin:24px 0; padding-left:24px; }
.seo-steps li { padding:10px 0; }
.seo-section .button { margin-top:20px; }
.seo-figure { margin:28px auto 12px; width:100%; max-width:880px; }
.seo-figure img { display:block; width:100%; height:auto; border-radius:0; }
.seo-figure figcaption { font-size:13px; line-height:1.7; color:var(--muted); margin-top:10px; }
.seo-original { max-width:960px; margin:20px auto; }
.seo-original img { display:block; width:100%; height:auto; margin:0; border-radius:0; }
.seo-poster-window { position:relative; overflow:hidden; width:100%; }
.seo-poster-window img { position:absolute; left:0; width:100%; height:auto; max-width:none; }
.seo-evidence { margin:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:16px 0; }
.seo-evidence summary { cursor:pointer; font-weight:700; padding:12px 4px; }
.seo-note { padding:16px 20px; background:#f0f6f4; border-left:3px solid #63988c; }
.seo-example { border:1px solid var(--line); padding:20px; margin-top:20px; }
.seo-example dl { display:grid; grid-template-columns:110px 1fr; gap:10px 20px; margin:12px 0; }
.seo-example dt { font-weight:700; }
.seo-example dd { margin:0; }
.seo-home-process { padding:64px 0; background:#f5f7f7; }
.seo-home-process h2 { font-size:28px; }
.detail-grid { display:block; }
.promo-aside { border-left:0; padding:32px 0 0; max-width:880px; margin:0 auto; }
.promo-aside .inline-promo { max-width:880px; }
.consult-dialog { max-height:var(--viewport-height,90dvh); overflow-y:auto; overscroll-behavior:contain; scroll-padding-bottom:24px; }
.consult-form { padding-bottom:24px; }
.consult-form label { min-width:0; }
.consult-form input,.consult-form textarea { font-size:16px; }
.consult-form textarea { min-height:100px; }
.consult-form [aria-invalid=true] { border-color:#b83232; outline-color:#b83232; }
.consult-form .optional { font-size:12px; color:var(--muted); font-weight:400; }
.consult-form .form-status { scroll-margin-bottom:24px; }
.consult-data { font-size:13px; line-height:1.7; }
.consult-data summary { cursor:pointer; padding:12px 0; }
.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.consult-receipt { max-width:calc(100% - 32px); bottom:24px; z-index:9999; }
.seo-footer-note { font-size:14px; line-height:1.8; }
@media(max-width:1100px) { .main-nav { order:3; width:100%; overflow-x:auto; padding-bottom:8px; } }
@media(max-width:700px) {
 .container { width:calc(100% - 36px); }
 .header-row { gap:10px; padding:12px 0; }
 .brand { font-size:17px; }
 .contact-actions { margin-left:auto; gap:6px; }
 .contact-actions .button { font-size:13px; padding:10px; min-height:42px; }
 .main-nav { gap:18px; font-size:13px; }
 .seo-hero { padding:28px 0; }
 .seo-hero h1 { font-size:29px; }
 .seo-intro { font-size:16px; }
 .seo-section { padding:34px 0; scroll-margin-top:150px; }
 .seo-section h2 { font-size:24px; }
 .seo-columns { grid-template-columns:1fr; gap:12px; }
 .seo-toc { gap:12px 20px; font-size:14px; }
 .seo-figure { width:calc(100% + 36px); max-width:none; margin-left:-18px; margin-right:-18px; }
 .seo-figure figcaption { padding:0 18px; }
 .seo-original { margin-left:-18px; margin-right:-18px; }
 .seo-example dl { grid-template-columns:1fr; gap:4px; }
 .seo-example dd { margin-bottom:12px; }
 .consult-dialog { width:calc(100% - 20px); max-width:560px; padding:16px; }
 .dialog-top { position:static; }
 .consult-form { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
