/* ============ TOKENS v2 — amarillo protagonista, gris de marca en texto ============ */
:root{
  --amarillo:#FFB420; --amarillo-oscuro:#E09C10; --amarillo-suave:#FDF4E3; --amarillo-claro:#FFC246;
  --naranja:#FF6D00; --naranja-oscuro:#D95C00; --calc:#FF6D00; --calc-oscuro:#D95C00; --calc-suave:#FFF1E6;
  --gris:#7D7D7F; --gris-texto:#6A6A6D; --gris-oscuro:#4F4F52; --gris-linea:#E6E4E1; --gris-fondo:#F7F6F3;
  --blanco:#FFFFFF; --negro:#202020;
  /* verde: SOLO Cage Free / sustentabilidad */
  --verde:#6D862C; --verde-oscuro:#56691F; --verde-suave:#EEF2E3;
  --font:"Barlow","Avenir Next","Avenir",Arial,sans-serif;
  --radio:16px; --sombra:0 2px 4px rgba(32,32,32,.05),0 14px 34px -16px rgba(32,32,32,.22);
  --dur:240ms; --ease:cubic-bezier(.2,.7,.2,1); --glide:cubic-bezier(.16,.84,.28,1);
  --header-h:92px; --tab-w:52px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanco);color:var(--gris-texto);font-family:var(--font);font-size:20px;line-height:1.55;font-weight:400}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1560px,calc(100% - 72px));margin:0 auto}
.proof .wrap{width:min(1560px,calc(100% - 48px))}
[hidden]{display:none!important}
h1,h2,h3,h4{margin:0;text-wrap:balance;line-height:1.02;font-weight:700;letter-spacing:-.01em;color:var(--gris)}
h1{font-size:clamp(38px,4.6vw,66px);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}
h2{font-size:clamp(30px,3.4vw,48px);text-transform:uppercase;font-weight:700}
h3{font-size:clamp(20px,2vw,28px);font-weight:600}
p{margin:0}
.lead{font-size:clamp(19px,1.65vw,25px);max-width:60ch;line-height:1.58}
.eyebrow{display:inline-block;font-size:20px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--amarillo-oscuro);margin-bottom:14px}
section{padding:clamp(44px,5.2vw,78px) 0}
.sec-head{display:grid;gap:16px;margin-bottom:clamp(28px,3vw,44px)}
.sec-head.split{grid-template-columns:1fr auto;align-items:end}
@media(max-width:768px){.sec-head.split{grid-template-columns:1fr}}
.tnum{font-variant-numeric:tabular-nums}
/* Fondos de color: TODO texto blanco */
.bg-amarillo,.bg-naranja,.bg-gris,.bg-verde{color:var(--blanco)}
.bg-amarillo{background:var(--amarillo)} .bg-naranja{background:var(--naranja)} .bg-gris{background:var(--gris)} .bg-verde{background:var(--verde)}
.bg-amarillo :is(h1,h2,h3,h4,p,.lead,.eyebrow),.bg-naranja :is(h1,h2,h3,h4,p,.lead,.eyebrow),.bg-gris :is(h1,h2,h3,h4,p,.lead,.eyebrow),.bg-verde :is(h1,h2,h3,h4,p,.lead,.eyebrow){color:var(--blanco)}
.bg-amarillo .eyebrow,.bg-naranja .eyebrow,.bg-gris .eyebrow,.bg-verde .eyebrow{opacity:.9}
.bg-suave{background:var(--amarillo-suave)}

/* Garabatos decorativos (estilo Instagram Gourmegg) */
.scribble{position:absolute;pointer-events:none;fill:none;stroke:currentColor;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;opacity:.95;transform:rotate(var(--rot,0deg)) scale(var(--esc,1));transition:transform 420ms var(--glide)}
.starburst{position:absolute;pointer-events:none;fill:var(--blanco);transform:rotate(var(--rot,0deg)) scale(var(--esc,1));transition:transform 420ms var(--glide)}
/* solo el trazo del gráfico responde al mouse; el resto del recuadro no estorba */
.scribble use,.starburst use{pointer-events:auto}
.scribble:hover,.starburst:hover{--esc:1.14}
@media(prefers-reduced-motion:reduce){.scribble,.starburst{transition:none}.scribble:hover,.starburst:hover{--esc:1}}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:600;font-size:19px;border:2px solid transparent;transition:transform var(--dur) var(--ease),background var(--dur),border-color var(--dur),color var(--dur);white-space:nowrap;letter-spacing:.01em}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--amarillo);color:var(--blanco)}
.btn-primary:hover{background:var(--amarillo-oscuro)}
.btn-white{background:var(--blanco);color:var(--gris)}
.btn-white:hover{background:var(--amarillo-suave)}
.btn-outline{border-color:var(--gris);color:var(--gris);background:transparent}
.btn-outline:hover{background:var(--gris);color:var(--blanco)}
.btn-outline-white{border-color:var(--blanco);color:var(--blanco);background:transparent}
.btn-outline-white:hover{background:var(--blanco);color:var(--gris)}
.btn-ghost{background:transparent;color:var(--amarillo-oscuro);padding-inline:8px;min-height:40px}
.btn-ghost:hover{color:var(--naranja);transform:none}
.btn-wa{background:var(--gris);color:var(--blanco)}
.btn-wa:hover{background:var(--gris-oscuro)}
.btn-verde{background:var(--verde);color:var(--blanco)}
.btn-verde:hover{background:var(--verde-oscuro)}
.btn-outline-verde{border-color:var(--blanco);color:var(--blanco)}
.btn-outline-verde:hover{background:var(--blanco);color:var(--verde-oscuro)}
.btn-sm{min-height:42px;padding:0 20px;font-size:20px}
.pend{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.75;border:1px dashed currentColor;border-radius:4px;padding:2px 6px;margin-left:6px;vertical-align:middle}

/* ============ HEADER ============ */
.header{position:sticky;top:0;z-index:50;background:var(--blanco);border-bottom:1px solid var(--gris-linea);transition:box-shadow var(--dur)}
.header .wrap{width:min(1780px,calc(100% - 56px));display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,2.4vw,40px);height:var(--header-h);transition:height var(--dur) var(--ease)}
.header.compact .wrap{height:66px}
.header.compact{box-shadow:0 2px 14px rgba(32,32,32,.08)}
.logo img{height:52px;width:auto;transition:height var(--dur)}
.header.compact .logo img{height:42px}
.nav{display:flex;gap:clamp(8px,1.9vw,34px);list-style:none;margin:0;padding:0;align-items:center}
.nav>li>a{white-space:nowrap}
/* Menú: Barlow SemiBold, gris de marca. Al pasar el mouse: naranja + zoom */
.nav a{display:inline-block;padding:10px 2px;font-weight:600;font-size:17px;color:var(--gris);position:relative;letter-spacing:.005em;transform-origin:center;transition:color 220ms var(--ease),transform 220ms var(--ease)}
.nav a:hover,.nav a:focus-visible{color:var(--naranja);transform:scale(1.08)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:currentColor;border-radius:2px}
.nav a.verde-link:hover{color:var(--naranja)}
.hright{display:flex;align-items:center;gap:4px}
/* Redes sociales: SIEMPRE naranja #FF6D00 */
.social{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;color:var(--naranja);transition:transform 220ms var(--ease),color 220ms var(--ease)}
.social:hover{color:var(--naranja-oscuro);transform:scale(1.12)}
.social svg{width:20px;height:20px}
/* --- Selector de idioma (siempre visible en el menú) --- */
.lang{display:inline-flex;align-items:center;gap:4px;border:2px solid var(--gris-linea);border-radius:999px;padding:3px;margin-right:6px;flex:none}
.lang-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:999px;
  padding:5px 10px;font-weight:700;font-size:14px;line-height:1;color:var(--gris);cursor:pointer;
  transition:background var(--dur),color var(--dur),transform var(--dur) var(--ease)}
.lang-btn svg{width:22px;height:15px;border-radius:2px;box-shadow:0 0 0 1px rgba(32,32,32,.14);display:block;flex:none}
.lang-btn:hover{background:var(--amarillo-suave);color:var(--naranja);transform:scale(1.05)}
.lang-btn[aria-pressed="true"]{background:var(--amarillo);color:var(--blanco)}
.lang-btn[aria-pressed="true"]:hover{background:var(--amarillo-oscuro);color:var(--blanco)}
@media(max-width:1180px){.lang{margin-right:2px}.lang-btn{padding:5px 7px}.lang-btn span{display:none}}
@media(max-width:560px){
  .lang{padding:2px;margin-right:0}
  .lang-btn{padding:4px 6px}
  .lang-btn svg{width:19px;height:13px}
  .header .logo{flex:none}
  .header .logo img{height:40px}
  .hright{gap:2px}
  .hright .btn-primary{margin-left:4px!important;font-size:14px;padding:0 14px;min-height:38px}
  .burger{width:38px}
}
@media(max-width:400px){
  .header .wrap{width:calc(100% - 24px);gap:6px}
  .hright .btn-primary{font-size:12.5px;padding:0 10px;min-height:36px}
  .header .logo img{height:32px}
  .lang-btn{padding:4px 5px}
  .lang-btn svg{width:17px;height:12px}
  .burger{width:34px}
}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:8px}
.burger span{display:block;width:22px;height:2.5px;background:var(--gris);margin:5px auto;transition:transform var(--dur),opacity var(--dur);border-radius:2px}
/* entre 1180 y 1500 px el menú se compacta para que quepa con el selector de idioma */
@media(max-width:1500px){
  .header .wrap{gap:clamp(10px,1.2vw,20px)}
  .nav{gap:clamp(7px,1vw,18px)}
  .nav a{font-size:16px}
  .lang-btn{padding:5px 8px;font-size:13px}
  .social{width:38px;height:38px}
}
@media(max-width:1300px){
  .nav a{font-size:15px}
  .lang-btn span{display:none}
  .hright .btn-primary{font-size:16px;padding:0 18px}
}
@media(max-width:1180px){
  .nav,.hright .social{display:none}
  .burger{display:block}
  .header .wrap{gap:12px}
  .nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--blanco);padding:12px 24px 20px;border-bottom:1px solid var(--gris-linea);box-shadow:0 12px 24px rgba(32,32,32,.08)}
  .nav.open a{padding:14px 2px;font-size:20px;display:block}
  .nav.open a:hover{transform:scale(1.03)}
  .nav.open a[aria-current="page"]::after{right:auto;width:42px}
  .nav.open .nav-social{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--gris-linea);margin-top:6px}
  .nav.open .nav-social .social{display:inline-flex;color:var(--naranja)}
  .nav.open .nav-social .social:hover{color:var(--naranja-oscuro)}
  .burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
}
.nav-social{display:none}

