
:root{
  --red:#ff5b6a; --red-700:#e64957; --green:#17a34a; --brown:#6b3f2b;
  --cream:#fff8f4; --ink:#1a1a1a; --radius:20px;
  --shadow-lg:0 25px 50px rgba(0,0,0,.15); --shadow:0 10px 30px rgba(0,0,0,.12);
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial;color:var(--ink);background:var(--cream);line-height:1.5}
a{color:inherit;text-decoration:none} img,video{max-width:100%;display:block}
.container{max-width:1280px;margin:auto;padding:0 24px}
.announcement{background:linear-gradient(90deg,var(--green),#22c55e);color:#fff;text-align:center;padding:8px 12px;font-weight:800}
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.75);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}.brand img{height:48px}.name{font-weight:900;letter-spacing:.4px;color:var(--red)}
.nav a{padding:10px 12px;border-radius:12px;font-weight:600}.nav a:hover{background:#f3f4f6}.nav .cta{background:var(--red);color:#fff}
.menu-toggle{display:none}
@media(max-width:900px){.menu-toggle{display:inline-flex;border:1px solid #ddd;border-radius:12px;padding:8px 12px;background:#fff}.nav-links{display:none;position:fixed;left:16px;right:16px;top:76px;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow)}}

.hero{position:relative;isolation:isolate}
.hero-media{}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:
  radial-gradient(1200px 400px at 10% 0%, rgba(255,91,106,.3), transparent),
  radial-gradient(900px 400px at 90% 20%, rgba(23,163,74,.25), transparent),
  linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.65));pointer-events:none}
