@import url("fuentes.css");

*,*::before,*::after{box-sizing:border-box}
:root{
  --tinta:#0B0B0C; --papel:#F2F0ED; --oro:#E9B44C; --humo:#C9C6C1; --gris:#8F8C87;
  --sal:cubic-bezier(0.16,1,0.3,1); --ui:cubic-bezier(0.32,0.72,0,1);
}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--tinta);color:var(--papel);
  font-family:"Instrument Sans",system-ui,sans-serif;font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}

/* ---- Barra superior ---- */
.barra{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:10px 28px;
  background:rgba(11,11,12,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(242,240,237,.09);
}
.barra img{height:52px;width:auto}
.barra .volver{
  font-family:Archivo,sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;color:var(--tinta);background:var(--oro);
  padding:14px 18px;border-radius:2px;white-space:nowrap;
  transition:transform .2s var(--ui),filter .2s var(--ui);
}
.barra .volver:hover{transform:translateY(-2px);filter:brightness(1.07)}

/* ---- Portada ---- */
.portada{position:relative;min-height:clamp(420px,62vh,620px);display:flex;align-items:flex-end;overflow:hidden}
.portada img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.portada::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,11,12,.30) 0%,rgba(11,11,12,.70) 45%,rgba(11,11,12,.97) 100%);
}
.portada .texto{position:relative;z-index:1;padding:56px 28px 44px;max-width:1180px;margin:0 auto;width:100%}
.portada h1{
  font-family:Archivo,sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,5.4vw,58px);line-height:1.02;letter-spacing:-.025em;margin:14px 0 0;
  text-wrap:balance;max-width:900px;
}
.portada .gancho{margin:18px 0 0;font-size:clamp(16px,2vw,20px);color:var(--humo);max-width:620px;text-wrap:pretty}
.cintillo{
  display:inline-block;font-family:Archivo,sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--oro);
}
.meta{margin:22px 0 0;font-size:13.5px;color:var(--gris);letter-spacing:.02em}
.meta b{color:var(--humo);font-weight:600}