/* ============ 1. HERO (panel amarillo + foto a sangre) ============ */
.hero{padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:min(720px,82vh)}
.hero-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px) clamp(20px,3vw,44px) clamp(48px,6vw,96px) clamp(70px,4.2vw,84px)}
.hero-panel .eyebrow{letter-spacing:.10em;font-size:clamp(13px,1.2vw,18px)}
.hero-panel h1{max-width:none;font-size:clamp(44px,5.7vw,94px);line-height:.95;letter-spacing:-.028em}
.hero-panel .lead{margin:24px 0 34px;max-width:46ch;font-weight:500}
.hero-panel .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero-panel .scribble.a{width:260px;top:-30px;right:-40px;--rot:15deg;opacity:.85}
.hero-panel .scribble.b{width:220px;bottom:-40px;left:-30px;--rot:-10deg;opacity:.85}
/* entrada tilt desde la izquierda (hero) */
@keyframes tiltIn{
  0%{opacity:0;transform:translateX(-64px) rotate(-7deg) scale(.96)}
  60%{opacity:1}
  100%{opacity:1;transform:translateX(0) rotate(0deg) scale(1)}
}
.tilt-in{opacity:0;transform-origin:left center;animation:tiltIn 1.2s var(--glide) both}
.hero-panel .eyebrow.tilt-in{animation-delay:.05s}
.hero-panel h1.tilt-in{animation-delay:.45s}
.hero-panel .ctas .tilt-in:nth-child(1){animation-delay:1.05s}
.hero-panel .ctas .tilt-in:nth-child(2){animation-delay:1.30s}
.hero-panel .ctas .tilt-in:nth-child(3){animation-delay:1.55s}
@media (prefers-reduced-motion:reduce){.tilt-in{animation:none;opacity:1;transform:none}}
.hero-photo{position:relative;overflow:hidden;background:#F4F3F1}
.hero-photo .hero-zoom{width:100%;height:100%;animation:heroEntra 1.7s var(--glide) both}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:24% 50%;
  transform:scale(1.16) translateY(var(--py,0px));will-change:transform}
@keyframes heroEntra{from{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.hero-photo .hero-zoom{animation:none}.hero-photo img{transform:none}}
@media(max-width:900px){
  /* móvil: el panel de texto arriba y la foto completa debajo */
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-panel{order:0;padding:30px 20px 28px;text-align:left;align-items:flex-start;justify-content:center}
  .hero-photo{order:1;aspect-ratio:1/1;min-height:0;height:auto;background:#F4F3F1}
  .hero-photo .hero-zoom{height:100%}
  .hero-photo img{object-fit:cover;object-position:50% 50%;transform:none;height:100%}
  .hero-panel .eyebrow{font-size:clamp(10px,2.8vw,13px);letter-spacing:.1em;margin-bottom:8px}
  .hero-panel h1{font-size:clamp(28px,8vw,44px);max-width:none;line-height:1.02;letter-spacing:-.02em}
  /* tres botones del mismo tamaño: dos arriba y uno centrado abajo */
  .hero-panel .ctas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;width:100%}
  .hero-panel .ctas .btn{font-size:14px;padding:11px 10px;white-space:normal;line-height:1.15;min-height:46px;justify-content:center;text-align:center;width:100%}
  .hero-panel .ctas .btn:nth-child(3){grid-column:1/-1;width:calc(50% - 4px);justify-self:center}
  .hero-panel .scribble.a{width:120px;top:-20px;right:-22px}
  .hero-panel .scribble.b{width:90px;bottom:-22px;left:-16px}
}
@media(max-width:460px){
  .hero-panel{padding:26px 16px 24px}
  .hero-panel .ctas .btn{font-size:13px;padding:10px 8px}
}
@media(max-width:360px){.hero-panel .ctas .btn{min-height:54px}}
}

/* ============ 2. PRUEBA RÁPIDA ============ */
/* Franja de datos: fondo crema, texto amarillo, separadores finos */
.proof{padding:clamp(32px,3.6vw,48px) 0;background:var(--amarillo-suave)}
.proof-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;row-gap:22px}
.proof-grid>div{position:relative;padding:0 clamp(10px,1.7vw,28px);text-align:center;display:grid;gap:4px}
.proof-grid>div+div::before{content:"";position:absolute;left:0;top:6px;width:2px;height:clamp(24px,2.6vw,38px);background:rgba(255,180,32,.55);border-radius:2px}
.proof b{font-weight:900;text-transform:uppercase;font-size:clamp(24px,2.8vw,40px);white-space:nowrap;line-height:1;letter-spacing:-.01em;color:var(--amarillo)}
.proof-grid>div>span{font-weight:600;font-size:clamp(14px,1.15vw,18px);color:var(--amarillo);white-space:nowrap}
/* Entrada al hacer scroll: el recuadro completo hace FADE y el texto entra en GLIDE */
.proof{transition:opacity 780ms ease}
.proof.pre{opacity:0}
.proof.pre>.wrap>.proof-grid>div{transform:translateX(-64px)}
.proof.pre>.wrap>.proof-grid>div::before{opacity:0;transform:scaleY(.2)}
.proof-grid>div{transition:transform 820ms var(--glide)}
.proof-grid>div::before{transform-origin:top;transition:transform 560ms var(--glide) 300ms,opacity 460ms ease 300ms}
.proof-grid>div:nth-child(1){transition-delay:0ms}
.proof-grid>div:nth-child(2){transition-delay:130ms}
.proof-grid>div:nth-child(3){transition-delay:260ms}
.proof-grid>div:nth-child(4){transition-delay:390ms}
@media(max-width:760px){
  .proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 8px}
  .proof-grid>div{padding:0 6px}
  .proof-grid>div+div::before{display:none}
  .proof b{white-space:normal;font-size:20px;line-height:1.08}
  .proof-grid>div>span{white-space:normal;font-size:20px}
}

/* ============ 3. PRODUCTOS ============ */
#productos .eyebrow{color:var(--amarillo)}
#productos h2{font-weight:900;color:var(--gris)}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{border:2px solid var(--gris-linea);background:var(--blanco);border-radius:999px;padding:9px 18px;font-size:20px;font-weight:700;color:var(--gris);transition:all var(--dur);min-height:42px}
.chip:hover{border-color:var(--amarillo)}
.chip[aria-pressed="true"]{background:var(--amarillo);border-color:var(--amarillo);color:var(--blanco)}
.chip-count{color:var(--gris);font-size:20px;margin-left:6px;font-weight:600}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod{position:relative;border-radius:var(--radio);padding:24px;background:var(--amarillo-suave);transition:transform var(--dur) var(--ease),box-shadow var(--dur);display:flex;flex-direction:column;gap:16px}
.prod:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--sombra)}
.prod:focus-within{box-shadow:0 0 0 3px var(--amarillo)}
.prod .pack{height:260px;display:grid;place-items:center;position:relative}
.prod .pack img{max-height:250px;width:auto;filter:drop-shadow(0 18px 24px rgba(120,80,20,.18));transition:transform var(--dur) var(--ease);transform:rotate(-4deg)}
.prod:hover .pack img{transform:rotate(0) scale(1.03)}
.prod .pack .starburst{width:120px;right:-6px;top:-4px;opacity:.9}
.prod h3{font-size:26px;text-transform:uppercase;font-weight:700;color:var(--amarillo)}
.prod .sub{color:var(--gris);font-size:20px;margin-top:4px;font-weight:600}
.prod{color:var(--gris)}
.prod ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:20px;font-weight:600;color:var(--gris)}
.prod ul li::before{content:"●";color:var(--amarillo);font-size:9px;vertical-align:middle;margin-right:10px}
.prod .formats{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:14px;font-weight:600;letter-spacing:.02em;padding:6px 11px;border-radius:8px;background:var(--blanco);color:var(--gris)}
.tag.hot{background:var(--amarillo);color:var(--blanco)}
.tag.cf{background:var(--verde);color:var(--blanco)}
.prod .foot{display:flex;margin-top:auto;padding-top:8px}
.prod .foot .btn{flex:1;min-height:48px;font-weight:600}
.prod a.stretch::after{content:"";position:absolute;inset:0;border-radius:var(--radio)}
.prod[hidden]{display:none}
.prod-more{margin-top:24px;display:grid;grid-template-columns:1fr;gap:24px}
.prod-more>div{border-radius:var(--radio);padding:26px 30px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;transition:transform 420ms var(--glide),box-shadow 420ms var(--glide)}
.prod-more>div:hover{transform:scale(1.03);box-shadow:0 22px 48px -22px rgba(0,0,0,.4)}
.prod-more .cf-ico{width:clamp(54px,5vw,68px);height:auto}
.prod-more h3{font-size:clamp(20px,2vw,24px);text-transform:uppercase;font-weight:700;letter-spacing:0}
.prod-more p{font-size:20px;margin-top:7px;font-weight:600}

/* --- Descarga de catálogo --- */
.cat-band{background:var(--amarillo);color:var(--blanco);border-radius:var(--radio);padding:26px 30px;
  display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;text-decoration:none;
  transition:transform 420ms var(--glide),box-shadow 420ms var(--glide),background 420ms var(--glide)}
.cat-band:hover{background:var(--amarillo-oscuro);transform:scale(1.03);box-shadow:0 22px 48px -22px rgba(0,0,0,.4)}
.cat-ico{width:clamp(54px,5vw,68px);aspect-ratio:1;border-radius:50%;border:3px solid var(--blanco);display:grid;place-items:center;color:var(--blanco)}
.cat-ico svg{width:52%;height:52%}
.cat-txt b{display:block;font-size:clamp(20px,2vw,24px);text-transform:uppercase;font-weight:900;line-height:1.15}
.cat-txt small{display:block;font-size:20px;margin-top:7px;font-weight:600;color:var(--blanco)}
.cat-btn{border:2px solid var(--blanco);border-radius:999px;padding:12px 26px;font-weight:700;font-size:17px;white-space:nowrap;
  transition:background 420ms var(--glide),color 420ms var(--glide)}
.cat-band:hover .cat-btn{background:var(--blanco);color:var(--amarillo-oscuro)}
@media(prefers-reduced-motion:reduce){.cat-band,.cat-band:hover{transition:none;transform:none}}
@media(max-width:720px){
  .cat-band{grid-template-columns:auto 1fr;padding:20px 20px 22px;gap:16px}
  .cat-btn{grid-column:1/-1;text-align:center;padding:12px 18px}
  .cat-txt small{font-size:17px}
}
@media(max-width:760px){
  .prod-more>div{grid-template-columns:auto 1fr;gap:16px;row-gap:18px}
  .prod-more>div .btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:900px){
  /* móvil: dos productos por fila y el tercero abajo, tarjetas compactas */
  .prod-more{grid-template-columns:1fr}
  .prod-grid{grid-template-columns:1fr 1fr;gap:12px}
  .prod-grid>.prod:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - 6px)}
  .prod{padding:14px 14px 16px;gap:10px}
  .prod .pack{height:150px}
  .prod .pack img{max-height:140px}
  .prod .pack .starburst{width:64px;right:-4px;top:-2px}
  .prod h3{font-size:17px}
  .prod .sub{font-size:14px;margin-top:2px;line-height:1.4}
  .prod ul{font-size:14px;gap:4px;line-height:1.4}
  .prod ul li::before{font-size:7px;margin-right:7px}
  .prod .formats{gap:4px}
  .tag{font-size:11.5px;padding:4px 8px;border-radius:6px}
  .prod .foot{padding-top:4px}
  .prod .foot .btn{min-height:40px;font-size:14px;padding:0 10px}
}
@media(max-width:400px){
  .prod-grid{gap:10px}
  .prod{padding:12px 11px 14px}
  .prod .pack{height:130px}
  .prod .pack img{max-height:122px}
  .prod h3{font-size:16px}
  .prod .sub,.prod ul{font-size:13.5px}
  .prod .foot .btn{font-size:13px}
}

