:root{
  --cream: #F2E8D7;
  --red: #E31D1A;
  --brown: #E7D9BE;
  --text: #111;
  --white: #fff;

  --container: 1180px;
  --header-h: 86px;
  --radius-xl: 28px;
  --radius-lg: 22px;
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--cream);
  color: var(--text);
}
a{ color: inherit; text-decoration: none; }
img{ max-width:100%; display:block; }
button{ font: inherit; cursor:pointer; }

.container{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* HEADER */
header.site-header{
  position: fixed;
  top:0; left:0; right:0;
  height: var(--header-h);
  z-index: 50;
  display:flex;
  align-items:center;
  background: linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,0));
  backdrop-filter: blur(1px);
}
.header-inner{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}
.brand{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 160px;
}
.brand img{ height: 44px; width:auto; }
nav.desktop-nav{
  display:flex;
  align-items:center;
  gap: 44px;
  color: var(--white);
  font-weight: 600;
  letter-spacing: .2px;
}
nav.desktop-nav a{ opacity: .92; transition: opacity .15s ease; }
nav.desktop-nav a:hover{ opacity: 1; }

/* hamburger */
.hamburger{
  display:none;
  width:46px;
  height:46px;
  border:0;
  background: transparent;
  align-items:center;
  justify-content:center;
  color: var(--white);
}
.hamburger .lines{ width: 22px; height: 16px; position: relative; }
.hamburger .lines span{
  position:absolute; left:0; right:0;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
}
.hamburger .lines span:nth-child(1){ top: 0; }
.hamburger .lines span:nth-child(2){ top: 7px; }
.hamburger .lines span:nth-child(3){ top: 14px; }

/* mobile menu overlay */
.mobile-menu{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.9);
  z-index: 100;
  display:none;
}
.mobile-menu.open{ display:block; }
.mobile-menu .close-row{
  height: var(--header-h);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding: 0 16px;
}
.mobile-menu .close-btn{
  width:46px; height:46px;
  border:0;
  background: transparent;
  color: var(--white);
  font-size: 28px;
  line-height: 1;
}
.mobile-menu nav{
  height: calc(100% - var(--header-h));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 24px;
  color: var(--white);
  font-size: 22px;
  font-weight: 700;
}

/* HERO */
section.hero{
  height: 100vh;
  min-height: 640px;
  position: relative;
  overflow:hidden;
  background: #000;
}

.hero-slider{
  position:absolute;
  inset:0;
}

.hero-slide{
  position:absolute;
  inset:0;
  transform: translateX(100%);
  opacity: 0;
  transition: transform .7s ease, opacity .7s ease;
}

.hero-slide.active{
  transform: translateX(0);
  opacity: 1;
  z-index: 2;
}

.hero-slide.prev{
  transform: translateX(-100%);
  opacity: 0;
  z-index: 1;
}

.hero-bg{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
}

.hero-slide .shade{
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 50% 55%, rgba(0,0,0,.35), rgba(0,0,0,.6));
  pointer-events:none;
}

.hero-content{
  position: relative;
  z-index: 2;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-top: var(--header-h);
}

.hero-content-inner{
  width: min(980px, calc(100% - 48px));
  color: var(--white);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 18px;
}

.hero h1{
  margin:0;
  font-size: clamp(34px, 5.2vw, 72px);
  line-height: 70px;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 900;
  text-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.hero h1 .de{
  display:inline-flex;
  align-items:center;
  height:1em;
  vertical-align:middle;
  margin: 0 0.15em;
}
.hero h1 .de img{
  height:100%;
  width:auto;
  display:block;
  margin-top: -10px;
}


/* ===== Blob Button 5 círculos ===== */

.blob-btn{
  position: relative;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}

.blob-shape{
  display: flex;
  gap: 0;
}

.blob-shape .circle{
  width: 50px;
  height: 64px;
  border-radius: 50%;
  margin-left: -20px; /* superposición */
}

.blob-shape .circle:first-child{
  margin-left: 0;
}
.blob-btn-red .blob-text {
  color: white !important;
}
.blob-btn-red .blob-shape .circle {
  background: #E31D1A !important;
}
.blob-btn-white .blob-text {
  color: #E31D1A !important;
}
.blob-btn-white .blob-shape .circle {
  background: white !important;
}

/* Texto encima */
.blob-text{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 900;
  letter-spacing: 1px;
  font-size: 18px;
  text-transform: uppercase;
}

/* BENEFICIOS */
section.benefits{ padding: 64px 0; background: var(--cream); }
.benefits-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: var(--radius-xl);
  overflow:hidden;
}
.benefits-left,
.benefits-right{
  min-height: 520px;
  position: relative;
  background: #ddd;
}
.benefits-left{
  background: url("../images/beneficios.png") center/cover no-repeat;
}
.benefits-right .layer{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  opacity:0;
  transition: opacity 1s ease;
}
.benefits-right .layer.show{ opacity:1; }

