:root{
  --slate:#0F2438;
  --slate-deep:#0B1A2A;
  --orange:#F97316;
  --orange-dark:#d8620a;
  --sand:#F8F4EC;
  --ink:#1b2733;
  --muted:#6b7682;
  --line:#E7DFD0;
  --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--sand);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  padding-bottom:64px; /* room for sticky call bar on mobile */
}
.wrap{max-width:680px;margin:0 auto;padding:0 20px}
h1,h2,h3,.disp{font-family:'Barlow Condensed','Inter',sans-serif;text-transform:uppercase;letter-spacing:.5px;line-height:1.04;font-weight:700}

/* icons */
.ico{width:1.15em;height:1.15em;fill:currentColor;flex:none}
.ico-sm{width:18px;height:18px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;cursor:pointer;text-decoration:none;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.5px;font-weight:700;border-radius:12px;transition:transform .06s ease,background .15s ease}
.btn:active{transform:scale(.985)}
.btn-call{background:var(--orange);color:var(--slate);font-size:21px;padding:15px 18px}
.btn-call:hover{background:#fb8434}
.btn-ghost{background:transparent;color:var(--white);border:1.5px solid #3A4D60;font-size:15px;padding:12px 18px;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0;font-weight:600}
.btn-ghost:hover{border-color:#5a7088;background:rgba(255,255,255,.04)}
.btn-sm{font-size:13px;padding:8px 13px;border-radius:9px}
.btn-block{display:flex;width:100%}
.btn-outline{background:transparent;color:var(--slate);border:1.5px solid #c9bfa8;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0;font-weight:600;font-size:15px;padding:13px 18px}
.btn-outline:hover{border-color:var(--slate);background:rgba(15,36,56,.04)}

/* Device-aware CTAs: mobile shows the SMS link, desktop shows the email link.
   Pointer media query is more reliable than user-agent sniffing and avoids flash. */
.cta-email{display:none}
@media (hover:hover) and (pointer:fine){
  .cta-sms{display:none}
  .cta-email{display:flex}
}

/* header */
.site-header{position:sticky;top:0;z-index:30;background:var(--slate);display:flex;align-items:center;justify-content:space-between;padding-top:11px;padding-bottom:11px;padding-left:max(16px,calc((100% - 648px)/2));padding-right:max(16px,calc((100% - 648px)/2))}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand-mark{display:inline-flex;width:30px;height:30px;border-radius:7px;background:var(--orange);align-items:center;justify-content:center}
.brand-name{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:20px;color:var(--white);letter-spacing:.5px}

/* hero */
.hero{background:var(--slate);color:var(--white);padding:30px 0 34px;text-align:center}
.badge{display:inline-flex;align-items:center;gap:7px;background:rgba(249,115,22,.16);color:#F9A86A;font-size:12px;font-weight:600;letter-spacing:.6px;padding:6px 13px;border-radius:20px;text-transform:uppercase;margin-bottom:16px}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(249,115,22,.3)}
.hero h1{font-size:clamp(46px,15vw,72px);color:var(--white);margin-bottom:12px}
.hero-sub{font-size:16px;color:#AEC0D0;max-width:30ch;margin:0 auto 20px}
.hero .btn-call{margin-bottom:11px}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:20px;color:#9DB0C2;font-size:13px;font-weight:500}
.hero-trust li{display:inline-flex;align-items:center;gap:6px}

/* generic section spacing */
section{padding:0}
.services,.pricing,.why,.how,.area,.faq,.contact{padding:34px 0}
.services h2,.pricing h2,.why h2,.how h2,.area h2,.faq h2,.contact h2{font-size:30px;color:var(--slate);text-align:center;margin-bottom:6px}

/* services */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 16px;text-align:center}
.card-ico{width:40px;height:40px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.card h3{font-size:20px;color:var(--slate);margin-bottom:5px}
.card p{font-size:14px;color:var(--muted);line-height:1.5}

/* pricing */
.pricing{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.promise{text-align:center;max-width:46ch;margin:0 auto 20px;color:var(--ink);font-size:15.5px}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:440px;margin:0 auto}
.price{border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.price-label{display:block;font-size:13px;color:var(--muted);font-weight:600;margin-bottom:2px}
.price-amt{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:42px;color:var(--orange);line-height:1}
.fineprint{text-align:center;font-size:13px;color:#94a0ac;margin-top:16px;max-width:50ch;margin-left:auto;margin-right:auto}

/* why */
.why-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;max-width:480px;margin-left:auto;margin-right:auto}
.why-grid li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:var(--slate)}

/* how */
.steps{list-style:none;max-width:460px;margin:20px auto 0;display:grid;gap:14px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.step-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--orange);color:var(--slate);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center}
.steps strong{display:block;font-size:16px;color:var(--slate)}
.steps p{font-size:14px;color:var(--muted)}

/* area */
.area{background:var(--slate);color:var(--white);text-align:center}
.area h2{color:var(--white)}
.area>.wrap>p{color:#AEC0D0;margin-bottom:14px;font-size:15px}
.area-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.area-list li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#D6E1EB;font-size:13px;font-weight:500;padding:5px 12px;border-radius:20px}

/* faq */
.faq details{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-top:10px;padding:0 16px;max-width:560px;margin-left:auto;margin-right:auto}
.faq summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--slate);padding:14px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--orange);font-size:22px;font-weight:700;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 14px;font-size:14.5px;color:var(--muted)}

/* contact */
.contact{background:var(--sand)}
.contact-sub{text-align:center;color:var(--muted);font-size:15px;max-width:46ch;margin:0 auto 20px}
.contact-cta{max-width:440px;margin:0 auto;display:grid;gap:11px}
.or-call{text-align:center;margin-top:16px;color:var(--muted);font-size:15px}
.or-call a{color:var(--orange);font-weight:600;text-decoration:none}

/* footer */
.site-footer{background:var(--slate-deep);color:#8FA4B6;text-align:center;padding:24px 0;font-size:13.5px}
.foot-name{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:19px;color:var(--white);letter-spacing:.5px;margin-bottom:4px}
.site-footer a{color:#C9D6E1;text-decoration:none}
.foot-fine{font-size:12px;color:#677d92;margin-top:8px}

/* sticky call bar (mobile only) */
.call-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--orange);color:var(--slate);display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:19px;letter-spacing:.5px;text-decoration:none;border-top:2px solid var(--orange-dark)}

@media (min-width:700px){
  body{padding-bottom:0}
  .call-bar{display:none}
  .hero{padding:48px 0 52px;border-radius:0}
  .hero .btn-call,.hero .btn-ghost{max-width:380px;margin-left:auto;margin-right:auto}
}
@media (max-width:380px){
  .cards,.price-grid,.why-grid{grid-template-columns:1fr}
}