/* ============ 4. CALCULADORA DEMO (amarillo) ============ */
/* Títulos y subtítulos en Barlow Black, párrafos en SemiBold, todo en blanco */
.calc-demo .eyebrow{color:var(--blanco);opacity:1;font-weight:900}
.calc-demo>.wrap>div>h2{font-weight:900;color:var(--blanco)}
.calc-demo>.wrap>div>.lead{font-weight:600;color:var(--blanco)}
.calc-demo .steps b{font-weight:700;color:var(--blanco)}
.calc-demo .steps span{font-weight:600;color:var(--blanco)}
.calc-demo .steps .step-n{color:var(--amarillo-oscuro)}
/* la tarjeta blanca conserva su texto gris */
.calc-demo .demo-card h3{color:var(--gris)}
.calc-demo .demo-card p{color:var(--gris-texto)}
.calc-demo{position:relative;overflow:hidden}
.calc-demo .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;position:relative}
.calc-demo .scribble{width:320px;right:-80px;top:-60px;--rot:20deg;opacity:.5}
.demo-card{background:var(--blanco);color:var(--gris-texto);border-radius:var(--radio);padding:30px;box-shadow:0 30px 60px -30px rgba(80,50,0,.45);transition:transform 420ms var(--glide),box-shadow 420ms var(--glide)}
.demo-card:hover{transform:scale(1.03);box-shadow:0 40px 76px -30px rgba(80,50,0,.5)}
.demo-card h3{font-size:20px;font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:10px;color:var(--gris)}
.demo-card .row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.demo-card .row .full{grid-column:1/-1}
.field{display:grid;gap:6px}
.field label{font-size:20px;font-weight:700;color:var(--gris)}
.field input,.field select{min-height:50px;border:2px solid var(--gris-linea);border-radius:12px;padding:0 14px;background:var(--blanco);color:var(--gris-texto);width:100%}
.field input:focus,.field select:focus{border-color:var(--amarillo);outline:none;box-shadow:0 0 0 3px rgba(255,180,32,.25)}
.field .hint{font-size:19px;color:var(--gris)}
.demo-card .btn{width:100%;margin-top:18px;background:var(--calc)} .demo-card .btn:hover{background:var(--calc-oscuro)}
/* resultado rápido de la demo */
.demo-out{margin-top:18px;background:var(--amarillo-suave);border-radius:14px;padding:18px 18px 16px;font-size:20px;color:var(--gris-texto)}
.demo-out .ro-k{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--amarillo-oscuro);margin-bottom:8px}
.demo-out .ro-cifra{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.demo-out .ro-cifra b{font-size:clamp(30px,3.4vw,40px);font-weight:900;line-height:1;color:var(--gris);letter-spacing:-.02em}
.demo-out .ro-cifra span{font-size:20px;font-weight:700;color:var(--gris)}
.demo-out .ro-det{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid rgba(224,156,16,.32);display:grid;gap:7px}
.demo-out .ro-det li{font-size:20px;font-weight:600;line-height:1.55;color:var(--gris-texto);
  position:relative;padding-left:15px;text-align:left;text-wrap:pretty}
.demo-out .ro-det li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--amarillo)}
.demo-out .ro-det li b{white-space:nowrap}
.demo-out .ro-aviso{margin-top:12px;font-size:19px;font-weight:600;color:var(--naranja)}
/* enlace a la calculadora completa */
.demo-mas{margin-top:16px;font-size:20px;font-weight:600;line-height:1.6;color:var(--gris-texto)}
.enlace-calc{border:0;background:none;padding:0;font:inherit;font-weight:900;color:var(--calc);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;transition:color var(--dur)}
.enlace-calc:hover{color:var(--calc-oscuro)}
.enlace-calc span{display:inline-block;transition:transform var(--dur) var(--ease)}
.enlace-calc:hover span{transform:translateX(4px)}
.steps{display:grid;gap:14px;margin-top:28px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.steps ol{list-style:none;padding:0;margin:0}
.step-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--blanco);color:var(--amarillo-oscuro);font-weight:900;font-size:20px;display:grid;place-items:center}
.steps span{font-size:20px}
@media(max-width:900px){.calc-demo .wrap{grid-template-columns:minmax(0,1fr)}.calc-demo .wrap>*{min-width:0}}
@media(max-width:640px){
  /* móvil: la sección de la calculadora ocupa menos alto */
  .calc-demo>.wrap>div>.eyebrow{font-size:13px;letter-spacing:.1em;margin-bottom:8px}
  .calc-demo>.wrap>div>h2{font-size:clamp(24px,6.4vw,30px);line-height:1.04}
  .calc-demo>.wrap>div>.lead{font-size:15.5px;line-height:1.5;margin-top:10px}
  .calc-demo .steps{gap:9px;margin-top:16px}
  .calc-demo .steps li{gap:10px}
  .calc-demo .steps span{font-size:14.5px;line-height:1.45}
  .calc-demo .steps b{font-size:15.5px;line-height:1.3}
  .calc-demo .step-n{width:26px;height:26px;font-size:14px}
  .calc-demo .wrap{gap:22px}
}
@media(max-width:560px){.demo-card{padding:22px 18px}.demo-card .row{grid-template-columns:1fr}}
@media(max-width:400px){.wrap{width:calc(100% - 32px)}}

/* ============ 5. OPERACIONES REALES ============ */
#operaciones .eyebrow{color:var(--amarillo)}
#operaciones h2{font-weight:900}
.ops-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.ops-grid>div{padding:0 0 0 0;border-top:3px solid var(--amarillo);padding-top:22px}
.ops-grid h3{font-size:20px;margin:14px 0 10px;text-transform:uppercase;font-weight:700;color:var(--amarillo)}
.ops-grid p{font-size:20px;font-weight:600;color:var(--gris)}
.ops-grid .ico{width:44px;height:44px;border-radius:12px;background:var(--amarillo);display:grid;place-items:center;color:var(--blanco)}
.ops-grid .ico svg{width:24px;height:24px}
@media(max-width:1024px){.ops-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ops-grid{grid-template-columns:1fr}}

/* ============ 6. SECTORES ============ */
#soluciones{background:var(--blanco)}
#soluciones .eyebrow{color:var(--amarillo)}
#soluciones h2{font-weight:900}
.sectors{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.sector{display:grid;grid-template-rows:auto 1fr;border-radius:var(--radio);position:relative;overflow:hidden;background:#FBF5EB;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.sector:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(120,80,20,.05),0 24px 44px -22px rgba(120,80,20,.4)}
.sector .art{aspect-ratio:4/3;overflow:hidden;background:#EFE7DA}
.sector .art img{width:100%;height:100%;object-fit:cover;transition:transform 520ms var(--ease)}
.sector:hover .art img{transform:scale(1.05)}
.sector .body{padding:20px 20px 24px;display:grid;gap:8px;align-content:start}
.sector h3{font-size:20px;font-weight:700;text-transform:uppercase;color:var(--amarillo);line-height:1.1}
.sector .pain{font-size:20px;font-weight:600;color:var(--gris);line-height:1.45}
.sector a.stretch::after{content:"";position:absolute;inset:0}
@media(max-width:1024px){.sectors{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .sectors{grid-template-columns:1fr 1fr;gap:12px}
  .sector .body{padding:12px 12px 14px;gap:5px}
  .sector h3{font-size:14.5px;line-height:1.12}
  .sector .pain{font-size:13.5px;line-height:1.38}
  .sector .art{aspect-ratio:4/3}
}
@media(max-width:460px){.sectors{gap:10px}.sector .body{padding:10px 10px 12px}.sector h3{font-size:13.5px}.sector .pain{font-size:12.5px}}

/* ============ 7. CALIDAD: bloques alternados ============ */
#nosotros .eyebrow{color:var(--amarillo)}
#nosotros h2{font-weight:900}
.alt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.alt+.alt{margin-top:clamp(56px,7vw,100px)}
.alt.rev>.media{order:2}
.alt .media{border-radius:var(--radio);overflow:hidden;background:var(--amarillo-suave);padding:clamp(20px,3vw,40px);display:grid;place-items:center}
.alt .media img{width:100%;height:auto}
.q-list{display:grid;border-top:2px solid var(--gris-linea);margin-top:26px}
.q-list>div{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-bottom:2px solid var(--gris-linea)}
.q-list h3{font-size:20px;margin-bottom:5px;text-transform:uppercase;font-weight:700;color:var(--amarillo)}
.q-list p{font-size:20px;font-weight:600;color:var(--gris)}
.q-list .n{font-weight:900;color:var(--amarillo);font-size:22px;font-style:normal}
@media(max-width:900px){.alt{grid-template-columns:1fr}.alt.rev>.media{order:2}}

/* Sellos y logos: zoom-out al pasar el mouse, sin enlace */
/* Sellos: collage a todo lo ancho, tarjetas iguales, segunda fila centrada */
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.badges>div{flex:0 0 calc((100% - 54px)/4);min-width:0;background:var(--blanco);border:1px solid #EDEAE5;border-radius:16px;padding:26px;display:grid;place-items:center;aspect-ratio:1.18;cursor:default;overflow:hidden;transition:border-color var(--dur),box-shadow var(--dur)}
.badges>div:hover{border-color:#DFDBD4;box-shadow:0 14px 32px -18px rgba(120,80,20,.55)}
/* Expand: el sello crece al pasar el mouse */
.badges img{width:100%;height:100%;object-fit:contain;transition:transform 420ms var(--glide)}
.badges>div:hover img{transform:scale(1.1)}
@media(max-width:1024px){.badges>div{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:700px){.badges>div{flex-basis:calc((100% - 18px)/2);padding:20px}}
/* Los tres puntos de calidad, en tres columnas bajo los sellos */
.q-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);border-top:2px solid var(--gris-linea);border-bottom:0;margin-top:0;padding-top:clamp(28px,3vw,40px)}
.q-list>div{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:0;border-bottom:0;align-items:start}
@media(max-width:860px){.q-list{grid-template-columns:1fr;gap:22px}}
/* Botones por producto en la sección Calcula */
.calc-prods{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.calc-prods .btn{gap:8px} .calc-prods img{height:26px;width:auto}
/* ============ 7b. PRODUCCIÓN (fondo amarillo) ============ */
/* Entrada en fade al hacer scroll */
#produccion{transition:opacity 780ms ease}
#produccion.pre{opacity:0}
#produccion .eyebrow{color:var(--blanco);opacity:1;font-weight:900}
#produccion h2{font-weight:900;color:var(--blanco)}
#produccion .lead{font-weight:600;color:var(--blanco)}
/* el diagrama conserva su caja blanca */
#produccion .media.caja-blanca{background:var(--blanco);border:0;padding:clamp(20px,3vw,38px);border-radius:var(--radio);
  transition:transform 420ms var(--glide),box-shadow 420ms var(--glide);will-change:transform}
#produccion .media.caja-blanca:hover{transform:scale(1.06);box-shadow:0 24px 60px rgba(0,0,0,.18)}
@media (prefers-reduced-motion:reduce){#produccion .media.caja-blanca{transition:none}#produccion .media.caja-blanca:hover{transform:none}}
/* botones */
#produccion .btn-primary{background:var(--blanco);color:var(--gris);font-weight:600}
#produccion .btn-primary:hover{background:var(--amarillo-suave);color:var(--gris)}
#produccion .btn-outline{border-color:var(--blanco);color:var(--blanco);font-weight:600;background:transparent}
#produccion .btn-outline:hover{background:var(--blanco);color:var(--amarillo-oscuro)}


/* ============ 8. CAGE FREE (única franja verde) ============ */
.cagefree{position:relative;overflow:hidden}
.cagefree .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.cf-label{display:inline-flex;align-items:center;gap:8px;background:var(--blanco);color:var(--verde-oscuro);font-size:19px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:6px;margin-bottom:18px}
.cf-label svg{width:14px;height:14px}
.cf-ev{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 0}
.cf-btn{justify-self:start;margin-top:6px}
.cf-ev>div{background:rgba(255,255,255,.14);border-radius:12px;padding:18px 20px;border-left:4px solid var(--blanco);display:grid;gap:6px;align-content:start}
.cf-ev b{display:block;font-size:20px;font-weight:700;color:var(--blanco)}
.cf-ev span{font-size:20px;color:rgba(255,255,255,.9)}
.cf-photo{position:relative;border-radius:var(--radio);overflow:hidden;aspect-ratio:8/5;background:#6D862C}
.cf-photo .cf-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:12% 50%}
.cf-photo .cf-pack{position:absolute;right:-5%;bottom:-14%;height:86%;width:auto;filter:drop-shadow(0 22px 34px rgba(0,0,0,.35));transform:rotate(-6deg);transform-origin:bottom right;transition:transform 460ms var(--glide),filter 460ms var(--glide)}
/* Expand: la botella crece y se acomoda hacia el centro al pasar el mouse */
/* la botella se abre al hacer clic, no al pasar el mouse */
.cf-photo .cf-pack{cursor:zoom-in;will-change:transform;backface-visibility:hidden;
  transition:transform 620ms var(--glide),filter 620ms var(--glide)}
.cf-photo .cf-pack:focus-visible{outline:3px solid var(--blanco);outline-offset:4px}
.cf-photo .cf-pack.abierta{cursor:zoom-out;transform:translate(-89.8%,-21.5%) rotate(-3deg) scale(1.1);
  filter:drop-shadow(0 38px 52px rgba(0,0,0,.45))}
/* pista de que se puede tocar */
.cf-photo .cf-pista{position:absolute;left:14px;bottom:14px;z-index:3;pointer-events:none;
  background:rgba(0,0,0,.42);color:var(--blanco);font-size:18px;font-weight:700;
  padding:7px 13px;border-radius:999px;backdrop-filter:blur(3px);
  transition:opacity 320ms var(--ease),transform 320ms var(--ease)}
.cf-photo.abierto .cf-pista{opacity:0;transform:translateY(6px)}
@media(prefers-reduced-motion:reduce){.cf-photo .cf-pack{transition:none}}
/* tipografía */
#cagefree .cf-label{font-weight:900}
#cagefree h2{font-weight:900;font-style:italic}
#cagefree .lead{font-weight:600}
#cagefree .cf-ev b{font-weight:700}
#cagefree .cf-ev span{font-weight:600}
.cagefree .brote{width:230px;left:-40px;bottom:-46px;--rot:-12deg;opacity:.32;stroke-width:12}
@media(max-width:900px){.cagefree .wrap{grid-template-columns:minmax(0,1fr)}.cagefree .wrap>*{min-width:0}}
@media(max-width:560px){.cf-label{font-size:15px;letter-spacing:.05em;padding:8px 13px;white-space:normal;line-height:1.3}}

/* ============ 9. CENTRO PARA CHEFS ============ */
#chefsblock .eyebrow{color:var(--amarillo)}
#chefsblock h2{font-weight:900}
.post .kind{color:var(--amarillo);font-weight:900}
.post h3{font-weight:700}
.post p{font-weight:600;color:var(--gris)}
.post .meta{font-weight:600}

/* ============ BLOG ============ */
#vista-blog{padding:clamp(56px,7vw,96px) 0 clamp(64px,8vw,110px)}
.blog-head{display:grid;gap:16px;margin-bottom:clamp(36px,4vw,56px);max-width:64ch}
.blog-head .eyebrow{color:var(--amarillo)}
.blog-head h1{font-size:clamp(34px,4.2vw,58px);font-style:normal;color:var(--gris)}
.blog-head p{font-weight:600;color:var(--gris);font-size:clamp(16px,1.3vw,19px)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}
/* artículo */
/* Botón de regreso, esquina superior izquierda de cada vista del blog */
.btn-back{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:20px;color:var(--gris);
  border:2px solid var(--gris-linea);border-radius:999px;padding:10px 20px 10px 16px;margin-bottom:26px;
  transition:color var(--dur),border-color var(--dur),transform var(--dur) var(--ease),background var(--dur)}
.btn-back:hover{color:var(--amarillo);border-color:var(--amarillo);background:var(--amarillo-suave);transform:translateX(-3px)}
.btn-back .flecha{font-size:20px;line-height:1;transition:transform var(--dur) var(--ease)}
.btn-back:hover .flecha{transform:translateX(-3px)}
/* botón al siguiente artículo, abajo a la derecha */
.art-sig{display:flex;justify-content:flex-end;margin-top:clamp(32px,4vw,52px)}
.btn-sig{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;max-width:min(100%,440px);
  border:2px solid var(--amarillo);border-radius:18px;padding:16px 22px;text-align:right;
  transition:background var(--dur),transform var(--dur) var(--ease),box-shadow var(--dur)}
.btn-sig .rot{grid-column:1;font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amarillo)}
.btn-sig .tit{grid-column:1;font-weight:900;font-size:20px;line-height:1.25;color:var(--gris)}
.btn-sig .flecha{grid-column:2;grid-row:1/3;font-size:22px;line-height:1;color:var(--amarillo);transition:transform var(--dur) var(--ease)}
.btn-sig:hover{background:var(--amarillo-suave);transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(0,0,0,.4)}
.btn-sig:hover .flecha{transform:translateX(5px)}
@media(max-width:520px){.art-sig{justify-content:stretch}.btn-sig{max-width:none;width:100%}}
.art-cuerpo{max-width:68ch}
.art-cuerpo h2{font-size:clamp(22px,2.2vw,30px);font-weight:900;text-transform:none;color:var(--gris);margin:38px 0 12px}
.art-cuerpo h3{font-size:20px;font-weight:700;color:var(--amarillo);text-transform:uppercase;margin:26px 0 8px}
.art-cuerpo p{font-weight:600;color:var(--gris);font-size:20px;line-height:1.6;margin-bottom:16px}
.art-cuerpo ul{margin:0 0 18px;padding-left:22px;display:grid;gap:8px}
.art-cuerpo li{font-weight:600;color:var(--gris);font-size:20px;line-height:1.55}
.art-cuerpo li::marker{color:var(--amarillo)}
/* las tablas de los artículos se desplazan dentro de su caja en pantallas chicas */
.tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 22px;
  background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)),linear-gradient(90deg,rgba(255,255,255,0),#fff 70%) 100% 0,
    radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.13),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.13),transparent) 100% 0;
  background-repeat:no-repeat;background-size:34px 100%,34px 100%,13px 100%,13px 100%;background-attachment:local,local,scroll,scroll}
