/* ============================================================
   PANELCRAFT COLLISION & FINISH — design system
   primer grey / candy-apple red / clearcoat silver /
   shop-floor charcoal / masking-tape blue
   ============================================================ */

:root{
  --charcoal:#17191B;
  --charcoal-2:#212427;
  --primer:#D9DAD4;
  --primer-deep:#B9BAB2;
  --steel:#75797E;
  --chrome:#CBCED3;
  --candy:#C40D24;
  --candy-deep:#7E0313;
  --candy-hot:#F02540;
  --tape:#2E6FAE;
  --tape-soft:#BFD5E8;
  --ink:#1A1C1E;
  --paper:#EDEEE9;

  --slab:"Alfa Slab One", "Rockwell", serif;
  --din:"Saira", "Arial Narrow", sans-serif;
  --dinc:"Saira Condensed", "Arial Narrow", sans-serif;

  --pad: clamp(20px, 4.5vw, 72px);
  --maxw: 1280px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  font-family:var(--din);
  font-size:17px;
  line-height:1.55;
  color:var(--ink);
  background:var(--primer);
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font:inherit; cursor:pointer; }

::selection{ background:var(--candy); color:#fff; }

:focus-visible{ outline:3px solid var(--tape); outline-offset:2px; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

/* ---------- ticket vernacular ---------- */
.tk-label{
  font-family:var(--dinc);
  font-weight:600;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tape-chip{
  display:inline-block;
  background:var(--tape);
  color:#F2F6FA;
  font-family:var(--dinc);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:4px 12px 3px;
  transform:rotate(-.8deg);
  clip-path:polygon(1.5% 8%, 98.7% 0%, 100% 90%, 98% 100%, 1% 96%, 0% 14%);
}
.spec{
  font-family:var(--dinc);
  font-weight:500;
  font-size:13.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--steel);
}
.spec b{ color:var(--ink); font-weight:600; }

/* ---------- top strip ---------- */
.strip{
  background:var(--charcoal);
  color:#9AA0A6;
  font-family:var(--dinc);
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:7px 0;
  overflow:hidden;
  white-space:nowrap;
}
.strip .wrap{ display:flex; gap:2.4em; justify-content:space-between; }
.strip span b{ color:var(--chrome); font-weight:600; }
.strip .s-hide{ display:inline; }

/* ---------- header ---------- */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(23,25,27,.92);
  backdrop-filter:blur(10px);
  color:#E8E9E6;
  border-bottom:1px solid #2E3134;
}
header.site .wrap{
  display:flex; align-items:center; gap:28px;
  height:64px;
}
.logo{
  font-family:var(--slab);
  font-size:19px;
  letter-spacing:.01em;
  text-decoration:none;
  color:#F2F2EE;
  display:flex; align-items:baseline; gap:9px;
  white-space:nowrap;
}
.logo em{
  font-family:var(--dinc); font-style:normal; font-weight:500;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:#8B9096;
}
.logo .dot{ color:var(--candy-hot); }
nav.main{ margin-left:auto; display:flex; gap:26px; }
nav.main a{
  font-family:var(--dinc); font-weight:500; font-size:14px;
  letter-spacing:.13em; text-transform:uppercase;
  text-decoration:none; color:#B9BDC1;
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:color .18s, border-color .18s;
}
nav.main a:hover{ color:#fff; border-color:var(--candy); }
.btn{
  display:inline-block;
  font-family:var(--dinc); font-weight:600; font-size:14.5px;
  letter-spacing:.13em; text-transform:uppercase;
  background:var(--candy); color:#fff;
  border:none; border-radius:2px;
  padding:13px 26px 12px;
  text-decoration:none;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.28);
  transition:background .18s, transform .18s;
}
.btn:hover{ background:var(--candy-hot); transform:translateY(-1px); }
.btn.ghost{
  background:transparent; color:#E8E9E6;
  box-shadow:inset 0 0 0 1.5px #5A5F64;
}
.btn.ghost:hover{ box-shadow:inset 0 0 0 1.5px #fff; background:transparent; }
header.site .btn{ padding:10px 20px 9px; }

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:var(--charcoal);
  color:#EDEEE9;
  overflow:hidden;
}
.hero-img{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center 38%;
  opacity:0;
  transition:opacity 1.1s ease;
}
.hero-img.on{ opacity:1; }
.hero-img::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(78deg, rgba(15,16,18,.94) 0%, rgba(15,16,18,.72) 42%, rgba(15,16,18,.18) 78%),
    linear-gradient(0deg, rgba(15,16,18,.88) 0%, rgba(15,16,18,0) 34%);
}
.hero .wrap{
  position:relative;
  padding-top:clamp(84px, 12vh, 150px);
  padding-bottom:clamp(56px, 8vh, 110px);
  max-width:var(--maxw);
}
.hero .tape-chip{ margin-bottom:26px; }
.hero h1{
  font-family:var(--slab);
  font-weight:400;
  font-size:clamp(42px, 6.4vw, 88px);
  line-height:1.02;
  letter-spacing:.002em;
  max-width:11ch;
  text-wrap:balance;
}
.hero h1 .red{ color:var(--candy-hot); }
.hero p.lede{
  margin-top:26px;
  max-width:52ch;
  font-size:clamp(16.5px, 1.35vw, 19px);
  color:#C9CBC8;
}
.hero-ctas{ margin-top:36px; display:flex; gap:14px; flex-wrap:wrap; }
.hero-meta{
  margin-top:clamp(44px, 7vh, 84px);
  display:flex; flex-wrap:wrap;
  border-top:1px solid rgba(203,206,211,.24);
}
.hero-meta div{
  padding:16px 34px 4px 0;
  margin-right:34px;
}
.hero-meta .spec{ color:#8B9096; display:block; }
.hero-meta strong{
  font-family:var(--din); font-weight:600; font-size:17px; color:#EDEEE9;
  letter-spacing:.01em;
}

/* load choreography */
.rise{ opacity:0; transform:translateY(22px); }
.loaded .rise{
  opacity:1; transform:none;
  transition:opacity .8s cubic-bezier(.2,.6,.2,1), transform .8s cubic-bezier(.2,.6,.2,1);
}
.loaded .rise.d1{ transition-delay:.08s; }
.loaded .rise.d2{ transition-delay:.18s; }
.loaded .rise.d3{ transition-delay:.3s; }
.loaded .rise.d4{ transition-delay:.44s; }
@media (prefers-reduced-motion: reduce){
  .rise{ opacity:1; transform:none; transition:none !important; }
  .hero-img{ opacity:1; transition:none; }
}

/* ---------- section scaffolding ---------- */
section{ position:relative; }
.sec-head{
  display:flex; align-items:baseline; gap:22px; flex-wrap:wrap;
  margin-bottom:clamp(30px, 4vw, 52px);
}
.sec-head .ro{
  font-family:var(--dinc); font-weight:600; font-size:13px;
  letter-spacing:.16em; color:var(--tape); text-transform:uppercase;
  border:1.5px solid var(--tape);
  padding:4px 10px 3px; border-radius:2px;
  white-space:nowrap;
}
.sec-head h2{
  font-family:var(--slab); font-weight:400;
  font-size:clamp(28px, 3.6vw, 46px);
  line-height:1.08;
  letter-spacing:.002em;
}
.sec-sub{ max-width:60ch; color:#4A4D50; margin-top:-18px; margin-bottom:44px; font-size:17px; }
#system .sec-sub, #finish .sec-sub{ color:#A9ACA9; }

/* ---------- process (repair order) ---------- */
#process{ background:var(--primer); padding:clamp(64px,9vw,120px) 0; }
.ro-sheet{
  background:var(--paper);
  border:1px solid #C2C3BC;
  border-radius:3px;
  box-shadow:0 20px 50px -30px rgba(23,25,27,.45);
  overflow:hidden;
}
.ro-top{
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:18px 28px;
  border-bottom:2px solid var(--ink);
  font-family:var(--dinc); text-transform:uppercase; letter-spacing:.12em;
  font-size:13px; font-weight:600;
}
.ro-top .stamp{
  color:var(--candy);
  border:2px solid var(--candy);
  border-radius:2px;
  padding:2px 10px;
  transform:rotate(-2deg);
  font-weight:600;
}
.stage{
  display:grid;
  grid-template-columns:120px 1fr 340px;
  gap:0 32px;
  padding:30px 28px 34px;
  border-bottom:1px dashed #B7B8B0;
  position:relative;
}
.stage:last-child{ border-bottom:none; }
.stage-no{
  font-family:var(--slab);
  font-size:clamp(34px,3.4vw,44px);
  color:var(--primer-deep);
  line-height:1;
  transition:color .25s;
}
.stage:hover .stage-no{ color:var(--candy); }
.stage-no small{
  display:block;
  font-family:var(--dinc); font-size:12px; font-weight:600;
  letter-spacing:.16em; color:var(--steel); text-transform:uppercase;
  margin-top:8px;
}
.stage h3{
  font-family:var(--din); font-weight:700; font-size:21px;
  letter-spacing:.005em; margin-bottom:10px;
}
.stage p{ color:#43464A; max-width:56ch; font-size:16px; }
.stage-specs{
  align-self:start;
  border-left:3px solid var(--tape);
  padding-left:18px;
  display:grid; gap:9px;
}
.stage-specs .spec{ font-size:13px; }

/* ---------- paint system (signature) ---------- */
#system{
  background:var(--charcoal);
  color:var(--paper);
  padding:clamp(64px,9vw,130px) 0;
}
#system .sec-head h2{ color:#F2F2EE; }
.sys-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(28px,4.5vw,72px);
  align-items:center;
}
.peel-stage{ position:relative; }
.peel-svg{ width:100%; height:auto; display:block; overflow:visible; }
.peel-layer{ cursor:pointer; transition:transform .6s cubic-bezier(.3,.7,.2,1), opacity .5s ease, filter .3s; }
.peel-layer.gone{
  transform:translate(60px,-150px) rotate(6deg);
  opacity:0;
  pointer-events:none;
}
.peel-layer:hover{ filter:brightness(1.12); }
@media (prefers-reduced-motion: reduce){
  .peel-layer{ transition:opacity .2s linear; }
  .peel-layer.gone{ transform:none; }
}
.peel-hint{
  margin-top:10px; text-align:center;
  font-family:var(--dinc); font-size:13px; font-weight:500;
  letter-spacing:.14em; color:#7C8187;
}
.layer-list{ list-style:none; display:grid; gap:2px; }
.layer-list button{
  width:100%;
  display:grid;
  grid-template-columns:14px 1fr auto;
  gap:14px; align-items:center;
  text-align:left;
  background:transparent;
  border:none;
  border-left:3px solid transparent;
  color:#B9BDC1;
  padding:11px 14px 11px 12px;
  border-radius:0 2px 2px 0;
  transition:background .2s, color .2s, border-color .2s;
}
.layer-list button .swatch{
  width:14px; height:14px; border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.layer-list button .lname{
  font-family:var(--din); font-weight:600; font-size:15.5px; color:#E4E5E1;
}
.layer-list button .lsub{
  display:block; font-family:var(--dinc); font-weight:400; font-size:13px;
  letter-spacing:.06em; color:#84898F;
}
.layer-list button .mic{
  font-family:var(--dinc); font-weight:600; font-size:13.5px;
  letter-spacing:.1em; color:#84898F; white-space:nowrap;
}
.layer-list button[aria-pressed="true"]{
  background:rgba(196,13,36,.13);
  border-left-color:var(--candy-hot);
}
.layer-list button[aria-pressed="true"] .lname{ color:#fff; }
.layer-list button.peeled{ opacity:.38; }
.layer-list button:hover{ background:rgba(255,255,255,.05); }
.sys-controls{ margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
.sys-total{
  margin-top:26px; padding-top:18px;
  border-top:1px solid #33373B;
  display:flex; justify-content:space-between; align-items:baseline;
}
.sys-total .spec{ color:#84898F; }
.sys-total strong{ font-family:var(--slab); font-weight:400; font-size:24px; color:var(--paper); }

/* ---------- chip + before/after row ---------- */
#finish{
  background:var(--charcoal-2);
  color:var(--paper);
  padding:clamp(64px,9vw,120px) 0;
  border-top:1px solid #2C2F32;
}
.finish-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(28px,4.5vw,72px);
  align-items:start;
}
.chip-card{
  background:#25282B;
  border:1px solid #33373B;
  border-radius:4px;
  padding:26px;
}
.chip-card h3, .ba-block h3{
  font-family:var(--din); font-weight:700; font-size:20px; color:#F2F2EE;
  margin-bottom:6px;
}
.chip-card .sub, .ba-block .sub{
  color:#9AA0A6; font-size:15px; margin-bottom:20px; max-width:44ch;
}
#chip{
  width:100%; height:auto; display:block;
  border-radius:6px;
  cursor:crosshair;
  touch-action:none;
}
.chip-meta{
  margin-top:16px;
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.chip-meta .spec{ color:#84898F; }
.chip-meta .spec b{ color:#E4E5E1; }

/* before/after */
.ba-frame{
  position:relative;
  border-radius:4px;
  overflow:hidden;
  border:1px solid #33373B;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
.ba-frame svg{ width:100%; height:auto; display:block; }
.ba-after{
  position:absolute; inset:0;
  clip-path:inset(0 0 0 var(--cut,50%));
}
.ba-divider{
  position:absolute; top:0; bottom:0; left:var(--cut,50%);
  width:0;
  border-left:2px solid #F2F2EE;
  box-shadow:0 0 14px rgba(0,0,0,.5);
  pointer-events:none;
}
.ba-handle{
  position:absolute; top:50%; left:var(--cut,50%);
  transform:translate(-50%,-50%);
  width:46px; height:46px;
  border-radius:50%;
  background:#F2F2EE;
  color:var(--charcoal);
  border:none;
  display:grid; place-items:center;
  font-size:15px;
  letter-spacing:.05em;
  box-shadow:0 6px 18px rgba(0,0,0,.5);
  cursor:ew-resize;
}
.ba-tags{ position:absolute; top:14px; left:14px; right:14px; display:flex; justify-content:space-between; pointer-events:none; }
.ba-tags .tape-chip{ transform:rotate(0); }
.ba-tags .tape-chip.after{ background:var(--candy); }
.ba-frame:has(input:focus-visible){ outline:3px solid var(--tape); outline-offset:3px; }
.ba-foot{
  margin-top:14px;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.ba-foot .spec{ color:#84898F; }
.ba-foot .spec b{ color:#E4E5E1; }

/* ---------- shop photos ---------- */
#floor{ background:var(--primer); padding:clamp(64px,9vw,120px) 0; }
.floor-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:26px;
}
.photo{
  position:relative; border-radius:3px; overflow:hidden;
  background:var(--charcoal);
}
.photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; }
.photo.tall img{ aspect-ratio:auto; position:absolute; inset:0; }
.photo figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:36px 18px 14px;
  background:linear-gradient(0deg, rgba(15,16,18,.82), rgba(15,16,18,0));
  color:#E4E5E1;
  font-family:var(--dinc); font-weight:500; font-size:13px;
  letter-spacing:.13em; text-transform:uppercase;
  display:flex; justify-content:space-between; gap:10px;
}
.photo figcaption span:last-child{ color:#9AA0A6; }

/* ---------- estimate ---------- */
#estimate{
  background:var(--candy);
  background:linear-gradient(160deg, #D01126 0%, var(--candy) 46%, var(--candy-deep) 100%);
  color:#fff;
  padding:clamp(64px,9vw,120px) 0;
}
.est-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,5vw,80px);
  align-items:start;
}
#estimate h2{
  font-family:var(--slab); font-weight:400;
  font-size:clamp(30px,3.8vw,50px); line-height:1.06;
  max-width:14ch;
}
#estimate .est-copy p{ margin-top:20px; max-width:46ch; color:#FBD9DD; font-size:17px; }
#estimate .est-copy .spec{ color:#F5B7BE; margin-top:26px; display:block; }
.est-form{
  background:#fff;
  color:var(--ink);
  border-radius:4px;
  padding:clamp(22px,3vw,34px);
  box-shadow:0 30px 60px -30px rgba(60,2,10,.6);
}
.est-form h3{ font-family:var(--din); font-weight:700; font-size:19px; margin-bottom:4px; }
.est-form .fnote{ color:#6B6E71; font-size:14.5px; margin-bottom:20px; }
.field{ margin-bottom:16px; }
.field label{
  display:block;
  font-family:var(--dinc); font-weight:600; font-size:12.5px;
  letter-spacing:.14em; text-transform:uppercase; color:#54575A;
  margin-bottom:6px;
}
.field input, .field textarea{
  width:100%;
  font:inherit; font-size:16px;
  border:1.5px solid #C6C7C1;
  border-radius:2px;
  padding:11px 13px;
  background:#FAFAF7;
  color:var(--ink);
}
.field input:focus, .field textarea:focus{
  outline:none;
  border-color:var(--tape);
  box-shadow:0 0 0 3px var(--tape-soft);
}
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.est-form .btn{ width:100%; text-align:center; padding:15px; }
.est-done{
  display:none;
  border:2px solid var(--tape);
  border-radius:3px;
  background:#EFF5FA;
  padding:18px;
  color:#1F3F5C;
  font-size:16px;
}
.est-done.on{ display:block; }
.est-done b{ display:block; font-family:var(--dinc); letter-spacing:.12em; text-transform:uppercase; font-size:13px; margin-bottom:6px; }

/* ---------- footer ---------- */
footer.site{
  background:var(--charcoal);
  color:#9AA0A6;
  padding:52px 0 40px;
  font-size:15px;
}
footer.site .wrap{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);
  gap:34px;
}
footer .logo{ font-size:17px; margin-bottom:12px; }
footer .fhead{
  font-family:var(--dinc); font-weight:600; font-size:12.5px;
  letter-spacing:.16em; text-transform:uppercase; color:#6E7378;
  margin-bottom:12px;
}
footer p, footer li{ line-height:1.7; }
footer ul{ list-style:none; }
footer a{ color:#C4C7CA; text-decoration:none; }
footer a:hover{ color:#fff; text-decoration:underline; }
.foot-bottom{
  margin-top:40px;
  border-top:1px solid #2C2F32;
}
.foot-bottom .wrap{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding-top:18px;
  font-family:var(--dinc); font-size:12.5px; letter-spacing:.12em; text-transform:uppercase;
}

/* ---------- reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); }
.reveal.in{
  opacity:1; transform:none;
  transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- guide page ---------- */
.guide-body{ background:var(--primer); }
.guide-hero{ background:var(--charcoal); color:var(--paper); padding:70px 0 60px; }
.guide-hero h1{ font-family:var(--slab); font-weight:400; font-size:clamp(34px,5vw,58px); line-height:1.05; max-width:16ch; }
.guide-hero p{ margin-top:18px; max-width:60ch; color:#B9BDC1; }
.gsec{ padding:56px 0 8px; }
.gsec h2{
  font-family:var(--slab); font-weight:400; font-size:clamp(24px,3vw,34px);
  margin-bottom:18px;
}
.gsec h2 .gnum{ color:var(--candy); margin-right:10px; }
.gsec p{ max-width:70ch; margin-bottom:14px; color:#33363A; }
.gsec ul, .gsec ol{ margin:0 0 14px 22px; max-width:70ch; color:#33363A; }
.gsec li{ margin-bottom:9px; }
.swatches{ display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 26px; }
.sw{
  width:150px;
  border:1px solid #C2C3BC; border-radius:3px; overflow:hidden;
  background:var(--paper);
}
.sw i{ display:block; height:74px; }
.sw span{
  display:block; padding:9px 11px;
  font-family:var(--dinc); font-weight:600; font-size:12.5px;
  letter-spacing:.1em; text-transform:uppercase;
}
.sw span small{ display:block; color:var(--steel); letter-spacing:.06em; }
pre.code{
  background:var(--charcoal);
  color:#D6D8D4;
  font-family:"SFMono-Regular", ui-monospace, Menlo, monospace;
  font-size:13.5px;
  line-height:1.6;
  border-radius:4px;
  padding:20px 22px;
  overflow-x:auto;
  margin:16px 0 26px;
  max-width:860px;
}
pre.code .c{ color:#7C8187; }
pre.code .k{ color:#F27E8E; }
.pass-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; margin:20px 0 30px; }
.pass-card{
  background:var(--paper);
  border:1px solid #C2C3BC; border-left:4px solid var(--tape);
  border-radius:3px;
  padding:18px 18px 20px;
}
.pass-card b{
  display:block;
  font-family:var(--dinc); font-weight:600; font-size:13px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--tape);
  margin-bottom:8px;
}
.pass-card p{ font-size:15px; margin:0; }
.guide-foot{ padding:40px 0 70px; }

/* ---------- responsive ---------- */
@media (max-width: 1060px){
  .stage{ grid-template-columns:88px 1fr; }
  .stage-specs{ grid-column:2; margin-top:18px; border-left:none; border-top:3px solid var(--tape); padding:14px 0 0; }
  .sys-grid, .finish-grid, .est-grid{ grid-template-columns:1fr; }
  .floor-grid{ grid-template-columns:1fr; }
  .photo.tall img{ position:static; aspect-ratio:3/2; }
  footer.site .wrap{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px){
  nav.main{ display:none; }
  header.site .wrap{ gap:12px; justify-content:space-between; }
  .logo em{ display:none; }
  header.site .btn{ padding:9px 14px 8px; font-size:13px; margin-left:auto; }
  .strip .s-hide{ display:none; }
  .strip .wrap{ justify-content:center; }
  .stage{ grid-template-columns:1fr; padding:26px 20px 30px; }
  .stage-no{ margin-bottom:12px; display:flex; align-items:baseline; gap:12px; }
  .stage-no small{ margin-top:0; }
  .stage-specs{ grid-column:1; }
  .ro-top{ padding:16px 20px; }
  .hero-meta div{ margin-right:20px; padding-right:20px; }
  .pass-cards{ grid-template-columns:1fr; }
  footer.site .wrap{ grid-template-columns:1fr; gap:26px; }
  .field-row{ grid-template-columns:1fr; }
  body{ font-size:16px; }
}
