:root{--navy:#07182d;--navy-2:#0e2945;--red:#e31d2b;--red-dark:#b90f1b;--blue:#1686d9;--sky:#dceef8;--paper:#f6f5f0;--white:#fff;--ink:#0c1d2f;--muted:#607083;--line:#d8dee5;--shadow:0 24px 70px rgba(7,24,45,.14);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.8rem 1rem;border-radius:8px;color:var(--ink)}
.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 28px}.brand{display:block;width:210px;height:92px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{color:var(--ink);text-decoration:none;font-weight:650;font-size:.92rem}.site-header button{border:0;cursor:pointer}.language{background:transparent;color:var(--muted);font-weight:800}.nav-cta{background:var(--navy);color:#fff;border-radius:999px;padding:12px 19px;font-weight:750}
.hero{max-width:1240px;margin:0 auto;padding:70px 28px 96px;display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:850;color:var(--red);margin:0 0 18px}.hero h1{font-size:clamp(3.5rem,6vw,6rem);line-height:.94;letter-spacing:-.065em;margin:0;max-width:700px}.hero h1 span{color:var(--red)}.hero-lede{font-size:1.18rem;line-height:1.7;color:var(--muted);max-width:620px;margin:28px 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{appearance:none;border:0;border-radius:999px;padding:15px 24px;text-decoration:none;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(227,29,43,.22)}.button.primary:hover{background:var(--red-dark)}.button.secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.button.light{background:#fff;color:var(--navy);white-space:nowrap}.trust-row{display:flex;gap:28px;margin-top:44px}.trust-row span{display:flex;flex-direction:column;border-left:2px solid var(--line);padding-left:14px}.trust-row b{font-size:1.05rem}.trust-row small{font-size:.76rem;color:var(--muted);margin-top:3px}
.hero-visual{min-width:0}.road-card{position:relative;min-height:545px;overflow:hidden;border-radius:34px;background:linear-gradient(#a6d8ef 0 54%,#9bc071 54% 67%,#344154 67%);box-shadow:var(--shadow)}.sun{position:absolute;width:90px;height:90px;border-radius:50%;background:#fff5ba;right:12%;top:10%;box-shadow:0 0 60px rgba(255,245,186,.7)}.mountains{position:absolute;left:-8%;right:-8%;bottom:31%;height:40%;background:linear-gradient(145deg,transparent 0 22%,#527395 22% 43%,transparent 43%),linear-gradient(220deg,transparent 0 25%,#274b6e 25% 52%,transparent 52%);opacity:.95}.road{position:absolute;bottom:-3%;left:30%;width:42%;height:43%;background:#4c5868;clip-path:polygon(41% 0,59% 0,100% 100%,0 100%)}.road:after{content:"";position:absolute;left:49%;top:8%;width:2%;height:85%;background:repeating-linear-gradient(#f5dd72 0 18px,transparent 18px 34px)}.service-card{position:absolute;left:28px;top:28px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:17px;padding:14px 18px;display:flex;gap:11px;align-items:center;box-shadow:0 12px 30px rgba(7,24,45,.12)}.service-card small{display:block;color:var(--muted);font-size:.7rem}.service-card strong{display:block;font-size:.86rem;margin-top:2px}.status-dot{width:10px;height:10px;border-radius:50%;background:#45a866;box-shadow:0 0 0 5px rgba(69,168,102,.15)}.vehicle{position:absolute;bottom:14%;left:50%;transform:translateX(-50%);width:190px;height:86px;border-radius:38px 38px 17px 17px;background:linear-gradient(90deg,#bb0c18,#f03743 45%,#bd101b);box-shadow:0 19px 20px rgba(0,0,0,.24)}.vehicle:before{content:"";position:absolute;left:36px;right:36px;top:-40px;height:57px;background:var(--navy);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);border-radius:18px 18px 0 0}.vehicle span:before,.vehicle span:after{content:"";position:absolute;top:27px;width:38px;height:15px;background:#fff9d7;border-radius:10px}.vehicle span:before{left:12px}.vehicle span:after{right:12px}.vehicle i{position:absolute;bottom:-14px;width:37px;height:37px;background:#152131;border:8px solid #070b12;border-radius:50%}.vehicle i:first-of-type{left:25px}.vehicle i:last-of-type{right:25px}
.service-strip{background:var(--navy);color:#fff;display:flex;justify-content:center;align-items:center;gap:34px;padding:18px 24px}.service-strip p{margin:0;font-size:.82rem;font-weight:750;letter-spacing:.03em}.service-strip i{width:4px;height:4px;border-radius:50%;background:var(--red)}
.section{max-width:1240px;margin:auto;padding:110px 28px}.section-heading{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:end;margin-bottom:58px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-38px}.section-heading h2,.coverage h2,.final-cta h2{font-size:clamp(2.5rem,4.5vw,4.5rem);letter-spacing:-.055em;line-height:1.02;margin:0}.section-heading>p:last-child,.coverage-copy>p:not(.eyebrow),.final-cta>div>p:last-child{color:var(--muted);line-height:1.7;font-size:1.05rem;margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-card-large{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s ease}.service-card-large:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(7,24,45,.08)}.service-card-large.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.service-number{font-size:.75rem;font-weight:850;color:var(--red);letter-spacing:.12em}.service-card-large h3{font-size:1.5rem;margin:0 0 10px}.service-card-large p{color:var(--muted);line-height:1.65;margin:0;max-width:480px}.featured p{color:#b9c7d4}.service-card-large>strong{font-size:.9rem;color:var(--red)}.scope-note{font-size:.8rem;color:var(--muted);line-height:1.6;max-width:900px;margin:24px 0 0}
.process{background:#e7e5de;max-width:none;padding-left:max(28px,calc((100vw - 1184px)/2));padding-right:max(28px,calc((100vw - 1184px)/2))}.section-heading.compact{display:block;max-width:700px}.section-heading.compact .eyebrow{margin-bottom:18px}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.steps li{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius);padding:28px;min-height:230px}.steps li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-weight:850;margin-bottom:38px}.steps h3{font-size:1.25rem;margin:0 0 10px}.steps p{color:var(--muted);line-height:1.6;margin:0}
.coverage{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}.coverage-copy .button{margin-top:26px}.map-card{min-height:460px;border-radius:32px;position:relative;overflow:hidden;background:#d8e6e8;box-shadow:var(--shadow);border:1px solid rgba(7,24,45,.08)}#service-map{position:absolute;inset:0}.maplibregl-map{font:inherit}.maplibregl-ctrl-bottom-right{bottom:8px;right:10px}.maplibregl-ctrl-attrib{font-size:10px!important}.map-caption{position:absolute;z-index:3;left:18px;bottom:18px;display:flex;gap:11px;align-items:center;background:rgba(7,24,45,.92);color:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 12px 30px rgba(7,24,45,.2);pointer-events:none}.map-caption p{margin:0}.map-caption strong,.map-caption small{display:block}.map-caption strong{font-size:.78rem}.map-caption small{font-size:.68rem;color:#bbcad7;margin-top:2px}.map-marker{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 5px 6px rgba(7,24,45,.25))}.map-marker span{display:block;width:23px;height:23px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);border:3px solid #fff}.map-marker b{margin-top:7px;background:#fff;color:var(--navy);border-radius:999px;padding:5px 9px;font-size:.68rem;white-space:nowrap;box-shadow:0 4px 12px rgba(7,24,45,.14)}
.final-cta{background:var(--red);color:#fff;border-radius:34px;margin-bottom:110px;padding:62px;display:flex;align-items:center;justify-content:space-between;gap:48px}.final-cta .eyebrow{color:#ffd7da}.final-cta h2{font-size:clamp(2.5rem,4vw,4rem)}.final-cta>div>p:last-child{color:#ffe7e9;max-width:650px;margin-top:18px}
footer{background:var(--navy);color:#fff;padding:68px max(28px,calc((100vw - 1184px)/2)) 28px}.footer-main{display:grid;grid-template-columns:1.35fr .75fr .65fr 1.1fr;gap:46px;align-items:start}.footer-brand,.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-brand img{width:220px;background:#fff;border-radius:12px;padding:5px}.footer-brand p{font-size:.8rem;color:#aebdca;max-width:260px;line-height:1.6}.footer-column strong{font-size:.88rem;margin-bottom:7px}.footer-column span,.footer-column a,.footer-column button{color:#aebdca;font-size:.8rem;text-decoration:none}.footer-column a:hover,.footer-column button:hover{color:#fff}.footer-column button{border:0;background:none;padding:0;cursor:pointer}.bar-card{justify-self:end;width:100%;max-width:310px;background:#fff;color:var(--navy);border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 14px 40px rgba(0,0,0,.16)}.bar-card img{width:105px;height:auto}.bar-card div{display:flex;flex-direction:column;align-items:flex-start}.bar-card span{font-size:.64rem;line-height:1.3;color:#506173}.bar-card strong{font-size:1.05rem;margin-top:4px}.bar-card small{font-size:.72rem;color:#607083;margin-top:3px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:34px;display:flex;justify-content:space-between;gap:24px;color:#7f93a5;font-size:.75rem}.footer-bottom p{margin:0}
.booking-dialog{width:min(820px,calc(100% - 28px));border:0;border-radius:28px;padding:0;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.32)}.booking-dialog::backdrop{background:rgba(3,12,24,.72);backdrop-filter:blur(5px)}.booking-dialog form{padding:34px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-header h2{font-size:2.2rem;letter-spacing:-.04em;margin:0}.close{border:0;background:#edf0f2;width:40px;height:40px;border-radius:50%;font-size:1.6rem;cursor:pointer}.demo-note{margin:24px 0;background:#fff2c8;border:1px solid #eed88d;border-radius:12px;padding:12px 14px;font-size:.82rem;color:#695000}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.consent{font-size:.8rem;font-weight:750;color:#33475a}.form-grid input,.form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fafafa;color:var(--ink)}.form-grid input:focus,.form-grid textarea:focus{outline:3px solid rgba(22,134,217,.18);border-color:var(--blue)}.form-grid .full{grid-column:1/-1}.consent{display:flex;gap:9px;align-items:flex-start;margin:18px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.success{text-align:center;padding:64px 40px}.success span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#e7f6ec;color:#2e9152;font-size:2rem;font-weight:900;margin:0 auto 22px}.success h2{font-size:2.2rem;margin:0}.success p{color:var(--muted);line-height:1.65;max-width:520px;margin:16px auto 26px}
@media(max-width:900px){.site-header nav>a{display:none}.hero{grid-template-columns:1fr;padding-top:44px}.hero-visual{order:-1}.road-card{min-height:390px}.section-heading,.coverage{grid-template-columns:1fr;gap:28px}.section-heading .eyebrow{margin-bottom:0}.steps{grid-template-columns:1fr}.steps li{min-height:auto}.final-cta{margin-left:18px;margin-right:18px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.bar-card{justify-self:start}}
@media(max-width:620px){.site-header{height:88px;padding:0 18px}.brand{width:145px;height:78px}.site-header nav{gap:10px}.nav-cta{padding:11px 14px;font-size:.8rem}.hero{padding:34px 18px 66px;gap:40px}.hero h1{font-size:3.2rem}.hero-lede{font-size:1rem}.trust-row{gap:14px;overflow:auto}.trust-row span{min-width:105px}.road-card{min-height:330px;border-radius:24px}.vehicle{transform:translateX(-50%) scale(.78);bottom:10%}.service-card{left:16px;top:16px;right:16px}.service-strip{justify-content:flex-start;overflow:auto}.service-strip p{white-space:nowrap}.section{padding:76px 18px}.service-grid{grid-template-columns:1fr}.section-heading h2,.coverage h2{font-size:2.65rem}.map-card{min-height:390px}.final-cta{padding:42px 24px;flex-direction:column;align-items:flex-start;border-radius:24px;margin-bottom:72px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-dialog form{padding:24px}.dialog-header h2,.success h2{font-size:1.75rem}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.bar-card{justify-self:stretch;max-width:none}.footer-bottom{flex-direction:column}.footer-bottom p{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.bar-card{max-width:330px;padding:16px}.bar-card img{width:128px;border-radius:7px}
.map-fallback{overflow:hidden;background:#d5e2e4}.static-map-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.fallback-locations{position:absolute;inset:0;pointer-events:none}.fallback-pin{position:absolute;background:#fff;color:var(--navy);border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:850;box-shadow:0 5px 14px rgba(7,24,45,.2)}.fallback-pin:before{content:"";position:absolute;width:14px;height:14px;background:var(--red);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);left:50%;top:-17px;margin-left:-9px}.fallback-pin.santee{left:36%;top:43%}.fallback-pin.el-cajon{left:37%;top:61%}.fallback-pin.lakeside{left:49%;top:31%}.fallback-pin.alpine{left:72%;top:47%}.map-mode{position:absolute;right:9px;bottom:7px;z-index:4;background:rgba(255,255,255,.82);color:#506173;border-radius:5px;padding:3px 6px;font-size:9px}