.tabla-scroll .art-tabla{margin:0;min-width:400px}
@media(max-width:560px){.tabla-scroll .art-tabla{min-width:340px;font-size:19px}
  .tabla-scroll .art-tabla th,.tabla-scroll .art-tabla td{padding:8px 8px}}
.art-tabla{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:20px}
.art-tabla th{text-align:left;font-weight:900;color:var(--amarillo);text-transform:uppercase;font-size:14px;letter-spacing:.08em;padding:10px 12px;border-bottom:2px solid var(--gris-linea)}
.art-tabla td{padding:11px 12px;border-bottom:1px solid var(--gris-linea);font-weight:600;color:var(--gris)}
.art-tabla tr:hover td{background:var(--amarillo-suave)}
.art-nota{background:var(--amarillo-suave);border-left:4px solid var(--amarillo);border-radius:0 12px 12px 0;padding:16px 20px;font-size:20px;font-weight:600;color:var(--gris);margin:26px 0}
.art-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px;padding-top:28px;border-top:2px solid var(--gris-linea)}
.art-meta{font-size:20px;font-weight:600;color:var(--gris);opacity:.75}
.art-pdf{justify-self:start;gap:8px;margin-top:4px}
.art-pdf svg{width:18px;height:18px}

.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post{border-radius:var(--radio);overflow:hidden;position:relative;display:grid;grid-template-rows:auto 1fr;background:var(--blanco);border:2px solid var(--gris-linea);transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.post:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.post .media{aspect-ratio:4/5;overflow:hidden;background:var(--amarillo-suave)}
.post .media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease)}
.post:hover .media img{transform:scale(1.03)}
.post .body{padding:22px;display:grid;gap:10px;align-content:start}
.post .kind{font-size:15px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--amarillo)}
.post h3{font-size:22px;text-transform:uppercase}
.post p{font-size:20px}
.post .meta{font-size:15px;color:var(--gris);margin-top:auto;padding-top:10px}
.post a.stretch::after{content:"";position:absolute;inset:0}
@media(max-width:900px){.posts{grid-template-columns:1fr}}

/* ============ 10. COMUNIDAD ============ */
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.ig{aspect-ratio:4/5;border-radius:12px;position:relative;overflow:hidden;background:var(--amarillo-suave);display:grid;place-items:center}
.ig img{width:100%;height:100%;object-fit:cover}
.ig img.pack{width:auto;height:80%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(120,80,20,.2))}
.ig .ov{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:14px;opacity:1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.6));transition:opacity var(--dur);color:#fff;font-size:19px}
.ig:hover img{transform:scale(1.04)} .ig img{transition:transform 400ms var(--ease)}
.ig .ov .k{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px}
.ig .ov a{font-weight:700;text-decoration:underline}
@media(max-width:1180px){.ig-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ig-grid{grid-template-columns:repeat(2,1fr)}}
/* tipografía Barlow de la sección Comunidad */
.community .eyebrow{font-weight:900;color:var(--amarillo)}
.community h2{font-weight:900}
.community .follow{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;align-items:center}
.community .handle{font-weight:700;color:var(--amarillo)}
.community .follow .btn{font-weight:600;color:var(--amarillo);border-color:var(--amarillo)}
.community .follow .btn:hover{background:var(--amarillo);color:var(--blanco);border-color:var(--amarillo)}
.community .follow .nota{font-weight:600}

/* ============ 11. CONVERSIÓN (amarillo) ============ */
.convert{position:relative;overflow:hidden;padding:clamp(48px,5.6vw,84px) 0}
.convert .wrap{display:grid;grid-template-columns:auto auto;justify-content:start;gap:clamp(28px,4vw,72px);align-items:center;position:relative}
.convert h2{font-style:italic;font-weight:900;font-size:clamp(30px,3.9vw,60px);line-height:1}
.convert p{margin-top:16px;max-width:52ch;font-size:clamp(16px,1.45vw,22px);font-weight:600;line-height:1.55}
.convert .acts .btn{font-weight:600}
.convert .acts{display:flex;gap:12px;flex-wrap:wrap}
.convert .starburst{width:220px;right:-40px;top:-60px;opacity:.9}
.convert .scribble{width:240px;left:-40px;bottom:-70px;--rot:-8deg;opacity:.6}
@media(max-width:900px){.convert .wrap{grid-template-columns:1fr}}

/* ============ 12. FOOTER (gris de marca, texto blanco) ============ */
/* botón "Ver más" del Centro para chefs */
.blog-cta{margin-top:clamp(48px,6vw,80px)}
.ver-mas{display:flex;justify-content:center;margin-top:clamp(28px,3vw,40px)}
.btn-vermas{border:2px solid var(--amarillo);color:var(--amarillo);background:transparent;font-weight:600;
  border-radius:999px;padding:13px 40px;font-size:20px;display:inline-flex;align-items:center;justify-content:center;
  transition:background var(--dur),color var(--dur),transform var(--dur) var(--ease)}
.btn-vermas:hover{background:var(--amarillo);color:var(--blanco);transform:translateY(-2px)}

/* misma separación que entre las tarjetas de producto y la caja Cage Free (24px) */
#productos{padding-bottom:24px}
/* menos aire entre las tarjetas de sector y la sección de calidad */
#soluciones{padding-bottom:28px}
#nosotros{padding-top:28px}

/* ============ MODAL: SOLICITAR FICHA TÉCNICA ============ */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.modal-fondo{position:absolute;inset:0;background:rgba(40,32,20,.55);backdrop-filter:blur(3px);animation:mfFondo 260ms ease both}
@keyframes mfFondo{from{opacity:0}to{opacity:1}}
.modal-caja{position:relative;width:min(560px,100%);max-height:88vh;overflow-y:auto;background:var(--blanco);
  border-radius:22px;padding:clamp(24px,3.2vw,36px);box-shadow:0 40px 80px -30px rgba(0,0,0,.5);
  animation:mfCaja 320ms var(--glide) both}
