:root{--bg:#070b14;--surface:#101a2d;--card:#14213a;--line:rgba(255,255,255,.14);--text:#f3f7ff;--muted:#b7c4df;--accent:#4fc3ff;--accent2:#7f88ff;--ok:#6ce6b5;--radius:16px;--shadow:0 14px 28px rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 80% 0,rgba(127,136,255,.2),transparent 35%),var(--bg);color:var(--text);line-height:1.65}.container{width:min(1120px,92%);margin:0 auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(7,11,20,.86);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.1)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}.logo{text-decoration:none;color:var(--text);font-weight:800}.logo span{color:var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--text);padding:8px 12px;border-radius:10px}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--muted);padding:8px 12px;border-radius:999px;border:1px solid transparent}nav a:hover,nav a.active{color:var(--text);border-color:var(--line);background:rgba(255,255,255,.05)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #8dd8ff;outline-offset:2px}main section{padding:52px 0}.hero{padding-top:68px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center}.badge{display:inline-block;padding:8px 14px;border-radius:999px;background:rgba(108,230,181,.15);border:1px solid rgba(108,230,181,.4);color:#c5f8e4;font-size:.9rem;margin-bottom:14px}h1{font-size:clamp(2rem,4.3vw,3.3rem);line-height:1.12;margin:0 0 12px}h2{font-size:clamp(1.35rem,3.2vw,2.05rem);margin:0 0 8px}h3{margin:0 0 6px}.lead{margin:0 0 18px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;min-height:44px;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#071021}.btn-secondary{background:rgba(255,255,255,.05);color:var(--text);border-color:var(--line)}.btn-wa{background:#25d366;color:#06381d}.image-card,.card,.step,.cta-box,.table-wrap,.summary-box{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border-radius:var(--radius);box-shadow:var(--shadow)}.image-card{padding:14px}.image-card img{width:100%;height:auto;display:block;border-radius:10px}.list{margin:0;padding-left:18px;color:#d6e2fb}.list li{margin-bottom:6px}.grid-3,.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card,.step{padding:20px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cta-box{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}.stat strong{display:block;font-size:1.25rem}.faq-list{display:grid;gap:12px}.faq-list details{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.03)}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:var(--muted)}.page-head{padding:44px 0 16px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.table th{color:#d7e4ff}.table td{color:var(--muted)}.table-wrap{padding:8px;overflow:auto}.form-wrap{max-width:780px}.quote-form{display:grid;gap:10px}.quote-form label{font-weight:600}.quote-form input,.quote-form textarea,.quote-form select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font:inherit}.qty-row{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center}.qty-btn{height:44px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);font-size:1.2rem;cursor:pointer}.form-note{font-size:.92rem;color:var(--muted)}.success-banner{padding:12px 14px;border-radius:10px;background:rgba(108,230,181,.14);border:1px solid rgba(108,230,181,.36);color:#c8f9e5;margin-bottom:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-link{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);text-decoration:none;color:var(--text);margin-bottom:10px}.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.pill{border:1px solid var(--line);padding:7px 12px;border-radius:999px;color:#d9e6ff;background:rgba(255,255,255,.03)}.floating{position:fixed;right:14px;bottom:14px;display:flex;flex-direction:column;gap:8px;z-index:60}.floating a{box-shadow:var(--shadow)}footer{border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding:26px 0 88px;color:var(--muted);text-align:center}footer a{color:#c8e7ff;text-decoration:none}footer .socials{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}.sr-only{position:absolute;left:-9999px}.hero-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.hero-image-grid img,.topic-thumb,.blog-card img{width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.topic-thumb{margin-bottom:10px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filter-btn{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer}.filter-btn.active{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#071021;border-color:transparent}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.blog-card .tag,.meta-row .tag{display:inline-block;border:1px solid var(--line);background:rgba(255,255,255,.05);padding:4px 10px;border-radius:999px;font-size:.8rem;margin:10px 0}.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.blog-card small{color:var(--muted)}.summary-box{padding:16px;margin-bottom:16px}.blog-article .cta-box{margin:16px 0}.product-card{position:relative;transition:.2s transform,.2s box-shadow}.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(0,0,0,.35)}.product-card h2 a,.card-main-link{text-decoration:none;color:var(--text)}.pop-badge{position:absolute;top:10px;left:10px;background:#ffcb4b;color:#1f1300;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700;z-index:2}@media(max-width:980px){.hero-grid,.grid-3,.product-grid,.steps,.stats,.contact-grid,.hero-image-grid,.blog-grid{grid-template-columns:1fr}.menu-toggle{display:block}nav{display:none;width:100%;padding-bottom:8px}nav.open{display:flex;flex-direction:column}.topbar-inner{align-items:flex-start;padding:8px 0}.btn{width:100%}.floating{left:10px;right:10px;bottom:10px}.floating a{text-align:center}}

.honeypot{display:none!important}.consent{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}.consent input{width:auto;margin-top:4px}.logo{display:inline-flex;align-items:center;gap:10px}.logo img{width:34px;height:34px;border-radius:8px;display:block;box-shadow:0 6px 16px rgba(0,0,0,.35)}.logo .logo-text{line-height:1}
.quote-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.inline-note{margin-top:-2px;margin-bottom:4px}input[type=file]{padding:10px}

.topbar-controls{display:flex;align-items:center;gap:8px}.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);width:40px;height:40px;border-radius:10px;cursor:pointer}.progress-track{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:120}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .1s linear}.scroll-top{position:fixed;left:14px;bottom:14px;z-index:60;opacity:0;pointer-events:none;transition:.2s opacity}.scroll-top.visible{opacity:1;pointer-events:auto}.search-row{display:grid;gap:6px;max-width:560px;margin:0 0 14px}.search-row input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font:inherit}.quote-estimator{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(79,195,255,.08)}.quote-estimator p{margin:4px 0;font-size:1.4rem;font-weight:800;color:#cff2ff}body.light-theme{--bg:#f5f8ff;--surface:#ffffff;--card:#ffffff;--line:rgba(8,18,36,.12);--text:#0c1a32;--muted:#3d4d69;--accent:#1878ff;--accent2:#6f5cff;--shadow:0 12px 28px rgba(15,39,76,.12)}body.light-theme .topbar{background:rgba(255,255,255,.9);border-bottom:1px solid rgba(8,18,36,.08)}body.light-theme nav a:hover,body.light-theme nav a.active{background:rgba(15,45,88,.05)}body.light-theme .btn-secondary,body.light-theme .icon-btn{background:rgba(15,45,88,.04)}

.promo-bar{background:linear-gradient(90deg,#0ea5e9,#6366f1);color:#fff;padding:8px 0;position:sticky;top:0;z-index:80}.promo-inner{display:flex;justify-content:space-between;gap:10px;align-items:center}.promo-inner a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.7)}.recently-viewed{margin-top:22px}.delivery-estimator{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(127,136,255,.08)}.delivery-estimator p{margin:4px 0;font-size:1.05rem;font-weight:700;color:#dbe3ff}@media(max-width:980px){.promo-inner{flex-direction:column;align-items:flex-start}}
.quick-tools-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.quick-calc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-calc-fields label{font-size:.9rem;color:var(--muted)}.quick-calc-fields select,.quick-calc-fields input{width:100%}.calc-output{font-weight:800;font-size:1.15rem;color:#cfe9ff}.testimonial-rotator small{color:var(--muted)}.faq-search{max-width:420px;margin:10px 0 14px}@media(max-width:980px){.quick-tools-grid{grid-template-columns:1fr}.quick-calc-fields{grid-template-columns:1fr}}
.wizard-stage{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 16px}.wizard-stage-item{flex:1;padding:8px 10px;border:1px solid #2b3347;border-radius:999px;text-align:center;font-size:.85rem}.wizard-stage-item.is-active{border-color:#0ea5e9;background:rgba(14,165,233,.12)}.wizard-stage-item.is-complete{border-color:#16a34a;background:rgba(22,163,74,.12)}.selected-model{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);margin-bottom:8px}.selected-model p{margin:0 0 8px}.field-error{display:block;color:#ef4444;font-size:.82rem;margin-top:4px}.has-error{border-color:#ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.4)}.wizard-actions{display:flex;gap:10px;flex-wrap:wrap}
/* contrast-fix: form readability in both dark/light themes */
.quote-form input::placeholder,.quote-form textarea::placeholder{color:color-mix(in srgb,var(--muted) 88%,transparent)}.quote-form select{color:var(--text);background-color:color-mix(in srgb,var(--surface) 82%,transparent)}.quote-form select option{color:#0f172a;background:#ffffff}body:not(.light-theme) .quote-form select option{color:#e5ecff;background:#0f172a}.quote-estimator,.delivery-estimator{background:color-mix(in srgb,var(--accent) 12%,var(--surface) 88%);border-color:color-mix(in srgb,var(--accent) 35%,var(--line) 65%)}.quote-estimator p,[data-delivery-output]{color:var(--text)!important;font-weight:800}body.light-theme .quote-estimator,body.light-theme .delivery-estimator{background:#edf4ff;border-color:rgba(23,78,155,.22)}body.light-theme .quote-estimator p,body.light-theme [data-delivery-output]{color:#153760!important}
/* hero badge readability fix */
.badge{color:#d7fff0}body.light-theme .badge{color:#0f5c4a;background:rgba(27,179,138,.16);border-color:rgba(27,179,138,.45)}
/* 3D designer viewport fix */
.embed-wrap{display:grid;gap:14px}.embed-frame{display:block;width:100%;height:min(82vh,920px);min-height:640px;border:1px solid var(--line);border-radius:14px;background:#0b1220}@media(max-width:980px){.embed-frame{height:72vh;min-height:520px}}body.light-theme .embed-frame{background:#edf3ff}

/* 2026 theme-token overhaul + accessibility */
:root{--color-bg:#0b1220;--color-bg-elevated:#121b2e;--color-surface:#17233a;--color-surface-soft:#1a2942;--color-text:#f2f6ff;--color-text-muted:#b8c7e6;--color-heading:#ffffff;--color-link:#8bd4ff;--color-link-hover:#b7e6ff;--color-border:#33486f;--color-border-strong:#4f6898;--color-focus:#64d2ff;--color-primary:#4fc3ff;--color-primary-contrast:#081425;--color-secondary-bg:#1a2942;--color-ghost-bg:transparent;--color-input-bg:#132038;--color-placeholder:#95abd1;--color-chip-bg:#1d2f4d;--color-chip-text:#dce8ff;--color-success-bg:#153628;--color-success-text:#c4f6de;--color-danger-bg:#401a1f;--color-danger-text:#ffd8df;--content-max:74ch;--font-size-h1:clamp(2rem,4.4vw,3.35rem);--font-size-h2:clamp(1.45rem,3.2vw,2.2rem);--font-size-body:1rem}
body.light-theme{--color-bg:#f3f6fc;--color-bg-elevated:#ffffff;--color-surface:#ffffff;--color-surface-soft:#f8fbff;--color-text:#14233d;--color-text-muted:#475b7f;--color-heading:#0f1f39;--color-link:#005fce;--color-link-hover:#00499f;--color-border:#ccd7ea;--color-border-strong:#a9bbdb;--color-focus:#0b8aff;--color-primary:#0d72ea;--color-primary-contrast:#f4f8ff;--color-secondary-bg:#eef3fb;--color-input-bg:#ffffff;--color-placeholder:#6a7ea4;--color-chip-bg:#edf3ff;--color-chip-text:#20385f;--color-success-bg:#e4faee;--color-success-text:#144c2f;--color-danger-bg:#fdecef;--color-danger-text:#7f2434}
body{background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-body);line-height:1.7}
h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}p,.lead,.card p,.faq-list p,.form-note{max-width:var(--content-max)}
a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}
.topbar{background:color-mix(in srgb,var(--color-bg) 88%,transparent);border-bottom:1px solid var(--color-border)}
nav a,.pill,.tag,.filter-btn{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-ghost-bg)}
nav a:hover,nav a.active,.filter-btn.active,.filter-btn:hover{background:var(--color-surface-soft);color:var(--color-text);border-color:var(--color-border-strong)}
.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn-secondary{background:var(--color-secondary-bg);color:var(--color-text);border-color:var(--color-border)}
.icon-btn,.menu-toggle,.qty-btn{background:var(--color-secondary-bg);border-color:var(--color-border);color:var(--color-text)}
.card,.step,.image-card,.cta-box,.table-wrap,.summary-box,.faq-list details,.contact-link,.selected-model{background:var(--color-surface);border-color:var(--color-border)}
.quote-form input,.quote-form textarea,.quote-form select,.search-row input,.faq-search{background:var(--color-input-bg);color:var(--color-text);border-color:var(--color-border)}
.quote-form input::placeholder,.quote-form textarea::placeholder,.search-row input::placeholder,.faq-search::placeholder{color:var(--color-placeholder)}
.table th{color:var(--color-heading);background:var(--color-surface-soft)}.table td{color:var(--color-text-muted)}
.tag,.pill{background:var(--color-chip-bg);color:var(--color-chip-text)}
footer,footer p,footer a{color:var(--color-text-muted)}
footer a:hover{color:var(--color-link-hover)}
.form-status{padding:10px 12px;border-radius:10px;border:1px solid var(--color-border)}.form-status-error{background:var(--color-danger-bg);color:var(--color-danger-text)}.form-status-success{background:var(--color-success-bg);color:var(--color-success-text)}
.field-error{color:var(--color-danger-text)}.has-error{border-color:var(--color-danger-text)!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.blog-article{max-width:var(--content-max);margin-inline:auto}.blog-article h2,.blog-article h3{line-height:1.3}
.work-filter-btn{padding:8px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-ghost-bg);color:var(--color-text-muted);cursor:pointer}.work-filter-btn.active,.work-filter-btn:hover{background:var(--color-surface-soft);color:var(--color-text);border-color:var(--color-border-strong)}
