:root {

      --beige: #f6ecd9;

      --olive-soft: #d2d1a2;

      --green: #3c7b52;

      --green-dark: #15351f;

      --gold: #c9a24a;

      --gold-light: #f0d78a;

      --white: #fffaf1;

      --black: #15130f;

      --shadow: 0 24px 70px rgba(0,0,0,.18);

      --radius: 28px;

      --transition: all .45s ease;

    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; }

    body {

      font-family: "Georgia", "Times New Roman", serif;

      background: var(--beige);

      color: var(--black);

      overflow-x: hidden;

    }

    body::before {

      content: "";

      position: fixed;

      inset: 0;

      pointer-events: none;

      z-index: 50;

      background: radial-gradient(circle at var(--x, 50%) var(--y, 20%), rgba(240,215,138,.22), transparent 28%);

      mix-blend-mode: screen;

      transition: background .25s linear;

    }

    a { text-decoration: none; color: inherit; }

    img { max-width: 100%; display: block; }

    .container {

      width: min(1180px, 92%);

      margin: auto;

    }

    .gold-line {

      width: 100%;

      height: 1px;

      background: linear-gradient(90deg, transparent, var(--gold), transparent);

      margin: 0 auto;

    }

    .btn {

      display: inline-flex;

      align-items: center;

      justify-content: center;

      gap: 10px;

      padding: 14px 24px;

      border-radius: 999px;

      font-family: Arial, sans-serif;

      font-size: .78rem;

      font-weight: 700;

      letter-spacing: .08em;

      text-transform: uppercase;

      transition: var(--transition);

      cursor: pointer;

      border: 1px solid transparent;

    }

    .btn-gold {

      background: linear-gradient(135deg, var(--gold-light), var(--gold));

      color: #2d230f;

      box-shadow: 0 12px 34px rgba(201,162,74,.35);

    }

    .btn-gold:hover {

      transform: translateY(-3px);

      box-shadow: 0 20px 50px rgba(201,162,74,.45);

    }

    .btn-outline {

      border-color: rgba(240,215,138,.75);

      color: var(--gold-light);

      background: rgba(0,0,0,.18);

      backdrop-filter: blur(10px);

    }

    .btn-outline:hover {

      background: rgba(240,215,138,.14);

      transform: translateY(-3px);

    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: center;
    }

    /* HEADER */

    header {

      position: fixed;

      top: 0;

      width: 100%;

      z-index: 100;

      transition: var(--transition);

      background: linear-gradient(180deg, rgba(0,0,0,.65), transparent);

    }

    header.scrolled {

      background: rgba(21,53,31,.92);

      backdrop-filter: blur(16px);

      box-shadow: 0 10px 30px rgba(0,0,0,.2);

    }

    .navbar {

      height: 86px;

      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 24px;

    }

    .logo {

      color: var(--gold-light);

      font-weight: 800;

      line-height: 1.05;

      letter-spacing: .06em;

      text-transform: uppercase;

      font-size: .9rem;

    }

    .logo span {

      display: block;

      font-size: 1.5rem;

      color: var(--gold);

    }

    nav ul {

      display: flex;

      list-style: none;

      gap: 24px;

      align-items: center;

      font-family: Arial, sans-serif;

      font-size: .72rem;

      font-weight: 700;

      letter-spacing: .08em;

      text-transform: uppercase;

      color: white;

    }

    nav a { opacity: .88; transition: var(--transition); }

    nav a:hover { color: var(--gold-light); opacity: 1; }

    .nav-actions {
      display: flex;
      gap: 10px;
      align-items: center;
    }

    .nav-dropdown {
      position: relative;
    }

    .nav-dropdown-toggle {
      border: 0;
    }

    .nav-dropdown-toggle svg {
      width: 16px;
      height: 16px;
      transition: transform .25s ease;
    }

    .nav-dropdown-toggle path {
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .nav-dropdown.is-open .nav-dropdown-toggle svg {
      transform: rotate(180deg);
    }

    .nav-dropdown-menu {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      z-index: 120;
      width: 210px;
      padding: 10px;
      border: 1px solid #d8dadd;
      border-radius: 14px;
      background: #fffdf8;
      color: #3a3e42;
      box-shadow: 0 16px 34px rgba(0,32,79,.16);
      font-family: Arial, sans-serif;
      font-size: .86rem;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
    }

    .nav-dropdown.is-open .nav-dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .nav-dropdown-menu a {
      display: flex;
      align-items: center;
      min-height: 38px;
      padding: 9px 12px;
      border-radius: 10px;
      color: #3a3e42;
      transition: var(--transition);
    }

    .nav-dropdown-menu a:hover,
    .nav-dropdown-menu a:focus-visible {
      color: var(--green-dark);
      background: rgba(201,162,74,.14);
      outline: none;
    }

    /* BACKGROUNDS AISLADOS */

    .section-bg {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      background-color: var(--green-dark);
    }

    .section-bg::before,
    .section-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .section-bg::before {
      z-index: 0;
      background-image: var(--bg-image);
      background-position: var(--bg-position, center);
      background-size: cover;
      background-repeat: no-repeat;
      background-attachment: fixed;
      transform: scale(var(--bg-scale, 1));
    }

    .section-bg::after {
      z-index: 1;
      background: var(--bg-overlay, rgba(0,0,0,.35));
    }

    .section-bg > .container {
      position: relative;
      z-index: 2;
    }

    .section-bg--hero {
      --bg-image: url('../images/producto-elicalal.jpg');
    }

    .section-bg--elicalal {
      --bg-image: url('../images/producto-elicalal-01.png');
      --bg-overlay: linear-gradient(90deg, rgba(21,53,31,.9) 0%, rgba(21,53,31,.64) 42%, rgba(21,53,31,.18) 100%);
    }

    .section-bg--oro {
      --bg-image: url('../images/producto-oroflamenco-02.jpg');
      --bg-position: center;
    }

    .section-bg--magna {
      --bg-image: url('../images/producto-magna-oliva.png');
      --bg-overlay: linear-gradient(90deg, rgba(21,53,31,.96), rgba(21,53,31,-0.25));
    }

    .section-bg--healthy {
      --bg-image: url('../images/vida-saludable.jpg');
      --bg-overlay: linear-gradient(90deg, rgba(246,236,217,.95), rgba(246,236,217,.62), rgba(246,236,217,.2));
      background-color: var(--beige);
    }

    .section-bg--contact {
      --bg-image: url('../images/producto-elicalal-01.png');
      --bg-overlay: linear-gradient(90deg, rgba(21,53,31,.95), rgba(60,123,82,.88));
    }

    /* HERO */

    .hero {

      min-height: 100vh;

      position: relative;

      display: grid;

      place-items: center;

      color: white;

      overflow: hidden;

    }
    .hero-content {

      position: relative;

      z-index: 3;

      display: grid;

      grid-template-columns: 1.05fr .95fr;

      align-items: center;

      gap: 48px;

      padding-top: 86px;

    }

    .eyebrow {

      font-family: Arial, sans-serif;

      color: var(--gold-light);

      font-weight: 700;

      letter-spacing: .18em;

      text-transform: uppercase;

      margin-bottom: 16px;

      font-size: .78rem;

    }

    h1 {

      font-size: clamp(3.1rem, 6vw, 6.4rem);

      line-height: .92;

      font-weight: 500;

      max-width: 760px;

      text-wrap: balance;

    }

    .hero p {

      margin: 26px 0 34px;

      max-width: 520px;

      font-family: Arial, sans-serif;

      font-size: 1.8rem;

      line-height: 1.8;

      color: rgba(255,255,255,.86);

    }

    .hero-product {

      position: relative;

      display: grid;

      place-items: center;

      min-height: 580px;

      transform: translateY(-40px) scale(1.04);

      transform-origin: center bottom;

      filter: drop-shadow(0 30px 42px rgba(0, 0, 0, 0.42));

      z-index: 3;

    }

    .hero-product::before {

      content: "";

      position: absolute;

      width: 420px;

      height: 420px;

      border-radius: 50%;

      background: radial-gradient(circle, rgba(240,215,138,.48), transparent 65%);

      filter: blur(10px);

      animation: goldenPulse 4s ease-in-out infinite;

    }

    .hero-product img {

      position: relative;

      max-height: 560px;

      filter: drop-shadow(0 30px 55px rgba(0,0,0,.55));

      animation: floatProduct 5.5s ease-in-out infinite;

    }

    @keyframes floatProduct {

      0%,100% { transform: translateY(0); }

      50% { transform: translateY(-16px); }

    }

    @keyframes goldenPulse {

      0%,100% { opacity: .55; transform: scale(.95); }

      50% { opacity: 1; transform: scale(1.08); }

    }

    /* DROPS */

    .oil-drop {

      position: fixed;

      top: -30px;

      width: 9px;

      height: 16px;

      border-radius: 60% 60% 70% 70%;

      background: linear-gradient(180deg, var(--gold-light), var(--gold));

      z-index: 60;

      pointer-events: none;

      opacity: .85;

      filter: drop-shadow(0 0 10px rgba(240,215,138,.65));

      animation: dropFall linear forwards;

    }

    @keyframes dropFall {

      to { transform: translateY(110vh) scale(.75); opacity: 0; }

    }

    /* SECTIONS */

    section {

      position: relative;

      padding: 135px 0;

      overflow: hidden;

    }

    .section-title {

      font-size: clamp(2.3rem, 4vw, 4.2rem);

      line-height: 1;

      color: var(--green-dark);

      margin-bottom: 18px;

    }

    .section-copy {

      font-family: Arial, sans-serif;

      line-height: 1.8;

      color: rgba(21,19,15,.76);

      max-width: 680px;

      font-size: 1rem;

    }

    .who {

      min-height: 760px;

      padding: 88px 0 96px;

      display: flex;

      align-items: center;

      background: linear-gradient(180deg, #fffdf8 0%, var(--beige) 100%);

    }

    .who::before {

      content: "";

      position: absolute;

      inset: 0;

      background-size: 460px;

      opacity: .08;

    }

    .who-grid {

      position: relative;

      display: grid;

      grid-template-columns: minmax(0, .92fr) minmax(440px, .78fr);

      column-gap: 64px;

      row-gap: 22px;

      align-items: center;

    }

    .who-copy {

      width: min(650px, 100%);

      min-width: 0;
    }

    .who .eyebrow {
      margin-bottom: 12px;
      color: var(--gold);
    }

    .who .section-title {
      max-width: 560px;
      margin-bottom: 24px;
      color: var(--green-dark);
      font-size: clamp(52px, 7vw, 82px);
      line-height: .94;
      text-transform: uppercase;
    }

    .who .section-title::after {
      content: "";
      display: block;
      width: 52px;
      height: 4px;
      margin-top: 20px;
      border-radius: 999px;
      background: var(--gold);
    }

    .who .section-copy {
      max-width: 620px;
      color: rgba(21,19,15,.76);
      font-size: 16px;
    }

    .who .copy-spaced {
      margin-top: 12px;
    }

    .who-cta {
      margin-top: 32px;
      box-shadow: 0 14px 30px rgba(201,162,74,.28);
    }

    .cards {

      position: relative;

      display: block;

      min-height: 430px;

      padding: 10px 0 70px;

    }

    .card {

      min-height: 260px;

      display: flex;

      flex-direction: column;

      align-items: flex-start;

      justify-content: flex-start;

      padding: 34px;

      background: linear-gradient(145deg, rgba(60,123,82,.98), rgba(21,53,31,.98));

      border: 1px solid rgba(240,215,138,.72);

      border-radius: 24px;

      box-shadow: 0 28px 56px rgba(21,53,31,.24);

      backdrop-filter: blur(10px);

      transition: var(--transition);

    }

    .card:hover {
      box-shadow: 0 34px 70px rgba(21,53,31,.28);
    }

    .who-stack .card {
      position: absolute;
      width: min(360px, 76%);
      overflow: hidden;
      opacity: .58;
      pointer-events: none;
      will-change: transform, opacity;
    }

    .who-stack .card::before {
      content: "";
      position: absolute;
      inset: 1px;
      border-radius: 22px;
      border: 1px solid rgba(255,250,241,.18);
      pointer-events: none;
    }

    .who-stack .card:nth-child(1) {
      min-height: 308px;
    }

    .who-stack .card:nth-child(2) {
      min-height: 308px;
      background: linear-gradient(145deg, rgba(79,139,91,.96), rgba(35,82,47,.98));
    }

    .who-stack .card:nth-child(3) {
      min-height: 308px;
      background: linear-gradient(145deg, rgba(210,209,162,.98), rgba(201,162,74,.95));
    }

    .who-stack .card:nth-child(3) h3,
    .who-stack .card:nth-child(3) p,
    .who-stack .card:nth-child(3) li {
      color: var(--green-dark);
    }

    .who-stack .card:nth-child(3) .card-icon {
      color: rgba(21,53,31,.28);
    }

    .who-stack .card:nth-child(4) {
      background: rgba(255,250,241,.96);
    }

    .who-stack .card:nth-child(4) .card-icon {
      color: rgba(21,53,31,.28);
    }

    .who-stack .card.is-active {
      top: 0;
      left: 28px;
      z-index: 5;
      opacity: 1;
      pointer-events: auto;
      transform: translate(0, 0) scale(1);
    }

    .who-stack .card.is-next {
      top: 30px;
      left: 92px;
      z-index: 4;
      transform: translateX(18px) scale(.98);
    }

    .who-stack .card.is-back {
      top: 60px;
      left: 156px;
      z-index: 3;
      transform: translateX(36px) scale(.96);
    }

    .who-stack .card.is-hidden {
      top: 86px;
      left: 190px;
      z-index: 1;
      opacity: 0;
      transform: translateX(46px) scale(.94);
    }

    .card h3 {

      color: #fffaf1;

      margin-bottom: 12px;

      margin-top: auto;

      font-size: 1.45rem;

    }

    .card p,
    .card li {

      font-family: Arial, sans-serif;

      color: rgba(255,250,241,.8);

      line-height: 1.7;

      font-size: .94rem;

    }

    .card-icon {
      position: relative;
      z-index: 1;
      align-self: flex-end;
      color: rgba(255,250,241,.34);
      font-family: Arial, sans-serif;
      font-size: 2rem;
      font-weight: 900;
      line-height: 1;
    }

    .card ul {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding-left: 0;
      list-style: none;
    }

    .card li {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(201,162,74,.14);
      border: 1px solid rgba(201,162,74,.32);
      color: #fffaf1;
      font-weight: 700;
    }

    .cert-card {
      min-height: 0;

      display: grid;

      grid-template-columns: auto 1fr;

      gap: 18px;

      align-items: center;

      padding: 28px;

      background: rgba(255,250,241,.96);

      color: var(--green-dark);

      box-shadow: 0 24px 48px rgba(21,53,31,.16);

    }

    .cert-badge {
      width: 70px;
      height: 70px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      border: 1px solid var(--gold-light);
      color: var(--green-dark);
      background: rgba(201,162,74,.22);
      font-family: Arial, sans-serif;
      font-weight: 800;
      font-size: .8rem;
      text-align: center;
    }

    .cert-badge svg {
      display: block;
      width: 68px;
      height: 68px;
    }

    .cert-card h3,
    .cert-card p {
      color: var(--green-dark);
    }

    .cert-card h3 {
      margin-top: auto;
      margin-bottom: 6px;
      font-size: 1.25rem;
    }

    .cert-card p {
      color: rgba(21,19,15,.72);
      font-size: .88rem;
      line-height: 1.55;
    }

    .who-progress {
      position: absolute;
      right: 30px;
      bottom: 0;
      z-index: 6;
      display: flex;
      align-items: center;
      gap: 16px;
      width: min(260px, 70%);
      color: var(--green-dark);
      font-family: Arial, sans-serif;
      font-size: 12px;
      font-weight: 800;
    }

    .who-progress span {
      height: 3px;
      flex: 1;
      border-radius: 999px;
      background: linear-gradient(90deg, var(--green-dark) 0 var(--who-progress, 25%), rgba(21,53,31,.18) var(--who-progress, 25%) 100%);
      transition: background .3s ease;
    }

    .who-controls {
      grid-column: 1 / -1;
      justify-self: end;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      align-content: flex-start;
      gap: 12px 22px;
      width: auto;
      min-height: 40px;
      color: #63666a;
      font-family: Arial, sans-serif;
      font-size: 14px;
      font-weight: 700;
    }

    .who-control {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 40px;
      padding: 0;
      border: 0;
      background: transparent;
      color: inherit;
      font: inherit;
      letter-spacing: 0;
      white-space: nowrap;
      cursor: pointer;
    }

    .who-control:hover,
    .who-control:focus-visible {
      color: var(--green-dark);
      outline: none;
    }

    .who-control:focus-visible .who-control-icon {
      border-color: var(--gold);
      box-shadow: 0 0 0 4px rgba(201,162,74,.18);
    }

    .who-control-icon {
      width: 40px;
      height: 40px;
      flex: 0 0 40px;
      display: grid;
      place-items: center;
      border: 1px solid #d8dadd;
      border-radius: 50%;
      background: rgba(255,253,248,.82);
      color: #63666a;
      transition: var(--transition);
    }

    .who-control:hover .who-control-icon {
      border-color: var(--gold);
      color: var(--green-dark);
      background: rgba(201,162,74,.14);
    }

    .who-control-icon svg {
      width: 20px;
      height: 20px;
    }

    .who-control-icon path {
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* COLLECTION */

    .collection {
      background: linear-gradient(180deg, #fffdf8 0%, var(--beige) 100%);
    }

    .collection .shell {
      width: min(1180px, 92%);
      margin: auto;
    }

    .collection .section-heading {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(260px, .75fr);
      gap: 28px;
      align-items: end;
      margin-bottom: 42px;
    }

    .collection .section-heading h2 {
      margin-top: 10px;
      color: var(--green-dark);
      font-size: clamp(2.3rem, 4vw, 4.2rem);
      line-height: 1;
    }

    .collection .section-heading > p {
      max-width: 520px;
      color: rgba(21,19,15,.72);
      font-family: Arial, sans-serif;
      line-height: 1.75;
    }

    .product-cards {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .product-card {
      display: grid;
      min-width: 0;
      color: var(--black);
      overflow: hidden;
      text-decoration: none;
      background: var(--white);
      border: 1px solid rgba(21,19,15,.12);
      border-radius: 18px;
      box-shadow: 0 18px 42px rgba(21,53,31,.12);
      transition: transform .32s ease, box-shadow .32s ease;
    }

    .product-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 26px 56px rgba(21,53,31,.18);
    }

    .product-card-media {
      display: block;
      aspect-ratio: 4 / 3;
      background: rgba(246,236,217,.75);
      overflow: hidden;
    }

    .product-card-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .45s ease;
    }

    .product-card:hover .product-card-media img {
      transform: scale(1.035);
    }

    .product-card-media-contain img {
      object-fit: contain;
      padding: 14px;
    }

    .product-card-copy {
      display: grid;
      min-height: 186px;
      padding: 22px;
    }

    .product-card-copy small {
      margin-bottom: 8px;
      color: var(--gold);
      font-family: Arial, sans-serif;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .product-card-copy strong {
      color: var(--green-dark);
      font-size: 30px;
      font-weight: 700;
      line-height: 1.05;
    }

    .product-card-copy em {
      margin-top: 10px;
      color: rgba(21,19,15,.68);
      font-family: Arial, sans-serif;
      font-size: 14px;
      font-style: normal;
      line-height: 1.5;
    }

    .product-card-copy b {
      margin-top: auto;
      padding-top: 18px;
      color: var(--green);
      font-family: Arial, sans-serif;
      font-size: 13px;
      font-weight: 800;
    }

    .premium-band {

      min-height: 100vh;
      min-height: 100svh;

      display: grid;

      align-items: center;

      color: white;

      padding: 112px 0 88px;

    }

    .premium-content {

      display: grid;

      grid-template-columns: minmax(0, 680px);

      justify-content: start;

      align-items: center;

    }

    .premium-content h2, .product-row h2 { color: var(--gold-light); }

    .premium-content p {

      font-family: Arial, sans-serif;

      max-width: 550px;

      line-height: 1.8;

      font-size: 1.8rem;

      color: rgba(255,255,255,.86);

      margin: 20px 0;

    }

    .product-row {

      min-height: 540px;

      display: grid;

      align-items: center;

      background: var(--beige);

    }

    .product-row.dark {

      color: white;

    }

    .product-row--oro,
    #magna-oliva,
    #vida-saludable {
      min-height: 750px;
    }

    .product-grid {

      display: grid;

      grid-template-columns: 1fr 1fr;

      gap: 50px;

      align-items: center;

    }

    .product-row--oro .product-grid {
      grid-template-columns: minmax(0, .92fr) minmax(260px, .58fr);
    }

    .product-grid.reverse .product-image { order: -1; }

    .product-image img {

      max-height: 100%;

      margin: auto;

      filter: drop-shadow(0 22px 44px rgba(0,0,0,.28));

    }

    .product-image--bottle img {
      max-height: 540px;
      object-fit: contain;
      filter: drop-shadow(0 28px 48px rgba(0,0,0,.38));
    }

    .benefits {

      display: grid;

      grid-template-columns: repeat(3, 1fr);

      gap: 14px;

      margin: 26px 0;

      font-family: Arial, sans-serif;

    }

    .benefit {

      border: 1px solid rgba(201,162,74,.45);

      border-radius: 18px;

      padding: 16px;

      background: rgba(05, 05, 05,.55);

      font-size: .84rem;

      line-height: 1.5;

      color: rgba(21,19,15,.72);

    }

    .dark .benefit {

      color: rgba(255,255,255,.86);

      background: rgba(255,255,255,.06);

    }

    .flavors {

      background: linear-gradient(180deg, #fffaf1, var(--beige));

    }

    .flavor-grid {

      display: grid;

      grid-template-columns: .9fr 1.1fr;

      gap: 50px;

      align-items: center;

    }

    .flavor-list {

      display: grid;

      grid-template-columns: repeat(2, 1fr);

      gap: 14px;

      margin-top: 24px;

    }

    .flavor-pill {

      border: 1px solid rgba(201,162,74,.5);

      border-radius: 999px;

      padding: 13px 18px;

      font-family: Arial, sans-serif;

      background: white;

      color: var(--green-dark);

      cursor: pointer;

      text-align: left;

      appearance: none;

      transition: var(--transition);

    }

    .flavor-pill:hover,
    .flavor-pill:focus-visible,
    .flavor-pill.is-active {

      background: var(--green);

      color: white;

      transform: translateX(5px);

      border-color: var(--green);

      box-shadow: 0 14px 30px rgba(13, 89, 72, .16);

      outline: none;

    }

    .flavor-pill:focus-visible {

      box-shadow: 0 0 0 3px rgba(201, 162, 74, .28), 0 14px 30px rgba(13, 89, 72, .16);

    }

    .flavors .product-image img {

      transition: opacity .22s ease, transform .22s ease;

    }

    .flavors .product-image img.is-switching {

      opacity: .45;

      transform: scale(.985);

    }

    .healthy {

      min-height: 520px;

      display: grid;

      align-items: center;

    }

    .pro {

      background: #fffaf1;

      text-align: center;

    }

    .logos {
      margin-top: 38px;
      font-family: Arial, sans-serif;
      font-weight: 800;
    }

    /* Banner de confianza (marquee) */
    .logos-marquee {
      box-sizing: border-box;
      display: flex;
      flex-direction: row;
      align-items: center;
      width: 100vw;
      height: 152px;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      padding: 0;
      overflow: hidden;
      flex: none;
      align-self: stretch;
      flex-grow: 0;
      z-index: 2;
    }

    .logos-track {
      display: flex;
      flex-direction: row;
      align-items: center;
      width: max-content;
      min-width: max-content;
      height: 100%;
      gap: 0;
      animation: logoSlide 30s linear infinite;
      will-change: transform;
    }

    .logos div {
      width: 190px;
      height: 152px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 190px;
      padding: 0 134px;
      background: transparent;
      border: 0;
      border-radius: 0;
      opacity: 1;
      transition: opacity .2s ease, transform .2s ease;
    }

    .logos img {
      width: auto;
      max-width: 122px;
      max-height: 128px;
      object-fit: contain;
    }

    .logos-marquee:hover .logos-track { animation-play-state: paused; }

    @keyframes logoSlide {
      from { transform: translateX(0); }
      to { transform: translateX(calc(-50% - 9px)); }
    }

    .logos div:hover {
      opacity: 1;
      transform: translateY(-1px);
    }

    .logos div:hover img {
      filter: none;
    }

    .contact {

      color: white;

    }

    .contact .section-title { color: var(--gold-light); }

    .contact .section-copy { color: rgba(255,255,255,.82); }

    .contact-grid {

      display: grid;

      grid-template-columns: .85fr 1.15fr;

      gap: 50px;

      align-items: start;

    }

    .lead-form {

      display: grid;

      grid-template-columns: repeat(2, minmax(0, 1fr));

      gap: 16px;

      background: rgba(255,250,241,.08);

      border: 1px solid rgba(240,215,138,.32);

      border-radius: var(--radius);

      padding: 28px;

      backdrop-filter: blur(14px);

    }

    .form-field {
      display: flex;
      flex-direction: column;
      min-width: 0;
    }

    .form-field--wide {
      grid-column: 1 / -1;
    }

    input, textarea, select {

      width: 100%;

      border: 1px solid rgba(240,215,138,.35);

      background: rgba(255,255,255,.9);

      padding: 15px 16px;

      border-radius: 14px;

      font-family: Arial, sans-serif;

      outline: none;

    }

    textarea { min-height: 130px; resize: vertical; grid-column: 1 / -1; }

    .field-error {
      display: block;
      min-height: 16px;
      margin: 6px 0 0;
      color: #ffd7d7;
      font-family: Arial, sans-serif;
      font-size: .78rem;
      line-height: 1.3;
    }

    .lead-form [aria-invalid="true"] {
      border-color: #ff9f8f;
      box-shadow: 0 0 0 3px rgba(255,159,143,.18);
    }

    .honeypot {
      position: absolute;
      left: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    .consent {
      grid-column: 1 / -1;
      display: flex;
      align-items: flex-start;
      gap: 10px;
      color: rgba(255,250,241,.78);
      font-family: Arial, sans-serif;
      font-size: .9rem;
      line-height: 1.5;
    }

    .consent input {
      width: 18px;
      min-height: 18px;
      margin-top: 2px;
      accent-color: var(--gold);
      flex: 0 0 18px;
    }

    .consent a {
      color: var(--gold-light);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .form-status {
      grid-column: 1 / -1;
      min-height: 22px;
      color: rgba(255,250,241,.84);
      font-family: Arial, sans-serif;
      line-height: 1.5;
    }

    .form-status.is-error { color: #ffd7d7; }

    .form-status.is-success { color: #d8ffd7; }

    .submit-button[disabled] {
      opacity: .65;
      cursor: wait;
    }

    .whatsapp-continuation[hidden] { display: none; }

    .lead-form .btn { grid-column: 1 / -1; border: none; }

    .copy-spaced { margin-top: 18px; }
    .section-copy--centered { margin: auto; }
    .section-copy--light { color: rgba(255,255,255,.84); }
    .mt-26 { margin-top: 26px; }
    .mt-34 { margin-top: 34px; }
    .footer-tagline { margin-top: 14px; }

    footer {

      background: var(--green-dark);

      color: white;

      padding: 40px 0;

      font-family: Arial, sans-serif;

    }

    .footer-grid {

      display: grid;

      grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr));

      gap: 28px;

      align-items: start;

    }

    footer h2,
    footer h4 { color: var(--gold-light); margin-bottom: 14px; font-size: 1rem; }

    footer p, footer a { color: rgba(255,255,255,.72); line-height: 1.9; font-size: .9rem; }

    .legal-modal {
      position: fixed;
      inset: 0;
      z-index: 300;
      display: grid;
      place-items: center;
      padding: clamp(16px, 4vw, 34px);
      opacity: 0;
      pointer-events: none;
      visibility: hidden;
      transition: opacity .22s ease, visibility .22s ease;
    }

    .legal-modal.is-open {
      opacity: 1;
      pointer-events: auto;
      visibility: visible;
    }

    .legal-modal-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(8, 19, 11, .72);
      backdrop-filter: blur(10px);
    }

    .legal-modal-panel {
      position: relative;
      width: min(100%, 820px);
      max-height: min(82vh, 820px);
      overflow: auto;
      padding: clamp(22px, 4vw, 44px);
      border: 1px solid rgba(240, 215, 138, .28);
      border-radius: 20px;
      background: #fffaf0;
      color: #18160f;
      box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
      transform: translateY(18px) scale(.98);
      transition: transform .24s ease;
    }

    .legal-modal.is-open .legal-modal-panel {
      transform: translateY(0) scale(1);
    }

    .legal-modal-close {
      position: sticky;
      top: 0;
      float: right;
      width: 42px;
      height: 42px;
      margin: -10px -10px 8px 16px;
      border: 1px solid rgba(21, 53, 31, .16);
      border-radius: 14px;
      background: rgba(21, 53, 31, .08);
      color: var(--green-dark);
      display: grid;
      place-items: center;
      cursor: pointer;
    }

    .legal-modal-close span {
      position: absolute;
      width: 18px;
      height: 2px;
      border-radius: 99px;
      background: currentColor;
    }

    .legal-modal-close span:first-child { transform: rotate(45deg); }
    .legal-modal-close span:last-child { transform: rotate(-45deg); }

    .legal-modal-kicker {
      display: inline-flex;
      margin-bottom: 18px;
      padding: 8px 11px;
      border-left: 4px solid var(--gold);
      background: #fff3ce;
      color: #674f16;
      font-family: Arial, sans-serif;
      font-size: .78rem;
      font-weight: 800;
      line-height: 1.25;
    }

    .legal-modal-date {
      margin: 0 0 8px;
      color: #655f54;
      font-family: Arial, sans-serif;
      font-size: .86rem;
    }

    .legal-modal h2,
    .legal-modal h3 {
      color: var(--green-dark);
      font-family: Georgia, serif;
      font-weight: 500;
      line-height: 1.12;
    }

    .legal-modal h2 {
      margin: 0 0 18px;
      font-size: clamp(2.1rem, 5vw, 3.6rem);
    }

    .legal-modal h3 {
      margin: 28px 0 10px;
      font-size: 1.32rem;
    }

    .legal-modal p,
    .legal-modal li {
      color: #655f54;
      font-family: Arial, sans-serif;
      font-size: .98rem;
      line-height: 1.72;
    }

    .legal-modal ul {
      margin: 0 0 0 20px;
      padding: 0;
    }

    .legal-modal a {
      color: var(--green-dark);
      font-weight: 800;
    }

    .alliance-modal-panel {
      width: min(100%, 680px);
    }

    .alliance-modal-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 28px;
    }

    .alliance-modal-actions .btn {
      min-width: min(100%, 210px);
    }

    .alliance-modal .alliance-download {
      border-color: rgba(21, 53, 31, .28);
      background: rgba(21, 53, 31, .06);
      color: var(--green-dark);
      backdrop-filter: none;
    }

    .alliance-modal .alliance-download:hover {
      background: rgba(21, 53, 31, .12);
    }

    body.legal-modal-open {
      overflow: hidden;
    }

    .fade-up {

      opacity: 0;

      transform: translateY(40px);

      transition: opacity .8s ease, transform .8s ease;

    }

    .fade-up.visible {

      opacity: 1;
      z-index: 2;
      transform: translateY(0);

    }

    .hero-product.fade-up {

      transform: translateY(-20px) scale(1.04);

    }

    .hero-product.fade-up.visible {

      transform: translateY(-40px) scale(1.04);

    }

    .whatsapp {

      position: fixed;

      right: 22px;

      bottom: 22px;

      z-index: 120;

      width: 58px;

      height: 58px;

      border-radius: 50%;

      background: #25D366;

      color: white;

      display: grid;

      place-items: center;

      font-family: Arial, sans-serif;

      font-weight: 800;

      box-shadow: 0 14px 38px rgba(0,0,0,.28);

      transition: var(--transition);

    }

    .whatsapp:hover { transform: scale(1.08); }

    @media (max-width: 980px) {

      nav { display: none; }

      .hero-content,

      .who-grid,

      .premium-content,

      .product-grid,

      .flavor-grid,

      .contact-grid,

      .footer-grid { grid-template-columns: 1fr; }

      .section-bg::before { background-attachment: scroll; }
      .hero { min-height: auto; padding: 120px 0 70px; }

      .hero-product { min-height: 380px; }

      .hero-product img { max-height: 360px; }

      .who {
        padding: 72px 0;
        min-height: auto;
      }

      .who-grid {
        gap: 34px;
      }

      .who-copy {
        width: 100%;
      }

      .who .section-title {
        font-size: clamp(36px, 11vw, 48px);
      }

      .who .section-copy {
        font-size: 16px;
      }

      .cards, .benefits { grid-template-columns: 1fr; }

      .who-stack {
        min-height: 430px;
        padding-bottom: 58px;
      }

      .who-stack .card {
        width: min(360px, 86%);
      }

      .who-stack .card:nth-child(1) {
        min-height: 308px;
      }

      .who-stack .card:nth-child(2) {
        min-height: 308px;
      }

      .who-stack .card:nth-child(3) {
        min-height: 308px;
      }

      .who-stack .card.is-active {
        left: 0;
        top: 0;
        transform: none;
      }

      .who-stack .card.is-next {
        left: 32px;
        top: 28px;
        transform: none;
      }

      .who-stack .card.is-back {
        left: 64px;
        top: 56px;
        transform: none;
      }

      .who-stack .card.is-hidden {
        left: 84px;
        top: 78px;
        transform: none;
      }

      .cert-card {
        width: min(360px, 86%);
        grid-template-columns: 1fr;
      }

      .who-progress {
        right: 0;
        bottom: 0;
        width: 100%;
      }

      .who-controls {
        justify-self: start;
        gap: 10px 14px;
        font-size: 13px;
      }

      .who-control {
        gap: 8px;
      }

      .who-control-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
      }

      .who-control-icon svg {
        width: 18px;
        height: 18px;
      }

      .collection .section-heading {
        grid-template-columns: 1fr;
        align-items: start;
      }

      .product-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .product-grid.reverse .product-image { order: 0; }

      .product-row--oro .product-grid { grid-template-columns: 1fr; }

      .product-image--bottle img { max-height: 420px; }

      form { grid-template-columns: 1fr; }

    }

    @media (prefers-reduced-motion: reduce) {
      .logos-track { animation: none; }
    }
