/* ============================================
   SAFETY — "Technical Dossier" (all-dark)
   Serious, engineering-brief tone: a giant ZERO,
   spec rows, and active-coverage insurance cards.
   ============================================ */

/* giant ZERO statement */
.zero { background: var(--ink); color:#fff; padding: var(--space-32) 0; position: relative; overflow: hidden; }
.zero::before { content:''; position:absolute; inset:0; background-image: repeating-linear-gradient(0deg, transparent 0 90px, rgba(255,255,255,0.02) 90px 91px); pointer-events:none; }
.zero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr; gap: var(--space-16); align-items: center; }
.zero-num {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(9rem, 22vw, 20rem);
  line-height: 0.78;
  letter-spacing: -0.04em;
  color: #fff;
  position: relative;
}
.zero-num::after { /* rope slash through the zero */
  content:''; position:absolute; top:-8%; left:44%; width:2px; height:116%;
  transform: rotate(19deg);
  background: linear-gradient(to bottom, transparent, var(--orange), transparent);
  box-shadow: 0 0 18px rgba(242,106,27,0.6);
}
.zero-copy .k { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.2em; text-transform: uppercase; color: var(--orange-light); }
.zero-copy h2 { font-family: var(--font-display); font-weight: 500; font-size: var(--text-3xl); color:#fff; margin: var(--space-4) 0 var(--space-4); letter-spacing: -0.01em; line-height: 1.1; }
.zero-copy p { color: rgba(255,255,255,0.62); font-size: var(--text-lg); line-height: 1.7; margin: 0; max-width: 46ch; }
@media (max-width: 760px){ .zero-inner { grid-template-columns: 1fr; gap: var(--space-8); text-align: left; } }

/* spec rows */
.sdoss { background: var(--navy); color: #fff; padding: var(--space-32) 0; }
.sdoss-head { max-width: 640px; margin-bottom: var(--space-16); }
.srow {
  display: grid;
  grid-template-columns: 88px 1fr 1.1fr;
  gap: var(--space-10);
  align-items: start;
  padding: var(--space-12) 0;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.srow:last-child { border-bottom: 1px solid rgba(255,255,255,0.1); }
.srow-num { font-family: var(--font-display); font-weight: 500; font-size: var(--text-5xl); color: rgba(255,255,255,0.22); line-height: 0.9; }
.srow-ic { width: 40px; height: 40px; color: var(--orange); margin-bottom: var(--space-4); }
.srow-ic svg { width:100%; height:100%; fill:none; stroke: currentColor; stroke-width: 1.4; }
.srow h3 { font-family: var(--font-display); font-weight: 500; font-size: var(--text-2xl); color:#fff; margin-bottom: var(--space-3); letter-spacing: -0.01em; }
.srow > div:nth-child(2) p { color: rgba(255,255,255,0.62); line-height: 1.7; margin: 0; }
@media (max-width: 860px){
  .srow { grid-template-columns: 1fr; gap: var(--space-5); }
  .srow-num { font-size: var(--text-4xl); }
}

/* insurance cards */
.ins { background: var(--ink); color: #fff; padding: var(--space-32) 0; position: relative; overflow: hidden; }
.ins::before { content:''; position:absolute; bottom:-15%; left:-10%; width:45vw; height:45vw; background: radial-gradient(circle, rgba(47,87,214,0.16), transparent 65%); }
.ins-head { text-align:center; max-width: 640px; margin: 0 auto var(--space-16); position:relative; z-index:2; }
.ins-head p { margin: 0 auto; }
.ins-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-5); position: relative; z-index: 2; }
.ins-card { border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; padding: var(--space-8); background: rgba(255,255,255,0.02); transition: border-color var(--duration-base), transform var(--duration-base); }
.ins-card:hover { border-color: rgba(242,106,27,0.5); transform: translateY(-4px); }
.ins-k { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.14em; color: rgba(255,255,255,0.4); }
.ins-card h4 { font-family: var(--font-display); font-weight: 500; font-size: var(--text-xl); color:#fff; margin: var(--space-3) 0 var(--space-3); }
.ins-card p { font-size: var(--text-sm); color: rgba(255,255,255,0.6); line-height: 1.6; margin-bottom: var(--space-5); }
.ins-status {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: #4ade80;
}
.ins-status::before { content:''; width: 7px; height: 7px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 8px #4ade80; }
@media (max-width: 760px){ .ins-grid { grid-template-columns: 1fr; } }

/* CTA */
.scta { background: var(--grad-hero); color:#fff; padding: var(--space-32) 0; position: relative; overflow:hidden; text-align:center; }
.scta::before { content:''; position:absolute; top:-10%; left:50%; width:2px; height:120%; transform:rotate(19deg); background:linear-gradient(to bottom,transparent,var(--orange),transparent); opacity:.5; }
.scta-inner { position: relative; z-index: 2; max-width: 640px; margin: 0 auto; }
.scta h2 { font-family: var(--font-display); font-weight: 500; font-size: clamp(2.2rem,4vw,3.4rem); color:#fff; letter-spacing:-0.02em; margin-bottom: var(--space-5); }
.scta h2 em { font-style: italic; color: var(--orange-light); font-weight: 400; }
.scta p { color: rgba(255,255,255,0.65); font-size: var(--text-lg); margin-bottom: var(--space-8); }
.scta-actions { display:flex; gap: var(--space-4); justify-content:center; flex-wrap:wrap; }
