/* Scoped to the new campaign pages; the shared stylesheet is unchanged. */
.seo-page { --primary:#6359AA; --primary-hover:#3E3578; --primary-light:#988CE8; --bg:#FFFFFF; --bg-alt:#F5F5F7; --bg-deep:#3E3578; --ink:#1A1A1E; --ink2:#484850; --line:#D1D1D6; background:#FFFFFF; color:#484850; }
.seo-page *, .seo-page *::before, .seo-page *::after { letter-spacing:0; box-sizing:border-box; }
.seo-page .hdr { background:#3E3578; }
.seo-page .btn { font-size:16px; white-space:normal; text-align:center; }
.seo-page .hdr .btn { font-size:16px; }
.seo-page .seo-intro { padding-block:40px 48px; border-bottom:1px solid #D1D1D6; }
.seo-page .seo-breadcrumb { font-size:14px; margin-bottom:28px; }
.seo-page .seo-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; }
.seo-page .seo-breadcrumb li+li::before { content:'/'; margin-right:8px; }
.seo-page h1 { font-size:40px; line-height:1.15; max-width:26ch; color:#3E3578; margin:0 0 24px; overflow-wrap:break-word; }
.seo-page .lede { font-size:19px; line-height:1.7; max-width:72ch; }
.seo-page h2 { font-size:27px; line-height:1.25; color:#1A1A1E; margin:0 0 18px; }
.seo-page .seo-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; padding-block:48px; }
.seo-page .seo-article { min-width:0; max-width:76ch; }
.seo-page .seo-article section { padding-block:0 34px; margin-bottom:24px; border-bottom:1px solid #D1D1D6; scroll-margin-top:110px; }
.seo-page .seo-article p { font-size:17px; line-height:1.8; margin:0; }
.seo-page main a:not(.btn) { color:#3E3578; text-decoration:underline; text-underline-offset:3px; }
.seo-page .seo-toc { align-self:start; padding-bottom:24px; border-bottom:3px solid #988CE8; }
.seo-page .seo-toc h2 { font-size:18px; }
.seo-page .seo-toc ul { padding-left:18px; display:grid; gap:12px; }
.seo-page .seo-faq details { border-bottom:1px solid #D1D1D6; padding:20px 0; }
.seo-page .seo-faq summary { font-size:18px; font-weight:600; color:#3E3578; cursor:pointer; }
.seo-page .seo-faq details p { margin-top:14px; }
.seo-page .seo-location { background:#F5F5F7; padding-block:48px; }
.seo-page .seo-location-grid { display:grid; gap:32px; align-items:start; }
.seo-page .seo-location address { font-style:normal; margin:16px 0; line-height:1.8; }
.seo-page .seo-location img { width:100%; height:auto; display:block; border-radius:0; }
.seo-page .seo-location figure { margin:0; }
.seo-page .seo-location figcaption { font-size:14px; margin-top:10px; }
.seo-page .seo-closing { padding-block:40px; }
.seo-page .seo-closing p { max-width:72ch; }
.seo-page .seo-disclosure { font-size:14px; margin-top:24px; color:#484850; }
.seo-page .ftr h3 { color:#fff; }
.seo-page .ftr__hours, .seo-page .ftr__blurb { color:#F5F5F7; }
.seo-page .seo-consent { background:#F5F5F7; padding:20px; border:1px solid #D1D1D6; border-radius:8px; position:fixed; bottom:85px; right:20px; z-index:90; max-width:420px; width:calc(100% - 40px); box-shadow:0 4px 20px #0002; }
.seo-page .seo-consent[hidden] { display:none; }
.seo-page .seo-consent p { margin:0 0 14px; font-size:15px; }
.seo-page .seo-consent .btn-row { gap:12px; }
.seo-page .seo-privacy-control { background:none; border:0; padding:0; color:inherit; text-decoration:underline; cursor:pointer; font:inherit; }
.seo-page :focus-visible { outline:3px solid #988CE8; outline-offset:4px; }
@media(min-width:800px) { .seo-page .seo-layout { grid-template-columns:230px minmax(0,1fr); gap:64px; } .seo-page .seo-location-grid { grid-template-columns:1fr 1fr; gap:48px; } .seo-page h1 { font-size:48px; } .seo-page .seo-consent { bottom:24px; } }
@media(max-width:1279px) { .seo-page .hdr__nav,.seo-page .hdr__cta { display:none; } .seo-page .burger { display:flex; } .seo-page .mobnav[data-open='true'] { display:block; } }
@media(max-width:420px) { .seo-page h1 { font-size:32px; } .seo-page h2 { font-size:24px; } .seo-page .btn-row { flex-wrap:wrap; } }