@keyframes mfCaja{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.modal-x{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;background:transparent;
  font-size:26px;line-height:1;color:var(--gris);border-radius:50%;cursor:pointer;transition:background var(--dur),color var(--dur)}
.modal-x:hover{background:var(--amarillo-suave);color:var(--naranja)}
.modal-caja h2{font-size:clamp(22px,2.4vw,28px);font-weight:900;color:var(--gris);text-transform:none;letter-spacing:-.01em}
.modal-sub{margin-top:8px;font-size:20px;font-weight:600;color:var(--gris-texto);line-height:1.55}
.mf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.mf-grid .full{grid-column:1/-1}
.mf-grid .field{display:grid;gap:6px}
.mf-grid label{font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-texto)}
.mf-grid input,.mf-grid select,.mf-grid textarea{width:100%;font:600 15.5px var(--font);color:var(--gris);background:var(--blanco);
  border:1.5px solid var(--gris-linea);border-radius:11px;padding:11px 13px;transition:border-color var(--dur)}
.mf-grid textarea{resize:vertical;min-height:76px}
.mf-grid input:focus,.mf-grid select:focus,.mf-grid textarea:focus{outline:0;border-color:var(--calc)}
.mf-grid .mal input,.mf-grid .mal select{border-color:#D64545}
.mf-aviso{min-height:20px;margin-top:12px;font-size:19px;font-weight:700;color:#D64545}
.mf-aviso.ok{color:var(--verde)}
.mf-pie{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}
.mf-pie .btn{background:var(--calc)}
.mf-pie .btn:hover{background:var(--calc-oscuro)}
.mf-nota{font-size:14px;font-weight:600;color:#9A9896}
@media(max-width:520px){.mf-grid{grid-template-columns:1fr}}
body.modal-abierto{overflow:hidden}

/* ============ AVISO DE COOKIES ============ */
.cookies{position:fixed;left:0;right:0;bottom:0;z-index:130;padding:0 14px 14px;animation:ckSube 520ms var(--glide) both}
@keyframes ckSube{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.cookies-caja{max-width:1180px;margin:0 auto;background:var(--blanco);border:2px solid var(--amarillo);border-radius:20px;
  box-shadow:0 26px 60px -22px rgba(32,32,32,.45);padding:20px 24px;display:grid;grid-template-columns:1fr auto;gap:18px 26px;align-items:center}
.cookies-txt b{display:block;font-weight:900;font-size:19px;color:var(--gris);margin-bottom:5px}
.cookies-txt p{font-weight:600;font-size:16px;line-height:1.55;color:var(--gris-texto);max-width:78ch}
.cookies-txt .ck-link{color:var(--naranja);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cookies-btns{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.cookies-btns .btn{min-height:44px;font-size:15px;font-weight:700;padding:0 18px}
.ck-config,.ck-solo{border:2px solid var(--gris-linea);color:var(--gris);background:transparent}
.ck-config:hover,.ck-solo:hover{border-color:var(--amarillo);color:var(--amarillo-oscuro)}
@media(max-width:860px){
  .cookies-caja{grid-template-columns:1fr;padding:18px}
  .cookies-btns{justify-content:stretch}
  .cookies-btns .btn{flex:1 1 auto}
}
@media(max-width:560px){
  .cookies{padding:0 10px 10px}
  .cookies-caja{padding:15px 16px 16px;gap:13px;border-radius:18px}
  .cookies-txt b{font-size:17px;margin-bottom:3px}
  .cookies-txt p{font-size:14.5px;line-height:1.45}
  .cookies-btns{gap:8px}
  .cookies-btns .btn{min-height:42px;font-size:14.5px;padding:0 12px;flex:1 1 calc(50% - 4px)}
  .cookies-btns .btn-primary{flex:1 1 100%;order:-1}
}
/* modal de preferencias */
.ck-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:20px}
.ck-fondo{position:absolute;inset:0;background:rgba(40,32,20,.55);backdrop-filter:blur(3px)}
.ck-caja{position:relative;width:min(520px,100%);max-height:88vh;overflow-y:auto;background:var(--blanco);border-radius:22px;
  padding:clamp(24px,3.2vw,34px);box-shadow:0 40px 80px -30px rgba(0,0,0,.5);animation:mfCaja 320ms var(--glide) both}
.ck-caja h2{font-size:clamp(21px,2.2vw,26px);font-weight:900;color:var(--gris);text-transform:none}
.ck-op{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:15px 0;border-bottom:1px solid var(--gris-linea);cursor:pointer}
.ck-op:last-of-type{border-bottom:0}
.ck-op input{width:20px;height:20px;accent-color:var(--amarillo);margin-top:3px}
.ck-op b{display:block;font-weight:700;font-size:17px;color:var(--gris)}
.ck-op small{display:block;font-weight:600;font-size:15px;line-height:1.5;color:var(--gris-texto);margin-top:3px}
/* enlace de cookies en el pie */
.pie-ck{border:0;background:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;opacity:.9}
.pie-ck:hover{opacity:1}
/* mientras se ve el aviso de cookies, los botones flotantes se apartan */
body.ck-visible .mail-fab,body.ck-visible .wa-fab,body.ck-visible .ia-fab,body.ck-visible .calc-tab{opacity:0;pointer-events:none;transition:opacity 320ms var(--ease)}

/* ============ DIAGRAMA DE PRODUCCIÓN ANIMADO ============ */
.proceso{--pp-col:5}
.pp-flujo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--pp-col),minmax(0,1fr));gap:24px 22px}
.pp-flujo li{position:relative;min-width:0;display:grid;justify-items:center;gap:8px;padding:6px 0 0}
/* conector entre pasos */
.pp-flujo li::after{content:"";position:absolute;top:44%;right:-21px;width:22px;height:13px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16'%3E%3Cpath d='M2 8h23M19 2l6.5 6-6.5 6' fill='none' stroke='%23FF6D00' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  animation:ppFlecha 2.4s ease-in-out infinite;animation-delay:calc(var(--i) * .18s)}
.pp-flujo li:nth-child(5)::after,.pp-flujo li:last-child::after{display:none}
@keyframes ppFlecha{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(4px);opacity:1}}
.pp-n{font-size:11.5px;font-weight:900;letter-spacing:.1em;color:var(--amarillo-oscuro)}
.pp-ico{display:grid;place-items:center;width:100%;aspect-ratio:1;max-width:96px}
.pp-ico img{width:100%;height:100%;object-fit:contain;
  animation:ppFlota 4.6s ease-in-out infinite;animation-delay:calc(var(--i) * .32s);transform-origin:center bottom}
@keyframes ppFlota{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-1.2deg)}}
.pp-txt{font-size:12px;font-weight:700;line-height:1.28;color:var(--gris);text-align:center;max-width:100%;text-wrap:balance}
/* el paso activo se resalta mientras la animación recorre el proceso */
.pp-flujo li.pp-on .pp-ico img{animation:ppSalta 900ms var(--glide)}
.pp-flujo li.pp-on .pp-n{color:var(--naranja)}
@keyframes ppSalta{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-14px) scale(1.12)}100%{transform:translateY(0) scale(1)}}
@media(max-width:900px){.proceso{--pp-col:3}.pp-flujo li:nth-child(5)::after{display:block}.pp-flujo li:nth-child(3n)::after{display:none}}
@media(max-width:560px){.proceso{--pp-col:3}
  .pp-flujo{gap:14px 14px}
  .pp-ico{max-width:60px}
  .pp-txt{font-size:10px;max-width:13ch}
  .pp-n{font-size:9.5px}
  .pp-flujo li::after{width:14px;height:9px;right:-14px}
  #produccion .media.caja-blanca{padding:18px 14px}
}
@media(prefers-reduced-motion:reduce){.pp-ico img,.pp-flujo li::after{animation:none}}

/* ============ NOSOTROS ============ */
#vista-nosotros{background:var(--blanco)}
.nos-head{position:relative;overflow:hidden;background:var(--amarillo-suave);padding:clamp(30px,4vw,46px) 0 clamp(48px,6vw,76px)}
.nos-head .scribble.a{width:280px;right:-50px;top:-40px;--rot:16deg;opacity:.85;color:var(--amarillo)}
.nos-head .eyebrow{color:var(--amarillo);font-weight:900;display:block;margin-bottom:14px}
.nos-head h1{font-weight:900;font-style:italic;color:var(--gris);max-width:16ch}
.nos-head .lead{font-weight:600;font-style:italic;color:var(--gris-texto);max-width:62ch;margin-top:20px;font-size:20px}
.nos-cta{margin-top:30px}

.nos-bloques{padding:clamp(44px,5.2vw,78px) 0}
.nos-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.nos-card{background:var(--amarillo-suave);border-radius:var(--radio);padding:clamp(26px,3.2vw,42px);display:flex;flex-direction:column;justify-content:center;
  transition:transform 420ms var(--glide),box-shadow 420ms var(--glide)}
.nos-card:hover{transform:scale(1.02);box-shadow:0 20px 44px -24px rgba(0,0,0,.35)}
.nos-card h2{font-weight:900;font-size:clamp(21px,2.2vw,27px);color:var(--amarillo);margin-bottom:14px;text-transform:uppercase}
.nos-card p{font-weight:600;color:var(--gris);line-height:1.7;font-size:20px}
.nos-card p+p{margin-top:12px}
.nos-foto{border-radius:var(--radio);overflow:hidden;aspect-ratio:4/3;background:var(--amarillo-suave)}
.nos-foto img{width:100%;height:100%;object-fit:cover;transition:transform 520ms var(--glide)}
.nos-foto:hover img{transform:scale(1.05)}

.nos-dist{padding:0 0 clamp(44px,5.2vw,78px)}
.nos-dist .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:start}
.nos-dist-panel{position:relative;overflow:hidden;border-radius:var(--radio);padding:clamp(30px,3.4vw,44px);min-height:320px;
  display:flex;flex-direction:column;justify-content:flex-end;color:var(--blanco)}
.nos-dist-panel .starburst{width:200px;right:-40px;top:-46px;opacity:.9}
.nos-dist-panel h2{font-weight:900;font-size:clamp(28px,3.4vw,44px);line-height:1.02;color:var(--blanco);text-transform:uppercase}
.nos-dist-panel p{font-weight:600;color:var(--blanco);margin-top:14px;max-width:30ch}
/* columna izquierda: panel + mini calculadora */
.nos-col{display:grid;gap:0;align-content:start}

/* mini calculadora en Sobre nosotros */
.nos-calc{margin-top:22px;background:var(--blanco);border:2px solid var(--gris-linea);border-radius:var(--radio);padding:clamp(20px,2.4vw,28px)}
.nos-calc h3{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--gris);margin-bottom:16px;text-transform:none}
.nos-campos{display:grid;grid-template-columns:1fr;gap:12px}
.nos-calc .field{display:grid;gap:6px}
.nos-calc label{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-texto)}
.nos-calc select,.nos-calc input{width:100%;font:600 15.5px var(--font);color:var(--gris);background:var(--blanco);
  border:1.5px solid var(--gris-linea);border-radius:11px;padding:11px 13px;transition:border-color var(--dur)}
.nos-calc select:focus,.nos-calc input:focus{outline:0;border-color:var(--calc)}
.nos-calc .demo-out{margin-top:16px}
.nos-calc .demo-mas{margin-top:14px}
@media(min-width:520px){.nos-campos{grid-template-columns:1.4fr .8fr}}