/* REASON */
section.reason{
  background: var(--red);
  padding: 88px 0;
  color: var(--cream);
  position: relative;
  overflow:hidden;
}
.reason-inner{
  position: relative;
  min-height: 560px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.reason .chicken{
  width: min(420px, 70vw);
  aspect-ratio: 1 / 1;
  background: url("../images/chicken.svg") center/contain no-repeat;
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.25));
}
.reason h2{
  margin:0;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .5px;
  font-size: clamp(30px, 4.3vw, 64px);
  line-height: .95;
  text-align:center;
  position:absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: min(900px, 92%);
}
.reason .big-bottom{
  margin:0;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .5px;
  font-size: clamp(26px, 4.1vw, 64px);
  line-height: .95;
  text-align:center;
  position:absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: min(900px, 92%);
}
.reason .side{
  position:absolute;
  width: min(260px, 40vw);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  line-height: 1.05;
  font-size: clamp(14px, 1.6vw, 18px);
  opacity: .95;
}
.reason .side.left{ left: 6%; top: 46%; transform: translateY(-50%); text-align:left; }
.reason .side.right{ right: 6%; top: 56%; transform: translateY(-50%); text-align:left; }

/* INSTAGRAM */
section.ig{ padding: 72px 0; background: var(--cream); }
.ig-head{ text-align:center; margin-bottom: 28px; }
.ig-head h3{
  margin:0;
  color: var(--red);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .6px;
  font-size: clamp(20px, 2.4vw, 28px);
}
.ig-carousel{ position: relative; overflow:hidden; border-radius: var(--radius-xl); }
.ig-track{ display:flex; transition: transform .55s ease; }
.ig-card{ flex: 0 0 25%; padding: 14px; }
.ig-card .img{
  width:100%;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  background: #222 center/cover no-repeat;
}
.ig-controls{ margin-top: 18px; display:flex; justify-content:center; gap: 10px; }
.ig-dot{ width: 10px; height:10px; border-radius: 999px; border:0; background: rgba(0,0,0,.18); }
.ig-dot.active{ background: var(--red); }
.ig-cta{ margin-top: 26px; display:flex; justify-content:center; }
.ig-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  border: 2px solid var(--red);
  color: var(--red);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.ig-grid-mobile{ display:none; }

/* ABOUT */
section.about{
  position: relative;
  min-height: 520px;
  background: #111 url("../images/sobre-jefa.png") center/cover no-repeat;
  color: var(--white);
  display:flex;
  align-items:center;
}
.about .overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.2));
}
.about .content{
  position: relative;
  z-index: 2;
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items:center;
  padding: 76px 0;
}
.about .copy{ max-width: 560px; }
.about .copy p{
  margin:0 0 12px 0;
  font-size: clamp(14px, 1.6vw, 18px);
  line-height: 1.35;
  opacity: .95;
}
.about .logo-big{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.about .logo-big img{
  width: min(520px, 70%);
  height:auto;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.35));
}
.about .btn-row{ margin-top: 18px; }

/* CONTACT */
section.contact{ padding:72px 0; background: var(--cream); }
.contact h3{
  margin:0;
  color: var(--red);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .6px;
  text-align:center;
}
.contact p{
  margin:14px auto 0;
  max-width:720px;
  opacity:.9;
  text-align:center;
}

/* FOOTER */
footer.site-footer{ background: var(--brown); padding: 22px 0; }
.footer-inner{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 22px;
  color: var(--red);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .3px;
  font-size: 12px;
}
.footer-brand img{ height: 42px; width:auto; }
.footer-nav{ display:flex; gap: 26px; align-items:center; justify-content:center; }
.footer-social{ display:flex; gap: 14px; align-items:center; justify-content:center; }
.footer-social a{
  width: 34px; height:34px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 2px solid rgba(227,29,26,.45);
}
.footer-rights{ white-space: nowrap; text-transform:none; font-weight: 700; letter-spacing: 0; }

/* RESPONSIVE */
@media (max-width: 900px){
  nav.desktop-nav{ display:none; }
  .hamburger{ display:inline-flex; }
  .brand{ min-width: 0; }

  .header-inner{ position: relative; justify-content: flex-end; }
  .brand{ position:absolute; left:50%; transform: translateX(-50%); }
  .brand img{ height: 40px; }

  .benefits-grid{ grid-template-columns: 1fr; }
  .benefits-left{ display:none; }
  .benefits-right{ min-height: 520px; }

  .reason{ padding: 64px 0; }
  .reason-inner{ min-height: 520px; }
  .reason .side.left{ left: 8%; top: 48%; width: 44vw; }
  .reason .side.right{ right: 8%; top: 62%; width: 44vw; }

  .ig-carousel{ display:none; }
  .ig-grid-mobile{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    border-radius: var(--radius-xl);
    overflow:hidden;
  }
  .ig-grid-mobile .img{
    aspect-ratio: 1/1;
    background: #222 center/cover no-repeat;
    border-radius: 18px;
  }

  .about .content{ grid-template-columns: 1fr; }
  .about .logo-big{ display:none; }

  .footer-inner{ flex-direction: column; text-align:center; }
  .footer-rights{ white-space: normal; }
}
