/* Shared Workspace visual language for every supporting page. */
:root{color-scheme:light;--bg:#F7F9FC;--surface:#EEF3F8;--text:#172B43;--muted:#52647A;--line:#D9E2EE;--accent:#245BC4;--mint:#137568;--button:#245BC4;--panel:#fff;--button-text:#fff;--ink:var(--text);--blue:var(--accent)}
:root[data-theme=dark]{--panel:#182638;--button-text:#101B29}
*{box-sizing:border-box}
html{scroll-padding-top:100px}
body.site-page{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 Manrope,Arial,sans-serif}
.site-page a{color:var(--accent);text-underline-offset:4px}
.site-page :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.site-page .skip-link{position:absolute;left:-9999px}
.site-page .skip-link:focus{left:16px;top:16px;z-index:99;background:var(--bg);padding:10px}
/* Base rules needed by the same header/footer components used on the homepage. */
.site-page .wrap{width:min(1240px,calc(100% - 64px));margin:auto}
.site-page header.home-header{position:sticky;top:0;z-index:20;display:block;max-width:none;margin:0;padding:0;border-bottom:1px solid var(--line);background:var(--bg)}
.site-page .home-header .brand{display:inline-flex;font:800 24px/1 Manrope,Arial,sans-serif;letter-spacing:-.035em;color:var(--text);text-decoration:none;white-space:nowrap}
.site-page .home-header .brand span{font-size:12px;line-height:1;font-weight:800;letter-spacing:.1em;color:var(--accent);margin:0}
.site-page .home-header .header-actions{flex-shrink:0}
.site-page .home-header .languages a{text-decoration:none}
.site-page .home-header .theme-toggle{border:0;background:transparent}
.site-page .home-header nav{max-width:none}
.site-page .home-header nav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.site-page .home-header nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}
.site-page .home-header .theme-toggle,.site-page .home-header .menu-toggle{padding:0;min-height:40px}
.site-page .home-header .button{white-space:nowrap;font-family:inherit}
.site-page .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--button);cursor:pointer;font-weight:700}
.site-page .primary{background:var(--button);color:var(--button-text)}
.site-page .home-header nav a.menu-contact{color:var(--button-text)}
.site-page .primary:hover{background:color-mix(in srgb,var(--button) 85%,var(--text));color:var(--button-text)}
.site-page footer.home-footer{max-width:1240px;color:var(--muted);line-height:1.6}
.site-page .home-footer a{display:inline-flex;align-items:center;color:var(--muted)}
.site-page .home-footer a:hover{color:var(--accent)}
.site-page .home-footer .footer-social{gap:7px}
.site-page .home-footer .footer-social svg{width:18px;height:18px;flex:none;color:var(--accent)}
.site-page .home-footer .footer-legal{margin:0;padding:0;border:0}
/* Consistent page width, type scale and vertical rhythm. */
.site-page:not(.assessment-page) .site-content{width:min(1104px,calc(100% - 64px));max-width:none;padding:0;margin:56px auto 72px}
.site-page .site-content h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(32px,4.2vw,48px);font-weight:800;line-height:1.12;letter-spacing:-.045em;max-width:1000px;margin:0 0 24px}
.site-page .site-content h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(22px,2.5vw,28px);font-weight:700;line-height:1.3;letter-spacing:-.025em;margin:0 0 16px}
.site-page .site-content h3{font-family:Manrope,Arial,sans-serif;line-height:1.4;letter-spacing:-.02em}
.site-page .site-content p{margin:0 0 20px}
.site-page .site-content>.eyebrow{font-size:13px;line-height:1.5;font-weight:600;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;margin-bottom:24px}
.site-page .site-content>.lead,.site-page .site-content>.avs-lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:850px;margin-bottom:24px}
.site-page:not(.assessment-page) .site-content>section,.site-page .legal-content>section{margin:40px 0;padding-top:32px;border-top:1px solid var(--line)}
.site-page .site-content>p,.site-page .site-content section>p,.site-page .legal-content>p{max-width:850px}
.site-page .legal-content>h2{margin-top:40px}
.site-page .site-content .actions{margin:24px 0 14px}
.site-page .site-content :is(button,.action){font-family:inherit;border-radius:6px}
.site-page .site-content .action,.site-page .site-content .contact button,.site-page #assessment>form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:var(--button);border:1px solid var(--button);color:var(--button-text);min-height:48px;padding:12px 20px;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none}
.site-page .site-content .action:hover,.site-page .site-content .contact button:hover{background:color-mix(in srgb,var(--button) 85%,var(--text))}
.site-page .site-content .progress,.site-page .site-content .privacy-note{font-size:13px;color:var(--muted)}
.site-page .site-content .contact{max-width:850px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.site-page .site-content input[type=email]{max-width:520px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:12px 14px;min-height:48px;font:inherit}
.site-page .site-content details{border-bottom:1px solid var(--line);padding:18px 0}
.site-page .site-content summary{font-weight:600;cursor:pointer}
.site-page .site-content details>p{margin:16px 0 0;color:var(--muted)}
.site-page .site-content pre{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere}
.site-page .avs-faq-item .avs-faq-q{font-size:20px;margin:0 0 12px}
.site-page .avs-related-links a{color:var(--text);background:var(--surface)}
.site-page .avs-breadcrumb{display:block;line-height:1.7}
.site-page .avs-breadcrumb a{white-space:normal}
.site-page .avs-table-wrap{max-width:100%;overflow-x:auto}
.site-page .avs-table{background:var(--panel)}
.site-page .avs-table th{background:var(--surface)}
/* Keep the assessment layout, with the same palette and readable dark states. */
.site-page.assessment-page{background:var(--bg)}
.site-page.assessment-page[data-assessment-state=questions] #assessment{background:var(--panel)}
.site-page .option{background:var(--panel);color:var(--text);border-color:var(--line)}
[data-theme=dark] .site-page .option:hover{background:var(--surface)}
[data-theme=dark] .site-page .option:has(:checked){background:#203b56}
[data-theme=dark] .site-page :is(.finding,.scope-notice,.contact){background:var(--surface);color:var(--text);border-color:var(--line)}
[data-theme=dark] .site-page button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}
@media(max-width:720px){
 .site-page .wrap{width:calc(100% - 36px)}
 .site-page .home-header .brand{font-size:22px}
 .site-page .home-header .brand span{display:none}
 .site-page:not(.assessment-page) .site-content{width:calc(100% - 36px);margin:36px auto 48px}
 .site-page .site-content h1{font-size:32px;letter-spacing:-.035em;overflow-wrap:break-word}
 .site-page .site-content>.lead,.site-page .site-content>.avs-lead{font-size:16px}
 .site-page:not(.assessment-page) .site-content>section,.site-page .legal-content>section{margin:28px 0;padding-top:24px}
 .site-page .site-content .contact{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.site-page #assessment.assessment-start,.site-page .assessment-cta{background:#172B43;border-color:#172B43;color:#fff}
.site-page .assessment-start #start,.site-page .assessment-cta .cta-primary{color:#172B43}
[data-theme=dark] .site-page #assessment.assessment-start,[data-theme=dark] .site-page .assessment-cta{background:#20334A;border-color:#35465B}

.site-page .site-content .result-contact button{background:var(--button);border-color:var(--button);color:var(--button-text)}
[data-theme=dark] .site-page .result-contact{background:var(--surface);color:var(--text)}
.site-page .cookie-banner{position:fixed;z-index:1000;left:24px;right:24px;bottom:24px;max-width:920px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #172b4314}
.site-page .cookie-banner p{margin:0;font-size:14px;line-height:1.5}
.site-page .cookie-banner div{display:flex;gap:10px;flex:none}
.site-page .cookie-banner button{font:700 13px Manrope,Arial,sans-serif;min-height:44px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px 14px;cursor:pointer}
.site-page .cookie-banner button.accept{background:var(--button);color:var(--button-text);border-color:var(--button)}
@media(max-width:720px){.site-page .cookie-banner{left:12px;right:12px;bottom:12px;display:block}.site-page .cookie-banner div{margin-top:14px;flex-wrap:wrap}}
