:root{
  --ink:#0B1220;        /* deep navy */
  --ink-2:#111a2e;
  --gold:#E3B341;
  --gold-2:#f0c45c;
  --snow:#F7F9FC;
  --muted:#9aa3b2;
  --card:#0f1526;
  --line:#ffffff14;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:linear-gradient(180deg,var(--ink),var(--ink-2));
  color:var(--snow);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.6;
}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin-inline:auto}
h1,h2,h3,h4{margin:0 0 .5rem;font-family:Manrope,Inter,system-ui,sans-serif;line-height:1.2}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,4vw,2.2rem)}
h3{font-size:clamp(1.1rem,3vw,1.4rem)}
p{margin:.45rem 0 .9rem}
a{color:inherit;text-decoration:none}
.muted{color:var(--muted)}
.hidden{display:none}

.btn{display:inline-block;padding:.72rem 1rem;border-radius:12px;font-weight:700;border:1px solid transparent}
.btn-lg{padding:.9rem 1.1rem;font-size:1.05rem}
.btn-gold{background:var(--gold);color:#1b1200;box-shadow:0 8px 20px rgba(227,179,65,.25)}
.btn-gold:hover{background:var(--gold-2)}
.btn-ghost{border-color:#fff3}
.btn-outline{border-color:#fff3}
.btn-outline:hover,.btn-ghost:hover{background:#ffffff10}

.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:16px;top:16px;background:#fff;color:#000;padding:8px;border-radius:8px}

/* topbar */
.topbar{display:flex;gap:.6rem;justify-content:center;align-items:center;padding:.45rem .75rem;background:#0a1326;border-bottom:1px solid var(--line);font-size:.95rem}
.topbar-link{color:var(--gold);font-weight:700}

/* header */
.header{position:sticky;top:0;z-index:30;background:rgba(11,18,32,.7);backdrop-filter:saturate(130%) blur(10px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.brand{display:flex;gap:.5rem;align-items:center;font-weight:800;letter-spacing:.2px}
.brand.small svg{width:18px;height:18px}
.nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0}
.nav a{opacity:.9}
.nav a:hover{opacity:1}
.header-ctas{display:flex;gap:.6rem}
.nav-toggle{display:none;background:transparent;color:#fff;border:1px solid #fff3;border-radius:10px;padding:.35rem .6rem}

/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,14,26,.35),rgba(9,14,26,.7)),var(--bg) center/cover no-repeat;filter:saturate(1.05)}
.hero-inner{position:relative;padding-block:clamp(3.5rem,10vw,6.5rem)}
.underline{background:linear-gradient(90deg,var(--gold),#fff0);-webkit-background-clip:text;background-clip:text}

/* badges */
.badges{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;color:#d9e2f3;font-size:.95rem}

/* trust */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1730}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;padding:.7rem 0}
.trust-item{display:flex;gap:.5rem;align-items:center;justify-content:center;color:#d2d8e5}

/* services */
.services{padding-block:2.4rem}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:.9rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.svc img{aspect-ratio:4/3;object-fit:cover}
.svc h3{padding:.9rem .9rem 0}
.svc p{padding:0 .9rem 1rem;color:#cdd6e4}

/* why */
.why{padding-block:2.4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1730}
.why-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:start}
.checks{display:grid;gap:.4rem;margin-top:.6rem}
.checks li{position:relative;padding-left:1.3rem}
.checks li::before{content:"✓";position:absolute;left:0;top:0.15rem;color:var(--gold)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;text-align:center}
.stat span{display:block;font-size:1.4rem;font-weight:800;color:var(--gold)}

/* before/after snap row */
.work{padding-block:2.4rem}
.snap-row{display:grid;grid-auto-flow:column;grid-auto-columns:90vw;gap:.6rem;overflow:auto;scroll-snap-type:x mandatory;padding:0 4vw}
.ba{scroll-snap-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ba img{aspect-ratio:16/9;object-fit:cover}
.ba figcaption{text-align:center;color:#cdd6e4;padding:.5rem}

/* process */
.process{padding-block:2.4rem;border-top:1px solid var(--line)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:.8rem;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem}
.step-num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#142448;border:1px solid #28407f;color:var(--gold);font-weight:800}

/* testimonials */
.testimonials{padding-block:2.4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1730}
.t-carousel{min-height:92px;margin-top:.6rem}
.t{display:none;font-style:italic}
.t.current{display:block}
.t-dots{display:flex;gap:.35rem;margin-top:.7rem}
.dot{width:10px;height:10px;border-radius:50%;border:1px solid #fff5;background:transparent}
.dot.active{background:#fff8}

/* faq */
.faq{padding-block:2.4rem}
.accordion{display:grid;gap:.6rem}
.acc{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.acc summary{cursor:pointer;padding:1rem;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary span{font-weight:700}
.acc[open] .acc-body{border-top:1px solid var(--line)}
.acc-body{padding:1rem;color:#cdd6e4}

/* quote form */
.quote{padding-block:2.4rem;border-top:1px solid var(--line);background:#0d1730}
.quote-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:start}
.form{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem}
.field{display:grid;gap:.25rem;margin-bottom:.7rem}
input,textarea,select{
  width:100%;border:1px solid #2b3550;background:#0a1328;color:#fff;
  border-radius:10px;padding:.7rem;font:inherit
}
input:focus,textarea:focus,select:focus{outline:2px solid #3157b7}
.form-note{color:#cdd6e4;font-size:.95rem}

/* footer */
.footer{padding-top:1.6rem}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.legal{text-align:center;color:#b6c1d6;border-top:1px solid var(--line);padding:1rem 0;margin-top:1rem}

/* mobile sticky CTA */
.mobile-cta{
  position:sticky;bottom:0;z-index:40;
  display:none;grid-template-columns:1fr 1fr;gap:1px;background:#1a2442;border-top:1px solid var(--line)
}
.mobile-cta .btn{border-radius:0}

/* responsive */
@media (max-width: 900px){
  .nav ul{display:none;position:absolute;right:0;top:100%;background:#0a1328;border:1px solid var(--line);border-radius:12px;padding:.7rem}
  .nav ul.show{display:flex;flex-direction:column;gap:.6rem}
  .nav-toggle{display:inline-block}
  .header-ctas{display:none}
  .why-grid,.quote-grid{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .mobile-cta{display:grid}
}
@media (max-width:600px){
  .svc-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}