*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --red:#C41E1E;--red-dk:#A01616;--ink:#0D0D0D;--ink2:#1C1C1C;
  --white:#FFFFFF;--cream:#F9F7F4;--muted:#6B6B6B;
  --border:#E0DBD5;--light:#E8E4DF;
  --max:1600px;
  --font-d:'Bebas Neue',sans-serif;
  --font-b:'DM Sans',sans-serif;
}
html,body{background:var(--cream);color:var(--ink);font-family:var(--font-b);-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}

/* ── PAGE HERO ── */
.page-hero{
  background:var(--ink);
  padding:0 32px;
  overflow:hidden;
  position:relative;
  margin-top:-108px; /* pull up behind the sticky nav */
  padding-top:108px; /* compensate so content isn't hidden */
}
.page-hero::before{
  content:'';
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1486262715619-67b85e0b08d3?w=1600&q=60&auto=format&fit=crop') center/cover;
  opacity:0.08;
}
.page-hero-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1fr 360px;
  gap:64px;align-items:end;
  padding:80px 0 64px; /* bottom padding keeps CTAs off the red strip */
  position:relative;z-index:1;
}
/* Breadcrumb */
.breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:rgba(255,255,255,0.6);
  margin-bottom:24px;letter-spacing:0.04em;
}
.breadcrumb a{color:rgba(255,255,255,0.6);transition:color .15s;}
.breadcrumb a:hover{color:rgba(255,255,255,0.85);}
.breadcrumb .sep{opacity:0.5;}
.breadcrumb .current{color:rgba(255,255,255,0.75);}
/* Hero heading */
.hero-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--red);margin-bottom:16px;
}
.hero-label::before{content:'';width:20px;height:1.5px;background:var(--red);}
.page-hero h1{
  font-family:var(--font-d);
  font-size:clamp(52px,5vw,84px);
  line-height:0.9;letter-spacing:0.02em;
  color:#fff;text-transform:uppercase;
  margin-bottom:24px;
}
.page-hero h1 span{color:var(--red);}
.hero-desc{
  font-size:15px;line-height:1.75;
  color:rgba(255,255,255,0.7);
  max-width:560px;font-weight:300;
  margin-bottom:40px;
}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.btn-fill{background:var(--red);color:#fff;font-size:13px;font-weight:600;letter-spacing:0.03em;padding:14px 28px;border-radius:100px;display:inline-flex;align-items:center;gap:8px;transition:background .15s;}
.btn-fill:hover{background:var(--red-dk);}
.btn-fill svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.5;}
.btn-ghost{background:transparent;color:#fff;font-size:13px;font-weight:500;padding:13px 28px;border-radius:100px;border:1px solid rgba(255,255,255,0.2);display:inline-flex;align-items:center;gap:8px;transition:all .15s;}
.btn-ghost:hover{border-color:rgba(255,255,255,0.5);}
/* Hero right — quick facts panel */
.hero-facts{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:16px;
  padding:28px 32px;
  align-self:flex-end;
}
.fact-item{
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,0.07);
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;
}
.fact-item:last-child{border-bottom:none;padding-bottom:0;}
.fact-item:first-child{padding-top:0;}
.fact-label{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.6);white-space:nowrap;}
.fact-value{font-family:var(--font-d);font-size:18px;letter-spacing:0.02em;color:#fff;text-align:right;}
.fact-value.red{color:var(--red);}

/* ── CERT STRIP ── */
.cert-strip{background:var(--red);padding:0 32px;}
.cert-strip-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:48px;padding:20px 0;}
.cert-badge{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:rgba(255,255,255,0.9);letter-spacing:0.03em;white-space:nowrap;}
.cert-badge svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2;flex-shrink:0;}
.cert-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.4);}

/* ── MAIN CONTENT ── */
.content-wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
.content-grid{
  display:grid;grid-template-columns:1fr 380px;
  gap:80px;padding:80px 0;
  align-items:start;
}

