:root {
  --primary: #0f1013;
  --secondary: #12141a;
  --accent: #ef3b3f;
  --accent-2: #ff5559;
  --background: #0c0d11;
  --surface: #171922;
  --surface-2: #1c1f28;
  --ink: #f3f4f6;
  --muted: #a7afbf;
  --border: #2a2e3b;
  --font-heading: 'Oswald', sans-serif;
  --font-body: 'Barlow Condensed', sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.6;
  background: var(--background);
}
h1,h2,h3{margin:0;font-family:var(--font-heading);line-height:1.06;text-transform:uppercase;letter-spacing:.02em}
h1{font-size:clamp(2.2rem,8vw,4.6rem)}
h2{font-size:clamp(1.4rem,4vw,2.6rem)}
h3{font-size:1.05rem}
p{margin-top:0}
a{color:inherit;text-decoration:none}

.container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:24px}
.section{padding-block:clamp(3.5rem,9vw,7rem)}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  font-size:.74rem;
  color:var(--muted);
}
.kicker-dot{width:8px;height:8px;background:var(--accent);display:inline-block}
.accent-text{color:var(--accent)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  font-weight:700;
  border-radius:0;
  padding:1rem 1.7rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.8rem;
  border:1px solid transparent;
  transition:.2s ease;
}
.btn-primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}
.btn-secondary{
  background:transparent;
  color:var(--ink);
  border-color:var(--border);
}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}
.btn-outline-light{
  background:transparent;
  color:#e5e7eb;
  border-color:#3a3f50;
}
.btn-outline-light:hover{border-color:var(--accent);color:#fff}
.btn-accent{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.btn-accent:hover{background:var(--accent-2);border-color:var(--accent-2)}

.site-header{
  border-bottom:1px solid #2d313f;
  position:fixed;
  width:100%;
  top:0;
  left:0;
  z-index:100;
  background:rgba(16,17,22,.9);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:var(--accent);
  opacity:.9;
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:88px}
.site-logo{
  font-family:var(--font-heading);
  font-weight:600;
  font-size:1.05rem;
  color:#f3f4f6;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.nav-toggle{
  display:none;
  border:none;
  background:transparent;
  width:44px;
  height:44px;
  padding:10px;
  border-radius:8px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  transition:background-color .2s;
}
.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.nav-toggle:hover{background:rgba(239,59,63,.13)}
.nav-toggle-bar{
  display:block;
  width:22px;
  height:2px;
  border-radius:999px;
  background:#e5e7eb;
  transition:transform .2s,opacity .2s;
}

.nav-menu{display:flex;gap:30px;align-items:center}
.nav-menu a{font-weight:700;color:#d1d5db;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em}
.nav-menu a:not(.btn):not(.nav-cta):hover{color:#fff}
.site-header .nav-menu .btn-primary,
.site-header .nav-menu .btn-primary:hover,
.site-header .nav-menu .nav-cta,
.site-header .nav-menu .nav-cta:hover{color:#fff !important}

.home-shell{background:var(--background)}

.hero-section{position:relative;padding:clamp(8.6rem,14vw,10.2rem) 0 clamp(3.3rem,9vw,5rem);overflow:hidden}
.hero-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, #0f1013 0%, #0d0f14 56%, #11131a 100%);
}
.hero-grid-pattern{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px;
  opacity:.55;
}
.hero{position:relative;display:grid;gap:34px;grid-template-columns:1.2fr .8fr;align-items:start}
.hero-copy{padding-top:10px}
.hero-sub{color:#c0c6d4;font-size:clamp(1.06rem,2.2vw,1.48rem);max-width:690px;line-height:1.48;margin:18px 0 28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

.hero-stats-panel{border:1px solid #34384a;background:rgba(23,25,34,.85);max-width:360px;justify-self:end}
.stats-header{background:var(--accent);color:#fff;padding:13px 16px;text-transform:uppercase;font-weight:700;letter-spacing:.14em;font-size:.74rem}
.stat-row{display:flex;gap:14px;align-items:center;padding:16px;border-top:1px solid #2d3241}
.stat-icon-box{width:36px;height:36px;background:#2a2330;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.stat-row strong{display:block;color:#fff;font-size:1.25rem;line-height:1.15;font-family:var(--font-heading);font-weight:400}
.stat-row span{display:block;color:#9aa3b8;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}

.trust-strip{padding:15px 0;background:#10131a;border-top:1px solid #2d3241;border-bottom:1px solid #2d3241}
.trust-strip-inner{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}
.trust-item{display:inline-flex;align-items:center;gap:8px;color:#aeb6c7;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}

.services-section{background:#f7f7f8;color:#131722}
.services-section .section-intro{text-align:center;max-width:740px;margin:0 auto 48px}
.services-section .kicker{color:#586177}
.services-section h2{margin-top:12px;color:#131722}
.services-section .section-intro p{color:#5c667f}
.services-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{background:#fff;border:1px solid #e2e5ec;padding:22px 18px;position:relative;min-height:210px}
.service-num{position:absolute;right:14px;top:12px;font-size:.68rem;color:#9ea6bb;font-family:var(--font-heading)}
.service-icon{color:#59617a;margin-bottom:14px}
.service-card h3{font-size:.92rem;color:#121621;margin-bottom:10px}
.service-card p{color:#616a80;font-size:.93rem;line-height:1.5}

.guarantee-section{background:#0f1117}
.guarantee-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.guarantee-content p{color:#b7bfd0;max-width:60ch}
.check-list{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px}
.check-list li{display:flex;gap:10px;align-items:flex-start;color:#dde2ec}
.check-list i{color:var(--accent);margin-top:3px}
.guarantee-quote{background:#1b1f29;border:1px solid #2f3443;padding:28px;position:relative}
.quote-mark{position:absolute;left:14px;top:6px;font-size:2rem;color:#a9b1c2;opacity:.5}
.guarantee-quote p{color:#d4d9e5;font-size:1rem;line-height:1.55;margin:0 0 16px}
.guarantee-quote footer{display:grid;gap:3px;color:#9ea8be;font-size:.85rem}

.reviews-section{background:#f2f3f5;color:#131722}
.reviews-section .section-intro{text-align:center;margin-bottom:34px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-card{background:#fff;border:1px solid #e0e4ed;padding:22px}
.review-stars{color:var(--accent);letter-spacing:2px;margin-bottom:12px}
.review-card p{color:#515a71;font-size:.95rem;line-height:1.55}
.review-author strong{display:block;color:#121621;margin-top:12px}
.review-author span{display:block;color:#73809c;font-size:.82rem}

.faq-section{background:#f7f7f8;color:#131722}
.faq-section .section-intro{text-align:center;margin-bottom:24px}
.faq-grid{max-width:820px;margin:0 auto;display:grid;gap:10px}
.accordion-item{background:#fff;border:1px solid #e0e4ed}
.accordion-toggle{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;padding:17px 18px;text-align:left;color:#121621;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.accordion-chevron{transition:transform .2s;color:#6c758c}
.accordion-content{display:none;padding:0 18px 16px;color:#5a6279}
.accordion-item.is-open .accordion-content{display:block}
.accordion-item.is-open .accordion-chevron{transform:rotate(180deg)}

.cta-section{background:#0f1117;padding-top:2.6rem;padding-bottom:3.2rem}
.cta-bar{display:flex;gap:18px;align-items:center;justify-content:space-between;background:#141822;border:1px solid #313749;padding:24px}
.cta-bar h2{color:#fff;font-size:clamp(1.25rem,2.8vw,1.8rem);margin-bottom:8px}
.cta-bar p{color:#b8c0d2;margin:0}
.cta-bar-actions{display:flex;gap:10px;flex-wrap:wrap}

.site-footer{background:#0b0d12;color:#9da7bd;border-top:1px solid #2b3040;padding:42px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:28px}
.site-footer h3{font-size:.96rem;color:#fff;margin-bottom:12px}
.footer-links p,.site-footer p{margin:.25rem 0}
.footer-note{margin-top:20px;padding-top:14px;border-top:1px solid #2b3040;font-size:.82rem;color:#7e889f}

@media (max-width:1000px){
  .hero{grid-template-columns:1fr}
  .hero-stats-panel{justify-self:start;max-width:460px;width:100%}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guarantee-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:900px){
  .grid-3{grid-template-columns:1fr}
  .site-header .container{position: relative;}
  .nav-toggle{display:inline-flex}
  .nav-menu {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:rgba(15,16,20,.98);
    backdrop-filter:blur(10px);
    padding:8px 24px 18px;
    border-bottom:1px solid #2b3040;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
  }
  .nav-menu.is-open{display:flex}
  .nav-menu a{
    width:100%;
    padding:14px 2px;
    border-top:1px solid rgba(58, 63, 80, 0.8);
  }
  .site-header .nav-menu .btn-primary,
  .site-header .nav-menu .nav-cta{width:auto;margin-top:8px}
  .site-header.menu-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.menu-open .nav-toggle-bar:nth-child(2){opacity:0}
  .site-header.menu-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .hero-section{padding-top:7.5rem}
  .hero-sub{font-size:1.04rem}
  .services-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr}
  .cta-bar{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
}
