/* TORQUE · identidad v3 (USB: marcas/TORQUE-v3.html) */
:root{
  --negro:#0C0D0F; --carbon:#16181C; --carbon-2:#1D2025; --borde:#2A2E34;
  --naranja:#FF5A1F; --acido:#D6FF3F; --hueso:#EDEBE6; --gris:#969DA5; --wa:#25D366;
  --titulo:"Archivo Black","Arial Black",Impact,sans-serif;
  --bajada:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --texto:Chivo,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--negro);color:var(--hueso);font:16px/1.6 var(--texto);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
.env{max-width:1080px;margin:0 auto;padding:0 16px}
.rot{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--naranja)}
h1,h2,h3{font-family:var(--titulo);font-weight:400;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
h1{font-size:clamp(2.3rem,9vw,4.6rem)}
h2{font-size:clamp(1.6rem,5.5vw,2.6rem);margin:8px 0 14px}
h3{font-size:1.15rem;letter-spacing:-.01em}
h1 em,h2 em{color:var(--naranja);font-style:italic}
p{margin:0 0 14px}
.sub{color:var(--gris);max-width:60ch}
.grano{position:relative;isolation:isolate}
.grano::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.07;pointer-events:none;background-image:url(../img/grano.svg)}

/* cabecera */
.cab{position:sticky;top:0;z-index:20;background:rgba(12,13,15,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde)}
.cab .env{display:flex;align-items:center;gap:14px;min-height:60px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca img{width:38px;height:38px}
.marca b{font-family:var(--titulo);font-style:italic;font-weight:400;font-size:1.35rem;letter-spacing:-.02em}
.menu{display:flex;gap:4px;margin-left:auto;list-style:none}
.menu a{display:block;padding:10px;text-decoration:none;font-family:var(--bajada);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--hueso)}
.menu a:hover,.menu a[aria-current]{color:var(--naranja)}
.menu .wa-mini{background:var(--wa);color:#06290f;border-radius:4px}
.menu .wa-mini:hover{color:#06290f}
@media(max-width:700px){.menu li:not(.siempre){display:none}}

/* bloques */
section{padding:56px 0;border-bottom:1px solid var(--borde)}
.heroe{padding:60px 0 50px}
.heroe h1{margin:14px 0 18px;max-width:14ch}
.heroe .sub{font-size:1.15rem}
.botones{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:6px;text-decoration:none;font-family:var(--titulo);font-style:italic;text-transform:uppercase;font-size:1rem;border:0;cursor:pointer;text-align:center}
.btn-wa{background:var(--wa);color:#06290f}
.btn-linea{border:1.5px solid var(--hueso);color:var(--hueso);background:transparent}
.btn-naranja{background:var(--naranja);color:var(--negro)}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:30px;max-width:640px}
.cats div{border-left:3px solid var(--naranja);padding:2px 0 2px 12px}
.cats b{display:block;font-family:var(--bajada);font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em}
.cats span{color:var(--gris);font-size:.92rem}
.promesas{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);margin-top:34px}
.promesas div{padding:14px 10px;text-align:center;border-right:1px solid var(--borde)}
.promesas div:last-child{border-right:0}
.promesas b{display:block;font-family:var(--bajada);color:var(--acido);text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem}
.promesas span{font-family:var(--mono);font-size:.75rem;color:var(--gris)}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:p;list-style:none}
.pasos li{background:var(--carbon);border:1px solid var(--borde);padding:18px 16px;counter-increment:p}
.pasos li::before{content:"0" counter(p);display:block;font-family:var(--mono);color:var(--naranja);font-size:.8rem;letter-spacing:.1em;margin-bottom:6px}
.pasos b{display:block;font-family:var(--bajada);font-size:1.15rem;text-transform:uppercase;margin-bottom:4px}
.pasos span{color:var(--gris);font-size:.93rem}
.niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nivel{background:var(--carbon);border:1px solid var(--borde);border-top:4px solid var(--naranja);padding:18px 16px}
.nivel.premium{border-top-color:var(--acido)}
.nivel.emergencia{border-top-color:var(--gris)}
.nivel b{display:block;font-family:var(--bajada);font-size:1.25rem;text-transform:uppercase}
.nivel small{display:block;font-family:var(--mono);color:var(--gris);font-size:.74rem;letter-spacing:.06em;margin-bottom:8px}
.nivel p{color:var(--gris);font-size:.95rem;margin:0}
.regla{margin-top:16px;border:1px dashed var(--borde);padding:14px 16px;color:var(--gris);font-size:.95rem}
.regla b{color:var(--hueso)}