.nos-lista{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.nos-lista li{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;
  background:var(--amarillo-suave);border-radius:var(--radio);padding:clamp(20px,2.4vw,30px);
  transition:transform 420ms var(--glide),box-shadow 420ms var(--glide)}
.nos-lista li:hover{transform:translateX(4px);box-shadow:0 18px 40px -26px rgba(0,0,0,.4)}
.nos-lista .n{font-weight:900;font-size:clamp(52px,6vw,86px);line-height:.82;color:var(--amarillo)}
.nos-lista h3{font-weight:700;font-size:20px;color:var(--gris);text-transform:uppercase;margin-bottom:12px}
.nos-lista .cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nos-lista .cols p{font-weight:600;font-size:20px;line-height:1.6;color:var(--gris-texto)}

.nos-premio{position:relative;overflow:hidden;padding:clamp(44px,5.4vw,78px) 0}
.nos-premio .scribble{width:240px;left:-46px;bottom:-70px;--rot:-8deg;opacity:.55}
.nos-premio .wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,54px);align-items:center;position:relative}
.nos-premio .eyebrow{color:var(--blanco);font-weight:900;display:block;margin-bottom:10px}
.nos-premio h2{font-weight:900;color:var(--blanco);max-width:22ch}
.nos-premio .lead{font-weight:600;color:var(--blanco);margin-top:16px;max-width:62ch;font-size:20px}
.premio-sello{position:relative;width:clamp(120px,13vw,178px);aspect-ratio:1;display:grid;place-items:center;color:var(--blanco);
  transform-origin:center;transition:transform 620ms var(--glide);cursor:default}
.premio-sello:hover{transform:scale(1.8);z-index:3}
@media(prefers-reduced-motion:reduce){.premio-sello{transition:none}.premio-sello:hover{transform:none}}
.premio-sello svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--blanco)}
.premio-sello span{position:relative;font-weight:900;font-size:clamp(20px,2.4vw,30px);color:var(--amarillo)}

.nos-valores{padding:clamp(44px,5.2vw,78px) 0}
.nos-valores .sec-head h2{max-width:22ch;margin:0 auto;text-align:center;font-weight:900}
.nos-valores .sec-head .eyebrow{color:var(--amarillo);font-weight:900}
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.6vw,24px)}
.val-grid>div{position:relative;background:var(--blanco);border:2px solid rgba(255,180,32,.5);border-radius:var(--radio);
  padding:clamp(26px,2.6vw,36px) clamp(22px,2.2vw,30px) clamp(26px,2.6vw,34px);overflow:hidden;
  box-shadow:0 10px 26px rgba(109,86,20,.07);
  transition:transform 420ms var(--glide),box-shadow 420ms var(--glide),border-color 420ms var(--glide),background 420ms var(--glide)}
.val-grid>div::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--amarillo)}
.val-grid>div:hover{transform:translateY(-8px);border-color:var(--amarillo);background:var(--amarillo-suave);box-shadow:0 22px 44px rgba(109,86,20,.16)}
@media(prefers-reduced-motion:reduce){.val-grid>div,.val-grid>div:hover{transition:none;transform:none}}
.val-grid h3{font-weight:900;font-size:clamp(24px,2.3vw,30px);line-height:1.1;color:var(--amarillo);text-transform:uppercase;letter-spacing:-.01em;margin:6px 0 14px;
  display:flex;align-items:center;gap:12px}
.val-grid h3::after{content:"";flex:1 1 auto;height:3px;border-radius:3px;background:rgba(255,180,32,.4)}
.val-grid p{font-weight:600;font-size:20px;line-height:1.6;color:var(--gris)}

@media(max-width:900px){
  .nos-grid{grid-template-columns:1fr}
  /* en móvil la mini calculadora va después de los tres puntos */
  .nos-dist .wrap{display:flex;flex-direction:column;gap:22px}
  .nos-col{display:contents}
  .nos-dist .wrap>*,.nos-col>*{min-width:0;max-width:100%}
  .nos-lista li{min-width:0}
  .nos-lista .txt{min-width:0}

  .nos-dist-panel{order:1}
  .nos-lista{order:2}
  .nos-calc{order:3;margin-top:0}
  .nos-dist-panel{min-height:0}
  .nos-premio .wrap{grid-template-columns:1fr;justify-items:start}
  .nos-lista .cols{grid-template-columns:1fr}
  .val-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.val-grid{grid-template-columns:1fr}}

/* ============ AVISO DE PRIVACIDAD ============ */
#vista-aviso{background:var(--blanco);padding:clamp(28px,4vw,48px) 0 clamp(64px,8vw,100px)}
.aviso{max-width:860px;margin:0 auto;color:var(--gris)}
.aviso-titulo{border:0;border-radius:26px;background:var(--amarillo);
  padding:clamp(26px,3.8vw,44px) clamp(24px,4vw,46px);margin-bottom:clamp(30px,4vw,46px)}
.aviso-titulo h1{margin:0;font-weight:900;color:var(--blanco);font-size:clamp(30px,4.6vw,52px);
  line-height:1.06;letter-spacing:-.01em;text-transform:uppercase}