/* ── SERVICE BODY ── */
.service-body h2{
  font-family:var(--font-d);
  font-size:clamp(36px,3.5vw,52px);
  line-height:0.92;letter-spacing:0.02em;
  text-transform:uppercase;
  margin-bottom:20px;
  margin-top:48px;
}
.service-body h2:first-child{margin-top:0;}
.service-body p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:16px;font-weight:300;}
.service-body strong{color:var(--ink);font-weight:600;}
.service-body ul{list-style:none;padding:0;margin:20px 0 28px;}
.service-body li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:14px;color:var(--muted);line-height:1.65;
  padding:10px 0;border-bottom:1px solid var(--border);
}
.service-body li:last-child{border-bottom:none;}
.service-body li::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--red);flex-shrink:0;margin-top:6px;
}
/* Warning callout */
.callout{
  border-left:3px solid var(--red);
  background:rgba(196,30,30,0.04);
  padding:20px 24px;border-radius:0 8px 8px 0;
  margin:28px 0;
}
.callout p{font-size:14px;color:var(--ink);margin:0;line-height:1.7;}
.callout strong{color:var(--red);}
/* Process steps */
.steps{display:flex;flex-direction:column;gap:0;margin:32px 0;}
.step{
  display:grid;grid-template-columns:48px 1fr;
  gap:20px;padding:24px 0;
  border-bottom:1px solid var(--border);
}
.step:last-child{border-bottom:none;}
.step-num{
  font-family:var(--font-d);font-size:42px;
  line-height:1;color:var(--light);
  letter-spacing:0.02em;
}
.step h3{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.step p{font-size:14px;color:var(--muted);line-height:1.65;font-weight:300;}

/* ── SIDEBAR ── */
.sidebar{position:sticky;top:120px;display:flex;flex-direction:column;gap:16px;}
.sidebar-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:14px;padding:28px;
}
.sidebar-card-label{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:16px;}
.sidebar-card h3{font-family:var(--font-d);font-size:28px;letter-spacing:0.02em;margin-bottom:8px;}
.sidebar-card p{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:20px;}
.sidebar-phone{
  font-family:var(--font-d);font-size:32px;letter-spacing:0.02em;
  color:var(--red);display:block;margin-bottom:12px;
}
.sidebar-cta-full{
  background:var(--red);color:#fff;
  font-size:13px;font-weight:600;letter-spacing:0.03em;
  padding:14px;border-radius:100px;
  display:block;text-align:center;
  transition:background .15s;
}
.sidebar-cta-full:hover{background:var(--red-dk);}
.sidebar-cta-outline{
  background:transparent;color:var(--ink);
  font-size:13px;font-weight:500;
  padding:13px;border-radius:100px;
  display:block;text-align:center;
  border:1px solid var(--border);
  margin-top:8px;
  transition:all .15s;
}
.sidebar-cta-outline:hover{border-color:var(--ink);}
/* Warranty card */
.warranty-card{
  background:var(--ink);
  border-radius:14px;padding:28px;
  position:relative;overflow:hidden;
}
.warranty-card::before{
  content:'2YR';
  font-family:var(--font-d);font-size:160px;
  color:rgba(255,255,255,0.03);
  position:absolute;right:-20px;top:-20px;
  line-height:1;pointer-events:none;
}
.warranty-card .sidebar-card-label{color:rgba(255,255,255,0.6);}
.warranty-card h3{color:#fff;}
.warranty-card p{color:rgba(255,255,255,0.65);}
.warranty-num{font-family:var(--font-d);font-size:56px;color:var(--red);line-height:1;margin-bottom:4px;}
.warranty-sub{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:0.08em;text-transform:uppercase;}
/* Related services */
.related-list{display:flex;flex-direction:column;gap:2px;}
.related-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 14px;border-radius:8px;font-size:13px;
  color:var(--muted);transition:all .15s;
}
.related-link:hover{background:var(--cream);color:var(--ink);}
.related-link span{font-size:16px;opacity:0.4;transition:opacity .15s;}
.related-link:hover span{opacity:1;}

