:root{
  --red:#a53f3f;
  --red2:#b84744;
  --cream:#ffe9c1;
  --ink:#28282B;
  --ink2:#232427;
  --ink3:#303136;
  --panel:#393a3f;
  --muted:#c8a971;
  --line:rgba(255,233,193,.10);
  --max:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink2)}
body{
  margin:0;
  background:var(--ink2);
  color:var(--cream);
  font:16px/1.5 Arial,Helvetica,sans-serif;
  overflow-x:hidden
}
body::selection{background:var(--red);color:var(--cream)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
svg{display:block}
.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}
.section{padding:88px 0}
.bg-dark{background:var(--ink2)}
.bg-mid{background:#3a3b40}
.bg-deep{background:#26272a}

.icon{
  width:22px;height:22px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}
.inline-icon{
  width:17px;
  height:17px;
  display:inline-block;
  vertical-align:-3px;
  margin-right:6px;

  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.announce{
  background:var(--red);min-height:30px;
  display:flex;align-items:center;
  font-size:12px;font-weight:700
}
.announce .wrap{display:flex;justify-content:center;gap:10px;align-items:center;position:relative}
.announce a{text-decoration:underline}
.announce button{position:absolute;right:0;background:none;border:0;font-size:20px;cursor:pointer}

header{
  position:sticky;top:0;z-index:50;
  background:rgba(35,36,39,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.03)
}
.nav{height:76px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.5px}
.brand-badge{
  width:34px;height:34px;border-radius:5px;
  display:grid;place-items:center;background:var(--red)
}
.brand-badge .icon{width:18px;height:18px}
.brand .red{color:var(--red2)}
.links{display:flex;gap:26px;margin-left:auto}
.links a{
  position:relative;color:#d9c49b;font-size:13px;
  padding:29px 0 26px;transition:.22s var(--ease)
}
.links a::after{
  content:"";position:absolute;height:2px;left:0;right:100%;bottom:18px;
  background:var(--red2);transition:.22s var(--ease)
}
.links a:hover{color:var(--cream);transform:translateY(-1px)}
.links a:hover::after{right:0}
.nav-actions{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:700}
.menu-btn{display:none;background:none;border:0;cursor:pointer}
.menu-btn span{width:25px;height:2px;background:var(--cream);display:block;margin:5px}

.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:44px;padding:12px 20px;border-radius:5px;border:1px solid var(--red2);
  background:var(--red2);color:var(--cream);font-weight:800;font-size:13px;
  cursor:pointer;transition:.25s var(--ease)
}
.btn::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.13) 48%,transparent 75%);
  transform:translateX(-140%);transition:.55s var(--ease)
}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(165,63,63,.25)}
.btn:hover::before{transform:translateX(140%)}
.btn-outline{background:transparent;border-color:rgba(255,233,193,.14)}
.btn-outline:hover{border-color:var(--red2);background:rgba(165,63,63,.08)}
.btn-dark{background:#242528;border-color:#242528}
.btn-small{min-height:36px;padding:8px 13px}

.hero{
  min-height:760px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;

  background:
    linear-gradient(
      90deg,
      rgba(35,36,39,.96) 0%,
      rgba(35,36,39,.92) 28%,
      rgba(35,36,39,.72) 48%,
      rgba(35,36,39,.50) 68%,
      rgba(20,21,23,.42) 100%
    ),
    url("images/hero.jpg") center center / cover no-repeat;
}

/* Keep the old HTML div harmless */
.hero-art{
  display:none;
}

.hero-content{position:relative;z-index:2;max-width:530px;animation:heroIn .8s var(--ease) both}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.eyebrow{
  display:flex;align-items:center;gap:11px;
  color:var(--red2);font-size:11px;letter-spacing:1.2px;font-weight:900;text-transform:uppercase;
  margin-bottom:16px
}
.eyebrow::before{content:"";width:32px;height:1px;background:var(--red2)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:32px;height:1px;background:var(--red2)}
h1,h2{
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;
  letter-spacing:.1px;line-height:.96;margin:0 0 20px;
  font-weight:700
}
h1{font-size:clamp(58px,5vw,82px)}
h2{font-size:clamp(38px,3.4vw,52px)}
h1 .red,h2 .red{color:var(--red2)}
.hero p,.lead{color:#d4b77f;font-size:17px;max-width:720px}
.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.micro{display:block;margin-top:16px;color:#bfa273;font-size:12px}

.trust{background:#393a3f}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{
  min-height:95px;display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:13px;font-weight:800;border-right:1px solid rgba(255,255,255,.03)
}
.trust-item:last-child{border-right:0}
.trust-item .icon{color:var(--red2)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.card,.feature,.review,.brand-pill,.faq-item{
  position:relative;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)
}
.card::after,.feature::after,.review::after,.brand-pill::after,.faq-item::after{
  content:"";position:absolute;inset:-1px;border:1px solid transparent;border-radius:inherit;
  pointer-events:none;transition:.25s var(--ease)
}
.card{
  min-height:190px;padding:24px;border-radius:6px;background:#3a3b40;border-left:3px solid var(--red2)
}
.card:nth-child(n+4){background:#35363a}
.card .iconbox{
  width:40px;height:40px;border-radius:4px;background:rgba(165,63,63,.11);
  display:grid;place-items:center;color:var(--red2);margin-bottom:16px;transition:.25s var(--ease)
}
.card .iconbox .icon{width:20px;height:20px}
.card h3,.feature h3,.step h3{margin:0 0 7px;font-size:16px}
.card p,.feature p,.step p,.review p{margin:0 0 15px;color:#c7aa76;font-size:13px}
.card a{color:var(--red2);font-weight:800;font-size:13px}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:40px}
.feature{background:#292a2d;border-radius:5px;padding:21px}
.feature>.icon{color:var(--red2);margin-bottom:11px}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.5px;
}

.brand-logo{
  display:block;
  height:42px;
  width:auto;
  object-fit:contain;
  border-radius:8px;
}

.brand-badge{
  width:34px;
  height:34px;
  border-radius:5px;
  display:grid;
  place-items:center;
  background:var(--red);
}

.panic{
  background-color:var(--red2);
  background-image:radial-gradient(rgba(255,233,193,.12) 1px,transparent 1px);
  background-size:18px 18px;
  padding:48px 28px;border-radius:10px;text-align:center;
  margin-bottom:110px;transition:.25s var(--ease)
}
.panic .icon{margin:0 auto 14px;width:32px;height:32px}
.panic h2{font-size:38px}
.panic p{max-width:680px;margin:0 auto 22px}

.process{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:50px}
.step{text-align:center;position:relative;transition:.25s var(--ease)}
.step:not(:last-child)::after{
  content:"";position:absolute;left:65%;top:30px;width:75%;height:1px;background:rgba(165,63,63,.5)
}
.step-icon{
  width:58px;height:58px;border:1px solid var(--red2);border-radius:50%;
  display:grid;place-items:center;margin:0 auto 16px;color:var(--red2);transition:.25s var(--ease)
}
.step-num{
  position:absolute;top:-5px;left:calc(50% + 18px);width:21px;height:21px;border-radius:50%;
  display:grid;place-items:center;background:var(--red2);font-size:11px;font-weight:800
}

.split{display:grid;grid-template-columns:1.05fr 1fr;gap:58px;align-items:center}
.regional{
  position:relative;
  width:100%;
  aspect-ratio:1376 / 768;
  border-radius:9px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:22px;

  background-image:url("images/van.jpg");
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;

  background-color:#232427;
}

.regional::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(35,36,39,.28);
  z-index:1;
  pointer-events:none;
}

.regional strong{
  position:relative;
  z-index:2;
}
}.region-list{padding:0;list-style:none;color:#c7aa76;font-size:13px}
.region-list li{display:flex;gap:8px;align-items:flex-start;margin:13px 0}
.region-list .icon{width:17px;height:17px;color:var(--red2);flex:0 0 auto;margin-top:2px}

.brands{text-align:center}
.brands .lead{margin-left:auto;margin-right:auto;max-width:670px}
.brand-grid{
  display:flex;justify-content:center;flex-wrap:wrap;gap:11px;
  max-width:900px;margin:50px auto 30px
}
.brand-pill{
  background:#292a2d;border-radius:4px;padding:9px 17px;
  min-width:80px;font-size:12px;font-weight:900
}
.brand-note{color:#c5a66f;font-size:12px}

.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.review{background:#292a2d;border-radius:5px;padding:24px}
.quote{font-size:36px;color:var(--red2);line-height:1}
.stars{color:var(--red2);letter-spacing:2px;margin-bottom:8px}
.review hr{border:0;border-top:1px solid var(--line);margin:20px 0 12px}
.review small{display:block;color:#b99867}

.faq-wrap{max-width:720px;margin:auto}
.faqs{margin-top:34px}
.faq-item{background:#3b3c41;border-radius:5px;margin-bottom:9px;overflow:hidden}
.faq-q{
  width:100%;background:none;border:0;text-align:left;
  padding:17px 18px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;font-weight:800;font-size:13px
}
.faq-q span{color:var(--red2);font-size:17px}
.faq-a{
  display:grid;grid-template-rows:0fr;opacity:0;
  padding:0 18px;transition:.28s var(--ease);color:#c7aa76;font-size:13px
}
.faq-a>div{overflow:hidden}
.faq-item.open .faq-a{grid-template-rows:1fr;opacity:1;padding:0 18px 17px}

.quote-cta{text-align:center}
.quote-cta .lead{margin-left:auto;margin-right:auto}

footer{background:#26272a;padding:58px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:44px}
footer h4{font-size:13px;text-transform:uppercase;margin:0 0 15px}
footer p,footer a{font-size:13px;color:#c5a66f}
footer .col>a{display:block;margin:8px 0;transition:.2s var(--ease)}
footer .col>a:hover{color:var(--red2);transform:translateX(3px)}
.footer-bottom{
  margin-top:40px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#b99867
}

/* Reveal animation
   Safe default: content is always visible.
   JavaScript can still add .show without hiding the page if JS fails. */
.reveal{
  opacity:1;
  transform:none;
  transition:.72s var(--ease);
}
.reveal.show{
  opacity:1;
  transform:none;
}

/* Modal */
.modal{
  position:fixed;inset:0;z-index:100;display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:.22s ease
}
.modal.open{opacity:1;pointer-events:auto}
.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.74)}
.modal-card{
  width:min(760px,calc(100% - 30px));max-height:88vh;overflow:auto;
  position:relative;z-index:2;background:#303136;border:1px solid rgba(255,255,255,.06);
  border-radius:9px;padding:30px;transform:translateY(18px) scale(.985);transition:.25s var(--ease)
}
.modal.open .modal-card{transform:none}
.close{position:absolute;right:14px;top:8px;background:none;border:0;font-size:29px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-size:12px;font-weight:800;display:block;margin-bottom:13px}
input,textarea,select{
  width:100%;margin-top:6px;padding:11px;border-radius:5px;border:1px solid rgba(255,255,255,.08);
  background:#242528;color:var(--cream);outline:none
}
input:focus,textarea:focus,select:focus{border-color:var(--red2)}
.status{margin-top:10px;font-size:13px}
.status.ok{color:#a7e4b0}.status.bad{color:#ff9f9f}
.hp{position:absolute;left:-9999px}

/* Desktop hover behaviour */
@media (hover:hover) and (pointer:fine){
  .card:hover,.feature:hover,.review:hover,.faq-item:hover{
    transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.24)
  }
  .card:hover::after,.feature:hover::after,.review:hover::after,.faq-item:hover::after{
    border-color:var(--red2);inset:-3px
  }
  .card:hover .iconbox{transform:translateY(-3px) scale(1.06);color:var(--cream)}
  .feature:hover>.icon{transform:translateY(-3px)}
  .brand-pill:hover{transform:translateY(-4px);background:#303136;box-shadow:0 10px 24px rgba(0,0,0,.2)}
  .brand-pill:hover::after{border-color:var(--red2);inset:-3px}
  .step:hover{transform:translateY(-5px)}
  .step:hover .step-icon{transform:scale(1.05);box-shadow:0 0 0 4px rgba(165,63,63,.1)}
  .regional:hover{transform:translateY(-5px) scale(1.008);box-shadow:0 18px 40px rgba(0,0,0,.25),0 0 0 2px rgba(165,63,63,.28)}
  .panic:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.28)}
}

@media(max-width:980px){
  .links{
    display:none;position:absolute;left:18px;right:18px;top:76px;
    background:#2c2d31;border:1px solid rgba(255,255,255,.05);
    padding:15px;flex-direction:column;gap:0;border-radius:6px
  }
  .links.open{display:flex}
  .links a{padding:12px 8px}
  .links a::after{display:none}
  .nav-actions{display:none}
  .menu-btn{display:block;margin-left:auto}
  .cards{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .section{padding:64px 0}
  .hero{min-height:690px}
  h1{font-size:52px}
  h2{font-size:38px}
  .cards,.features,.process,.reviews,.footer-grid,.form-grid{grid-template-columns:1fr}
  .step:not(:last-child)::after{display:none}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-item{min-height:78px;flex-direction:column;text-align:center;font-size:11px;padding:8px}
  .footer-bottom{flex-direction:column}
  .announce .wrap{padding:6px 24px 6px 0;text-align:center;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}