:root{--navy:#101b2c;--blue:#1861d9;--light:#f2f5f9;--muted:#566375}
*{box-sizing:border-box}
html{scroll-padding-top:100px}
body{margin:0;background:white;color:var(--navy);font-family:Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #3185ff;outline-offset:4px}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip{position:fixed;top:8px;left:8px;z-index:100;background:white;padding:12px;transform:translateY(-150%)}
.skip:focus{transform:none}
.demo-bar{display:flex;justify-content:space-between;gap:14px;padding:10px 24px;background:#e5edfb;color:#204578;font-size:11px}
.demo-bar a{text-decoration:underline;text-underline-offset:3px}
.header{position:sticky;top:0;z-index:30;background:#fffffffa;border-bottom:1px solid #e1e6ed}
.navigation{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.logo{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:900;letter-spacing:.08em}
.logo small{display:block;margin-top:2px;font-size:8px;letter-spacing:.19em;color:var(--muted)}
.logo-symbol{position:relative;display:grid;place-items:center;width:42px;height:44px;background:var(--blue);color:white;font-style:italic;overflow:hidden}
.logo-symbol>span{position:absolute;width:24px;height:3px;background:#83b8ff;right:-5px;bottom:8px;transform:rotate(-45deg)}
.navigation nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}
.navigation nav>a:not(.button):hover{color:var(--blue)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:14px 22px;border:1px solid var(--blue);border-radius:6px;background:var(--blue);color:white;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}
.button:hover{background:#114dab;transform:translateY(-2px)}
.compact{min-height:42px;padding:10px 16px}
.menu-toggle{display:none;min-height:44px;padding:10px 14px;background:white;border:1px solid #ccd5e2;border-radius:6px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081321f5 0%,#081321c9 38%,#08132120 100%)}
.hero-content{padding-block:90px 100px}
.eyebrow{margin:0 0 18px;font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--blue)}
.hero .eyebrow{color:#8abaff}
h1{font-size:clamp(52px,6.7vw,86px);line-height:1.02;letter-spacing:-.045em;font-weight:800;margin:0}
h1 span{color:#7eb5ff}
.hero-description{max-width:380px;color:#d0dae7;font-size:16px;line-height:1.8;margin:24px 0 28px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;border:1px solid #ffffff50;border-radius:6px;font-size:13px;font-weight:600}
.secondary:hover{background:#ffffff10}
.trust-strip{padding:28px 0;background:var(--navy);color:#bbc8d8}
.trust-strip .container>div{display:flex;align-items:center;gap:16px}
.trust-strip span{color:#77adff;font-size:23px;font-weight:800}
.trust-strip p{font-size:12px;line-height:1.9}
.trust-strip strong{color:white;font-size:13px}
.section{padding:84px 0}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:34px}
h2{font-size:clamp(32px,3.8vw,48px);font-weight:800;letter-spacing:-.04em;line-height:1.12;margin:0 0 24px}
.section-heading>p,.intro{max-width:380px;color:var(--muted);font-size:15px;line-height:1.8}
.service{display:flex;flex-direction:column;padding:28px;border:1px solid #dfe5ed;border-radius:10px;transition:border-color .2s,box-shadow .2s}
.service:hover{border-color:#8db6f7;box-shadow:0 12px 28px #14243c09}
.service-icon{width:32px;height:32px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.service h3{font-size:18px;font-weight:700;margin:0 0 12px}
.service p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 24px}
.service>a{margin-top:auto;padding-top:18px;border-top:1px solid #e6ebf1;color:var(--blue);font-size:12px;font-weight:700}
.workshop,.faq-section{background:var(--light)}
.workshop img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:70% center;border-radius:10px}
.workshop figcaption{font-size:10px;color:var(--muted);margin-top:12px}
.workshop .grid>div>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9}
.process{list-style:none;padding:0;margin:28px 0 0}
.process li{display:flex;gap:16px;margin-top:22px}
.process li>span{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;background:#e0ebfc;color:var(--blue);border-radius:50%;font-size:13px;font-weight:700}
.process h3{font-size:14px;font-weight:700;margin:0 0 6px}
.process p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.hours{margin-top:32px;padding:24px;background:var(--light);border-left:3px solid var(--blue);max-width:390px}
.hours h3{font-size:14px;font-weight:700;margin-bottom:16px}
.hours p{font-size:12px;color:var(--muted);margin-top:14px}
.hours strong{display:block;margin-top:4px;color:var(--navy)}
.quote-form{padding:30px;border:1px solid #dfe5ed;border-radius:12px;box-shadow:0 18px 45px #12203908}
.notice{padding:14px;background:#edf3fd;color:#345278;font-size:12px;line-height:1.7;border-radius:6px}
.quote-form label{display:block;font-size:13px;font-weight:700;margin:20px 0 9px}
.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #cbd4e1;border-radius:6px;background:white;color:var(--navy)}
.quote-form textarea{resize:vertical}
.quote-form>.button{margin-top:24px;width:100%}
.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:48px}
.faq details{border-bottom:1px solid #d9e0e9;padding:20px 0}
.faq summary{font-size:15px;font-weight:700;cursor:pointer}
.faq details p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:16px;max-width:560px}
footer{padding:34px 0;background:var(--navy);color:#c1cddd}
.footer-content{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px}
.footer-brand{color:white;font-weight:800;letter-spacing:.06em}
.footer-content p a{text-decoration:underline}
dialog{margin:auto;width:min(520px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:0;border-radius:12px;padding:0;background:white;color:var(--navy)}
dialog::backdrop{background:#081321ba;backdrop-filter:blur(5px)}
.dialog-content{padding:32px}
.dialog-content h2{font-size:36px}
#quote-summary{margin:24px 0;overflow-wrap:anywhere}
#quote-summary dt{font-size:12px;font-weight:700;color:var(--blue);margin-top:14px}
#quote-summary dd{font-size:14px;line-height:1.7;margin-top:5px;white-space:pre-wrap}
.dialog-content form{margin-top:22px}
@media(max-width:767px){
 .container{width:calc(100% - 40px)}
 .demo-bar{padding-inline:14px;font-size:10px}
 .navigation{min-height:76px;flex-wrap:wrap;padding-block:12px}
 .navigation nav{width:100%;flex-direction:column;align-items:stretch;gap:6px}
 .navigation nav a{padding:13px}
 .enhanced .menu-toggle{display:block}
 .enhanced nav{position:absolute;top:100%;left:0;background:white;padding:16px;border:1px solid #dfe5ed;box-shadow:0 20px 30px #101b2c15;max-height:calc(100dvh - 90px);overflow:auto}
 .hero-content{padding-block:64px 72px}
 .hero-photo{object-position:63% center}
 .hero:after{background:linear-gradient(90deg,#081321ed,#08132188)}
 .section{padding:58px 0}
 .section-heading{display:block}
 .section-heading>p{margin-bottom:28px}
 .workshop img{aspect-ratio:4/3}
 .quote-form{padding:22px}
 .faq-layout{grid-template-columns:1fr;gap:8px}
 .footer-content{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
