
:root{--blue:#0EA5E9;--ink:#0F172A;--muted:#64748B;--bg:#F8FBFF;--line:rgba(15,23,42,.1);--gold:#F5B700;--red:#EF4444}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}h1,h2,h3{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em}
.wrap{max-width:1120px;margin:auto;padding:0 22px}
.nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.navin{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;max-width:1120px;margin:auto}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;font-size:16px}
.brand img{height:40px;width:auto}
.nlinks{display:flex;gap:18px;align-items:center}
.nlinks a{text-decoration:none;font-weight:600;color:#334155;font-size:14px}
.ncall{background:var(--blue);color:#fff!important;padding:9px 15px;border-radius:11px;font-weight:700}
/* photo hero */
.hero{position:relative;color:#fff;padding:60px 0 54px;background:linear-gradient(115deg,#0B1220,#13314f)}
.hero .wrap{position:relative;z-index:2}
.crumb{font-size:12px;color:#cdeafx;color:rgba(255,255,255,.75);font-weight:600;margin-bottom:12px}
.crumb a{color:#9fd5fb;text-decoration:none}
.tag{display:inline-flex;gap:7px;align-items:center;background:rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:12px;padding:6px 13px;border-radius:30px;margin-bottom:13px;backdrop-filter:blur(4px)}
.hero h1{font-size:38px;line-height:1.07;margin:0 0 12px;max-width:760px}
.hero .lede{font-size:17px;color:rgba(255,255,255,.9);max-width:600px;margin:0 0 20px}
.btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;gap:8px;align-items:center;padding:14px 22px;border-radius:13px;text-decoration:none;font-weight:700;font-size:15px;border:0;cursor:pointer}
.btn.p{background:var(--blue);color:#fff}.btn.w{background:#25D366;color:#fff}.btn.g{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(4px)}
.rate{display:inline-flex;gap:7px;align-items:center;margin-top:15px;font-size:13px;color:rgba(255,255,255,.85);font-weight:600}
.stars{color:var(--gold);letter-spacing:1px}
.area{margin:0 0 18px;font-size:14px;font-weight:600;color:#dff0ff;background:rgba(255,255,255,.1);display:inline-block;padding:8px 14px;border-radius:30px;backdrop-filter:blur(4px)}
.veh{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.vcard{display:flex;gap:13px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:15px;padding:16px 18px}
.vcard .vi{font-size:26px;line-height:1;flex-shrink:0}
.vcard b{font-size:15px;display:block;margin-bottom:2px;font-family:'Plus Jakarta Sans'}
.vcard span{font-size:13px;color:var(--muted)}
.ba-wrap{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.18);aspect-ratio:4/5;max-width:430px;margin:0 auto;background:#0B1220;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.ba-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-after{clip-path:inset(0 0 0 50%);transition:clip-path .06s linear}
.ba-label{position:absolute;top:16px;padding:7px 13px;background:rgba(15,23,42,.7);color:#fff;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.12em;pointer-events:none;z-index:3}
.ba-label--before{left:16px}.ba-label--after{right:16px;background:#0EA5E9}
.ba-divider{position:absolute;top:0;bottom:0;width:3px;background:#fff;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;box-shadow:0 0 24px rgba(255,255,255,.5)}
.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(15,23,42,.25);z-index:3;cursor:ew-resize}
.ba-handle:before,.ba-handle:after{content:'';width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent}
.ba-handle:before{border-right:9px solid #0B1220;margin-right:2px}.ba-handle:after{border-left:9px solid #0B1220;margin-left:2px}
.ba-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:6px 13px;background:rgba(15,23,42,.7);color:#fff;border-radius:999px;font-size:12px;font-weight:600;pointer-events:none;z-index:3}
section{padding:42px 0}
.eyebrow{font-size:12px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.09em}
.h2{font-size:26px;margin:6px 0 16px}
/* quote strip (compact cab banner) */
.qstrip{background:linear-gradient(180deg,#0B1220,#0E1A2E);color:#fff;border-radius:18px;overflow:hidden;margin:0;position:relative}
.qwind{height:64px;background:linear-gradient(180deg,#1b3a5b,#2b5e86 45%,#4d7falpha 60%,#23262e 61%,#1a1d24)}
.qwind{height:64px;background:linear-gradient(180deg,#1b3a5b,#2b5e86 45%,#5b7f9e 60%,#23262e 61%,#1a1d24)}
.qwind{position:relative}.qwind:before{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:7px;height:26px;background:repeating-linear-gradient(#f4c542 0 8px,transparent 8px 16px);border-radius:3px}
.qin{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;flex-wrap:wrap}
.qin h3{font-size:20px;margin:0 0 3px}.qin p{margin:0;color:#AFC0D4;font-size:14px}
/* included */
.inc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;list-style:none;padding:0;margin:0}
.inc li{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;font-weight:600;font-size:14.5px}
.inc li span{color:var(--blue);font-weight:800;flex-shrink:0}
.why{background:#fff}.why p{font-size:16px;line-height:1.8;color:#334155;max-width:780px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.step{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;text-align:center}
.step .n{width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 11px;font-family:'Plus Jakarta Sans'}
.step h3{font-size:15px;margin:0 0 5px}.step p{font-size:13px;color:var(--muted);margin:0}
/* pricing 2-up */
.pkgs2{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:840px}
.pkg{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;overflow:hidden}
.pkg.pop{border:2px solid var(--red)}
.pk-top{position:absolute;top:0;left:0;right:0;height:4px;background:var(--pc)}
.pk-badge{display:inline-block;background:color-mix(in srgb,var(--pc) 13%,#fff);color:var(--pc);font-size:11px;font-weight:800;padding:5px 12px;border-radius:20px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}
.pkg h3{font-size:21px;margin:0 0 2px}.pk-price{font-size:38px;font-weight:800;color:var(--pc);font-family:'Plus Jakarta Sans';line-height:1}
.pk-meta{font-size:12.5px;color:var(--muted);margin:2px 0 14px}
.pkg ul{list-style:none;padding:0;margin:0 0 18px}.pkg li{font-size:13.5px;color:#334155;padding:5px 0 5px 22px;position:relative}
.pkg li:before{content:"✓";position:absolute;left:0;color:var(--pc);font-weight:800}
.pk-cta{display:block;text-align:center;padding:14px;border-radius:12px;background:var(--pc);color:#fff;font-weight:800;text-decoration:none;font-size:15px;border:0;cursor:pointer;width:100%;font-family:'Plus Jakarta Sans'}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 17px;margin:8px 0}
.faq summary{font-weight:700;cursor:pointer;font-size:15px}.faq p{color:#475569;margin:9px 0 0;font-size:14px}
.links{columns:2;column-gap:24px}.links a{display:block;text-decoration:none;padding:6px 0;color:#334155;font-weight:600;font-size:13.5px;border-bottom:1px solid rgba(15,23,42,.05)}
.osvc{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:9px}
.osvc a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;text-decoration:none;font-weight:600;font-size:14px}
.foot{background:#0B1220;color:#CBD5E1;padding:34px 0;font-size:14px}
.foot a{color:#E2E8F0;text-decoration:none}.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:22px}
.fab{position:fixed;right:15px;bottom:15px;display:flex;flex-direction:column;gap:9px;z-index:35}
.fab a{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 22px rgba(0,0,0,.22);text-decoration:none}
.fab .wa{background:#25D366}.fab .call{background:var(--blue)}
/* sticky mobile quote bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:34;background:#fff;border-top:1px solid var(--line);padding:10px 14px;display:none;gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.mbar .btn{flex:1;justify-content:center;padding:13px}
/* MODAL one-tap quote */
.modal{position:fixed;inset:0;z-index:60;background:rgba(8,18,33,.72);display:none;align-items:center;justify-content:center;padding:18px}
.modal.open{display:flex}
.qcard{background:#fff;border-radius:20px;width:100%;max-width:430px;max-height:92vh;overflow:auto;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.qhead{background:linear-gradient(180deg,#0B1220,#0E1A2E);color:#fff;padding:0}
.qhead .win{height:54px;background:linear-gradient(180deg,#1b3a5b,#2b5e86 45%,#5b7f9e 60%,#23262e 61%,#1a1d24);position:relative}
.qhead .win:before{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:7px;height:22px;background:repeating-linear-gradient(#f4c542 0 8px,transparent 8px 16px);border-radius:3px}
.qhead .ht{padding:14px 22px 16px;display:flex;justify-content:space-between;align-items:flex-start}
.qhead h3{margin:0 0 2px;font-size:19px}.qhead p{margin:0;color:#AFC0D4;font-size:13px}
.qx{background:rgba(255,255,255,.14);border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;flex-shrink:0}
.qbody{padding:18px 22px 22px}
.qpkg{background:#EFF6FF;border:1px solid #BFDBFE;color:#0369A1;font-weight:700;font-size:13.5px;padding:10px 13px;border-radius:11px;margin-bottom:13px;display:flex;align-items:center;gap:8px}
.qf{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}
.qf label{font-size:12px;font-weight:700;color:#475569}
.qf input,.qf select,.qf textarea{font-family:inherit;font-size:15px;padding:12px 13px;border:1.5px solid #E2E8F0;border-radius:11px;background:#F8FAFC;color:#0F172A;width:100%}
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:none;border-color:var(--blue);background:#fff}
.q2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.qbtn{width:100%;border:0;cursor:pointer;padding:15px;border-radius:13px;background:linear-gradient(180deg,#0EA5E9,#0284C7);color:#fff;font-weight:800;font-size:16px;font-family:'Plus Jakarta Sans';margin-top:4px}
.qalt{text-align:center;font-size:13px;color:var(--muted);margin-top:12px}.qalt a{color:var(--blue);font-weight:700;text-decoration:none}
.qok{display:none;text-align:center;padding:28px 20px}
.qok .chk{width:56px;height:56px;border-radius:50%;background:#DCFCE7;color:#16A34A;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.qok h3{font-size:20px;margin:0 0 6px}.qok p{color:var(--muted);font-size:14px;margin:0 0 16px}
.hpot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(max-width:880px){.nlinks{display:none}.hero{padding:46px 0 40px}.hero h1{font-size:29px}.h2{font-size:22px}.pkgs2{grid-template-columns:1fr}.links{columns:1}.fgrid{grid-template-columns:1fr}.mbar{display:flex}.fab{bottom:74px}main{padding-bottom:64px}}
