/* Revolt · taller ficticio. Hormigón claro, tinta negra y rojo de competición solo para lo importante. */
:root{
  --paper:#ecebe7; --paper2:#f7f6f3; --ink:#111; --mute:#57544e; --mute-on-ink:#a8a49c;
  --line:rgba(17,17,17,.14); --acc:#e10600; --acc-text:#c40500; --on-acc:#fff;
  --fd:'Anton',Impact,sans-serif; --fd-weight:400; --fd-track:.005em; --fd-case:uppercase; --radius:2px; --foot-size:26vw;
}
.logo span{font-size:26px}
.hero{padding:clamp(40px,7vw,96px) 0 clamp(32px,5vw,64px)}
.hero .h-display{font-size:clamp(3.4rem,10.6vw,10rem);line-height:.9;max-width:13ch}
.hero-side{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 48px;align-items:end;margin-top:30px}
.hero-side .cta-row{margin-top:0}
.hero-strip{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin-top:40px;padding-top:16px;border-top:2px solid var(--ink);font-size:15px;color:var(--mute)}
.hero-strip b{color:var(--ink);margin-right:14px}
.hero-strip span:last-child{margin-left:auto}

/* revisión en directo */
.rv-pin{height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,3vh,36px);background:var(--paper2);border-block:1px solid var(--line);overflow:hidden}
.rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.rv-say{display:grid;max-width:16ch;margin:0}
.rv-say .say{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.rv-say .say.on{opacity:1;transform:none}
.rv-track{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex:none}
.rv-track li{font-weight:600;font-size:14px;padding:8px 12px;border:2px solid var(--line);color:var(--mute);transition:all .3s}
.rv-track li.on{border-color:var(--ink);background:var(--ink);color:#fff}
.rv-track li.done{border-color:var(--ink);color:var(--ink)}
.rv-stage{position:relative}
.rv-car{position:relative;max-width:1000px;margin:0 auto}
.rv-car svg{display:block;width:100%;height:auto;overflow:visible}
.rv-car .ground{stroke:var(--line);stroke-width:2}
.rv-car .body{fill:#fff;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.rv-car .glass{fill:#dfe3e6;stroke:var(--ink);stroke-width:2.5}
.rv-car .seam{stroke:var(--ink);stroke-width:2}
.rv-car .lamp{fill:#f2c94c;stroke:var(--ink);stroke-width:2}
.rv-car .wheel circle{fill:#1b1b1b;stroke:var(--ink);stroke-width:3}
.rv-car .wheel circle+circle{fill:#bdbab3}
.rv-car .scan{fill:var(--acc);filter:drop-shadow(0 0 8px var(--acc));opacity:0}
.pt{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.pt i{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--line);transition:all .3s}
.pt span{position:absolute;top:22px;left:50%;white-space:nowrap;text-align:center;opacity:0;transform:translate(-50%,-6px);transition:opacity .35s,transform .35s;background:#fff;border:1px solid var(--line);padding:6px 10px;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.pt.up span{top:auto;bottom:22px;transform:translate(-50%,6px)}
.pt.r span{left:auto;right:-8px;text-align:right;transform:translateY(-6px)}
.pt.r.up span{transform:translateY(6px)}
.pt b{display:block;font-weight:600}
.pt em{font-style:normal;color:var(--mute)}
.pt.on i{border-color:var(--ink);background:var(--ink)}
.pt.on span{opacity:1;transform:translate(-50%,0)}
.pt.r.on span{transform:none}
.pt.flag.on i{border-color:var(--acc);background:var(--acc);box-shadow:0 0 0 6px rgba(225,6,0,.18)}
.pt.flag.on em{color:var(--acc-text);font-weight:600}
.pt.flag.ok em{color:#1f7a4d}
.rv-wa{position:absolute;left:var(--gut);top:-8px;width:min(320px,40%);background:#e7f3df;border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:14px;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s}
.rv-wa.on{opacity:1;transform:none}
.rv-wa small{display:block;color:var(--mute);font-size:12px;margin-bottom:4px}
.rv-wa p{margin:0}
.rv-wa .me{margin-top:8px;margin-left:auto;width:max-content;background:#fff;border-radius:12px 12px 4px 12px;padding:6px 10px;opacity:0;transition:opacity .3s}
.rv-wa .me.on{opacity:1}

/* precios */
.srv{list-style:none;margin:40px 0 0;padding:0;border-top:2px solid var(--paper)}
.srv li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:20px 0;border-bottom:1px solid var(--line-on-ink);align-items:center}
.srv b{font-family:var(--fd);text-transform:uppercase;font-weight:400;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1}
.srv span{grid-column:1;color:var(--mute-on-ink);font-size:15px}
.srv em{grid-row:1/3;grid-column:2;font-style:normal;font-family:var(--fd);font-size:clamp(1.8rem,3.4vw,3rem);color:#ff3b30;white-space:nowrap}
.srv-note{color:var(--mute-on-ink);font-size:14px;margin:18px 0 0}

/* cita */
.res-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,96px);align-items:start}
.estimate{margin-top:34px;border-top:2px solid var(--ink);padding-top:20px}
.estimate small{display:block;color:var(--mute);font-size:15px}
.estimate b{margin:8px 0;color:var(--acc-text)}
.estimate span{color:var(--mute);font-size:15px}
.itv{background:var(--paper);padding:10px 14px;font-size:15px;margin:0 0 16px;border-left:3px solid var(--acc)}
.itv:empty{display:none}
.r-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:40px}
.quotes blockquote{margin:0;border-top:2px solid var(--ink);padding-top:18px}
.quotes p{margin:0 0 14px;font-size:1.15rem;line-height:1.45;font-weight:500}
.quotes cite{font-style:normal;color:var(--mute);font-size:15px}
.close .h-display{font-size:clamp(3.4rem,10vw,9rem)}

@media (max-width:1020px){
  .res-grid{grid-template-columns:minmax(0,1fr)}
  .hero-side{grid-template-columns:minmax(0,1fr)}
  .rv-head{flex-direction:column;align-items:flex-start}
  .rv-wa{position:relative;left:auto;top:auto;width:auto;margin:18px var(--gut) 0}
}
@media (max-width:720px){
  .rv-pin{height:calc(100svh - 64px);justify-content:flex-start;padding-top:20px}
  .rv-say{font-size:1.9rem}
  .rv-track li{font-size:11px;padding:5px 7px}
  .pt span{font-size:10.5px;padding:4px 6px}
  .pt i{width:12px;height:12px}
  .rv-car{margin-top:56px}
  .pt:not(.flag) em{display:none}
  .rv-wa{margin-top:70px;font-size:13px}
  .hero-strip span:last-child{margin-left:0;width:100%}
  .quotes{grid-template-columns:minmax(0,1fr)}
}
