/* The existing Saturit palette, with a clearer conversion path. */
:root{--gray:#adc0d5;--cyan-readable:#66d8ec}
:focus-visible{outline:3px solid #9ae9f5;outline-offset:4px}
[hidden]{display:none!important}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:20000;background:#fff;color:#081424;padding:12px 20px;border-radius:8px}
.skip-link:focus{top:12px}
.nav-burger{background:transparent;border:0;min-width:44px;min-height:44px;justify-content:center;align-items:center}
.mobile-menu{overflow-y:auto;z-index:11000}
.mobile-menu ul{gap:1.2rem}
.mobile-menu ul a{font-size:clamp(1.05rem,3.5vw,1.4rem)}
.mobile-close{min-width:44px;min-height:44px}
.section-label,.btn-map,.stat-num{color:var(--cyan-readable)}
.btn-primary,.btn-map-big,.form-submit{background:#1163a2;color:#fff;box-shadow:none;font-weight:700}
.btn-primary:hover,.btn-map-big:hover,.form-submit:hover{background:#1375bc}
.hero-anim{display:block!important;position:absolute;inset:0}
.hero-poster,.hero-poster img,.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-poster{display:block}
html.hero-motion-ready .hero-vid{display:block!important}
html.hero-motion-ready .hero-vid[hidden]{display:none!important}
.hero-motion-toggle{position:absolute;right:24px;bottom:18px;z-index:4;padding:10px 16px;border:1px solid #ffffff80;border-radius:24px;background:#071a2bd9;color:#fff;font-family:inherit;font-weight:600;font-size:13px;line-height:1.3;cursor:pointer}
.hero-motion-toggle:hover{background:#143d54}
.hero-motion-toggle:focus-visible{outline:3px solid #67d7ff;outline-offset:4px}
.hero-motion-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){.hero-motion-toggle{right:16px;bottom:12px;font-size:12px}}
.hero-badge{font-size:.7rem;color:#9ae9f5}
.hero-content{max-width:740px}
.hero-sub{max-width:540px;font-size:1.1rem;color:#e0e8f0}
.hero-price{font-size:1.05rem;font-weight:600;margin:1rem 0;color:#d8e7f7}
.hero-price strong{font-size:1.6rem;color:#fff}
.hero-fineprint{color:#bdcddd;font-size:.85rem;margin-top:.8rem;max-width:480px}
.hero-actions .btn-primary{background:#1375bc;color:#ffffff;border:1px solid #1375bc}
.hero-actions .btn-primary:hover{background:#1a8cd8}
.quick-section{padding:5rem 0;background:#0d1b2d;border-block:1px solid #24364c;scroll-margin-top:90px}
.quick-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start}
.quick-copy p{color:var(--gray);margin:1rem 0;max-width:440px}
.quick-copy a{color:#9ae9f5;text-underline-offset:4px}
.quick-points{list-style:none;color:#d8e5f3;font-size:.95rem;margin-top:1.5rem}
.quick-points li{padding:.6rem 0;border-bottom:1px solid #263950}
.quick-estimate{padding:2rem;background:#12263d;border:1px solid #385069;border-radius:18px;box-shadow:0 20px 60px #0002}
.quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.quick-fields label{font-size:.93rem;font-weight:600;color:#dce8f6;display:block}
.quick-fields label:last-child{grid-column:1/-1}
.quick-fields input,.quick-fields select{margin-top:.5rem;display:block;width:100%;min-height:50px;border:1px solid #6d839b;border-radius:8px;background:#0a1a2c;color:#fff;padding:10px 12px;font:inherit}
.quote-label{margin-top:1.5rem;color:#bdccdc;font-size:.85rem}
.quote-total{display:block;font:800 clamp(1.55rem,3vw,2.3rem)/1.4 'Unbounded',sans-serif;margin:.4rem 0;color:#5bb8f5}
.quote-breakdown{font-size:.85rem;color:#d0dfed;margin:.7rem 0 1.2rem}
.quote-note{font-size:.82rem;color:#bacbdb;margin-top:1rem;line-height:1.6}
.quick-estimate .btn-primary{width:100%;justify-content:center;text-align:center}
.section-contact{padding-top:2rem}
.contact-form-band{max-width:850px;margin-inline:auto}
.contact-form-wrap{width:100%}
.contact-form h2{font-size:1.5rem;margin-bottom:.8rem}
.contact-form-toprow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form-layout{display:block!important}
.form-group label{font-size:.95rem;color:#d6e2ee}
.form-group input,.form-group textarea{font-size:1rem!important;color:#fff!important;border-color:#60738b!important}
.form-group input::placeholder,.form-group textarea::placeholder{color:#b2bfcd;opacity:1}
.form-group textarea{min-height:110px}
.form-details{margin:1.2rem 0;border:1px solid #41546d;border-radius:10px;padding:1rem}
.form-details summary{cursor:pointer;font-weight:600;color:#b9eafa;min-height:32px}
.form-details[open] summary{margin-bottom:1rem}
.service-check-grid label{min-height:44px;font-size:.9rem!important}
.carousel-btn{min-width:44px;min-height:44px}
.carousel-dot{width:24px;height:24px;border-radius:50%;border:7px solid #132338;background:#809bb8}
.carousel-dot.active{width:30px;border-radius:50%;background:#9ae9f5}
.form-pd-notice,.contact-form .form-pd-notice{font-size:.88rem!important;color:#bdcddd!important;font-style:normal}
.consent-label{font-size:.85rem!important;color:#cad8e7!important;align-items:flex-start!important}
.consent-label input{min-width:20px;min-height:20px;margin-top:3px}
.consent-label a{color:#a6e8f4!important}
.form-status{padding:1rem;border-radius:8px;border:1px solid #e2a0a0;background:#321c25;color:#ffe2e2;margin:1rem 0;font-size:.95rem;line-height:1.6}
.form-status.pending{background:#152d46;border-color:#779bbd;color:#e1f0ff}
.form-status.success{background:#0d2240;border-color:#2f72b8;color:#c0ddf8}
.preview-note{border-left:3px solid #e5bc65;background:#2b291e;padding:.85rem;font-size:.85rem;color:#f3dca8;margin:0 0 1.2rem}
.form-submit:disabled{opacity:.65;cursor:wait}
.map-health{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem 1.2rem;background:#132940;border:1px solid #46627e;border-radius:10px;color:#d6eafb;font-size:.9rem}
.map-health button{background:transparent;border:1px solid #a5d8ed;color:#d8f5ff;padding:.6rem .9rem;border-radius:6px;font:inherit;cursor:pointer;white-space:nowrap}
.map-warning .map-health{border-color:#ccab6b;color:#f5dcae;background:#29271f}
.map-wrap{overflow:hidden;position:relative}
.map-wrap iframe{display:block;min-height:520px;background:#e6edf4}
.section-map-full{padding-block:2rem!important}
.map-instructions{margin-bottom:1rem!important}
.map-disclaimer{color:#b9ccdf;font-size:.9rem;margin-top:1rem}
.contact-shortcuts{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.5rem 0}
.contact-shortcuts a{color:#a3e7f4;text-underline-offset:4px}
.contact-location{background:#13263d;border:1px solid #46627e;border-radius:16px;padding:2rem}
.contact-location p{color:#c6d8e9;margin:1rem 0 1.5rem}
button.catalog-item{font:inherit;text-align:left;color:inherit;width:100%;padding:0;cursor:pointer}
.mobile-actions{display:none}
.faq-home{padding:4rem 0;background:#0b1829}
.faq-home details{border-bottom:1px solid #36506a;padding:1.2rem 0}
.faq-home summary{cursor:pointer;font-size:1.05rem;font-weight:600;color:#e9f4ff}
.faq-home details p{color:#bfcede;max-width:850px;margin-top:1rem}
.floating-cta{display:none!important}
.footer-contacts a{padding-block:4px;display:inline-block}
@media(min-width:1100px){#hero{min-height:780px;max-height:1050px}.hero-stats{right:3rem;bottom:3rem}.hero-content{padding-bottom:2rem}#hero h1{font-size:clamp(3rem,5.3vw,5rem)}}
@media(max-width:1099px){.hero-stats{position:relative!important;right:auto!important;bottom:auto!important;width:100%;max-width:520px;margin-top:2rem}#hero{display:flex;flex-direction:column;align-items:flex-start;min-height:auto;padding-bottom:3rem}.hero-content{width:100%}.quick-layout{grid-template-columns:1fr;gap:1.5rem}.quick-copy p{max-width:650px}.quick-points{display:none}.hero-video-bg img{object-position:65% 30%}.hero-badge{letter-spacing:.025em}}
@media(max-width:700px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.container{padding-inline:1.2rem}#hero{padding:calc(var(--nav-h) + 1.6rem) 1.2rem 2rem}#hero h1{font-size:clamp(2.1rem,8.5vw,3.3rem)}.hero-badge{font-size:.63rem;padding:.45rem .65rem}.hero-price strong{font-size:1.35rem}.hero-actions{gap:.8rem}.hero-sub{font-size:1rem}.hero-stats{gap:.65rem}.stat-card{padding:1rem;min-width:0}.stat-num{font-size:1.5rem}.quick-section{padding-block:2.5rem}.quick-estimate{padding:1.25rem}.quick-fields{grid-template-columns:1fr}.quick-fields label:last-child{grid-column:auto}.contact-form-toprow{grid-template-columns:1fr}.contact-form{padding:1.25rem!important}.contact-form-band{padding:0!important}.service-check-grid{grid-template-columns:1fr!important}.page-hero-small{padding-top:calc(var(--nav-h) + 2rem)!important;padding-bottom:1rem!important}.page-hero-small h1{font-size:1.85rem}.map-instructions{display:none!important}.map-wrap iframe{height:560px!important;min-height:400px}.map-health{flex-direction:column;align-items:flex-start}.mobile-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;position:fixed;bottom:0;left:0;right:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:8000;background:#081524f5;border-top:1px solid #3a526c;backdrop-filter:blur(10px)}.mobile-actions a{display:flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid #5b7797;border-radius:8px;min-height:44px;font-size:.9rem;font-weight:700}.mobile-actions a:last-child{background:#1375bc;color:#ffffff;border-color:#1375bc}.mobile-menu.open~.mobile-actions{visibility:hidden}.faq-home{padding-block:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}.sec-in{opacity:1!important;transform:none!important}}

/* SATURIT PATCH v1 – append to experience.css */
:focus-visible{outline:2px solid #1a7fc4;outline-offset:3px}
.quick-fields input,.quick-fields select,.form-group input:not([type="checkbox"]):not([type="radio"]),.form-group select{height:52px;min-height:52px;border-radius:10px;background-color:#0a1a2c;border:1px solid #4a6278!important;color:#e8f0f8!important;font-size:1rem!important;padding:0 14px;box-sizing:border-box;transition:border-color .2s}
.form-group textarea{min-height:110px;border-radius:10px;background-color:#0a1a2c;border:1px solid #4a6278!important;color:#e8f0f8!important;font-size:1rem!important;padding:14px;box-sizing:border-box}
.quick-fields select,.form-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23adc0d5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}
input[type="number"]{-moz-appearance:textfield}
.quick-fields input:focus-visible,.quick-fields select:focus-visible,.form-group input:not([type="checkbox"]):not([type="radio"]):focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:2px solid #1a7fc4;outline-offset:2px;border-color:#2986cc!important}
.form-group input:not([type="checkbox"]):not([type="radio"]):focus,.form-group textarea:focus,.form-group select:focus{border-color:#4a6278}
.hero-actions .btn-primary{background:#1375bc;color:#fff;border-color:#1375bc}
.hero-actions .btn-primary:hover{background:#1a8cd8;border-color:#1a8cd8}
.mobile-actions a:last-child{background:#1375bc!important;color:#fff!important;border-color:#1375bc!important}
.quote-total{color:#5bb8f5}
.form-status.success{background:#0d2240;border-color:#2f72b8;color:#c0ddf8}
.hero-motion-toggle{opacity:0;pointer-events:none}
.hero-motion-toggle:focus-visible{opacity:1;pointer-events:auto;outline:2px solid #1a7fc4;outline-offset:4px}

.quick-estimate-simple .quick-fields{grid-template-columns:1fr}
.self-estimate{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:1.75rem 2rem;border:1px solid #375a7f;border-radius:14px;background:#10253b}
.self-estimate h3{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.4;margin-bottom:.7rem}
.self-estimate p{color:#c3d3e5;max-width:760px;font-size:.95rem}
.self-estimate ol{display:flex;flex-wrap:wrap;gap:.7rem 2rem;padding-left:1.2rem;margin:1rem 0;color:#9acbf0;font-size:.9rem}
.self-estimate .btn-primary{white-space:normal;text-align:center;justify-content:center;max-width:260px}
@media(max-width:700px){.self-estimate{grid-template-columns:1fr;padding:1.25rem;gap:1rem}.self-estimate ol{display:block}.self-estimate li+li{margin-top:.5rem}.self-estimate .btn-primary{max-width:none;width:100%}}
