/* Shared visual system: charcoal, warm white and restrained brand accents. */
:root { color-scheme:dark; --ink:#f8f8f5; --forest:#a7c7ec; --muted:#c5c7ce; --paper:#1d1e22; --sage:#393f4d; --line:#45474e; --mint:#a7c7ec; --brand-blue:#1769c7; --brand-navy:#272b33; --light:#f7f5ef; }
html { scroll-padding-top:100px; }
body { background:var(--paper); color:var(--ink); padding-top:96px; }
body.home-page { padding-top:0; }
h1,h2 { font-family:var(--sans); font-weight:600; }
em { color:#b7c8dc; }
a { text-underline-offset:4px; }
.eyebrow { color:#b7c0cc; }
.section { padding-block:95px; }
body>.site-header { position:fixed; inset:0 0 auto; transform:none; z-index:50; width:100%; max-width:none; height:96px; padding-inline:max(24px,calc((100% - 1200px)/2)); margin:0; background:transparent; border-bottom:1px solid #ffffff20; transition:background .2s,height .2s,box-shadow .2s; }
body>.site-header.is-scrolled { top:0; height:76px; background:rgba(29,30,34,.97); backdrop-filter:blur(12px); border-color:#ffffff1c; box-shadow:0 5px 20px #0002; }
body.home-page>.site-header:not(.is-scrolled) { background:transparent; border-bottom-color:transparent; box-shadow:none; }
body.home-page>.site-header.is-scrolled { background:#1d1e22; }
.brand { flex-shrink:0; background:none; border:0; border-radius:0; padding:0; }
.brand img.brand-logo { width:125px; height:auto; }
body>.site-header.is-scrolled .brand-logo { width:105px; }
.site-header nav { color:#f8f8f5; font-size:12px; gap:28px; }
.site-header nav a:not(.nav-cta):hover,.site-header nav [aria-current=page] { color:#c3d5e9; }
.nav-cta { color:#fff; background:#ffffff10; border-color:#ffffff70; border-radius:3px; }
.menu-toggle { border-color:#ffffff80; }
.menu-toggle span { background:#fff; }
.button { border-radius:3px; }
.button.dark { background:#1769c7; color:#fff; }
.button.dark:hover { background:#0d51a0; }
.button.light { color:#22252b; background:#f7f5ef; }
.text-link { border-color:currentColor; }
.status-dot,.hero-note .status-dot { background:#b7c8dc; }
.hero h1 em { font-style:normal; }
.hero-description,.hero-note,.visual-disclosure { color:var(--muted); }
.tiny-line { background:#b7c8dc; }
.plan-tag { background:#f7f5ef; color:#25272d; border:0; border-radius:3px; box-shadow:0 8px 24px #0002; }
.plan-tag div>span { color:#59606a; }
.plan-tag-icon { color:#3b4c62; background:transparent; }
.tag-check { border-color:#68788b; color:#3b4c62; }
.value-strip p { color:var(--muted); }
.value-strip div>span,.step-number { color:#b7c8dc; }
.step-number:after { background:var(--line); }
.section-footnote { color:var(--muted); font-size:12px; }
.section-footnote a { text-decoration:underline; }
.project-section { background:transparent; border:0; }
.project-copy>p:not(.eyebrow),.feature-list p { color:var(--muted); }
.feature-list li { border-color:var(--line); }
.feature-list li>span { color:#b7c8dc; }
.project-demo { background:#f7f5ef; color:#292c32; border:0; border-radius:3px; box-shadow:none; transform:none; color-scheme:light; }
.demo-dot { border-color:#1769c7; }
.demo-label { color:#5a6471; }
.room-tabs { background:#e8e7e2; }
.room-tabs button { color:#545c67; }
.room-tabs button[aria-selected=true] { background:#fff; color:#243951; }
.room-plan { border-color:#d7d7d2; }
.plan-dims { fill:#505b69; }
.plan-room-title { fill:#252f3d; }
.plan-area { fill:#505b69; }
.room-stats,.room-stats>div:not(:first-child),.demo-footer { border-color:#d7d7d2; }
.room-stats span,.room-stats small,.demo-note,.demo-footer { color:#59606a; }
.report-art { background:transparent; border:0; padding:22px; }
.paper { color:#1d2723; color-scheme:light; box-shadow:0 15px 45px #25272d20; transform:rotate(-2deg); }
.report-stamp { background:#e0e3e8; color:#303743; box-shadow:none; }
.check-list li:before { color:#4c6686; }
.plan-section { background:transparent; border-block:1px solid var(--line); color:var(--ink); }
.plan-section .eyebrow,.plan-description { color:var(--muted); }
.audience-tags span { color:var(--muted); border-color:var(--line); }
.price-card { background:#f7f5ef; color:#24272d; border:0; border-radius:3px; box-shadow:none; }
.price-heading h3,.price { font-family:var(--sans); font-weight:600; }
.price { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 12px; }
.price>span { display:inline-block; white-space:nowrap; margin-left:0; line-height:1.5; }
.pill { color:#45576d; background:transparent; border:1px solid #8e99a7; border-radius:3px; }
.price>span,.price-sub,.price-fine { color:#59616c; }
.price-features { border-color:#d1d1cc; }
.price-features li:before { color:#4c6686; }
.future-icon,.faq-list summary>span { color:#afc2d9; }
.future-status { color:var(--muted); }
.future-list p { color:var(--muted); }
.closing { background:none; border:0; border-top:1px solid var(--line); border-radius:0; padding:65px 0; }
.closing h2 { font-size:clamp(38px,4.5vw,64px); }
.closing-grid { opacity:.15; border-color:#b7c8dc; background:linear-gradient(90deg,transparent 97%,#c3c8d5 97%),linear-gradient(0deg,transparent 97%,#c3c8d5 97%); background-size:35px 35px; }
.closing-grid:before { border-color:#b7c8dc; }
.site-footer.wrap { width:100%; max-width:none; padding:55px max(24px,calc((100% - 1200px)/2)) 28px; background:#ebecef; color:#282c34; }
.footer-top { align-items:center; }
.footer-top>p,.footer-bottom { color:#555e6a; }
.footer-bottom { border-color:#cbd0d7; font-size:11px; line-height:1.9; }
.footer-email { border-color:#6a7380; }
.footer-bottom nav { max-width:730px; gap:10px 22px; }
.skip-link { background:#f7f5ef; color:#20242b; }
:focus-visible { outline:3px solid #5287c4; outline-offset:5px; }
.light-surface { --ink:#25282e; --muted:#59616c; --line:#d3d3cf; background:#f7f5ef; color:var(--ink); color-scheme:light; }
.light-surface h2,.light-surface h3 { color:var(--ink); }
.light-surface .eyebrow { color:#626c79; }
.light-surface .step-number,.light-surface .check-list li:before,.light-surface .faq-list summary>span { color:#4c6686; }
.light-surface .step-number:after { background:#bec3ca; }
.light-surface .report-copy>p:not(.eyebrow),.light-surface .faq-list p { color:var(--muted); }
.light-surface .section-intro>p { color:var(--muted); }
.light-surface a:not(.button) { color:inherit; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }
.benefit-grid article { border-top:1px solid var(--line); padding-top:24px; }
.benefit-grid article>span { font-size:11px; color:var(--muted); }
.benefit-grid h3 { font-size:24px; line-height:1.25; margin:18px 0 15px; }
.benefit-grid p { font-size:15px; color:var(--muted); line-height:1.85; }
.benefit-footer { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:38px; }
.benefit-footer p { font-size:13px; color:var(--muted); max-width:620px; }
.legal-page { background:#f7f5ef; color:#25282e; color-scheme:light; }
.legal-page>.site-header { background:#1d1e22; }
.legal-main { --muted:#59616c; --line:#d3d3cf; max-width:880px; }
.legal-main p,.legal-main li { color:#59616c; }
.legal-main .eyebrow { color:#626c79; }
.legal-main a:not(.button) { color:#23588d; }
.legal-callout { background:none; border-color:#8793a4; padding:18px 24px; }
.support-grid section { background:none; border:0; border-top:1px solid #cdd0d5; border-radius:0; padding:24px 0; }
@media(max-width:900px) { body>.site-header { padding-inline:24px; } .site-header nav { gap:18px; font-size:11px; } .brand img.brand-logo { width:112px; } .benefit-grid { gap:25px; } }
@media(max-width:640px) { body { padding-top:82px; } body>.site-header,body>.site-header.is-scrolled { height:76px; padding-inline:20px; } .brand img.brand-logo { width:98px; } .site-header .menu-toggle { display:flex; min-width:44px; min-height:44px; } .site-header nav { display:none; position:absolute; top:75px; left:0; right:0; padding:25px; background:#1d1e22; border:0; border-bottom:1px solid #555860; border-radius:0; box-shadow:0 15px 25px #0003; font-size:14px; } .site-header nav.is-open { display:flex; flex-direction:column; gap:22px; } .site-header nav .nav-cta { display:block; } .section { padding-block:58px; } .benefit-grid { grid-template-columns:1fr; gap:30px; } .benefit-footer { display:block; } .benefit-footer .text-link { display:inline-block; margin-top:20px; } .footer-top { flex-wrap:wrap; align-items:flex-start; } .footer-top>p { margin-left:auto; } .footer-email { margin-left:0; } .legal-main h1 { font-size:clamp(36px,10vw,48px); overflow-wrap:break-word; } }
@media(prefers-reduced-motion:reduce) { body>.site-header { transition:none; } }