/* ── RELATED SERVICES SECTION ── */
.related-section{background:var(--white);padding:80px 32px;border-top:1px solid var(--border);}
.related-section-inner{max-width:var(--max);margin:0 auto;}
.section-label-sm{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.section-label-sm::before{content:'';width:16px;height:1.5px;background:var(--red);}
.section-h{font-family:var(--font-d);font-size:clamp(48px,5vw,72px);line-height:0.9;letter-spacing:0.02em;margin-bottom:48px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);}
.svc-row{
  background:var(--white);
  display:grid;grid-template-columns:48px 1fr auto;
  align-items:center;
  padding:24px 28px;gap:0;
  transition:background .15s;cursor:pointer;
}
.svc-row:hover{background:var(--cream);}
.svc-num{font-family:var(--font-d);font-size:13px;color:var(--light);letter-spacing:0.08em;}
.svc-info h3{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px;}
.svc-info p{font-size:12px;color:var(--muted);}
.svc-arrow{color:var(--light);font-size:18px;transition:color .15s,transform .15s;}
.svc-row:hover .svc-arrow{color:var(--red);transform:translateX(3px);}

/* ── FOOTER ── */
.footer{background:var(--ink);padding:40px 32px 28px;}
.footer-inner{max-width:var(--max);margin:0 auto;}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,0.07);}
.foot-logo span{font-family:var(--font-d);font-size:18px;color:#fff;letter-spacing:0.04em;}
.foot-logo small{display:block;font-size:11px;color:rgba(255,255,255,0.55);margin-top:2px;}
.foot-nav{display:flex;gap:28px;}
.foot-nav a{font-size:13px;color:rgba(255,255,255,0.6);transition:color .15s;}
.foot-nav a:hover{color:#fff;}
.foot-cta a{background:var(--red);color:#fff;font-size:13px;font-weight:600;padding:10px 22px;border-radius:100px;}
.foot-legal{padding-top:20px;display:flex;justify-content:space-between;}
.foot-legal span{font-size:11px;color:rgba(255,255,255,0.5);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .page-hero-inner{grid-template-columns:1fr;gap:32px;padding:60px 0 48px;}
  .hero-facts{align-self:stretch;}
  .cert-strip-inner{flex-wrap:wrap;gap:16px 24px;padding:16px 0;}
  .content-grid{grid-template-columns:1fr;gap:48px;padding:48px 0;}
  .sidebar{position:static;}
  .related-grid{grid-template-columns:1fr;}
  .foot-top{flex-direction:column;align-items:flex-start;gap:20px;}
  .foot-nav{flex-wrap:wrap;gap:16px;}
  .foot-legal{flex-direction:column;gap:8px;}
}
@media(max-width:768px){
  .page-hero{padding:0 16px;padding-top:80px;margin-top:-80px;}
  .content-wrap{padding:0 16px;}
  .related-section{padding:48px 16px;}
  .footer{padding:32px 16px 20px;}
  .cert-strip{padding:0 16px;}
  .hero-ctas{flex-direction:column;}
  .btn-fill,.btn-ghost{width:100%;justify-content:center;text-align:center;}
  .steps .step{grid-template-columns:36px 1fr;gap:14px;}
  .step-num{font-size:32px;}
}
@media(max-width:480px){
  .page-hero h1{font-size:clamp(40px,10vw,52px);}
  .hero-desc{font-size:14px;}
  .fact-item{flex-direction:column;align-items:flex-start;gap:4px;}
  .fact-value{text-align:left;}
  .service-body h2{font-size:clamp(32px,8vw,40px);}
  .section-h{font-size:clamp(36px,9vw,48px);}
}