.hero-content{}
.hero h1{font-size:clamp(2.2rem,3.8vw+1rem,4.6rem);line-height:1.02;margin:0 0 10px;text-shadow:0 8px 30px rgba(0,0,0,.6)}
.kicker{font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.15);display:inline-block;padding:8px 12px;border-radius:999px;margin-bottom:10px}
.lead{font-size:1.15rem;opacity:.95;max-width:70ch;margin:0 auto}
.actions{display:flex;gap:12px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:14px;font-weight:900;border:2px solid transparent;box-shadow:0 10px 20px rgba(0,0,0,.12)}
.button.primary{background:var(--red);color:#fff}.button.secondary{background:transparent;border-color:#fff;color:#fff}
.angle-sep{height:60px;background:linear-gradient(135deg, var(--cream) 50%, transparent 0) bottom left/100% 100% no-repeat;transform:translateY(-1px)}

.section{padding:90px 0}.section h2{font-size:2.6rem;margin:0 0 8px}.sub{opacity:.75;margin-bottom:28px;max-width:70ch}

/* HISTORY */
.history .row{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;margin-bottom:40px}
.history .row:nth-child(even){grid-template-columns:.9fr 1.1fr}
@media(max-width:980px){.history .row,.history .row:nth-child(even){grid-template-columns:1fr}}
.history .photo{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}
.history .photo img{width:100%;height:100%;aspect-ratio:1139/1275;object-fit:cover;transform:translateY(var(--parallax,0px));transition:transform .2s}
.history .photo::after{content:"";position:absolute;inset:0;border:8px solid rgba(255,255,255,.6);mix-blend:overlay;border-radius:var(--radius);pointer-events:none}
.blurb{padding:8px 10px}.blurb .k{color:var(--green);font-weight:900;letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}
.blurb h3{font-size:2rem;margin:6px 0 8px}.blurb p{opacity:.85}.blurb .chip{display:inline-block;margin-top:12px;padding:6px 10px;border-radius:999px;background:rgba(255,91,106,.12);color:var(--red);font-weight:800}

/* LAUNCHES */
.launches .wrap{display:grid;grid-template-columns:320px 1fr;gap:24px}
@media(max-width:1000px){.launches .wrap{grid-template-columns:1fr}}
.filter{position:sticky;top:90px;align-self:start;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:18px}
.filter .tabs{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{border:1px solid rgba(0,0,0,.1);padding:10px 14px;border-radius:999px;background:#fff;cursor:pointer;font-weight:700}
.chip-btn[aria-pressed="true"]{background:var(--red);color:#fff;border-color:transparent}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1000px){.mosaic{grid-template-columns:1fr 1fr}}@media(max-width:640px){.mosaic{grid-template-columns:1fr}}
.card{position:relative;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.card img{width:100%;height:100%;aspect-ratio:1139/1275;object-fit:cover;transform:scale(1);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover img{transform:scale(1.05)}
.card .meta{position:absolute;inset:auto 0 0 0;padding:16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#fff}.price{font-weight:900;color:#ffe}

/* RECIPES carousel */
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:min(85%, 420px);gap:16px;overflow-x:auto;padding:10px;scroll-snap-type:x mandatory}
.carousel::-webkit-scrollbar{height:10px}.carousel::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:999px}
.slide{scroll-snap-align:start;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.slide img{width:100%;height:100%;aspect-ratio:1139/1275;object-fit:cover}.slide .content{padding:14px}
.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:.75rem;color:var(--green);background:rgba(23,163,74,.1);border:1px solid rgba(23,163,74,.2);padding:4px 8px;border-radius:999px}

.cta-band{margin-top:40px;padding:24px;border-radius:20px;background:linear-gradient(90deg, rgba(23,163,74,.12), rgba(255,91,106,.12));display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cta-band .title{font-size:1.4rem;font-weight:900;color:var(--brown)}

footer{background:#0f0f0f;color:#f6f6f6;padding:48px 0 24px;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.footer-grid{grid-template-columns:1fr}}
.copyright{opacity:.6;margin-top:20px;text-align:center}


/* YouTube background */
.hero-media.yt {position:relative;overflow:hidden}
.yt-bg{position:absolute;inset:0;pointer-events:none}
.yt-bg iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120vw;height:67.5vw;min-width:100%;min-height:100%;}
/* Adjust for tall screens */
@media (min-aspect-ratio: 16/9){
  .yt-bg iframe{width:100vw;height:56.25vw}
}


/* Full-height hero: occupy the entire device height */
.hero{position:relative;min-height:100svh}
@supports (height: 100dvh){
  .hero{min-height:100dvh}
}
/* Make media fill the hero area completely */
.hero .hero-media{position:absolute;inset:0;min-height:0;height:100%}
.hero .hero-media.yt{position:absolute;inset:0}
.hero .hero-content{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#fff;padding:24px}


/* COMPANY section */
.company .intro{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
@media(max-width:980px){.company .intro{grid-template-columns:1fr}}
.factbox{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:18px}
.factbox ul{margin:0;padding-left:18px}
.company-photos{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1024px){.company-photos{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.company-photos{grid-template-columns:1fr}}
.company-photos img{width:100%;height:100%;aspect-ratio:1139/1275;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.depts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dept{font-size:.85rem;padding:6px 10px;border-radius:999px;background:rgba(23,163,74,.12);color:var(--green);border:1px solid rgba(23,163,74,.2)}


/* COMPANY standalone page */
.page-hero{position:relative;min-height:48svh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;border-radius:0}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55)), radial-gradient(800px 300px at 85% 10%, rgba(23,163,74,.25), transparent)}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) brightness(.9)}
.page-hero .inner{position:relative;padding:24px}
.company .intro{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
@media(max-width:980px){.company .intro{grid-template-columns:1fr}}
.factbox{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:18px}
.factbox ul{margin:0;padding-left:18px}
.depts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dept{font-size:.85rem;padding:6px 10px;border-radius:999px;background:rgba(23,163,74,.12);color:var(--green);border:1px solid rgba(23,163,74,.2)}
.company-photos{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1024px){.company-photos{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.company-photos{grid-template-columns:1fr}}
.company-photos img{width:100%;height:100%;aspect-ratio:1139/1275;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.breadcrumbs{font-size:.9rem;opacity:.8;margin:16px 0}


/* Company detailed components */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
@media(max-width:1024px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stats{grid-template-columns:1fr}}
.stat{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;text-align:center}
.stat strong{display:block;font-size:2rem;line-height:1.1;color:var(--brown)}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:980px){.twocol{grid-template-columns:1fr}}
.info{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding-left:30px;position:relative;margin:8px 0}
.checklist li::before{content:"✓";position:absolute;left:0;top:0.05rem;color:var(--green);font-weight:900}
.kicker.small{font-size:.75rem;padding:6px 10px}
.contact-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:2px solid transparent;font-weight:800}
.btn.outline{border-color:var(--green);color:var(--green);background:#fff}
.btn.primary{background:var(--red);color:#fff}
.gallery-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1024px){.gallery-3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.gallery-3{grid-template-columns:1fr}}
.gallery-3 img{width:100%;height:100%;aspect-ratio:1139/1275;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}

/* ==== Arreglo definitivo hero YouTube (full height) ==== */
/* 1) Resetear reglas antiguas que achican el hero/video */
.hero-media,
.hero-media video,
.yt-bg iframe {
  aspect-ratio: auto !important;
  min-height: 0 !important;
}

/* 2) El hero ocupa pantalla completa en desktop/tablet */
.hero {
  position: relative;
  min-height: 100vh; /* fallback sólido */
}

/* 3) En móvil: hero = alto de pantalla - 600px (tu header) */
@media (max-width: 768px) {
  .hero {
    min-height: calc(100vh - 600px);
  }
}

/* 4) El contenedor del video cubre todo el hero */
.hero .hero-media { position: absolute; inset: 0; height: 100%; }
.hero .hero-media.yt { overflow: hidden; }
.yt-bg { position: absolute; inset: 0; pointer-events: none; }

/* 5) El iframe se comporta como background-size: cover */
.yt-bg iframe {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  /* Desktop/tablet: llenar el hero completo */
  height: 100vh;
  width: calc(100vh * 16 / 9);
  min-width: 100%;
  min-height: 100%;
}

/* 6) En pantallas muy anchas, usa el ancho para mantener cover */
@media (min-aspect-ratio: 16/9) {
  .yt-bg iframe {
    width: 100vw;
    height: calc(100vw * 9 / 16);
  }
}

/* 7) En móvil: ajusta el alto del iframe al hero real (100vh - 600px) */
@media (max-width: 768px) {
  .yt-bg iframe {
    height: calc(100vh - 600px);
    width: calc((100vh - 600px) * 16 / 9);
  }
}