/* ---- Estructura ---- */
.envoltorio{max-width:1180px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
main{padding:56px 0 40px;min-width:0}
.bloque{margin:0 0 46px}
.bloque h2{
  font-family:Archivo,sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(23px,3vw,34px);line-height:1.08;letter-spacing:-.02em;margin:12px 0 18px;
}
.bloque h3{font-family:Archivo,sans-serif;font-weight:700;font-size:18px;margin:0 0 6px;color:var(--oro)}
.bloque p{margin:0 0 16px;color:var(--humo);text-wrap:pretty}
.entradilla{font-size:clamp(19px,2.4vw,23px);line-height:1.55;color:var(--papel)}
.destacado{
  border-left:2px solid var(--oro);padding:2px 0 2px 18px;color:var(--papel);font-size:18px;
}

/* ---- Reglas numeradas ---- */
.reglas{list-style:none;margin:0;padding:0}
.reglas li{display:flex;gap:20px;padding:26px 0;border-top:1px solid rgba(242,240,237,.12)}
.reglas li:last-child{border-bottom:1px solid rgba(242,240,237,.12)}
.reglas .num{
  flex:none;width:44px;font-family:Archivo,sans-serif;font-weight:800;font-size:15px;
  letter-spacing:.06em;color:var(--oro);padding-top:3px;
}
.reglas p:last-child{margin-bottom:0}

/* ---- Taller interactivo ---- */
.taller{
  background:rgba(242,240,237,.04);border:1px solid rgba(242,240,237,.14);
  border-radius:3px;padding:28px;margin:24px 0 0;
}
.fila{margin:0 0 20px}
.fila label{display:block;font-size:14.5px;color:var(--humo);margin:0 0 8px}
.taller input{
  width:100%;padding:14px 16px;background:rgba(242,240,237,.05);
  border:1px solid rgba(242,240,237,.18);border-radius:2px;color:var(--papel);
  font-family:inherit;font-size:16px;min-width:0;
  transition:border-color .2s var(--ui);
}
.taller input:focus{outline:none;border-color:var(--oro)}
.campo{display:flex;align-items:center;gap:12px}
.campo input{max-width:130px}
.campo span{font-size:14.5px;color:var(--gris)}
.compromiso{
  margin:26px 0 0;padding:22px;background:rgba(233,180,76,.09);
  border:1px solid rgba(233,180,76,.3);border-radius:3px;
}
.compromiso p{margin:10px 0 0;color:var(--papel);font-size:19px;line-height:1.5}
.compromiso .nota{font-size:14.5px;color:var(--humo);margin-top:12px}
.guardado{margin:14px 0 0;font-size:13px;color:var(--gris)}

/* ---- Cierre y llamada ---- */
.cierre .firma{font-family:Archivo,sans-serif;font-weight:700;font-size:19px;color:var(--papel);margin-top:26px}
.cierre .firma span{font-weight:400;font-size:15px;color:var(--oro);letter-spacing:.04em}
.llamada{
  margin:0 0 46px;padding:34px;border-radius:3px;
  background:linear-gradient(160deg,rgba(233,180,76,.14),rgba(233,180,76,.03));
  border:1px solid rgba(233,180,76,.28);
}
.llamada h2{margin-top:0}
.botones{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.boton{
  display:inline-block;padding:16px 24px;border-radius:2px;text-decoration:none;
  font-family:Archivo,sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;transition:transform .2s var(--ui),filter .2s var(--ui);
}
.boton:hover{transform:translateY(-2px);filter:brightness(1.07)}
.boton.principal{background:var(--oro);color:var(--tinta)}
.boton.secundario{border:1px solid rgba(242,240,237,.28);color:var(--papel)}

/* ---- Catalogo lateral ---- */
.lateral{position:sticky;top:96px;padding:56px 0 40px}
.lateral h2{
  font-family:Archivo,sans-serif;font-weight:800;text-transform:uppercase;font-size:14px;
  letter-spacing:.1em;margin:0 0 18px;padding-bottom:14px;
  border-bottom:1px solid rgba(242,240,237,.14);
}
.tarjetas{display:grid;gap:18px}
.tarjeta{
  display:block;text-decoration:none;border:1px solid rgba(242,240,237,.12);
  border-radius:3px;overflow:hidden;background:rgba(242,240,237,.03);
  transition:transform .3s var(--sal),border-color .3s var(--sal);
}
.tarjeta:hover{transform:translateY(-4px);border-color:rgba(233,180,76,.5)}
.tarjeta img{width:100%;height:130px;object-fit:cover}
.tarjeta .cuerpo{padding:14px 16px 18px}
.tarjeta h3{font-family:Archivo,sans-serif;font-weight:700;font-size:15px;line-height:1.25;margin:8px 0 0;color:var(--papel)}
.tarjeta p{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--gris)}
.tarjeta.actual{border-color:rgba(233,180,76,.55)}
.tarjeta.actual .marca{display:block;margin:10px 0 0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--oro)}

/* ---- Pie ---- */
.pie{border-top:1px solid rgba(242,240,237,.1);padding:44px 28px;text-align:center;color:var(--gris);font-size:13.5px}
/* 14px arriba y abajo dejan el enlace en 44px, el minimo tactil: a 16px de
   alto son casi imposibles de acertar con el dedo. */
.pie a{color:var(--humo);display:inline-block;padding:14px 6px}

/* ---- Catalogo a pagina completa ---- */
/* min(100%, 300px) y no 300px a secas: en una pantalla de 320px quedan
   280px utiles tras los margenes, y un minimo rigido de 300 desbordaba. */
.rejilla{max-width:1180px;margin:0 auto;padding:44px 28px 40px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:26px}
.rejilla .tarjeta img{height:190px}
.cabecera-catalogo{max-width:1180px;margin:0 auto;padding:64px 28px 0}
.cabecera-catalogo h1{
  font-family:Archivo,sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,5vw,52px);line-height:1.03;letter-spacing:-.025em;margin:14px 0 0;
}
.cabecera-catalogo p{color:var(--humo);max-width:620px;margin:18px 0 0}

@media (max-width:900px){
  .envoltorio{grid-template-columns:1fr;gap:0;padding:0 20px}
  .lateral{position:static;padding:10px 0 48px;border-top:1px solid rgba(242,240,237,.12)}
  .tarjetas{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  .barra{padding:10px 16px}
  .barra img{height:44px}
  .barra .volver{padding:13px 14px;font-size:10.5px}
  .portada .texto{padding:44px 20px 34px}
  main{padding:40px 0 24px}
  .taller{padding:20px}
  .llamada{padding:24px 20px}
  .rejilla,.cabecera-catalogo{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:1ms !important;animation-duration:1ms !important}
}
