:root{
  --navy:#0f2742; --navy2:#17375c; --navy3:#22497a; --yellow:#ffd400; --yellow2:#ffe24d; --fog:#f2f4f7; --steel:#5c6b7e; --line:#dde3ea; --ink:#0c1d31; --red:#e5484d;
  --cond:"Barlow Condensed",Impact,sans-serif; --sans:"Barlow",system-ui,sans-serif;
  --pad:clamp(16px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:#fff;color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.kick{font:700 14px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--navy3)}
h2{font:800 clamp(40px,5vw,72px)/.95 var(--cond);text-transform:uppercase;letter-spacing:-.005em;color:var(--navy)}

.btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 26px;border-radius:8px;font:700 19px var(--cond);letter-spacing:.06em;text-transform:uppercase;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-1px)}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-yellow:hover{background:var(--yellow2)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy2)}
.btn-line{box-shadow:inset 0 0 0 2px currentColor}

.sos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;padding:9px var(--pad);background:var(--yellow);color:var(--navy);font-size:15px;text-align:center}
.sos b{font:800 16px var(--cond);letter-spacing:.06em;text-transform:uppercase}
.sos a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sos-dot{width:9px;height:9px;border-radius:50%;background:var(--red);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}

.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--pad);background:var(--navy);color:#fff}
.logo{display:flex;align-items:center;gap:10px}
.logo svg{width:40px;height:25px;fill:var(--yellow)}
.logo b{display:block;font:800 25px/.9 var(--cond);letter-spacing:.04em;text-transform:uppercase}
.logo small{display:block;font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#a9bdd6}
.links{display:flex;gap:30px;font:700 17px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:#c4d2e3}
.links a:hover{color:var(--yellow)}
.nav .btn{height:44px;font-size:17px}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--navy);color:#fff;min-height:calc(100svh - 110px)}
.hero-copy{padding:clamp(48px,7vw,100px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.pill{align-self:flex-start;font:700 14px var(--cond);letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border:1.5px solid rgba(255,212,0,.6);color:var(--yellow);border-radius:6px}
.hero h1{font:800 clamp(48px,6.4vw,96px)/.9 var(--cond);text-transform:uppercase;margin:22px 0 26px}
.hero h1 span{color:var(--yellow)}
.promise{list-style:none;display:grid;gap:10px;margin-bottom:30px}
.promise li{display:flex;gap:12px;align-items:center;font-size:18px;color:#d8e3f0}
.promise li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%230f2742'/%3E%3C/svg%3E") center/14px no-repeat}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn-line{color:#fff}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:15px;color:#a9bdd6}
.trust b{color:var(--yellow)}
.trust small{opacity:.7}
.hero-pic{position:relative;overflow:hidden;min-height:420px}
.hero-pic img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:35% 50%}

section.services,section.reviews{padding:clamp(80px,10vw,140px) var(--pad)}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(36px,5vw,56px)}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.svc{border:1.5px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:border-color .25s,transform .25s;background:#fff}
.svc:hover{border-color:var(--navy);transform:translateY(-3px)}
.svc h3{font:800 28px/1 var(--cond);text-transform:uppercase;color:var(--navy)}
.svc p{color:var(--steel);font-size:16px}
.svc svg{width:44px;height:44px;padding:10px;border-radius:10px;background:var(--fog);fill:var(--navy)}
.svc-img{padding:0;overflow:hidden}
.svc-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.svc-img div{padding:22px 26px 26px;display:grid;gap:10px}

.quote{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,90px);padding:clamp(80px,10vw,140px) var(--pad);background:var(--fog)}
.quote-copy{display:grid;gap:18px;align-content:start}
.quote-copy>p{color:var(--steel);max-width:40ch}
.wizard{background:#fff;border-radius:18px;padding:clamp(20px,3vw,36px);box-shadow:0 30px 60px -30px rgba(15,39,66,.35);display:grid;gap:18px;align-content:start}
.bar{height:6px;border-radius:99px;background:var(--fog);overflow:hidden}
.bar span{display:block;height:100%;width:25%;background:var(--yellow);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.step-label{font:700 18px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.step{border:0;display:grid;gap:14px}
.step.shake{animation:shake .35s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tiles label,.urg label{position:relative}
.tiles input,.urg input{position:absolute;opacity:0;width:1px;height:1px}
.tiles span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:86px;padding:12px;border:2px solid var(--line);border-radius:12px;font:700 19px/1.05 var(--cond);text-transform:uppercase;letter-spacing:.03em;color:var(--navy);cursor:pointer;transition:all .2s}
.tiles span:hover{border-color:var(--navy3)}
.tiles input:checked+span,.urg input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.tiles input:focus-visible+span,.urg input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:2px}
.fld span{display:block;font:700 14px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:6px}
.fld input,.fld textarea{width:100%;min-height:52px;padding:12px 14px;border:2px solid var(--line);border-radius:10px;font:500 16px var(--sans);color:var(--ink)}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--navy)}
.urg{display:flex;flex-wrap:wrap;gap:8px}
.urg span{display:inline-block;padding:12px 18px;border:2px solid var(--line);border-radius:999px;font-weight:700;cursor:pointer}
.drop{display:grid;justify-items:center;gap:6px;padding:34px 20px;border:2.5px dashed var(--line);border-radius:14px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.drop:hover{border-color:var(--navy3);background:var(--fog)}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop svg{width:40px;fill:var(--navy3)}
.drop b{font:800 22px var(--cond);text-transform:uppercase;color:var(--navy)}
.drop span{color:var(--steel);font-size:15px}
.drop:focus-within{outline:3px solid var(--yellow)}
.thumbs{display:flex;flex-wrap:wrap;gap:8px}
.thumbs img{width:76px;height:76px;object-fit:cover;border-radius:8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nav-btns{display:flex;justify-content:space-between;gap:10px}
.nav-btns .btn:last-of-type{margin-left:auto}
.wizard .btn-line{color:var(--navy)}

.areas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);padding:clamp(80px,10vw,140px) var(--pad);align-items:center}
.areas>div{display:grid;gap:16px}
.areas p:not(.kick){color:var(--steel);max-width:40ch}
.subs{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.subs li{padding:10px 18px;border-radius:999px;background:var(--fog);font-weight:600;color:var(--navy)}
.subs li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px var(--navy);margin-right:9px;vertical-align:1px}

.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--navy);color:#fff}
.about figure{position:relative;overflow:hidden;min-height:560px}
.about img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:50% 25%}
.about-copy{padding:clamp(56px,8vw,110px) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:18px}
.about .kick{color:var(--yellow)}
.about h2{color:#fff}
.about-copy>p:not(.kick){color:#c4d2e3;max-width:48ch}
.creds{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.creds li{padding:16px;border-radius:12px;background:var(--navy2);font-size:14px;color:#a9bdd6}
.creds b{display:block;font:800 26px/1 var(--cond);text-transform:uppercase;color:var(--yellow);margin-bottom:6px}

.rv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rv blockquote{padding:28px;border-radius:14px;border:1.5px solid var(--line)}
.rv blockquote::before{content:"★★★★★";display:block;color:#f5a524;letter-spacing:2px;margin-bottom:10px}
.rv p{font-size:18px;font-weight:500}
.rv cite{display:block;margin-top:14px;font:700 15px var(--cond);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--steel)}

.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:30px var(--pad) 90px;background:var(--ink);color:#8fa3bc;font-size:14px}
.foot .logo b{color:#fff}

@media (max-width:900px){
  .links{display:none}
  .hero,.quote,.areas,.about{grid-template-columns:minmax(0,1fr)}
  .hero-pic{min-height:56vw}
  .svc-grid,.rv{grid-template-columns:minmax(0,1fr)}
  .about figure{min-height:70vw}
}
@media (max-width:560px){
  .nav .btn{display:none}
  .tiles{grid-template-columns:1fr 1fr}
  .grid2,.creds{grid-template-columns:minmax(0,1fr)}
  .sos{font-size:13px}
}