.aviso h2{font-weight:900;color:var(--gris);font-size:clamp(19px,2vw,24px);margin:34px 0 12px}
.aviso p{font-weight:600;color:var(--gris);font-size:20px;line-height:1.75;margin-bottom:16px}
.aviso ul{margin:0 0 20px;padding-left:22px;display:grid;gap:8px}
.aviso li{font-weight:600;color:var(--gris);font-size:20px;line-height:1.65}
.aviso li::marker{color:var(--amarillo)}
.aviso a{color:var(--amarillo);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.aviso a:hover{color:var(--amarillo-oscuro)}

/* ============ PIE DE PÁGINA ============ */
.footer{background:var(--naranja);color:var(--blanco);padding:64px 0 74px;font-size:20px;font-weight:600}
.footer .cols{display:grid;grid-template-columns:1fr 2.15fr;gap:30px;align-items:start}
/* solo el título de cada columna va en un cuadro blanco */
.footer .cols-caja{display:grid;grid-template-columns:.85fr 1.15fr 1.15fr;gap:clamp(20px,2.4vw,34px);align-items:start}
.footer .cols-caja h5{display:inline-block;background:var(--blanco);color:var(--naranja);opacity:1;
  border-radius:14px;padding:9px 16px;margin-bottom:18px;letter-spacing:.1em}
/* lista de contacto con íconos */
.footer .con-lista li{padding-left:0;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start}
.footer .con-lista li::before{display:none}
.footer .con-lista svg{width:18px;height:18px;color:var(--blanco);margin-top:2px}
.footer .dir-txt{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:20px;margin-bottom:14px}
.footer .dir-txt svg{width:18px;height:18px;color:var(--blanco);margin-top:2px}
.footer h4{color:var(--blanco);font-size:20px;font-weight:700;line-height:1.34;margin-bottom:14px;max-width:26ch}
.footer h5{color:rgba(255,255,255,.82);font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.footer p{font-weight:600;line-height:1.6;color:rgba(255,255,255,.92)}
.footer .marca p{max-width:38ch;font-size:20px;margin-bottom:22px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.footer a{color:rgba(255,255,255,.95);transition:color var(--dur)}
.footer a:hover{color:var(--amarillo-suave);text-decoration:underline}
/* dirección y mapa */
.footer .dir p{font-size:20px;margin-bottom:14px}
.footer .mapa{position:relative;display:block;border-radius:12px;overflow:hidden;background:#EFEDE9;max-width:300px;
  transition:transform 420ms var(--glide),box-shadow 420ms var(--glide)}
.footer .mapa:hover{transform:scale(1.03);box-shadow:0 18px 38px -18px rgba(0,0,0,.55)}
.footer .mapa-svg{display:block;width:100%;height:96px}
.footer .m-fondo{fill:#EDEAE4}
.footer .m-parque{fill:#DDE6D2}
.footer .m-via{stroke:#FFF;stroke-width:10;fill:none}
.footer .m-calle{stroke:#FFF;stroke-width:5;fill:none}
.footer .pin{position:absolute;left:50%;top:34px;width:16px;height:16px;margin-left:-8px;border-radius:50% 50% 50% 0;
  background:var(--naranja);transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.35)}
.footer .pin::after{content:"";position:absolute;inset:4.5px;border-radius:50%;background:var(--blanco)}
.footer .mapa-pie{display:block;padding:9px 12px;background:#56565A;font-size:14px;color:var(--amarillo);font-weight:700}
/* barra inferior: copyright · logo · redes */
.footer .bottom{position:relative;margin-top:46px;padding-top:30px;border-top:0;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font-size:19px;color:rgba(255,255,255,.88)}
.footer .bottom::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;border-radius:999px;background:var(--blanco)}
.footer .bottom .copy{max-width:44ch;display:grid;gap:8px;justify-items:start}
.footer .bottom .copy a{color:var(--blanco);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.footer .bottom .copy a:hover{color:var(--amarillo-suave)}
.footer .bottom .logo{justify-self:center;display:block;width:74px}
.footer .bottom .logo img{display:block;width:100%;height:auto;transition:transform 420ms var(--glide)}
.footer .bottom .logo:hover img{transform:scale(1.06)}
.footer .soc{justify-self:end;display:flex;gap:10px}
.footer .soc .social{color:var(--naranja);background:var(--blanco);border:0;transition:transform var(--dur) var(--ease),color var(--dur)}
.footer .soc .social:hover{color:var(--naranja-oscuro);background:var(--blanco);transform:scale(1.12)}
@media(max-width:1024px){.footer .cols{grid-template-columns:1fr}.footer .cols-caja{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .footer h4{font-size:16px;line-height:1.3;margin-bottom:8px;max-width:none}
  .footer .marca p{font-size:13.5px;line-height:1.42;max-width:none;margin-bottom:16px}
}
@media(max-width:640px){.footer .cols-caja{grid-template-columns:minmax(0,1fr);gap:24px}}
@media(max-width:560px){
  .footer .cols{grid-template-columns:minmax(0,1fr)}
  .footer .cols>*,.footer .cols-caja>*{min-width:0}
  .footer a,.footer p,.footer li{overflow-wrap:anywhere}
}
@media(max-width:900px){
  .footer{padding-bottom:112px}
  /* área táctil cómoda en los enlaces del pie */
  .footer li a,.footer .contacto a,.footer .bottom .copy a{display:inline-block;padding:7px 0}
  .footer ul{gap:4px}
  .footer .contacto p{margin-bottom:10px}
}
@media(max-width:640px){
  .footer .cols{grid-template-columns:1fr}
  .footer .bottom{grid-template-columns:1fr;justify-items:start;text-align:left}
  .footer .bottom .logo{justify-self:start;order:-1}
  .footer .soc{justify-self:start}
}

/* ============ WHATSAPP FIJO ============ */
/* tarjeta de merma y llamada a cotizar dentro del resultado */
.res.merma{border-left:4px solid var(--naranja);background:var(--calc-suave)}
.res.merma .k{color:var(--naranja)}
.merma-cifra{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
.merma-cifra b{font-size:clamp(30px,4vw,40px);font-weight:900;line-height:1;color:var(--naranja);letter-spacing:-.02em}
.merma-cifra span{font-size:16px;font-weight:700;color:var(--gris)}
.res-cta{margin-top:18px;background:var(--amarillo);color:var(--blanco);border-radius:16px;padding:18px 18px 16px}
.res-cta b{display:block;font-size:19px;font-weight:900;line-height:1.25}
.res-cta p{margin-top:6px;font-size:15px;font-weight:600;color:rgba(255,255,255,.94);line-height:1.5}
.res-cta-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.res-cta-btns .btn{flex:1 1 auto;min-height:48px;font-weight:700}
.drawer .res-cta-btns .btn-wa,.res-cta-btns .btn-wa{background:#25D366;color:var(--blanco);border-color:#25D366}
.drawer .res-cta-btns .btn-wa:hover,.res-cta-btns .btn-wa:hover{background:#1EBE5A}
.drawer .res-cta-btns .btn-primary,.res-cta-btns .btn-primary{background:var(--blanco);color:var(--gris);border-color:var(--blanco)}
.drawer .res-cta-btns .btn-primary:hover,.res-cta-btns .btn-primary:hover{background:var(--amarillo-suave);color:var(--gris)}

/* ============ ASISTENTE VIRTUAL ============ */
/* botón de correo, debajo del de WhatsApp */
.mail-fab{position:fixed;right:20px;bottom:20px;z-index:61;display:inline-flex;align-items:center;gap:10px;
  background:var(--naranja);color:var(--blanco);border:0;border-radius:999px;padding:12px 18px 12px 14px;
  font:700 16px var(--font);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22);
  transition:transform var(--dur) var(--ease),background var(--dur),opacity var(--dur)}
.mail-fab:hover{background:var(--naranja-oscuro);transform:translateY(-2px) scale(1.04)}
.mail-fab svg{width:22px;height:22px}
body.calc-open .mail-fab,body.ia-open .mail-fab{opacity:0;pointer-events:none}
.mail-ops{position:fixed;right:20px;bottom:84px;z-index:63;width:min(260px,calc(100vw - 40px));
  background:var(--blanco);border-radius:16px;padding:14px;box-shadow:0 24px 54px -18px rgba(0,0,0,.45);
  display:grid;gap:8px;animation:iaEntra 260ms var(--glide) both}
.mail-ops p{font:700 13.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--gris-texto);margin-bottom:2px}
.mail-op{display:block;border:1.5px solid var(--gris-linea);border-radius:11px;padding:11px 14px;
  font:700 15px var(--font);color:var(--gris);cursor:pointer;
  transition:border-color var(--dur),color var(--dur),background var(--dur)}
.mail-op:hover{border-color:var(--naranja);color:var(--naranja);background:var(--calc-suave)}
@media(max-width:640px){.mail-fab span{display:none}.mail-fab{padding:14px}.mail-ops{bottom:80px}}

.ia-fab{position:fixed;right:20px;bottom:144px;z-index:61;display:inline-flex;align-items:center;gap:10px;
  background:var(--amarillo);color:var(--blanco);border:0;border-radius:999px;padding:12px 18px 12px 14px;
  font:700 16px var(--font);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22);
  transition:transform var(--dur) var(--ease),background var(--dur),opacity var(--dur)}
.ia-fab:hover{background:var(--amarillo-oscuro);transform:translateY(-2px) scale(1.04)}
.ia-fab svg{width:22px;height:22px}
.ia-fab[aria-expanded="true"]{opacity:0;pointer-events:none}
body.calc-open .ia-fab{opacity:0;pointer-events:none}
/* con el asistente abierto no estorban los otros flotantes */
body.ia-open .wa-fab,body.ia-open .calc-tab{opacity:0;pointer-events:none}

.ia-panel{position:fixed;right:20px;bottom:20px;z-index:62;width:min(390px,calc(100vw - 32px));
  max-height:min(620px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;
  background:var(--blanco);border-radius:20px;box-shadow:0 30px 70px -20px rgba(0,0,0,.45);
  animation:iaEntra 320ms var(--glide) both}
@keyframes iaEntra{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.ia-head{display:flex;align-items:flex-start;gap:12px;padding:18px 18px 14px;background:var(--amarillo);color:var(--blanco)}
.ia-head h2{font-size:19px;font-weight:900;color:var(--blanco);text-transform:none;letter-spacing:0}
.ia-head p{font-size:14px;font-weight:600;color:rgba(255,255,255,.92);margin-top:3px;line-height:1.4}
.ia-x{margin-left:auto;flex:none;width:34px;height:34px;border:0;background:rgba(255,255,255,.22);color:var(--blanco);
  border-radius:50%;font-size:22px;line-height:1;cursor:pointer;transition:background var(--dur)}
.ia-x:hover{background:rgba(255,255,255,.38)}

.ia-hilo{flex:1;overflow-y:auto;padding:16px;display:grid;gap:12px;align-content:start;background:#FCFBF9}
.ia-msg{max-width:88%;font-size:15.5px;font-weight:600;line-height:1.55;padding:12px 14px;border-radius:14px}
.ia-msg.bot{background:var(--amarillo-suave);color:var(--gris);border-bottom-left-radius:5px}
.ia-msg.yo{background:var(--gris);color:var(--blanco);justify-self:end;border-bottom-right-radius:5px}
.ia-msg b{font-weight:900}
.ia-msg a{color:var(--naranja);font-weight:900;text-decoration:underline}
.ia-msg .esc{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--amarillo-oscuro);border:1px dashed currentColor;border-radius:5px;padding:2px 6px;margin-top:8px}

.ia-sug{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px;background:#FCFBF9}
.ia-sug button{border:1.5px solid var(--gris-linea);background:var(--blanco);color:var(--gris);
  border-radius:999px;padding:8px 13px;font:700 13.5px var(--font);cursor:pointer;transition:border-color var(--dur),color var(--dur)}
.ia-sug button:hover{border-color:var(--amarillo);color:var(--amarillo-oscuro)}

.ia-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--gris-linea);background:var(--blanco)}
.ia-form input{flex:1;min-width:0;border:1.5px solid var(--gris-linea);border-radius:999px;padding:11px 16px;
  font:600 15.5px var(--font);color:var(--gris)}
.ia-form input:focus{outline:0;border-color:var(--amarillo)}
.ia-form button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--amarillo);color:var(--blanco);
  font-size:19px;cursor:pointer;transition:background var(--dur),transform var(--dur) var(--ease)}
.ia-form button:hover{background:var(--amarillo-oscuro);transform:scale(1.06)}

.ia-correo{padding:0 14px 14px;background:var(--blanco)}
.ia-correo-abrir{width:100%;border:0;background:transparent;color:var(--naranja);font:700 14px var(--font);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:4px}
.ia-correo-abrir:hover{color:var(--naranja-oscuro)}
.ia-correo-ops{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.ia-op{display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px solid var(--gris-linea);
  border-radius:11px;padding:10px 6px;font:700 13.5px var(--font);color:var(--gris);cursor:pointer;
  transition:border-color var(--dur),color var(--dur),background var(--dur)}
.ia-op:hover{border-color:var(--naranja);color:var(--naranja);background:var(--calc-suave)}

@media(max-width:900px){.ia-fab{bottom:144px}}
@media(max-width:640px){.ia-fab span{display:none}.ia-fab{padding:14px;bottom:140px}}
@media(max-height:620px){.ia-panel{max-height:calc(100vh - 24px);bottom:12px}}

.wa-fab{position:fixed;right:20px;bottom:82px;z-index:60;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:var(--blanco);border-radius:999px;padding:12px 18px 12px 14px;font-family:var(--font);font-weight:600;font-size:20px;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform var(--dur) var(--ease),opacity var(--dur)}
.wa-fab:hover{transform:translateY(-2px) scale(1.04);background:#1EBE5A}
body.calc-open .wa-fab{opacity:0;pointer-events:none}
.wa-fab svg{width:22px;height:22px}
@media(max-width:640px){.wa-fab span{display:none}.wa-fab{padding:14px;bottom:78px}}

/* ============ CALCULADORA: PESTAÑA + DRAWER (naranja limpio) ============ */
.calc-tab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:70;background:var(--calc);color:var(--blanco);border:0;border-radius:0 14px 14px 0;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:4px 0 20px rgba(0,0,0,.14);transition:background var(--dur),transform var(--dur) var(--ease),opacity var(--dur);width:var(--tab-w)}
.calc-tab:hover{background:var(--calc-oscuro)}
.calc-tab svg{width:22px;height:22px}
.calc-tab .t{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:700;letter-spacing:.06em;line-height:1}
.calc-tab .arr{font-size:20px;font-weight:700;line-height:1}
.calc-tab[aria-expanded="true"]{transform:translate(-100%,-50%);opacity:0;pointer-events:none}
.calc-overlay{position:fixed;inset:0;background:rgba(45,40,35,.35);z-index:80;opacity:0;pointer-events:none;transition:opacity var(--dur)}
.calc-overlay.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;left:0;top:0;bottom:0;width:min(480px,100vw);background:var(--blanco);color:var(--gris-texto);z-index:90;transform:translateX(-100%);transition:transform 320ms var(--ease);display:grid;grid-template-rows:auto auto 1fr auto;box-shadow:12px 0 40px rgba(0,0,0,.16)}
.drawer.on{transform:none}
/* Cabecera */
.drawer-head{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;border-bottom:1px solid var(--gris-linea)}
.drawer-head img{height:34px;width:auto}
.drawer-head h2{font-size:17px;font-weight:700;flex:1;letter-spacing:0;text-transform:none;line-height:1.25;color:var(--gris)}
.drawer-head .ver{font-size:12.5px;color:#9A9896;display:block;font-weight:400;margin-top:3px}
.iconbtn{width:40px;height:40px;border-radius:10px;border:0;background:transparent;display:grid;place-items:center;color:#9A9896;transition:background var(--dur),color var(--dur)}
.iconbtn:hover{background:var(--gris-fondo);color:var(--gris)}
.iconbtn svg{width:19px;height:19px}
/* Progreso: línea fina continua */
.progress{display:flex;gap:3px;padding:0 16px;margin-top:-1px}
.progress span{flex:1;height:2px;background:var(--gris-linea);transition:background var(--dur)}
.progress span.done,.progress span.cur{background:var(--calc)}
.progress span.cur{opacity:.45}
/* Cuerpo */
.drawer-body{overflow-y:auto;padding:26px 20px 28px;scroll-behavior:smooth}
.drawer-body h3{font-size:23px;margin-bottom:6px;text-transform:none;font-weight:600;letter-spacing:-.01em;color:var(--gris)}
.drawer-body .stepno{font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--calc);margin-bottom:10px;display:block}
.drawer-body .help{font-size:16.5px;color:#8C8A88;margin-bottom:22px;line-height:1.5}
/* Opciones */
.opts{display:grid;gap:8px}
.opts.two{grid-template-columns:1fr 1fr}
.opt{position:relative;display:grid;gap:3px;text-align:left;padding:14px 16px;border:1px solid var(--gris-linea);border-radius:12px;background:var(--blanco);transition:border-color var(--dur),background var(--dur);min-height:56px;color:var(--gris-texto)}
.opt:hover{border-color:#C9C6C2;background:#FCFBFA}
.opt[aria-pressed="true"]{border-color:var(--calc);background:var(--calc-suave)}
.opt b{font-weight:700;font-size:17.5px;color:var(--gris)}
.opt small{font-size:15px;color:#9A9896;line-height:1.35}
.opt[aria-pressed="true"] b{color:var(--calc-oscuro)}
.opt[aria-pressed="true"]::after{content:"";position:absolute;right:14px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--calc)}
.opt[aria-pressed="true"]::before{content:"";position:absolute;right:19px;top:21px;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);z-index:1}
/* Campos */
.fgrid{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.fgrid .full{grid-column:1/-1}
.field .err{font-size:14px;color:#B3261E;display:none}
.field.invalid input,.field.invalid select{border-color:#B3261E}
.field.invalid .err{display:block}
.field .err::before{content:"⚠ "}
.sugg{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#8C8A88;margin-top:2px;width:fit-content}
.sugg button{border:0;background:transparent;color:var(--calc);font-weight:700;font-size:14px;padding:0;text-decoration:underline}
.optional{font-size:13.5px;color:#9A9896;font-weight:400}
/* Pie */
.drawer-foot{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--gris-linea);background:var(--blanco)}
.drawer-foot .btn{flex:1}
.drawer-foot .btn-outline{flex:0 0 auto;padding:0 18px;border-color:var(--gris-linea);color:var(--gris)}
.drawer-foot .btn-outline:hover{background:var(--gris-fondo);color:var(--gris);border-color:#C9C6C2}
.drawer .btn{min-height:50px;font-weight:700;font-size:17.5px}
.drawer .btn-primary{background:var(--calc)}
.drawer .btn-primary:hover{background:var(--calc-oscuro)}
.drawer .btn-primary[disabled]{background:var(--gris-linea);color:#A9A6A2;cursor:not-allowed;transform:none}
.drawer .field input{min-height:48px;border:1px solid var(--gris-linea);border-radius:10px}
.drawer .field select{min-height:48px;border:1px solid var(--gris-linea);border-radius:10px}
.drawer .field label{font-size:15px;font-weight:700;color:var(--gris);letter-spacing:.01em}
.drawer .field input:focus,.drawer .field select:focus{border-color:var(--calc);box-shadow:0 0 0 3px rgba(255,109,0,.14)}
/* Resultados: tarjeta blanca con acento naranja */
.res-hero{background:var(--blanco);border:1px solid var(--gris-linea);border-top:3px solid var(--calc);border-radius:14px;padding:20px;margin-bottom:12px}
.res-hero .k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--calc);font-weight:700}
.res-hero b{display:block;font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:8px 0 6px;font-style:normal;text-transform:none;color:var(--gris)}
.res-hero p{font-size:20px;color:#8C8A88}
.res-list{display:grid;gap:8px}
.res{border:1px solid var(--gris-linea);border-radius:12px;padding:15px 16px;display:grid;gap:4px;background:var(--blanco)}
.res .k{font-size:15.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A9A6A2}
.res b{font-size:20px;font-weight:700;color:var(--gris);line-height:1.35}
.res p{font-size:19px;color:#8C8A88;line-height:1.5}
.res.warn{border-color:#F0D8C4;background:#FFFBF8}
.res.warn .k{color:var(--calc)}
.res.sec{background:#FCFBFA}
.scen{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.scen>div{border-radius:10px;padding:10px 12px;background:var(--blanco);font-size:13.5px;border:1px solid var(--gris-linea);color:#9A9896}
.scen>div b{display:block;font-size:20px;font-weight:600;color:var(--gris);margin-top:2px}
.scen>div.mid{border-color:var(--calc);background:var(--calc-suave)}
.scen>div.mid b{color:var(--calc-oscuro)}
.res-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.res-actions .btn-wa{background:var(--calc)}
.res-actions .btn-wa:hover{background:var(--calc-oscuro)}
.res-actions .btn-outline{border-color:var(--gris-linea);color:var(--gris)}
.res-actions .btn-outline:hover{background:var(--gris-fondo);color:var(--gris);border-color:#C9C6C2}
.prep-list{margin:8px 0 0;padding-left:18px;font-size:19px;display:grid;gap:5px;color:#8C8A88}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--gris);color:var(--blanco);padding:12px 18px;border-radius:10px;font-size:20px;font-weight:600;opacity:0;pointer-events:none;transition:all var(--dur);z-index:100}
.toast.on{opacity:1;transform:translate(-50%,0)}
.data-note{font-size:16.5px;color:#A9A6A2;margin-top:18px;padding-top:14px;border-top:1px solid var(--gris-linea);line-height:1.5}
@media(max-width:900px){
  /* en móvil la pestaña se vuelve un botón flotante para no tapar el contenido */
  .calc-tab{top:auto;bottom:20px;left:16px;transform:none;width:auto;border-radius:999px;
    flex-direction:row;gap:9px;padding:13px 18px 13px 15px;box-shadow:0 8px 24px rgba(0,0,0,.22)}
  .calc-tab .t{writing-mode:horizontal-tb;transform:none;font-size:14px;letter-spacing:0}
  .calc-tab .arr{display:none}
  .calc-tab[aria-expanded="true"]{transform:translateY(120%);opacity:0}
}
@media(max-width:640px){
  .drawer{width:100vw}
  .drawer-head{padding:12px 12px 10px;gap:8px}
  .drawer-head img{height:28px}
  .drawer-head h2{font-size:16px}
  .drawer-head .ver{display:none}
  .fgrid,.opts.two{grid-template-columns:1fr}
  .drawer-body{padding:22px 16px 24px}
  .calc-tab{padding:12px 16px}
  .calc-tab .t{font-size:13px}
}


/* las entradas laterales no deben generar barra horizontal */
main{overflow-x:clip}

/* ============ REPERTORIO DE ENTRADAS ============ */
/* Todas duran 1.2 s y usan la misma curva; cambia el gesto, no el ritmo. */
.an{transition:opacity 1.2s var(--glide),transform 1.2s var(--glide),filter 1.2s var(--glide),clip-path 1.2s var(--glide)}
.an.on{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}

/* tilt desde la izquierda — gesto de marca, para el hero */
.tilt-scroll{opacity:0;transform:translateX(-64px) rotate(-7deg) scale(.96);transform-origin:left center}
/* flota desde arriba */
.float-top{opacity:0;transform:translateY(-46px)}
/* sube desde abajo, discreto: titulares y párrafos */
.an-sube{opacity:0;transform:translateY(34px)}
/* cortina: el texto se descubre de izquierda a derecha */
.an-cortina{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-14px)}
/* entra desde la derecha / desde la izquierda: bloques laterales */
.an-der{opacity:0;transform:translateX(56px)}
.an-izq{opacity:0;transform:translateX(-56px)}
/* acercamiento: fotos y tarjetas con imagen */
.an-zoom{opacity:0;transform:scale(.93)}
/* enfoque: la foto entra desenfocada */
.an-foco{opacity:0;transform:scale(1.04);filter:blur(9px)}
/* rebote corto: sellos, botones y piezas pequeñas */
.an-pop{opacity:0;transform:scale(.72)}
.an-pop.on{animation:popIn 620ms var(--glide)}
@keyframes popIn{0%{transform:scale(.72)}62%{transform:scale(1.06)}100%{transform:scale(1)}}

@media(prefers-reduced-motion:reduce){
  .an,.tilt-scroll,.float-top,.an-sube,.an-cortina,.an-der,.an-izq,.an-zoom,.an-foco,.an-pop{
    opacity:1;transform:none;filter:none;clip-path:none;transition:none;animation:none}
}

/* Reveal (desde estado visible) */
.rv{transition:transform 450ms var(--ease)}
.rv.pre{transform:translateY(16px)}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:1ms!important;animation-duration:1ms!important;scroll-behavior:auto!important}
  .rv.pre{transform:none}
}
/* pantallas bajas (móvil en horizontal): la calculadora se compacta */
@media(max-height:560px){
  .drawer-head{padding:10px 14px}
  .drawer-head .ver{display:none}
  .drawer-head img{height:26px}
  .drawer-body{padding:16px 18px 18px}
  .drawer-foot{padding:10px 14px}
  .opt{padding:12px 14px}
}

/* móvil: los garabatos y estrellas se achican y se atenúan para no restar legibilidad */
@media(max-width:640px){
  .hero-panel .scribble.a{width:150px;top:-22px;right:-30px;opacity:.6}
  .hero-panel .scribble.b{width:120px;bottom:-26px;left:-22px;opacity:.55}
  .calc-demo .scribble{width:160px;right:-46px;top:-34px;opacity:.34}
  .convert .starburst{width:118px;right:-24px;top:-32px;opacity:.75}
  .convert .scribble{width:130px;left:-26px;bottom:-40px;opacity:.42}
  .cagefree .brote{width:130px;left:-24px;bottom:-26px;opacity:.24}
  .prod .pack .starburst{width:78px}
  .nos-head .scribble.a{width:150px;right:-30px;top:-24px;opacity:.6}
  .nos-dist-panel .starburst{width:120px;right:-24px;top:-28px}
  .nos-premio .scribble{width:112px;left:-34px;bottom:-54px;opacity:.26}
  .nos-premio{padding-bottom:76px}
}

/* móvil: Sobre nosotros y blog con texto más compacto para menos scroll */
@media(max-width:640px){
  .nos-head{padding:18px 0 34px}
  .nos-head .eyebrow{font-size:14px;margin-bottom:8px}
  .nos-head h1{font-size:clamp(28px,8vw,36px)}
  .nos-head .lead{font-size:16px;line-height:1.5;margin-top:12px}
  .nos-cta{margin-top:18px}
  .nos-bloques{padding:26px 0}
  .nos-grid{gap:14px}
  .nos-card{padding:20px 18px}
  .nos-card h2{font-size:18px;margin-bottom:8px}
  .nos-card p{font-size:15.5px;line-height:1.55}
  .nos-card p+p{margin-top:8px}
  .nos-dist{padding-bottom:26px}
  .nos-dist-panel{padding:22px 20px;min-height:0}
  .nos-dist-panel h2{font-size:24px}
  .nos-dist-panel p{font-size:15.5px;margin-top:8px}
  .nos-lista{gap:10px}
  .nos-lista li{padding:16px;gap:14px}
  .nos-lista .n{font-size:40px}
  .nos-lista h3{font-size:16px;margin-bottom:6px}
  .nos-lista .cols{gap:6px}
  .nos-lista .cols p{font-size:14.5px;line-height:1.5}
  .nos-premio{padding:28px 0 60px}
  .nos-premio .lead{font-size:15.5px;margin-top:10px}
  .nos-valores{padding:26px 0}
  .val-grid{gap:10px}
  .val-grid>div{padding:18px 16px}
  .val-grid h3{font-size:19px;margin:2px 0 8px}
  .val-grid p{font-size:15px;line-height:1.5}
  .btn-back{font-size:16px;padding:8px 16px 8px 12px;margin-bottom:16px}
  /* blog */
  #vista-blog{padding:22px 0 48px}
  .blog-head{gap:8px;margin-bottom:20px}
  .blog-head .eyebrow{font-size:14px;margin-bottom:0}
  .blog-head h1{font-size:clamp(26px,7.4vw,34px)}
  .blog-head p{font-size:15.5px}
  .art-meta{font-size:14px}
  .art-cuerpo p,.art-cuerpo li{font-size:16px;line-height:1.55;margin-bottom:12px}
  .art-cuerpo h2{font-size:20px;margin:26px 0 8px}
  .art-cuerpo h3{font-size:16px;margin:18px 0 6px}
  .art-tabla,.tabla-scroll .art-tabla{font-size:15px}
  .art-nota{font-size:15px;padding:12px 14px;margin:18px 0}
  .post .body{padding:16px;gap:6px}
  .post h3{font-size:18px}
  .post p{font-size:15px}
  .post .kind{font-size:13px}
  .post .meta{font-size:13.5px}
  .btn-sig .tit{font-size:16px}
  /* mini calculadora y demo rápida */
  .demo-card{padding:18px 16px}
  .demo-card h3{font-size:17px;margin-bottom:12px}
  .field label{font-size:15px}
  .field input,.field select{min-height:44px;font-size:15.5px}
  .demo-out{padding:14px 14px 12px}
  .demo-out .ro-cifra b{font-size:30px}
  .demo-out .ro-cifra span{font-size:15.5px}
  .demo-out .ro-det{gap:5px;margin-top:10px;padding-top:10px}
  .demo-out .ro-det li{font-size:15px;line-height:1.45}
  .demo-out .ro-aviso,.demo-mas{font-size:15px}
  .nos-calc{padding:16px}
  .nos-calc h3{font-size:17px;margin-bottom:10px}
  .nos-calc label{font-size:12.5px}
}