/* catálogo */
.grupo{margin-top:34px}
.grupo>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;border-bottom:1px solid var(--borde);padding-bottom:10px;margin-bottom:14px}
.grupo>header h3{font-size:1.35rem}
.grupo>header span{font-family:var(--mono);font-size:.75rem;color:var(--gris);letter-spacing:.08em}
.grupo>p{color:var(--gris);max-width:70ch}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.pieza{display:flex;flex-direction:column;background:var(--carbon);border:1px solid var(--borde)}
.pieza .ficha{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:var(--carbon-2);border-bottom:1px solid var(--borde);position:relative}
.pieza .ficha img{width:64px;height:64px}
.pieza .estado{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;background:var(--negro);border:1px solid var(--borde);padding:3px 8px;color:var(--acido)}
.pieza .cuerpo{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.pieza h4{font-family:var(--bajada);font-size:1.25rem;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}
.pieza dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-family:var(--mono);font-size:.76rem}
.pieza dt{color:var(--gris)}
.pieza dd{margin:0}
.pieza p{color:var(--gris);font-size:.93rem;margin:0}
.pieza .precio{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:.78rem;color:var(--gris);border-top:1px solid var(--borde)}
.pieza .precio b{color:var(--hueso);font-family:var(--bajada);font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em;display:block}
.pieza .btn{min-height:44px;font-size:.92rem}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.filtros a{font-family:var(--bajada);font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border:1px solid var(--borde);padding:8px 14px;border-radius:999px;font-size:.95rem;min-height:40px;display:inline-flex;align-items:center}
.filtros a:hover{border-color:var(--naranja);color:var(--naranja)}

/* en venta */
.venta-2{margin-top:16px;border-color:var(--borde)}
.venta{display:grid;grid-template-columns:1.1fr 1fr;border:1.5px solid var(--naranja);background:var(--carbon)}
.venta .info{padding:24px 22px}
.venta h3{font-size:clamp(1.3rem,4.5vw,1.8rem);margin:8px 0 6px}
.venta .datos{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-family:var(--mono);font-size:.8rem;margin:14px 0}
.venta .datos dt{color:var(--gris)}
.venta .datos dd{color:var(--hueso);margin:0 0 6px}
.venta .grande{font-family:var(--titulo);font-style:italic;font-size:2.2rem;color:var(--naranja);line-height:1}
.venta .grande small{display:block;font-family:var(--mono);font-style:normal;font-size:.75rem;color:var(--gris);margin-top:6px}
.venta .lado{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:24px 22px;border-left:1px solid var(--borde);background:var(--carbon-2)}
.venta .lado p{color:var(--gris);font-size:.95rem;margin:0}

/* formulario */
form.pedido{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--carbon);border:1px solid var(--borde);padding:20px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo.ancho{grid-column:1/-1}
.campo label{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.campo input,.campo select,.campo textarea{font:inherit;color:var(--hueso);background:var(--negro);border:1px solid var(--borde);border-radius:4px;padding:12px;min-height:48px;width:100%}
.campo textarea{min-height:96px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--naranja);outline-offset:1px;border-color:var(--naranja)}
.nota{font-family:var(--mono);font-size:.75rem;color:var(--gris)}
form.pedido .btn{grid-column:1/-1;min-height:56px;font-size:1.05rem}
form.pedido .nota{grid-column:1/-1;margin:0}

/* pie */
.pie{padding:34px 0 96px;color:var(--gris);font-size:.92rem}
.pie .env{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}
.pie b{display:block;color:var(--hueso);font-family:var(--bajada);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.pie a{text-decoration:none}
.pie a:hover{color:var(--naranja)}
.pie p{margin:0 0 6px}
.wa-fijo{position:fixed;right:16px;bottom:16px;z-index:30;display:flex;align-items:center;gap:8px;background:var(--wa);color:#06290f;text-decoration:none;font-family:var(--titulo);font-style:italic;text-transform:uppercase;padding:14px 18px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.45)}
.error404{padding:90px 0;text-align:left}

@media(max-width:860px){
  .pasos{grid-template-columns:1fr 1fr}
  .niveles{grid-template-columns:1fr}
  .venta{grid-template-columns:1fr}
  .venta .lado{border-left:0;border-top:1px solid var(--borde)}
  .pie .env{grid-template-columns:1fr}
}
@media(max-width:560px){
  .cats{grid-template-columns:1fr}
  .promesas{grid-template-columns:1fr}
  .promesas div{border-right:0;border-bottom:1px solid var(--borde)}
  .promesas div:last-child{border-bottom:0}
  .pasos{grid-template-columns:1fr}
  form.pedido{grid-template-columns:1fr;padding:16px}
  .botones .btn{flex:1 1 100%}
  section{padding:44px 0}
}

/* piezas a la medida */
.medida{background:var(--carbon)}
.medida-lista{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 0}
.medida-lista li{border-left:3px solid var(--acido);padding:2px 0 2px 12px}
.medida-lista b{display:block;font-family:var(--bajada);font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em}
.medida-lista span{color:var(--gris);font-size:.92rem}
.campo .nota{margin-top:2px}
form.pedido[data-clase="medida"] .solo-pedido,form.pedido[data-clase="pedido"] .solo-medida{display:none}
@media(max-width:860px){.medida-lista{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.medida-lista{grid-template-columns:1fr}}
