:root{
  --ink:#15181B;
  --ink-soft:#2B3034;
  --paper:#F6F3EC;
  --paper-dim:#EAE5D8;
  --hazard:#E2A63B;
  --hazard-dim:#C98E2C;
  --steel:#3E4A52;
  --danger:#A6342A;
  --line:rgba(21,24,27,0.12);
  --max:1120px;
  --cta:#D32F2F;      /* matches site --red — used for all action buttons */
  --cta-hover:#B71C1C; /* matches site .btn-red:hover */
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Open Sans',system-ui,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Montserrat',system-ui,sans-serif;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-0.01em;
  margin:0;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:'Open Sans',sans-serif;
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--hazard-dim);
}

/* signature hazard-stripe divider */
.hazard-rule{
  height:6px;
  background:repeating-linear-gradient(
    135deg,
    var(--hazard) 0 14px,
    var(--ink) 14px 28px
  );
}

/* HERO */
.hero{
  background:var(--ink);
  color:var(--paper);
  padding:72px 0 56px;
  position:relative;
}
.hero .wrap{max-width:760px;text-align:left;}
.hero h1{
  font-size:clamp(2.1rem,5vw,3.1rem);
  color:#fff;
  margin-top:14px;
}
.hero p.lede{
  font-size:1.15rem;
  color:#D8D2C2;
  margin-top:20px;
  max-width:620px;
}
.hero .cta-row{
  margin-top:32px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 28px;
  border-radius:40px;
  font-weight:600;
  font-size:0.98rem;
  text-decoration:none;
  border:2px solid transparent;
}
.btn-primary{background:var(--cta);color:#fff;}
.btn-primary:hover{background:var(--cta-hover);}
.btn-ghost{border-color:rgba(246,243,236,0.35);color:var(--paper);}
.btn-ghost:hover{border-color:#fff;}

section{padding:64px 0;}
.section-head{max-width:640px;margin-bottom:36px;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:8px;}
.section-head p{color:var(--steel);font-size:1.05rem;margin-top:12px;}

/* STAY SAFE FIRST - real sequence, ordered list */
.safe-section{background:var(--ink);color:var(--paper);}
.safe-section .section-head p{color:#C8C2B2;}
.safe-steps{
  list-style:none;
  counter-reset:step;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:2px;
  background:rgba(246,243,236,0.14);
}
.safe-steps li{
  counter-increment:step;
  background:var(--ink);
  padding:26px 22px 28px;
  position:relative;
}
.safe-steps li::before{
  content:counter(step);
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:2.1rem;
  color:var(--hazard);
  display:block;
  margin-bottom:10px;
}
.safe-steps li strong{display:block;font-size:1.05rem;margin-bottom:6px;color:#fff;}
.safe-steps li span{color:#C8C2B2;font-size:0.96rem;}
.safe-note{
  margin-top:28px;
  border-left:3px solid var(--danger);
  padding:14px 18px;
  background:rgba(166,52,42,0.12);
  font-size:0.95rem;
  max-width:640px;
}
.safe-note strong{color:#F0B7AE;}

/* WHAT HAPPENED - tagged cards, not numbered (not a sequence) */
.scenario-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:22px;
}
.scenario-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.scenario-img{
  aspect-ratio:16/10;
  background:var(--paper-dim);
  overflow:hidden;
}
.scenario-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}
.scenario-body{padding:20px 22px 24px;}
.scenario-tag{
  display:inline-block;
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:3px 9px;
  border-radius:2px;
  margin-bottom:10px;
}
.tag-stop{background:rgba(166,52,42,0.12);color:var(--danger);}
.tag-watch{background:rgba(226,166,59,0.18);color:var(--hazard-dim);}
.scenario-body h3{font-size:1.12rem;font-weight:700;font-family:'Open Sans',sans-serif;margin-bottom:8px;}
.scenario-body p{font-size:0.95rem;color:var(--steel);margin:0;}
.scenario-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  padding:8px 16px;
  background:var(--cta);
  color:#fff;
  font-weight:600;
  font-size:0.82rem;
  text-decoration:none;
  border-radius:40px;
}
.scenario-cta:hover{background:var(--cta-hover);}
.scenario-cta .icon{flex-shrink:0;fill:#fff;stroke:#fff;}

/* WHERE HAVE YOU STOPPED */
.stop-section{background:var(--paper-dim);}
.stop-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}
.stop-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:4px;
  padding:22px;
}
.stop-card .pin{
  width:30px;height:30px;
  border-radius:50%;
  background:#28a745;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.stop-card .pin svg{
  width:16px;height:16px;
  stroke:#ffffff;
  stroke-width:3;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.stop-card h3{font-size:1.02rem;font-family:'Open Sans',sans-serif;font-weight:700;margin-bottom:6px;}
.stop-card p{font-size:0.92rem;color:var(--steel);margin:0;}

/* CAN WE HELP */
.help-section{
  background:var(--ink);
  color:var(--paper);
}
.help-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:48px;
  align-items:start;
}
@media (max-width:760px){.help-grid{grid-template-columns:1fr;}}
.help-list{list-style:none;margin:24px 0 0;padding:0;}
.help-list li{
  padding:14px 0;
  border-top:1px solid rgba(246,243,236,0.14);
  display:flex;
  gap:12px;
  font-size:0.98rem;
  color:#D8D2C2;
}
.help-list li::before{content:"—";color:var(--hazard);flex-shrink:0;}
.help-panel{
  background:var(--ink-soft);
  border:1px solid rgba(246,243,236,0.14);
  border-radius:4px;
  padding:28px;
}
.help-panel .eyebrow{color:var(--hazard);}
.help-panel h3{color:#fff;font-size:1.3rem;margin-top:8px;}
.help-panel p{color:#C8C2B2;font-size:0.95rem;margin-top:10px;}

/* WHY TYRES FAIL */
.why-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
}
.why-item h3{
  font-size:1.05rem;font-family:'Open Sans',sans-serif;font-weight:700;
  margin-bottom:8px;
  display:flex;align-items:center;gap:10px;
}
.why-item h3::before{
  content:"";
  width:8px;height:8px;
  background:var(--hazard);
  border-radius:50%;
  flex-shrink:0;
}
.why-item p{color:var(--steel);font-size:0.95rem;margin:0;}

/* FAQ */
.faq-section{background:var(--paper-dim);}
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-item summary{
  padding:20px 4px;
  font-weight:700;
  font-size:1.02rem;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";
  font-family:'Montserrat',sans-serif;
  font-size:1.4rem;
  color:var(--hazard-dim);
  flex-shrink:0;
}
.faq-item[open] summary::after{content:"–";}
.faq-item .faq-a{
  padding:0 4px 22px;
  color:var(--steel);
  font-size:0.96rem;
  max-width:680px;
}

/* ===== FOOTER PAYMENT ICONS - WHITE BACKGROUND SO DARK ICONS ARE VISIBLE ===== */
.footer-payments img{
  display:inline-block;
  width:auto;
  height:28px;
  max-width:45px;
  object-fit:contain;
  background:#ffffff;
  border:1px solid #e5e5e5;
  border-radius:4px;
  padding:2px 6px;
  transition:all 0.2s ease;
}

/* ===== CONTACT LIST ICONS - FORCE RED COLOR ===== */
.contact-list .icon{
  color:#D32F2F !important;
  width:16px;
  height:16px;
  flex-shrink:0;
  fill:#D32F2F !important;
  stroke:#D32F2F !important;
}
.contact-list svg.icon use{
  fill:#D32F2F !important;
  stroke:#D32F2F !important;
}

/* sticky mobile call bar */
.call-bar{
  position:sticky;
  bottom:0;
  background:var(--cta);
  padding:12px 24px;
  text-align:center;
  z-index:20;
}
.call-bar a{
  color:#fff;
  font-weight:700;
  font-family:'Montserrat',sans-serif;
  text-decoration:none;
  font-size:1rem;
}
@media (min-width:760px){.call-bar{display:none;}}