:root{
  --ink:#0F172A; --ink-2:#334155; --ink-3:#475569; --ink-4:#64748B;
  --line:#E2E8F0; --canvas:#F8FAFC; --surface:#FFFFFF;
  --orange:#C2410C; --orange-2:#F97316; --orange-soft:#FFF7ED; --orange-line:#FED7AA;
  --blue:#1D4ED8; --blue-2:#3B82F6; --blue-soft:#EFF6FF; --blue-line:#BFDBFE;
  --good:#15803D; --good-soft:#F0FDF4;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --num:'Barlow Semi Condensed','Inter','Arial Narrow',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:var(--font); color:var(--ink); background:var(--surface); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;}
a{color:var(--blue);}
img{max-width:100%; display:block;}
.wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
:focus-visible{outline:2px solid var(--blue-2); outline-offset:2px;}

/* Header */
header.site{position:sticky; top:0; z-index:10; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--line);}
header.site .wrap{display:flex; align-items:center; gap:24px; height:68px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-family:var(--num); font-weight:700; font-size:24px; letter-spacing:.2px;}
.brand span.s{color:var(--orange);}
.mark{width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#F97316,#C2410C); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(194,65,12,.3);}
nav.top{display:flex; gap:4px; margin-left:auto; align-items:center;}
nav.top a{color:var(--ink-2); text-decoration:none; font-weight:600; font-size:15px; padding:8px 12px; border-radius:8px;}
nav.top a:hover{background:var(--canvas);}
nav.top a[aria-current="page"]{color:var(--ink);}
nav.top a.btn{color:#fff; margin-left:8px;}
.menu-btn{display:none;}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border-radius:12px; font-weight:700; font-size:16px; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:filter .15s, transform .1s;}
.btn:hover{filter:brightness(1.07);} .btn:active{transform:scale(.98);}
.btn.blue{background:var(--blue); color:#fff;}
.btn.orange{background:var(--orange); color:#fff;}
.btn.ghost{background:#fff; color:var(--ink); border-color:#CBD5E1;}
.btn.ghost-dark{background:transparent; color:#fff; border-color:rgba(255,255,255,.35);}
.btn.sm{min-height:40px; padding:0 16px; font-size:15px; border-radius:10px;}
.btn svg{width:18px; height:18px;}

/* Hero */
.hero{background:radial-gradient(800px 420px at 85% -10%, rgba(249,115,22,.30), transparent 60%), radial-gradient(700px 400px at -10% 40%, rgba(59,130,246,.22), transparent 60%), linear-gradient(180deg,#0F172A,#111827); color:#fff; overflow:hidden;}
.hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding-top:72px; padding-bottom:72px;}
.eyebrow{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--orange);}
.hero .eyebrow{color:#FDBA74;}
.hero h1{font-size:56px; line-height:1.05; letter-spacing:-1.4px; margin:12px 0 18px; font-weight:800;}
.hero h1 em{font-style:normal; color:#FDBA74;}
.hero p.lede{color:#CBD5E1; font-size:19px; max-width:540px; margin:0 0 28px;}
.ctas{display:flex; flex-wrap:wrap; gap:12px;}
.hero .fine{color:#94A3B8; font-size:14px; margin-top:16px;}
.shots{position:relative; height:520px;}
.shots .desk{position:absolute; right:-140px; top:30px; width:640px; border-radius:14px; box-shadow:0 30px 70px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.12);}
.shots .phone{position:absolute; left:10px; top:0; width:250px; border-radius:34px; border:8px solid #0B1220; box-shadow:0 30px 60px rgba(0,0,0,.5), 0 0 0 1px #334155;}

/* Two doors */
.doors{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:-36px; position:relative; z-index:2;}
.door{background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; box-shadow:0 10px 30px rgba(15,23,42,.08);}
.door h2{margin:8px 0 8px; font-size:26px; letter-spacing:-.4px;}
.door p{color:var(--ink-3); margin:0 0 20px;}
.door .eyebrow.blue{color:var(--blue);}
.door ul{margin:0 0 22px; padding:0; list-style:none; display:grid; gap:8px;}
.door li{display:flex; gap:10px; color:var(--ink-2); font-size:16px;}
.door li svg{flex:none; width:20px; height:20px; color:var(--good); margin-top:3px;}

/* Bands */
.band{padding:88px 0;}
.band.alt{background:var(--canvas); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.band h2{font-size:38px; letter-spacing:-.8px; line-height:1.15; margin:8px 0 12px;}
.band p.lede{color:var(--ink-3); font-size:19px; max-width:680px; margin:0 0 36px;}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px;}
.card h3{margin:10px 0 6px; font-size:19px;}
.card p{margin:0; color:var(--ink-3); font-size:16px;}
.icon{width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--blue-soft); color:var(--blue);}
.icon.o{background:var(--orange-soft); color:var(--orange);}
.icon svg{width:22px; height:22px;}
.step-n{font-family:var(--num); font-size:44px; font-weight:700; color:var(--blue); line-height:1;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.split img.shot{border-radius:14px; box-shadow:0 20px 50px rgba(15,23,42,.16); border:1px solid var(--line);}
.split img.phone{max-width:300px; margin:0 auto; border-radius:34px; border:8px solid #0B1220; box-shadow:0 20px 50px rgba(15,23,42,.25);}
.checks{list-style:none; padding:0; margin:0 0 28px; display:grid; gap:14px;}
.checks li{display:flex; gap:12px; font-size:17px; color:var(--ink-2);}
.checks li svg{flex:none; width:22px; height:22px; color:var(--good); margin-top:2px;}
.checks b{color:var(--ink);}
.t8{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:0 0 28px;}
.t8 div{background:var(--good-soft); border:1px solid #BBF7D0; color:#166534; border-radius:12px; padding:12px 8px; text-align:center; font-weight:600; font-size:14px;}
.quote{font-size:22px; line-height:1.45; letter-spacing:-.2px; color:var(--ink); max-width:820px;}
.quote small{display:block; font-size:15px; color:var(--ink-4); margin-top:12px;}

/* Pricing */
.price{border:2px solid var(--blue); border-radius:20px; padding:32px; background:#fff; max-width:640px;}
.price .amt{font-family:var(--num); font-size:56px; font-weight:700; line-height:1;}
.price .amt small{font-family:var(--font); font-size:17px; color:var(--ink-4); font-weight:600; margin-left:6px;}

/* FAQ */
details{border-bottom:1px solid var(--line); padding:18px 0;}
details summary{font-weight:700; font-size:18px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px;}
details summary::-webkit-details-marker{display:none;}
details summary::after{content:'+'; font-size:24px; line-height:1; color:var(--ink-4);}
details[open] summary::after{content:'–';}
details p{color:var(--ink-3); margin:10px 0 0;}

/* CTA band */
.cta{background:linear-gradient(135deg,#1D4ED8,#1E3A8A); color:#fff; border-radius:24px; padding:48px; display:flex; align-items:center; gap:32px; justify-content:space-between; flex-wrap:wrap;}
.cta h2{margin:0 0 6px; font-size:32px; letter-spacing:-.6px;}
.cta p{margin:0; color:#DBEAFE;}
.cta .btn{background:#fff; color:var(--blue);}
.cta.o{background:linear-gradient(135deg,#C2410C,#7C2D12);}
.cta.o p{color:#FFEDD5;} .cta.o .btn{color:var(--orange);}

/* Store buttons (text only, not official badges) */
.stores{display:flex; gap:10px; flex-wrap:wrap;}
.store{display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:12px; background:#0B1220; color:#fff; text-decoration:none; border:1px solid #334155; min-height:52px;}
.store b{display:block; font-size:15px; line-height:1.2;} .store span{display:block; font-size:12px; color:#94A3B8; line-height:1.2;}
.store svg{width:22px; height:22px;}

/* Docs */
.doc{max-width:760px; margin:0 auto; padding:56px 0 88px;}
.doc h1{font-size:40px; letter-spacing:-.8px; margin:0 0 6px;}
.doc .meta{color:var(--ink-4); margin:0 0 28px;}
.doc h2{font-size:22px; margin:32px 0 8px;}
.doc h3{font-size:18px; margin:20px 0 4px;}
.doc p, .doc li{color:var(--ink-2);}
.table-wrap{overflow-x:auto;}
table{border-collapse:collapse; width:100%; font-size:15px;}
th, td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
th{background:var(--canvas);}

/* Footer */
footer.site{border-top:1px solid var(--line); padding:40px 0; color:var(--ink-4); font-size:14px;}
footer.site .wrap{display:flex; flex-wrap:wrap; gap:16px 32px; justify-content:space-between; align-items:center;}
footer.site nav{display:flex; flex-wrap:wrap; gap:6px 20px;}
footer.site a{color:var(--ink-3); text-decoration:none;}
footer.site a:hover{text-decoration:underline;}

@media (max-width:960px){
  .hero .wrap{grid-template-columns:1fr; padding-top:48px; padding-bottom:64px;}
  .hero h1{font-size:42px;}
  .shots{height:420px;}
  .shots .desk{width:520px; right:-200px;}
  .doors, .split, .grid3{grid-template-columns:1fr;}
  .grid4{grid-template-columns:1fr 1fr;}
  .split{gap:32px;}
  .band{padding:64px 0;}
  .band h2{font-size:30px;}
}
@media (max-width:720px){
  nav.top a:not(.btn){display:none;}
  .hero h1{font-size:36px;}
  .shots{height:360px;}
  .shots .phone{width:200px;}
  .shots .desk{display:none;}
  .t8{grid-template-columns:1fr 1fr;}
  .cta{padding:32px 24px;}
  .wrap{padding:0 16px;}
}
@media (max-width:720px){ .shots .phone{left:50% !important; right:auto !important; transform:translateX(-50%); top:0 !important;} .shots .phone + .phone{display:none;} }
