:root{
  --ink:#0b1a2c;
  --deep:#0a2c5e;
  --deeper:#06182f;
  --teal:#1cb5b0;
  --teal-strong:#0fa6a0;
  --sky:#9fd9e8;
  --yellow:#e9b048;
  --gray:#6b7a8a;
  --soft:#eef1f4;
  --page:#d8e0e7;
  --serif:'Fraunces','Times New Roman',serif;
  --sans:'Inter','Helvetica Neue',Arial,sans-serif;

  --stage-px-r:64px;
  --stage-px-l:120px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--page);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit}
em{font-style:italic}
strong{font-weight:600;color:inherit}

/* PAGE BACKGROUND (gris azulado exterior) */
.page-bg{
  position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(1200px 800px at 80% -10%, #e7ecf1 0%, transparent 60%),
    radial-gradient(1000px 700px at 0% 100%, #dde4eb 0%, transparent 60%),
    #d8e0e7;
}
.bg-blobs{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;mix-blend-mode:multiply}
.blob-1{width:560px;height:560px;background:radial-gradient(closest-side,#9fd9e8,transparent);top:-120px;left:-120px;animation:float1 22s ease-in-out infinite}
.blob-2{width:520px;height:520px;background:radial-gradient(closest-side,#1cb5b0,transparent);top:30%;right:-100px;animation:float2 28s ease-in-out infinite}
.blob-3{width:480px;height:480px;background:radial-gradient(closest-side,#e9b048,transparent);bottom:-100px;left:30%;animation:float3 30s ease-in-out infinite;opacity:.28}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(80px,40px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-60px,60px)}}
@keyframes float3{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-50px)}}

/* ================ GLASS UTILITY ================ */
.glass{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.55));
  backdrop-filter:blur(18px) saturate(180%);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(255,255,255,.25) inset,
    0 14px 40px -16px rgba(11,26,44,.18),
    0 2px 8px rgba(11,26,44,.06);
}
.glass-strong{
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.18));
  backdrop-filter:blur(22px) saturate(180%);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    0 1px 0 rgba(255,255,255,.6) inset,
    0 -1px 0 rgba(255,255,255,.2) inset,
    0 10px 30px -10px rgba(0,0,0,.35);
  color:#fff;
}
.glass-deep{
  background:linear-gradient(180deg,rgba(10,30,60,.72),rgba(8,18,40,.55));
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 1px 0 rgba(255,255,255,.15) inset,
    0 -1px 0 rgba(0,0,0,.25) inset,
    0 24px 60px -20px rgba(0,0,0,.5);
  color:#fff;
}

/* ================ STAGE (frame central restaurado) ================ */
.stage{
  position:relative;
  width:calc(100% - 112px);
  margin:56px auto;
  background:#ffffff;
  border-radius:34px;
  box-shadow:
    0 30px 80px -30px rgba(11,26,44,.18),
    0 8px 24px -12px rgba(11,26,44,.10);
  padding:28px var(--stage-px-r) 0 var(--stage-px-l);
  overflow:hidden;
}
.stage.tail{padding-top:0;padding-bottom:30px}

/* helper para secciones que sangran a los bordes de la stage */
.bleed{
  margin-left:calc(-1 * var(--stage-px-l));
  margin-right:calc(-1 * var(--stage-px-r));
}

/* ================ HEADER ================ */
.header{
  position:relative;
  z-index:6;
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;
  padding:6px 4px 0 0;
}
.brand{display:inline-flex;align-items:center;height:64px;flex-shrink:0}
.brand img{height:64px;width:auto;max-width:none}

.navpill{
  display:flex;align-items:center;gap:2px;
  border-radius:999px;
  padding:6px 6px 6px 22px;
  background:#ffffff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1px solid rgba(11,26,44,.06) !important;
  box-shadow:
    0 1px 0 #ffffff inset,
    0 12px 28px -16px rgba(11,26,44,.18),
    0 3px 8px -3px rgba(11,26,44,.08) !important;
}
.navpill > a{
  font-size:13px;font-weight:500;color:#2a3a4d;
  padding:9px 14px;border-radius:999px;
  transition:all .2s;
}
.navpill > a:hover{background:rgba(28,181,176,.12);color:var(--teal-strong)}
.nav-menu{
  width:38px;height:38px;
  flex-shrink:0;
  border-radius:50%;
  background:linear-gradient(180deg,#0b1a2c 0%,#06182f 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  margin-left:6px;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 8px 16px -8px rgba(11,26,44,.4);
  transition:transform .25s,box-shadow .25s;
  -webkit-tap-highlight-color:transparent;
}
.nav-menu:hover{
  transform:scale(1.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,.22) inset,
    0 12px 22px -8px rgba(11,26,44,.5);
}
.nav-menu .nav-menu-bar{
  display:block;
  width:15px;height:1.6px;background:#fff;border-radius:1.5px;
  transition:transform .35s cubic-bezier(.3,1,.4,1),width .3s,opacity .25s;
}
.nav-menu:hover .nav-menu-bar:nth-child(2){width:10px}
/* Abierto → la hamburguesa se transforma en X (cambia el estado del propio botón,
   no aparece un segundo menú). */
.nav-menu[aria-expanded="true"] .nav-menu-bar{width:18px}
.nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
.nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(2){opacity:0;transform:scaleX(.2)}
.nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}
.nav-menu[aria-expanded="true"]:hover .nav-menu-bar:nth-child(2){width:18px}

/* Móvil: botón perfectamente circular, sombra mínima y centrada */
@media (max-width:720px){
  .nav-menu{
    width:46px;height:46px;
    background:#ffffff;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border:1px solid rgba(11,26,44,.08);
    box-shadow:0 2px 8px rgba(11,26,44,.05);
  }
  .nav-menu .nav-menu-bar{background:#0b1a2c;width:17px;height:2px;border-radius:2px}
  .nav-menu:hover .nav-menu-bar:nth-child(2){width:12px}
  /* X en móvil: barras 2px + gap 4px → centros a 6px */
  .nav-menu[aria-expanded="true"] .nav-menu-bar{width:19px}
  .nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* Nav dropdown — floating menu estilo lang */
.nav-menu-wrap{position:relative;display:inline-flex;margin-left:6px}
.nav-dropdown{
  position:absolute;right:0;top:calc(100% + 12px);
  min-width:260px;
  display:flex;flex-direction:column;gap:2px;padding:10px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(245,250,253,.66));
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(255,255,255,.25) inset,
    0 24px 56px -18px rgba(11,26,44,.28),
    0 8px 18px -6px rgba(11,26,44,.14);
  opacity:0;pointer-events:none;
  transform:translateY(-6px) scale(.97);
  transform-origin:top right;
  transition:opacity .25s,transform .3s cubic-bezier(.3,1.3,.5,1);
  z-index:40;
}
.nav-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.nav-dropdown a{
  display:flex;align-items:center;gap:14px;
  padding:11px 14px;border-radius:13px;
  font-size:14px;font-weight:500;color:#1a2a3d;
  transition:background .2s,color .2s,padding-left .25s;
}
.nav-dropdown a:hover{
  background:rgba(28,181,176,.10);
  color:var(--teal-strong);
  padding-left:18px;
}
.nav-dropdown .nav-num{
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:13px;color:var(--teal);min-width:22px;
  letter-spacing:.02em;
}
.nav-dropdown a:hover .nav-num{color:var(--teal-strong)}
.nav-dropdown .nav-name{flex:1}
.nav-dropdown-foot{
  display:flex;flex-direction:column;gap:2px;
  margin:8px 4px 2px;padding:10px 12px;
  background:rgba(11,26,44,.04);border-radius:11px;
  font-size:11px;color:#5a6a7c;font-weight:500;
}

/* ===== Menú móvil: hoja a ancho completo bajo la barra + backdrop ===== */
@media (max-width:720px){
  .nav-dropdown{
    position:fixed;
    left:12px; right:12px; top:80px;
    min-width:0; width:auto; max-width:none;
    max-height:calc(100vh - 100px); overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:12px;
    border-radius:22px;
    background:#ffffff !important;
    transform-origin:top center;
    transform:translateY(-8px) scale(.98);
    box-shadow:0 30px 70px -20px rgba(11,26,44,.45), 0 8px 24px -10px rgba(11,26,44,.2);
    z-index:42;
  }
  /* La barra (logo+hamburguesa+idioma) queda por encima del backdrop */
  html.nav-open .header{ z-index:41; }
  .nav-dropdown.open{ transform:translateY(0) scale(1); }
  .nav-dropdown a{ padding:15px 14px; border-radius:14px; }
  .nav-dropdown .nav-num{ font-size:13px; min-width:26px; }
  .nav-dropdown .nav-name{ font-size:17px; }
  .nav-dropdown-foot{ margin-top:10px; padding:13px 14px; font-size:12px; }
  /* Backdrop que oscurece el resto al abrir el menú */
  html.nav-open::before{
    content:""; position:fixed; inset:0; z-index:38;
    background:rgba(6,18,40,.42);
    animation:navBackIn .25s ease both;
  }
  html.nav-open{ overflow:hidden; }
}
@keyframes navBackIn{ from{opacity:0} to{opacity:1} }

.lang-wrap{position:relative}
.lang-pill{
  display:flex;align-items:center;gap:7px;
  font-size:12px;font-weight:600;color:#2a3a4d;
  border-radius:999px;
  padding:9px 14px;
  background:#ffffff;
  border:1px solid rgba(11,26,44,.06);
  box-shadow:
    0 1px 0 #ffffff inset,
    0 12px 28px -16px rgba(11,26,44,.18),
    0 3px 8px -3px rgba(11,26,44,.08);
  cursor:pointer;
  transition:transform .2s,box-shadow .25s;
}
.lang-pill:hover{transform:translateY(-1px);box-shadow:0 1px 0 #fff inset,0 16px 32px -16px rgba(11,26,44,.24),0 4px 10px -3px rgba(11,26,44,.1)}
.lang-pill .lang-caret{transition:transform .25s}
.lang-pill[aria-expanded="true"] .lang-caret{transform:rotate(180deg)}

/* Liquid glass dropdown */
.lang-menu{
  position:absolute;right:0;top:calc(100% + 10px);
  min-width:220px;
  display:flex;flex-direction:column;gap:2px;padding:8px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(245,250,253,.66));
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(255,255,255,.25) inset,
    0 20px 50px -16px rgba(11,26,44,.28),
    0 6px 16px -6px rgba(11,26,44,.14);
  opacity:0;pointer-events:none;
  transform:translateY(-6px) scale(.97);
  transition:opacity .25s,transform .3s cubic-bezier(.3,1.3,.5,1);
  z-index:30;
}
.lang-menu.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.lang-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:11px;
  font-size:13px;font-weight:500;color:#1a2a3d;
  text-align:left;cursor:pointer;
  transition:background .2s,color .2s;
  background:transparent;border:none;
}
.lang-item:hover{background:rgba(28,181,176,.10);color:var(--teal-strong)}
.lang-item.active{background:linear-gradient(180deg,rgba(28,181,176,.18),rgba(28,181,176,.08));color:var(--teal-strong)}
.lang-flag{font-size:18px;line-height:1;width:22px;text-align:center}
.lang-name{flex:1;font-weight:500}
.lang-code{font-size:10.5px;letter-spacing:.1em;font-weight:700;color:#8b97a4}
.lang-item.active .lang-code{color:var(--teal-strong)}
.lang-ai-hint{
  display:flex;align-items:center;gap:6px;
  margin:6px 4px 2px;padding:8px 10px;
  background:rgba(28,181,176,.08);border-radius:9px;
  font-size:10.5px;color:#5a6a7c;font-weight:500;
}
.lang-ai-hint svg{color:var(--teal-strong);flex-shrink:0}
.lang-ai-hint strong{color:var(--teal-strong);font-weight:600}

/* DRAWER — liquid glass total, ve la página detrás */
.drawer{
  position:fixed;top:0;right:-420px;width:380px;height:100vh;
  z-index:80;
  display:flex;flex-direction:column;
  padding:80px 36px 30px;
  background:linear-gradient(180deg,rgba(255,255,255,.32) 0%,rgba(248,251,253,.18) 100%);
  backdrop-filter:blur(32px) saturate(180%);
  -webkit-backdrop-filter:blur(32px) saturate(180%);
  border-left:1px solid rgba(255,255,255,.45);
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    -24px 0 60px -24px rgba(11,26,44,.18);
  transition:right .4s cubic-bezier(.6,.2,.2,1);
}
.drawer.open{right:0}
.drawer-close{
  position:absolute;top:24px;right:24px;
  width:40px;height:40px;border-radius:50%;
  font-size:24px;line-height:1;color:#0b1a2c;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 6px 14px -6px rgba(11,26,44,.18);
  transition:transform .25s,background .2s;
}
.drawer-close:hover{transform:rotate(90deg);background:rgba(255,255,255,.75)}
.drawer nav{display:flex;flex-direction:column;gap:4px}
.drawer nav a{
  font-family:var(--serif);font-size:26px;font-weight:500;
  padding:12px 0;border-bottom:1px solid rgba(11,26,44,.10);
  color:var(--ink);transition:color .25s,padding-left .25s,letter-spacing .25s;
}
.drawer nav a:hover{color:var(--teal-strong);padding-left:8px;letter-spacing:.005em}
.drawer-foot{
  margin-top:auto;display:flex;flex-direction:column;gap:6px;
  font-size:13px;color:#3c4a5c;font-weight:500;
}
/* Backdrop: blur ligero para enfocar la atención, sin oscurecer todo */
.drawer-back{
  position:fixed;inset:0;
  background:linear-gradient(90deg,rgba(11,26,44,.08) 0%,rgba(11,26,44,.18) 100%);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:70;opacity:0;pointer-events:none;transition:opacity .3s;
}
.drawer-back.show{opacity:1;pointer-events:auto}

@media (max-width:720px){
  .drawer{
    width:88%;max-width:360px;right:-100%;
    padding:72px 28px 24px;
    /* En móvil, glass aún más translúcido para ver la página */
    background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(248,251,253,.14) 100%);
    backdrop-filter:blur(36px) saturate(185%);
    -webkit-backdrop-filter:blur(36px) saturate(185%);
  }
  .drawer nav a{font-size:22px;padding:10px 0}
}

/* ================ SIDE RAIL ================ */
.side-rail{
  position:absolute;left:32px;top:140px;width:54px;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:18px;
}
.rail-num{
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:36px;color:var(--teal);letter-spacing:-.02em;line-height:1;
}
.rail-dots{display:flex;flex-direction:column;gap:6px;align-items:center;padding:4px 0}
.rail-dots span{width:4px;height:4px;border-radius:50%;background:#c7d0d9}
.rail-dots span:nth-child(2){background:var(--teal)}
.rail-label{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:10px;letter-spacing:.32em;color:#8b97a4;font-weight:600;
}
.rail-arrow{
  width:38px;height:38px;border-radius:50%;
  color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  margin-top:6px;
  transition:transform .25s;
  animation:bounce 2.4s ease-in-out infinite;
}
.rail-arrow:hover{transform:translateY(2px) scale(1.06)}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ================ HERO (dentro de stage) ================ */
/* hero=static para que .ship-cutout absoluto se ancle a la .stage entera
   y pueda extenderse hasta la esquina superior-derecha pasando bajo el header */
.hero{position:static;padding-bottom:0;background:#fff}

.ship-cutout{
  position:absolute;
  top:calc(-1 * 28px);
  right:calc(-1 * var(--stage-px-r));
  width:calc(53% + var(--stage-px-r));
  height:660px;
  clip-path:url(#shipMask);
  -webkit-clip-path:url(#shipMask);
  overflow:hidden;
  z-index:1;
  cursor:pointer;
  filter:drop-shadow(0 24px 60px rgba(11,26,44,.18));
  transition:filter .4s;
}
.ship-cutout:hover{filter:drop-shadow(0 30px 80px rgba(28,181,176,.28))}
.ship-cutout .ship-img,
.ship-cutout .ship-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 45%;
  transition:transform 1.4s cubic-bezier(.3,1,.4,1);
}
.ship-cutout:hover .ship-img{transform:scale(1.05)}
.ship-cutout .ship-video{opacity:0;transition:opacity .8s}
.ship-cutout:hover .ship-video{opacity:1}
.ship-shade{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(8,18,32,.2) 0%, rgba(8,18,32,0) 40%, rgba(8,18,32,0) 60%, rgba(8,18,32,.32) 100%);
  pointer-events:none;
}
.ship-cutout::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:70px;
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.55) 75%,rgba(255,255,255,.95) 100%);
  pointer-events:none;
}
.play-btn{
  position:absolute;left:50%;top:55%;
  transform:translate(-50%,-50%);
  display:flex;align-items:center;gap:12px;
  padding:14px 24px 14px 18px;border-radius:999px;
  color:#fff;font-weight:600;font-size:13px;
  z-index:3;
  background:linear-gradient(180deg,#0b1a2c 0%,#06182f 100%) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1.5px solid rgba(255,255,255,.16) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 0 0 6px rgba(11,26,44,.18),
    0 20px 50px -16px rgba(0,0,0,.6),
    0 6px 14px -4px rgba(0,0,0,.35) !important;
  transition:all .3s;
}
.play-btn:hover{transform:translate(-50%,-50%) scale(1.06)}
.play-btn .play-ring{
  position:absolute;inset:-12px;border-radius:999px;
  border:2px solid rgba(11,26,44,.4);
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1.35)}
}
.play-btn svg{position:relative;z-index:1}
.play-btn .play-label{position:relative;z-index:1}

/* HERO TEXT */
.hero-text{position:relative;z-index:4;max-width:560px;margin-top:60px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:700;letter-spacing:.18em;
  color:var(--teal);margin-bottom:18px;
}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:dotpulse 2s infinite}
.eyebrow-light{color:#7fe3df}
.eyebrow-light .dot{background:var(--teal)}
@keyframes dotpulse{0%,100%{box-shadow:0 0 0 0 rgba(28,181,176,.6)}50%{box-shadow:0 0 0 8px rgba(28,181,176,0)}}

.hero-title{
  font-family:var(--serif);font-weight:500;
  font-size:66px;line-height:1.02;letter-spacing:-.025em;color:var(--ink);
}
.hero-title .period{color:var(--teal);display:inline-block}

.hero-copy{
  margin-top:22px;font-size:15px;line-height:1.55;color:var(--gray);max-width:420px;
}
.hero-cta{display:flex;gap:12px;margin-top:28px;align-items:center;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:9px 9px 9px 22px;border-radius:999px;
  font-size:13px;font-weight:600;
  transition:transform .2s,box-shadow .2s;
  position:relative;overflow:hidden;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(11,26,44,.4)}
.btn-solid{background:var(--ink);color:#fff}
.btn-solid .btn-arrow{background:#fff;color:var(--ink)}
.btn-outline{background:transparent;color:var(--ink);border:1px solid #c8cfd6}
.btn-outline .btn-arrow{background:var(--ink);color:#fff}
.btn-arrow{
  width:30px;height:30px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .25s;
}
.btn:hover .btn-arrow{transform:translateX(3px)}

/* KPI CARDS ROW (limpias, sólidas, más gráficas) */
.cards-row{
  position:relative;z-index:4;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;margin-top:80px;
}
.kpi-card{
  border-radius:22px;
  padding:22px 20px 22px;
  min-height:172px;
  display:flex;flex-direction:column;
  position:relative;
  overflow:hidden;
  /* Override glass: blanco sólido limpio sin captar colores del fondo */
  background:#ffffff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1px solid rgba(11,26,44,.06) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 18px 36px -22px rgba(11,26,44,.16),
    0 4px 10px -4px rgba(11,26,44,.06) !important;
  transition:transform .4s cubic-bezier(.3,1,.4,1), box-shadow .4s;
}
.kpi-card::before{display:none}
.kpi-card:hover{
  transform:translateY(-4px);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 26px 50px -22px rgba(11,26,44,.18),
    0 6px 14px -6px rgba(11,26,44,.08) !important;
}
.kpi-ico{
  width:46px;height:46px;border-radius:14px;
  background:linear-gradient(135deg,rgba(28,181,176,.22) 0%,rgba(159,217,232,.18) 100%);
  color:var(--teal-strong);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
  position:relative;
  transition:transform .45s cubic-bezier(.3,1.4,.5,1);
}
.kpi-ico::after{
  content:"";position:absolute;inset:0;border-radius:14px;
  border:1px solid rgba(28,181,176,.18);
  box-shadow:0 4px 12px -6px rgba(28,181,176,.4);
}
.kpi-ico svg{width:22px;height:22px}
.kpi-card:hover .kpi-ico{transform:rotate(-6deg) scale(1.06)}
.kpi-num{
  font-family:var(--serif);font-weight:500;font-size:46px;line-height:1;
  color:var(--ink);letter-spacing:-.02em;
  display:flex;align-items:baseline;
}
.kpi-num .plus{color:var(--teal);font-size:36px;margin-left:2px}
.kpi-label{
  font-size:11px;color:var(--gray);font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;
  margin-top:4px;
}
.kpi-title{
  font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.1;
  color:var(--ink);letter-spacing:-.01em;
}
.kpi-card p{
  margin-top:auto;padding-top:14px;font-size:12px;line-height:1.5;color:var(--gray);
  border-top:1px solid rgba(11,26,44,.06);
}

/* ================ WAVE BAND (loop video) ================ */
.wave-band{
  position:relative;height:340px;overflow:hidden;background:#fff;
  margin-top:30px;
}
.wave-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 82%;
}
.wave-fallback{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 82%;
  z-index:-1;
}
/* Fade superior: blanco -> transparente, oculta el cielo gris del clip */
.wave-band::before{
  content:"";position:absolute;inset:0 0 auto 0;height:160px;
  background:linear-gradient(180deg,#ffffff 0%,rgba(255,255,255,.85) 35%,rgba(255,255,255,0) 100%);
  z-index:2;pointer-events:none;
}
/* Fade inferior: transparente -> blanco hacia la siguiente sección */
.wave-band::after{
  content:"";position:absolute;inset:auto 0 0 0;height:140px;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.85) 60%,#ffffff 100%);
  z-index:2;pointer-events:none;
}

/* ================ SECTION (interna, dentro de stage) ================ */
.sec{
  position:relative;
  padding:80px var(--stage-px-r) 60px var(--stage-px-l);
  overflow:hidden;
}
.sec.bleed{margin-left:calc(-1 * var(--stage-px-l));margin-right:calc(-1 * var(--stage-px-r))}
.sec-light{background:linear-gradient(180deg,#fff 0%,#f5f8fb 100%)}
.sec-mix{background:linear-gradient(180deg,#f5f8fb 0%,#e9eef3 100%)}
.sec-deep{
  background:
    radial-gradient(900px 600px at 20% 20%,rgba(28,181,176,.18),transparent 60%),
    radial-gradient(900px 600px at 90% 80%,rgba(233,176,72,.12),transparent 55%),
    linear-gradient(180deg,#0a2c5e 0%,#06182f 100%);
  color:#e8eef5;
}
.sec-deep::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 30% 40%,rgba(255,255,255,.04) 1px,transparent 1px),
    radial-gradient(circle at 70% 60%,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:40px 40px,60px 60px;
  pointer-events:none;
}

.num-rail{
  position:absolute;left:32px;top:80px;width:54px;z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.num-rail .num{
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:36px;color:var(--teal);line-height:1;
}
.num-rail-light .num{color:#7fe3df}
.scribble{margin-top:-2px}
.num-rail .rail-dots{margin-top:4px}
.num-rail .rail-label{margin-top:4px;color:#8b97a4}
.num-rail-light .rail-label{color:#7c8fa8}
.num-rail-light .rail-dots span{background:rgba(255,255,255,.18)}
.num-rail-light .rail-dots span.on{background:#7fe3df}
.num-rail .rail-arrow{margin-top:8px}
.num-rail-light .rail-arrow{color:#fff}

.sec-grid{display:grid;grid-template-columns:1fr 480px;gap:40px;align-items:start}
.sec-head{max-width:720px;margin-bottom:40px;position:relative;z-index:2}
.sec-title{
  font-family:var(--serif);font-weight:500;font-size:50px;line-height:1.02;
  letter-spacing:-.025em;color:var(--ink);
}
.sec-title.light{color:#fff}
.sec-title .period{color:var(--teal);display:inline-block}
.sec-text p{font-size:14.5px;line-height:1.65;color:var(--gray);margin-top:14px;max-width:520px}
.sec-text p.muted{color:#8997a8;font-size:13.5px}
.lead{font-size:15px;line-height:1.6;color:var(--gray);margin-top:14px;max-width:620px}
.lead.light{color:#b3c4d6}

.kpi-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  margin-top:28px;padding:18px 20px;
  background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.4));
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
}
.kpi-strip div{display:flex;flex-direction:column;gap:2px}
.kpi-strip strong{
  font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);
  letter-spacing:-.01em;line-height:1;
}
.kpi-strip span{font-size:10px;color:var(--gray);text-transform:uppercase;letter-spacing:.1em}

.more-link{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:26px;font-size:13px;font-weight:600;color:var(--ink);
  transition:gap .2s;
}
.more-link:hover{gap:16px}
.sec-deep .more-link{color:#fff}
.more-circle{
  width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px -6px rgba(28,181,176,.6);
}

.pager-dots{display:flex;gap:8px;margin-top:24px;align-items:center}
.pager-dots span,.pager-dots button{
  width:6px;height:6px;border-radius:50%;background:#d4dbe2;
  border:none;padding:0;cursor:pointer;
  transition:all .35s cubic-bezier(.3,1,.4,1);
}
.pager-dots button:hover{background:#a8b3c0;transform:scale(1.2)}
.pager-dots span.on,.pager-dots button.on{
  width:24px;border-radius:3px;background:var(--ink);
}
.sec-deep .pager-dots span,.sec-deep .pager-dots button{background:rgba(255,255,255,.2)}
.sec-deep .pager-dots span.on,.sec-deep .pager-dots button.on{background:#fff}

/* Modal stats (Más sobre nosotros) */
.info-shell-lg{max-width:720px}
.modal-stats{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;margin:22px 0 18px;padding:18px 22px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
}
.modal-stats li{display:flex;flex-direction:column;gap:3px;text-align:left}
.modal-stats strong{
  font-family:var(--serif);font-weight:500;font-size:30px;
  color:#fff;line-height:1;letter-spacing:-.01em;
}
.modal-stats span{
  font-size:10.5px;color:#7fe3df;
  text-transform:uppercase;letter-spacing:.12em;font-weight:600;
}

/* V-CARDS — fan/baraja estilo deck */
.vcards.vcards-fan{
  position:relative;height:500px;
  perspective:1400px;
  display:block;
  overflow:visible;
}
/* Wrapper transparente (sin contexto 3D: evita glitches bajo el zoom de página).
   El "shuffle" natural lo gestiona el JS reordenando el abanico (transform 2D). */
.vcards-3d{display:contents}
.v-card{
  position:absolute;
  top:0;left:0;
  width:230px;height:430px;
  border-radius:22px;
  /* Solid: sin transparencia para que se vea bien al stackear */
  background:linear-gradient(180deg,#0c2148 0%,#06182f 100%);
  border:1px solid rgba(127,227,223,.18);
  box-shadow:
    0 30px 60px -28px rgba(6,18,40,.55),
    0 8px 20px -10px rgba(6,18,40,.35),
    0 1px 0 rgba(255,255,255,.05) inset;
  overflow:hidden;
  transform-origin:50% 95%;
  transition:transform .55s cubic-bezier(.3,1,.4,1),box-shadow .45s;
  cursor:pointer;
  display:flex;flex-direction:column;
}
/* Fan stacking — abanico con cards sólidas (todas opacity 1) */
.v-card[data-fan="0"]{transform:rotate(-2deg) translate(0,0);z-index:5}
.v-card[data-fan="1"]{transform:rotate(4deg) translate(60px,20px);z-index:4}
.v-card[data-fan="2"]{transform:rotate(10deg) translate(120px,50px);z-index:3}
.v-card[data-fan="3"]{transform:rotate(16deg) translate(170px,90px);z-index:2}
.v-card[data-fan="4"]{transform:rotate(22deg) translate(210px,140px);z-index:1}
/* Hover: mantenemos posición de fan, sólo elevamos y resaltamos */
.v-card{transition:transform .8s cubic-bezier(.22,1,.36,1),box-shadow .5s,filter .4s}
.v-card[data-fan="0"]:hover{transform:rotate(-2deg) translate(0,-12px) scale(1.025);z-index:10}
.v-card[data-fan="1"]:hover{transform:rotate(4deg) translate(60px,8px) scale(1.025);z-index:10}
.v-card[data-fan="2"]:hover{transform:rotate(10deg) translate(120px,38px) scale(1.025);z-index:10}
.v-card[data-fan="3"]:hover{transform:rotate(16deg) translate(170px,78px) scale(1.025);z-index:10}
.v-card[data-fan="4"]:hover{transform:rotate(22deg) translate(210px,128px) scale(1.025);z-index:10}
.v-card:hover{
  filter:brightness(1.08);
  box-shadow:
    0 40px 80px -30px rgba(6,18,40,.6),
    0 12px 24px -10px rgba(6,18,40,.4),
    0 0 0 1px rgba(127,227,223,.22);
}
.v-photo{
  position:relative;width:100%;height:55%;
  overflow:hidden;
}
.v-photo img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s cubic-bezier(.3,1,.4,1);
}
.v-card:hover .v-photo img{transform:scale(1.08)}
.v-photo::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:80px;
  background:linear-gradient(180deg,transparent 0%,#0c2148 95%);
}
.v-icon-circle{
  position:absolute;top:18px;left:18px;
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid rgba(127,227,223,.55);
  background:rgba(6,18,40,.35);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  z-index:2;
  transition:transform .4s cubic-bezier(.3,1.4,.5,1);
}
.v-card:hover .v-icon-circle{transform:rotate(-8deg) scale(1.06);border-color:rgba(127,227,223,.85)}
.v-tag{
  position:absolute;top:74px;left:18px;
  font-size:10px;letter-spacing:.22em;color:#7fe3df;font-weight:700;
  z-index:2;
  text-shadow:0 1px 6px rgba(0,0,0,.3);
}
.v-body{
  position:relative;flex:1;
  padding:18px 22px 18px;
  color:#fff;
  display:flex;flex-direction:column;justify-content:flex-start;
}
.v-body h3{
  font-family:var(--serif);font-weight:500;
  font-size:22px;line-height:1.08;letter-spacing:-.01em;
  color:#fff;
  /* Evita overflow horizontal en cards narrow */
  word-break:break-word;
  overflow-wrap:break-word;
  hyphens:auto;
}
.v-body p{
  margin-top:10px;font-size:12px;line-height:1.5;
  color:rgba(232,238,245,.78);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.v-wave{
  position:absolute;left:18px;right:60px;bottom:48px;
  height:18px;width:auto;
  pointer-events:none;
}
.v-arrow-circle{
  position:absolute;right:18px;bottom:18px;
  width:42px;height:42px;border-radius:50%;
  border:1.5px solid rgba(127,227,223,.55);
  background:rgba(6,18,40,.35);
  color:#7fe3df;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
  z-index:3;
}
.v-arrow-circle:hover{
  background:#1cb5b0;color:#fff;border-color:#1cb5b0;
  transform:translate(2px,-2px);
  box-shadow:0 10px 24px -8px rgba(28,181,176,.6);
}

.carousel-next{
  position:absolute;right:18px;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid #e6eaef;
  color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(11,26,44,.10);
  z-index:5;
}

/* ================ PRODUCTOS (Section 03) — rediseño ================ */
/* Hero card del langostino (lateral derecho) */
.prod-grid{grid-template-columns:1fr 420px;gap:48px;align-items:start}
.prod-hero-card{
  position:relative;border-radius:24px;overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid rgba(127,227,223,.14);
  box-shadow:0 30px 60px -24px rgba(0,0,0,.45),0 8px 20px -8px rgba(0,0,0,.3);
}
.phc-img{position:relative;width:100%;height:240px;overflow:hidden}
.phc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.3,1,.4,1)}
.prod-hero-card:hover .phc-img img{transform:scale(1.06)}
.phc-img::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:90px;
  background:linear-gradient(180deg,transparent 0%,rgba(10,30,60,.85) 95%);
}
.phc-body{position:relative;padding:24px 26px 26px;color:#e8eef5}
.phc-tag{font-size:10px;letter-spacing:.22em;color:#7fe3df;font-weight:700;display:block;margin-bottom:8px}
.phc-body h3{
  font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.04;
  letter-spacing:-.02em;color:#fff;
}
.phc-body h3 em{font-style:italic;color:#7fe3df;font-weight:400}
.phc-meta{
  list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;
  margin-top:20px;padding-top:18px;border-top:1px solid rgba(127,227,223,.18);
}
.phc-meta li{display:flex;flex-direction:column;gap:3px}
.phc-meta span{font-size:9.5px;color:#7c8fa8;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.phc-meta strong{font-family:var(--serif);font-size:15px;color:#fff;font-weight:500}
.phc-wave{margin-top:14px;width:100%;height:18px;display:block;opacity:.7}

/* KPI strip dark */
.kpi-strip-dark{
  margin-top:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(127,227,223,.16);
  backdrop-filter:blur(10px);
}
.kpi-strip-dark strong{color:#fff}
.kpi-strip-dark span{color:#7fe3df}

/* More link light variant */
.more-link-light{color:#fff;margin-top:24px}
.sec-deep .more-link-light .more-circle{background:#1cb5b0;box-shadow:0 8px 20px -6px rgba(28,181,176,.55)}

/* ================ FORMATS DECK — cards con foto ================ */
.formats-deck{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
  margin-top:60px;position:relative;z-index:2;
}
.fmt-card{
  position:relative;border-radius:20px;padding:0 0 64px;
  display:flex;flex-direction:column;
  border:1px solid rgba(127,227,223,.14);
  cursor:pointer;
  transition:transform .45s cubic-bezier(.3,1,.4,1),box-shadow .45s,border-color .35s;
  overflow:hidden;
  background:linear-gradient(180deg,#0c2148 0%,#06182f 100%);
}
.fmt-photo{position:relative;width:100%;height:160px;overflow:hidden}
.fmt-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.3,1,.4,1)}
.fmt-photo::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:70px;
  background:linear-gradient(180deg,transparent,#0c2148 95%);
}
.fmt-card:hover{
  transform:translateY(-6px);
  border-color:rgba(127,227,223,.45);
  box-shadow:0 32px 60px -22px rgba(0,0,0,.6),0 10px 22px -8px rgba(0,0,0,.4);
}
.fmt-card:hover .fmt-photo img{transform:scale(1.08)}
.fmt-num{
  position:absolute;top:14px;right:16px;z-index:2;
  font-family:var(--serif);font-style:italic;font-size:14px;color:#7fe3df;
  background:rgba(6,18,40,.55);backdrop-filter:blur(8px);
  padding:4px 9px;border-radius:999px;
  border:1px solid rgba(127,227,223,.3);
}
.fmt-card h3{
  font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.02em;
  color:#fff;line-height:1;margin:14px 20px 0;
}
.fmt-sub{font-size:12.5px;color:#7fe3df;font-weight:600;margin:4px 20px 0}
.fmt-desc{font-size:12px;line-height:1.5;color:#b3c4d6;margin:8px 20px 0}
.fmt-arrow{
  position:absolute;right:18px;bottom:18px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(28,181,176,.18);
  border:1px solid rgba(127,227,223,.35);
  color:#7fe3df;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
}
.fmt-card:hover .fmt-arrow{
  background:#1cb5b0;color:#fff;border-color:#1cb5b0;
  transform:translate(2px,-2px);
  box-shadow:0 10px 20px -6px rgba(28,181,176,.6);
}

/* ================ CERTIFICACIONES — marquee infinito ================ */
.cert-block{margin-top:80px;position:relative;z-index:2}
.cert-head{max-width:680px;margin:0 auto 36px;text-align:center}
.cert-head .eyebrow{justify-content:center}
.cert-title{
  font-family:var(--serif);font-weight:500;font-size:42px;line-height:1.04;
  letter-spacing:-.02em;color:#fff;
}
.cert-title .period{color:var(--teal);display:inline-block}

.cert-marquee{
  position:relative;width:100%;overflow:hidden;
  padding:24px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
/* Fondo glass sobre el deep navy */
.cert-marquee::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  border-top:1px solid rgba(127,227,223,.14);
  border-bottom:1px solid rgba(127,227,223,.14);
  z-index:0;pointer-events:none;
}
.cert-track{
  display:flex;align-items:center;gap:48px;
  width:max-content;
  animation:certScroll 38s linear infinite;
  position:relative;z-index:1;
}
.cert-block:hover .cert-track{animation-play-state:paused}
@keyframes certScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.cert-logo{
  display:flex;align-items:center;justify-content:center;
  height:48px;width:auto;
  flex-shrink:0;
  opacity:.85;
  transition:opacity .3s,filter .3s,transform .3s;
}
.cert-logo img{
  height:100%;width:auto;display:block;
  /* Tinta SVGs (currentColor → blanco) y suaviza para tono teal claro */
  filter:brightness(0) invert(1) sepia(.5) saturate(2) hue-rotate(140deg) brightness(1.1);
}
.cert-logo:hover{opacity:1;transform:scale(1.08)}
.cert-logo:hover img{filter:brightness(0) invert(1)}

/* ================ MODAL formato ================ */
.fmt-modal{padding:0;overflow:hidden;max-width:760px}
.fmt-modal-img{position:relative;width:100%;height:280px;overflow:hidden}
.fmt-modal-img img{width:100%;height:100%;object-fit:cover}
.fmt-modal-img::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:80px;
  background:linear-gradient(180deg,transparent,rgba(10,30,60,.85));
}
/* Close button siempre por encima de la imagen del modal */
.fmt-modal .info-close{
  z-index:5;
  background:rgba(11,26,44,.6);
  backdrop-filter:blur(12px) saturate(180%);
  -webkit-backdrop-filter:blur(12px) saturate(180%);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  box-shadow:0 6px 18px -4px rgba(0,0,0,.5);
}
.fmt-modal-body{padding:24px 30px 30px;color:#e8eef5}
.fmt-modal-body h3{margin-bottom:14px}
.fmt-modal-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;
  margin:20px 0 6px;padding:18px 20px;
  background:rgba(255,255,255,.05);border:1px solid rgba(127,227,223,.16);border-radius:14px;
}
.fmt-modal-grid div{display:flex;flex-direction:column;gap:3px}
.fmt-modal-grid span{font-size:10px;letter-spacing:.12em;color:#7fe3df;font-weight:700;text-transform:uppercase}
.fmt-modal-grid strong{font-family:var(--serif);font-size:14px;color:#fff;font-weight:500}

/* ================ PRODUCTOS · FORMATOS (legacy, retain for compatibility) ================ */
.formats-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:8px;
}
.format-card{
  border-radius:20px;padding:22px 16px 20px;
  position:relative;
  transition:transform .4s cubic-bezier(.3,1,.4,1);
  color:#e8eef5;
}
.format-card:hover{transform:translateY(-6px) rotate(-1deg)}
.format-num{
  position:absolute;top:12px;right:16px;
  font-family:var(--serif);font-style:italic;font-size:13px;color:#7fe3df;
}
.format-ico{
  display:flex;color:var(--teal);margin-bottom:12px;
}
.format-card h3{
  font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.02em;color:#fff;
}
.format-sub{font-size:12.5px;color:#7fe3df;font-weight:600;margin-top:2px}
.format-desc{font-size:12px;color:#b3c4d6;margin-top:10px;line-height:1.5}

.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.tech-card{border-radius:20px;padding:22px}
.tech-card h4{font-family:var(--serif);font-weight:500;font-size:18px;color:#fff;margin-bottom:12px}
.tech-card dl dt{font-size:10.5px;color:#7fe3df;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-top:8px}
.tech-card dl dt:first-child{margin-top:0}
.tech-card dl dd{font-size:13.5px;color:#e8eef5;margin-top:3px}
.tech-card ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tech-card ul li{font-size:12px;color:#b3c4d6;display:flex;flex-direction:column;gap:1px}
.tech-card ul li span{font-family:var(--serif);font-size:15px;color:#fff;font-weight:600}
.tech-card .cls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tech-card .cls span{
  display:flex;align-items:baseline;gap:6px;padding:9px 10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:9px;font-size:11.5px;color:#b3c4d6;
}
.tech-card .cls b{
  font-family:var(--serif);font-style:italic;color:var(--teal);font-weight:600;font-size:16px;
}

/* ================ FLOTA (Section 04) — rediseño rico ================ */
.flota-grid{grid-template-columns:1fr 420px;gap:48px;align-items:start}
.flota-hero{
  position:relative;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,#0c2148 0%,#06182f 100%);
  border:1px solid rgba(127,227,223,.14);
  box-shadow:0 30px 60px -24px rgba(11,26,44,.35),0 8px 20px -8px rgba(11,26,44,.18);
}
.fh-img{position:relative;width:100%;height:240px;overflow:hidden}
.fh-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.3,1,.4,1)}
.flota-hero:hover .fh-img img{transform:scale(1.06)}
.fh-img::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:90px;
  background:linear-gradient(180deg,transparent,#0c2148 95%);
}
.fh-body{position:relative;padding:24px 26px 26px;color:#e8eef5}
.fh-tag{font-size:10px;letter-spacing:.22em;color:#7fe3df;font-weight:700;display:block;margin-bottom:8px}
.fh-body h3{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.04;letter-spacing:-.02em;color:#fff}
.fh-meta{
  list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;
  margin-top:20px;padding-top:18px;border-top:1px solid rgba(127,227,223,.18);
}
.fh-meta li{display:flex;flex-direction:column;gap:3px}
.fh-meta span{font-size:9.5px;color:#7c8fa8;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.fh-meta strong{font-family:var(--serif);font-size:15px;color:#fff;font-weight:500}

/* FLEET DECK — 5 ship cards */
.fleet-deck{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
  margin-top:60px;
}
.ship-card-v2{
  position:relative;border-radius:20px;padding:0 0 64px;
  display:flex;flex-direction:column;
  background:#ffffff;
  border:1px solid rgba(11,26,44,.08);
  box-shadow:0 18px 36px -22px rgba(11,26,44,.18),0 4px 10px -4px rgba(11,26,44,.06);
  overflow:hidden;
  cursor:pointer;
  transition:transform .45s cubic-bezier(.3,1,.4,1),box-shadow .45s,border-color .35s;
}
.ship-card-v2:hover{
  transform:translateY(-6px);
  border-color:rgba(28,181,176,.3);
  box-shadow:0 32px 60px -22px rgba(11,26,44,.26),0 10px 22px -8px rgba(11,26,44,.12);
}
.sc-photo{position:relative;width:100%;height:150px;overflow:hidden}
.sc-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.3,1,.4,1)}
.ship-card-v2:hover .sc-photo img{transform:scale(1.08)}
.sc-photo::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:50px;
  background:linear-gradient(180deg,transparent,#fff 95%);
}
.sc-type{
  position:absolute;top:14px;left:14px;z-index:2;
  font-size:10px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border:1px solid rgba(11,26,44,.06);
  box-shadow:0 4px 10px -2px rgba(11,26,44,.18);
}
.sc-type-fresh{color:var(--teal-strong)}
.sc-type-factory{color:#1a4e8c}
.ship-card-v2 h3{
  font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:-.015em;
  color:var(--ink);line-height:1.1;margin:14px 20px 0;
}
.sc-stats{
  list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;
  margin:14px 20px 0;padding-top:12px;
  border-top:1px solid rgba(11,26,44,.08);
}
.sc-stats li{display:flex;flex-direction:column;gap:2px}
.sc-stats span{font-size:9.5px;letter-spacing:.12em;color:#7c8fa8;font-weight:700;text-transform:uppercase}
.sc-stats strong{font-family:var(--serif);font-size:13px;color:var(--ink);font-weight:500}
.sc-loc{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;color:var(--gray);font-weight:500;
  margin:14px 20px 0;
}
.sc-loc svg{color:var(--teal-strong);flex-shrink:0}
.sc-arrow{
  position:absolute;right:18px;bottom:18px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(28,181,176,.12);
  border:1px solid rgba(28,181,176,.25);
  color:var(--teal-strong);
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
}
.ship-card-v2:hover .sc-arrow{
  background:#1cb5b0;color:#fff;border-color:#1cb5b0;
  transform:translate(2px,-2px);
  box-shadow:0 10px 20px -6px rgba(28,181,176,.55);
}

/* Variante oscura (factoría) */
.ship-card-v2.sc-dark{
  background:linear-gradient(180deg,#0c2148 0%,#06182f 100%);
  border-color:rgba(127,227,223,.14);
}
.ship-card-v2.sc-dark h3{color:#fff}
.ship-card-v2.sc-dark .sc-photo::after{background:linear-gradient(180deg,transparent,#0c2148 95%)}
.ship-card-v2.sc-dark .sc-stats{border-top-color:rgba(127,227,223,.16)}
.ship-card-v2.sc-dark .sc-stats span{color:#7c8fa8}
.ship-card-v2.sc-dark .sc-stats strong{color:#fff}
.ship-card-v2.sc-dark .sc-loc{color:#b3c4d6}
.ship-card-v2.sc-dark .sc-loc svg{color:#7fe3df}
.ship-card-v2.sc-dark .sc-type{background:rgba(127,227,223,.18);border-color:rgba(127,227,223,.3);color:#7fe3df}
.ship-card-v2.sc-dark .sc-arrow{background:rgba(28,181,176,.18);border-color:rgba(127,227,223,.3);color:#7fe3df}

/* ================ FLOTA (legacy) ================ */
.ships-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ship-card{
  position:relative;
  border-radius:20px;padding:22px;
  background:linear-gradient(180deg,#fff,#f5f8fb);
  border:1px solid rgba(11,26,44,.08);
  box-shadow:0 16px 36px -22px rgba(11,26,44,.18);
  transition:transform .4s cubic-bezier(.3,1,.4,1),box-shadow .4s;
  overflow:hidden;
}
.ship-card::before{
  content:"⚓";
  position:absolute;right:-10px;top:-10px;font-size:96px;color:rgba(28,181,176,.06);
  transition:transform .6s;
}
.ship-card:hover::before{transform:rotate(15deg) scale(1.12)}
.ship-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(11,26,44,.26)}
.ship-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ship-type{
  font-size:10px;font-weight:700;letter-spacing:.15em;
  color:var(--teal-strong);text-transform:uppercase;
  padding:4px 9px;border-radius:999px;background:rgba(28,181,176,.1);
}
.ship-eslora{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gray);font-weight:500}
.ship-card h3{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.02em;color:var(--ink);margin-bottom:8px}
.ship-card p{font-size:13px;line-height:1.55;color:var(--gray)}
.ship-card.highlight{
  background:linear-gradient(135deg,#0a2c5e 0%,#06182f 100%);
  border:1px solid rgba(255,255,255,.1);
  color:#e8eef5;
}
.ship-card.highlight::before{color:rgba(127,227,223,.08)}
.ship-card.highlight h3{color:#fff}
.ship-card.highlight p{color:#b3c4d6}
.ship-card.highlight p strong{color:#7fe3df}
.ship-card.highlight .ship-type{background:rgba(127,227,223,.15);color:#7fe3df}
.ship-card.highlight .ship-eslora{color:#7fe3df}
.ship-foot{margin-top:14px;padding-top:12px;border-top:1px solid rgba(11,26,44,.08);font-size:11.5px;color:var(--gray)}
.ship-card.highlight .ship-foot{border-color:rgba(255,255,255,.12)}

/* ================ PLANTAS · MAPA (Section 05) ================ */
.map-stack{display:flex;flex-direction:column;gap:24px}
.map-frame{
  position:relative;width:100%;height:520px;
  border-radius:24px;overflow:hidden;
  background:#0a1a2c;
  border:1px solid rgba(127,227,223,.14);
  box-shadow:0 30px 60px -24px rgba(11,26,44,.22),0 8px 20px -8px rgba(11,26,44,.12);
}
#worldMap{
  width:100%;height:100%;
  background:#0a1a2c;
  z-index:1;
}
/* Leaflet attribution discreta */
.leaflet-control-attribution{
  font-size:9px !important;
  background:rgba(11,26,44,.6) !important;
  color:#7c8fa8 !important;
  padding:2px 6px !important;
}
.leaflet-control-attribution a{color:#9fbdd1 !important}
.leaflet-control-zoom{
  border:1px solid rgba(127,227,223,.2) !important;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.4) !important;
}
.leaflet-control-zoom a{
  background:rgba(11,26,44,.85) !important;
  color:#fff !important;
  border-color:rgba(127,227,223,.18) !important;
  backdrop-filter:blur(8px);
}
.leaflet-control-zoom a:hover{background:rgba(28,181,176,.4) !important}

/* Marcadores custom */
.cv-marker-hq{
  width:34px;height:34px;border-radius:50%;
  background:radial-gradient(circle,#1cb5b0 0%,#0fa6a0 70%);
  border:3px solid #fff;
  box-shadow:0 0 0 4px rgba(28,181,176,.35),0 8px 20px -4px rgba(0,0,0,.55);
  animation:hqPulse 2.5s ease-in-out infinite;
  display:flex;align-items:center;justify-content:center;
}
.cv-marker-hq::after{
  content:"";width:10px;height:10px;border-radius:50%;background:#fff;
}
@keyframes hqPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(28,181,176,.35),0 8px 20px -4px rgba(0,0,0,.55)}
  50%{box-shadow:0 0 0 14px rgba(28,181,176,.05),0 8px 20px -4px rgba(0,0,0,.55)}
}
.cv-marker-mkt{
  width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle,#9fffea 0%,#7fe3df 60%,#1cb5b0 100%);
  border:2px solid rgba(255,255,255,.7);
  box-shadow:
    0 0 0 4px rgba(127,227,223,.22),
    0 0 0 8px rgba(127,227,223,.08),
    0 3px 8px rgba(0,0,0,.5);
  transition:transform .35s cubic-bezier(.3,1.4,.5,1);
  animation:mktPulse 3s ease-in-out infinite;
}
.cv-marker-mkt:hover{transform:scale(1.6);z-index:999}
@keyframes mktPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(127,227,223,.22),0 0 0 8px rgba(127,227,223,.08),0 3px 8px rgba(0,0,0,.5)}
  50%{box-shadow:0 0 0 7px rgba(127,227,223,.10),0 0 0 14px rgba(127,227,223,.02),0 3px 8px rgba(0,0,0,.5)}
}
/* Tintes por región */
.cv-marker-mkt[data-region="eu"]{background:radial-gradient(circle,#c8fff5 0%,#7fe3df 60%,#1cb5b0 100%)}
.cv-marker-mkt[data-region="am"]{background:radial-gradient(circle,#9fffea 0%,#5cd0c9 60%,#0fa6a0 100%)}
.cv-marker-mkt[data-region="as"]{background:radial-gradient(circle,#cfeef9 0%,#9fd9e8 60%,#5ab8d0 100%)}
.cv-marker-mkt[data-region="af"]{background:radial-gradient(circle,#fff0c8 0%,#f1cf8a 60%,#e9b048 100%)}
.cv-marker-mkt[data-region="oc"]{background:radial-gradient(circle,#d6dcff 0%,#a5b2f0 60%,#7d8ed8 100%)}

/* Popups */
.leaflet-popup-content-wrapper{
  background:linear-gradient(180deg,rgba(10,26,46,.96),rgba(6,18,40,.98)) !important;
  border:1px solid rgba(127,227,223,.22) !important;
  border-radius:14px !important;
  color:#fff !important;
  box-shadow:0 16px 36px -10px rgba(0,0,0,.5) !important;
}
.leaflet-popup-content{
  margin:14px 18px !important;
  font-family:var(--sans);font-size:13px;line-height:1.45;
}
.leaflet-popup-content strong{
  font-family:var(--serif);font-weight:500;font-size:15px;
  color:#7fe3df;display:block;margin-bottom:4px;
}
.leaflet-popup-content span{
  font-size:11px;color:#9fbdd1;letter-spacing:.04em;
}
.leaflet-popup-tip{background:rgba(10,26,46,.96) !important;border:1px solid rgba(127,227,223,.22) !important}
.leaflet-popup-close-button{color:#7fe3df !important;font-size:18px !important;padding:6px 8px !important}

/* Glow overlay decorativo */
.map-glow{
  position:absolute;inset:0;z-index:400;pointer-events:none;
  background:
    radial-gradient(420px 280px at 28% 78%, rgba(28,181,176,.18), transparent 70%),
    radial-gradient(360px 220px at 60% 36%, rgba(127,227,223,.12), transparent 70%);
  mix-blend-mode:screen;
}

/* Overlay legend */
.map-legend{
  position:absolute;left:18px;bottom:18px;z-index:500;
  display:flex;flex-direction:column;gap:9px;
  padding:14px 18px;border-radius:14px;
}
.ml-item{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:500;color:var(--ink)}
.ml-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.ml-dot-hq{background:#1cb5b0;box-shadow:0 0 0 3px rgba(28,181,176,.2),0 0 8px rgba(28,181,176,.5)}
.ml-dot-mkt{background:radial-gradient(circle,#9fffea,#7fe3df);border:2px solid rgba(255,255,255,.7);width:10px;height:10px}
.ml-line{width:18px;height:2px;border-radius:1px;flex-shrink:0;background:linear-gradient(90deg,#7fe3df 33%,transparent 33% 66%,#7fe3df 66%)}

/* Info panel lateral */
.map-info-panel{
  position:absolute;left:18px;top:18px;z-index:500;
  width:260px;padding:18px 22px 20px;border-radius:18px;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 20px 50px -16px rgba(11,26,44,.3);
}
.mip-eyebrow{
  font-size:9.5px;letter-spacing:.18em;color:var(--teal-strong);font-weight:700;
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
}
.mip-eyebrow::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);
  animation:dotpulse 2s infinite;
}
#mipTitle{
  font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.015em;
  color:var(--ink);line-height:1.1;margin-bottom:6px;
  transition:color .25s;
}
.mip-sub{
  font-size:12px;color:var(--gray);line-height:1.4;
  min-height:34px;
}
.mip-bar{
  width:100%;height:3px;border-radius:2px;
  background:rgba(11,26,44,.08);overflow:hidden;
  margin:12px 0 14px;
}
.mip-bar span{
  display:block;height:100%;width:100%;
  background:linear-gradient(90deg,var(--teal),var(--sky));
  transition:background .35s;
}
.mip-stats{display:flex;gap:14px;font-size:11px;color:var(--gray)}
.mip-stats span{display:flex;flex-direction:column;gap:1px}
.mip-stats strong{
  font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);
  letter-spacing:-.01em;line-height:1;
}

/* Region filter pills */
.map-filters{
  position:absolute;right:18px;top:18px;z-index:500;
  display:flex;gap:4px;padding:6px;border-radius:999px;
}
.mf-btn{
  font-size:11px;font-weight:600;letter-spacing:.02em;color:#2a3a4d;
  padding:8px 14px;border-radius:999px;
  background:transparent;border:none;cursor:pointer;
  transition:background .2s,color .2s;
}
.mf-btn:hover{background:rgba(28,181,176,.12);color:var(--teal-strong)}
.mf-btn.on{
  background:linear-gradient(180deg,var(--ink),#06182f);
  color:#fff;
  box-shadow:0 4px 10px -2px rgba(11,26,44,.35);
}

/* Custom tooltip estilo */
.cv-map-tooltip{
  background:rgba(11,26,44,.92) !important;
  color:#fff !important;
  border:1px solid rgba(127,227,223,.3) !important;
  border-radius:8px !important;
  font-size:11.5px !important;font-weight:600 !important;
  padding:6px 12px !important;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.5) !important;
}
.cv-map-tooltip::before{display:none !important}

/* Plantas card clicable + CTA */
.plant-card-clickable{cursor:pointer;transition:transform .4s cubic-bezier(.3,1,.4,1),box-shadow .4s}
.plant-card-clickable:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(11,26,44,.22)}
.plant-cta{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:18px;padding:8px 14px;border-radius:999px;
  font-size:11.5px;font-weight:600;letter-spacing:.04em;
  background:rgba(28,181,176,.12);color:var(--teal-strong);
  border:1px solid rgba(28,181,176,.25);
}
.plant-card-clickable:hover .plant-cta{background:#1cb5b0;color:#fff;border-color:#1cb5b0}

/* Modal planta XL con galería + body en 2 columnas */
.info-shell-xl{max-width:980px;padding:0;overflow:hidden}
.plant-modal{display:grid;grid-template-columns:1.1fr 1fr;gap:0;color:#e8eef5}
.pm-gallery{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;background:rgba(6,18,40,.4)}
.pm-main{position:relative;width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid rgba(127,227,223,.18)}
.pm-main img{width:100%;height:100%;object-fit:cover}
.pm-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pm-thumbs img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;
  border:1px solid rgba(127,227,223,.18);
  cursor:pointer;
  transition:transform .25s,border-color .25s;
}
.pm-thumbs img:hover{transform:scale(1.05);border-color:rgba(127,227,223,.5)}
.pm-thumbs img{opacity:.62}
.pm-thumbs img:hover{opacity:1}
.pm-thumbs img.on{
  opacity:1;border-color:#1cb5b0;
  box-shadow:0 0 0 1px #1cb5b0, 0 6px 16px -6px rgba(28,181,176,.6);
}
@keyframes pmFade{from{opacity:.35}to{opacity:1}}
.pm-main img.pm-fade{animation:pmFade .35s ease}
.pm-video-thumb{
  position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;
  background:linear-gradient(135deg,#0a2c5e 0%,#06182f 100%);
  border:1px solid rgba(127,227,223,.3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  cursor:pointer;
  transition:transform .25s,border-color .25s;
}
.pm-video-thumb:hover{transform:scale(1.05);border-color:rgba(127,227,223,.6)}
.pm-play{
  width:36px;height:36px;border-radius:50%;
  background:rgba(28,181,176,.85);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px -4px rgba(28,181,176,.5);
}
.pm-video-label{font-size:9px;color:#fff;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.pm-body{padding:28px 32px 32px;display:flex;flex-direction:column;gap:8px}
.pm-body h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.05;color:#fff;letter-spacing:-.015em;margin-bottom:6px}

@media (max-width:880px){
  .plant-modal{grid-template-columns:1fr}
  .pm-body{padding:22px 24px 26px}
}

/* ================ EQUIPO (08) ================ */
#equipo .sec-head{text-align:center;max-width:760px;margin:0 auto}
#equipo .sec-head .eyebrow{justify-content:center}
#equipo .sec-head .lead{margin-left:auto;margin-right:auto;text-align:center}
#equipo .team-deck{margin-top:44px}
.team-filter{
  display:flex;flex-wrap:wrap;gap:9px;justify-content:center;
  margin:26px auto 34px;max-width:820px;
}
.team-filter .tf{
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.03em;
  color:#b8c8da;background:rgba(255,255,255,.05);
  border:1px solid rgba(127,227,223,.2);border-radius:999px;
  padding:8px 16px;cursor:pointer;
  transition:background .25s,color .25s,border-color .25s,transform .2s;
}
.team-filter .tf:hover{color:#fff;border-color:rgba(127,227,223,.5);transform:translateY(-1px)}
.team-filter .tf.is-active{background:#1cb5b0;border-color:#1cb5b0;color:#fff;box-shadow:0 8px 20px -8px rgba(28,181,176,.6)}

.team-deck{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.team-deck-6{grid-template-columns:repeat(3,1fr);max-width:1060px;margin-inline:auto;gap:20px}
.member{
  position:relative;border-radius:18px;overflow:hidden;cursor:pointer;
  border:1px solid rgba(127,227,223,.14);
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.member:hover{transform:translateY(-6px);box-shadow:0 24px 48px -20px rgba(0,0,0,.65);border-color:rgba(127,227,223,.42)}
.member.is-hidden{display:none}
.member__photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden}
.member__photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.member:hover .member__photo img{transform:scale(1.06)}
.member__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(3,11,26,.55) 64%,rgba(3,11,26,.92) 100%)}
.member__body{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 16px;z-index:2}
.member__role{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7fe3df;font-weight:700;line-height:1.3}
.member__name{font-family:var(--serif);font-weight:500;font-size:20px;color:#fff;letter-spacing:-.01em;line-height:1.1;margin:5px 0 0}
.member__bio{font-size:12.5px;line-height:1.5;color:#cdd9e6;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .3s ease,margin .45s ease}
.member:hover .member__bio{max-height:180px;opacity:1;margin:9px 0 10px}
.member__more{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#fff;text-transform:uppercase;margin-top:10px}
.member__more svg{transition:transform .25s}
.member:hover .member__more svg{transform:translateX(3px)}
@media (max-width:1100px){.team-deck{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){
  .team-deck{grid-template-columns:repeat(2,1fr);gap:12px}
  .member__bio{display:none}
  .member__name{font-size:17px}
}
@media (max-width:430px){.team-deck{grid-template-columns:1fr}}

/* Modal de detalle de miembro */
.team-modal{padding:30px 32px 32px}
.team-modal .tm-head{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.team-modal .tm-photo{width:96px;height:96px;border-radius:16px;overflow:hidden;flex:0 0 auto;border:1px solid rgba(127,227,223,.3)}
.team-modal .tm-photo img{width:100%;height:100%;object-fit:cover}
.team-modal .tm-id h3{margin:8px 0 2px}
.team-modal .tm-role{font-size:13px;color:#7fe3df;font-weight:600;margin:0}
.tm-meta{list-style:none;display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.tm-meta li{display:flex;flex-direction:column;gap:3px}
.tm-meta span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7fe3df;font-weight:700}
.tm-meta strong{font-family:var(--serif);font-size:15px;color:#fff;font-weight:500}
@media (max-width:520px){
  .team-modal .tm-head{flex-direction:column;text-align:center;align-items:center;gap:12px}
  .team-modal .tm-id .eyebrow{justify-content:center}
}

/* ================ MODAL DE BUQUE (galería rica) ================ */
.info-shell.ship-modal{
  width:min(900px,92vw);max-width:none;padding:0;overflow:hidden;
  display:grid;grid-template-columns:minmax(300px,0.82fr) 1fr;
  color:#e8eef5;max-height:84vh;
}
.ship-gallery{display:flex;flex-direction:column;gap:10px;padding:16px;background:rgba(6,18,40,.45)}
.sg-stage{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3.3;border:1px solid rgba(127,227,223,.16);background:#06182f}
.sg-main{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
@keyframes sgFade{from{opacity:.4}to{opacity:1}}
.sg-main.sg-fade{animation:sgFade .35s ease}
.sg-counter{
  position:absolute;top:14px;left:14px;z-index:3;
  display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;
  background:rgba(6,16,30,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:700;letter-spacing:.04em;color:#e8eef5;
}
.sg-counter svg{color:#7fe3df}
.sg-nav,.sg-zoom{
  position:absolute;z-index:3;border-radius:50%;cursor:pointer;color:#fff;
  display:flex;align-items:center;justify-content:center;
  background:rgba(6,16,30,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.16);transition:background .2s,border-color .2s,transform .2s;
}
.sg-nav{top:50%;transform:translateY(-50%);width:42px;height:42px}
.sg-nav:hover{background:rgba(28,181,176,.85);border-color:#1cb5b0;transform:translateY(-50%) scale(1.06)}
.sg-prev{left:14px}.sg-next{right:14px}
.sg-zoom{right:14px;bottom:14px;width:38px;height:38px}
.sg-zoom:hover{background:rgba(28,181,176,.85);border-color:#1cb5b0;transform:scale(1.06)}
.sg-thumbs{display:grid;gap:10px}
.sg-thumb{
  position:relative;padding:0;border:0;background:none;cursor:pointer;
  border-radius:12px;overflow:hidden;aspect-ratio:4/3;
  outline:2px solid transparent;opacity:.62;transition:opacity .25s,outline-color .25s,transform .25s,box-shadow .25s;
}
.sg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sg-thumb:hover{opacity:1;transform:translateY(-2px)}
.sg-thumb.is-active{opacity:1;outline-color:#1cb5b0;box-shadow:0 0 0 4px rgba(28,181,176,.18)}
.sg-check{
  position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:#1cb5b0;
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.35);
  opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s;
}
.sg-thumb.is-active .sg-check{opacity:1;transform:scale(1)}
.ship-info{padding:24px 26px;display:flex;flex-direction:column;overflow-y:auto}
.ship-info h3{font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.02;color:#fff;letter-spacing:-.02em;margin:6px 0 0}
.ship-desc{font-size:13.5px;line-height:1.55;color:#b9c8d8;margin:10px 0 0;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.spec-card{
  display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:12px;
  border:1px solid rgba(127,227,223,.14);
  background:linear-gradient(150deg,rgba(127,227,223,.05),rgba(255,255,255,.015));
}
.spec-ic{
  flex:0 0 auto;width:36px;height:36px;border-radius:50%;color:#7fe3df;
  display:flex;align-items:center;justify-content:center;
  background:rgba(28,181,176,.12);border:1px solid rgba(127,227,223,.25);
}
.spec-ic svg{width:17px;height:17px}
.spec-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.spec-tx span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#7fe3df;font-weight:700}
.spec-tx strong{font-family:var(--serif);font-size:13.5px;color:#fff;font-weight:500;line-height:1.18}
.spec-highlight{
  display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(127,227,223,.22);
  background:linear-gradient(135deg,rgba(28,181,176,.14),rgba(28,181,176,.04));
}
.sh-ic{
  flex:0 0 auto;width:36px;height:36px;border-radius:50%;color:#7fe3df;
  display:flex;align-items:center;justify-content:center;
  background:rgba(28,181,176,.16);border:1px solid rgba(127,227,223,.3);
}
.sh-ic svg{width:18px;height:18px}
.spec-highlight p{font-size:12.5px;line-height:1.45;color:#dceaf2;margin:0}
@media (max-width:920px){
  .info-shell.ship-modal{grid-template-columns:1fr;max-height:94vh;overflow-y:auto}
  .sg-stage{aspect-ratio:4/3}
  .ship-info{padding:24px 24px 28px}
  .ship-info h3{font-size:30px}
}
@media (max-width:520px){ .spec-grid{grid-template-columns:1fr} }

/* ===== Modales de sostenibilidad: mismo formato/tamaño que los de producto =====
   Dos columnas (panel visual + contenido), igual que .ship-modal. */
.info-shell.sust-modal{
  width:min(880px,92vw);max-width:none;padding:0;overflow:hidden;
  display:grid;grid-template-columns:minmax(250px,.7fr) 1fr;
  color:#e8eef5;max-height:86vh;
}
.sm-media{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  padding:22px;overflow:hidden;min-height:100%;
}
.sm-media::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(4,12,26,.04),rgba(4,12,26,.5))}
.sm-ico{position:absolute;top:50%;left:50%;transform:translate(-50%,-56%);
  width:118px;height:118px;color:#fff;opacity:.95;z-index:2}
.sm-ico svg{width:100%;height:100%;display:block}
.sm-content{padding:32px 32px 34px;overflow-y:auto;display:flex;flex-direction:column}
.sm-content>.eyebrow:first-child{margin-top:0}
.sm-content h3{margin-top:2px}
.sm-media-energia{background:linear-gradient(155deg,#e9b048,#6d4a0e)}
.sm-media-pesca{background:linear-gradient(155deg,#1cb5b0,#0a4750)}
.sm-media-rasa{background:linear-gradient(155deg,#4a96d4,#123a63)}
.sm-media-circular{background:linear-gradient(155deg,#7d8ed8,#272c5e)}
.sm-media-salicornia{background:radial-gradient(circle at 50% 38%,#a8d4a3,#0f5733)}
.sm-media-microalgas{background:radial-gradient(circle at 50% 38%,#88d8a5,#0f8c4d)}
.sm-media-zampa{background:radial-gradient(circle at 50% 38%,#bfd28e,#496f2a)}
.sm-media-piquillin{background:radial-gradient(circle at 50% 38%,#d39a96,#7a1f1a)}
@media (max-width:820px){
  .info-shell.sust-modal{grid-template-columns:1fr;max-height:94vh;overflow-y:auto}
  .sm-media{min-height:150px;max-height:170px}
  .sm-ico{width:88px;height:88px;transform:translate(-50%,-50%)}
  .sm-content{padding:26px 24px 28px}
}

/* Lightbox de galería */
.sg-lightbox{
  position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;
  background:rgba(3,9,20,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.sg-lightbox.open{opacity:1;pointer-events:auto}
.sgl-figure{margin:0;max-width:90vw;max-height:86vh;display:flex}
.sgl-img{max-width:90vw;max-height:86vh;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.sgl-close{
  position:absolute;top:20px;right:24px;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:22px;color:#fff;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.sgl-close:hover{background:rgba(255,255,255,.18)}
.sgl-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;cursor:pointer;color:#fff;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
.sgl-nav:hover{background:rgba(28,181,176,.8);border-color:#1cb5b0}
.sgl-prev{left:24px}.sgl-next{right:24px}
.sgl-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#cdd9e6;font-size:13px;font-weight:600;letter-spacing:.05em}
@media (max-width:600px){ .sgl-nav{width:42px;height:42px}.sgl-prev{left:10px}.sgl-next{right:10px} }

/* ================ NOTICIAS (web pública) ================ */
.news-deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.news-card{background:#fff;border:1px solid rgba(11,26,44,.08);border-radius:18px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s,border-color .3s}
.news-card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(11,26,44,.4);border-color:rgba(28,181,176,.4)}
.nc-img{height:190px;background:#dde6ee center/cover no-repeat;position:relative}
.nc-cat{position:absolute;left:12px;bottom:12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(6,18,40,.62);backdrop-filter:blur(6px);padding:5px 11px;border-radius:100px}
.nc-pin{position:absolute;right:12px;top:12px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#06182f;background:var(--teal);padding:4px 9px;border-radius:100px}
/* FDA: por motivos legales NO se usa el logo, solo el texto (adapta su color al contexto) */
.cert-fda-txt{display:inline-flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:800;font-size:13px;letter-spacing:.09em;color:currentColor;border:1.6px solid currentColor;border-radius:5px;padding:4px 8px;line-height:1;opacity:.92}
.cert-fda-txt--lg{font-size:24px;padding:7px 14px;letter-spacing:.12em;border-width:2px}
.nc-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.nc-date{font-size:11.5px;font-weight:600;letter-spacing:.04em;color:#1cb5b0;text-transform:uppercase}
.nc-title{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--ink);line-height:1.15;letter-spacing:-.01em}
.nc-ex{font-size:13.5px;color:#5a6b7c;line-height:1.55;flex:1}
.nc-more{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#1cb5b0;margin-top:4px}
.nc-more svg{transition:transform .25s}
.news-card:hover .nc-more svg{transform:translateX(3px)}
@media(max-width:600px){.news-deck{grid-template-columns:1fr}}
/* Modal de noticia */
.info-shell.news-modal{width:min(620px,92vw);max-width:none;padding:0;overflow:hidden}
.news-modal .nm-img{height:260px;background:#06182f center/cover no-repeat}
.news-modal .nm-body{padding:26px 30px 30px}
.news-modal .nm-body h3{font-family:var(--serif);font-weight:500;font-size:29px;color:#fff;line-height:1.08;margin:8px 0 14px}
.news-modal #nmText p{font-size:14px;line-height:1.65;color:#b9c8d8;margin-bottom:10px}
/* Enlace admin discreto en footer */
.ft-admin-link{opacity:.55;transition:opacity .2s,color .2s}
.ft-admin-link:hover{opacity:1;color:#7fe3df}

/* ================ PLANTAS (legacy cards) ================ */
.plants-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.plant-card{
  border-radius:22px;padding:28px;
  position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.3,1,.4,1);
}
.plant-card:hover{transform:translateY(-6px)}
.plant-flag{position:absolute;top:24px;right:24px;border-radius:5px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.1)}
.plant-card h3{
  font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.05;
  letter-spacing:-.02em;color:var(--ink);
}
.plant-tag{
  display:inline-block;margin-top:6px;
  font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--teal-strong);padding:4px 9px;border-radius:999px;background:rgba(28,181,176,.1);
}
.plant-list{list-style:none;display:grid;gap:8px;margin-top:18px}
.plant-list li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13.5px;color:var(--ink);
}
.plant-list li::before{
  content:"";flex:0 0 6px;height:6px;border-radius:50%;background:var(--teal);
  margin-top:7px;
}

/* ================ LUCIDE ICONS — tamaño consistente ================ */
.lucide-ico{width:24px;height:24px;display:block;stroke:currentColor}
.lucide-arrow{width:22px;height:22px;display:block;stroke:currentColor}

/* ================ CALIDAD (Section 06) — rediseño ================ */
/* Cadena de calidad: 5 pasos horizontales */
.quality-chain{
  display:flex;align-items:stretch;gap:8px;margin:50px 0 60px;
  flex-wrap:wrap;justify-content:center;
}
.qc-step{
  flex:1;min-width:160px;max-width:220px;
  padding:24px 18px 22px;border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(127,227,223,.18);
  position:relative;
  transition:transform .4s cubic-bezier(.3,1,.4,1),border-color .35s,background .35s;
}
.qc-step:hover{
  transform:translateY(-6px);
  border-color:rgba(127,227,223,.5);
  background:linear-gradient(180deg,rgba(28,181,176,.12),rgba(28,181,176,.03));
}
.qc-num{
  position:absolute;top:14px;right:16px;
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:14px;color:#7fe3df;
}
.qc-ico{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:14px;
  background:rgba(28,181,176,.14);color:#7fe3df;
  border:1px solid rgba(127,227,223,.25);
  margin-bottom:14px;
  transition:transform .4s cubic-bezier(.3,1.4,.5,1);
}
.qc-step:hover .qc-ico{transform:rotate(-8deg) scale(1.08)}
.qc-step h4{
  font-family:var(--serif);font-weight:500;font-size:19px;
  color:#fff;letter-spacing:-.01em;margin-bottom:6px;
}
.qc-step p{font-size:12px;line-height:1.5;color:#b3c4d6}
.qc-arrow{
  display:flex;align-items:center;color:rgba(127,227,223,.4);
  flex-shrink:0;
}

/* Certification cards con FLIP al hover */
.quality-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
  margin-bottom:60px;
}
.qual-card-v2{
  position:relative;height:200px;
  perspective:1000px;
  cursor:pointer;
}
.qcv-inner{
  position:relative;width:100%;height:100%;
  transition:transform .8s cubic-bezier(.3,1,.4,1);
  transform-style:preserve-3d;
}
.qual-card-v2:hover .qcv-inner{transform:rotateY(180deg)}
.qcv-front,.qcv-back{
  position:absolute;inset:0;border-radius:18px;
  padding:20px 18px;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  border:1px solid rgba(127,227,223,.18);
  box-shadow:0 18px 36px -22px rgba(0,0,0,.55);
}
.qcv-front img{height:42px;width:auto;filter:brightness(0) invert(1) sepia(.4) saturate(2) hue-rotate(140deg) brightness(1.1);margin-bottom:4px}
.qcv-front h3{
  font-family:var(--serif);font-weight:500;font-size:22px;color:#fff;letter-spacing:-.015em;line-height:1;
}
.qcv-front p{font-size:11.5px;color:#b3c4d6;line-height:1.45}
.qcv-back{
  transform:rotateY(180deg);
  background:linear-gradient(180deg,rgba(28,181,176,.18),rgba(15,166,160,.06));
  border-color:rgba(127,227,223,.4);
  justify-content:space-between;
}
.qcv-back strong{
  font-family:var(--serif);font-weight:500;font-size:14px;color:#7fe3df;
  line-height:1.2;
}
.qcv-back p{font-size:11.5px;color:#e8eef5;line-height:1.5;flex:1}
.qcv-tag{
  font-size:9.5px;letter-spacing:.14em;color:#7fe3df;font-weight:700;
  padding:5px 10px;border-radius:999px;background:rgba(127,227,223,.18);
  align-self:flex-start;
}

/* Impact stats — contadores */
.quality-impact{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:40px;padding:30px 0;
  border-top:1px solid rgba(127,227,223,.14);
  border-bottom:1px solid rgba(127,227,223,.14);
}
.qi-stat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative}
.qi-stat:not(:last-child)::after{
  content:"";position:absolute;right:0;top:18%;bottom:18%;width:1px;
  background:rgba(127,227,223,.14);
}
.qi-stat strong{
  font-family:var(--serif);font-weight:500;font-size:54px;color:#fff;line-height:1;letter-spacing:-.02em;
}
.qi-stat em{
  font-style:normal;font-family:var(--serif);font-size:24px;color:#7fe3df;
  margin-left:2px;
}
.qi-stat span{font-size:11px;letter-spacing:.12em;color:#9fbdd1;text-transform:uppercase;font-weight:600;margin-top:4px}

/* ================ SOSTENIBILIDAD (Section 07) — rediseño ================ */
.sustain-hero-grid{grid-template-columns:1fr 440px;gap:48px;align-items:start}

/* Solar visualization — grid de paneles + sol */
.solar-viz{
  position:relative;
  border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,#0a2c5e 0%,#06182f 100%);
  border:1px solid rgba(127,227,223,.18);
  box-shadow:0 30px 60px -24px rgba(11,26,44,.25);
}
.sv-frame{
  position:relative;width:100%;height:280px;
  background:linear-gradient(180deg,#1a3360 0%,#0a2c5e 60%,#06182f 100%);
  overflow:hidden;
}
.sv-grid{
  position:absolute;left:0;right:0;bottom:0;height:160px;
  display:grid;grid-template-columns:repeat(40,1fr);grid-template-rows:repeat(28,1fr);
  gap:1px;padding:8px;
  transform:perspective(420px) rotateX(58deg);transform-origin:center bottom;
}
.sv-cell{
  background:linear-gradient(180deg,rgba(28,181,176,.5),rgba(28,181,176,.15));
  border-radius:1px;
  animation:svCellPulse 4s ease-in-out infinite;
}
@keyframes svCellPulse{
  0%,100%{opacity:.4;transform:scale(1)}
  50%{opacity:1;transform:scale(1.05)}
}
.sv-sun{
  position:absolute;left:50%;top:36px;transform:translateX(-50%);
  width:70px;height:70px;border-radius:50%;
  background:radial-gradient(circle,#fff8d6 0%,#ffd768 50%,#e9b048 90%);
  box-shadow:
    0 0 30px rgba(255,200,80,.6),
    0 0 60px rgba(255,200,80,.3),
    0 0 100px rgba(255,200,80,.15);
  animation:sunGlow 3s ease-in-out infinite;
}
@keyframes sunGlow{
  0%,100%{box-shadow:0 0 30px rgba(255,200,80,.6),0 0 60px rgba(255,200,80,.3),0 0 100px rgba(255,200,80,.15)}
  50%{box-shadow:0 0 40px rgba(255,200,80,.7),0 0 80px rgba(255,200,80,.4),0 0 130px rgba(255,200,80,.2)}
}
.sv-rays{
  position:absolute;left:50%;top:71px;transform:translateX(-50%);
  width:0;height:0;pointer-events:none;
}
.sv-rays span{
  position:absolute;left:-1px;top:0;
  width:2px;height:140px;
  background:linear-gradient(180deg,rgba(255,200,80,.5),transparent);
  transform-origin:top center;
  animation:rayPulse 3s ease-in-out infinite;
}
.sv-rays span:nth-child(1){transform:rotate(-50deg)}
.sv-rays span:nth-child(2){transform:rotate(-35deg)}
.sv-rays span:nth-child(3){transform:rotate(-20deg)}
.sv-rays span:nth-child(4){transform:rotate(-5deg)}
.sv-rays span:nth-child(5){transform:rotate(10deg)}
.sv-rays span:nth-child(6){transform:rotate(25deg)}
.sv-rays span:nth-child(7){transform:rotate(40deg)}
.sv-rays span:nth-child(8){transform:rotate(55deg)}
@keyframes rayPulse{0%,100%{opacity:.3}50%{opacity:.7}}
.sv-caption{padding:22px 26px 24px;color:#e8eef5}
.sv-eyebrow{font-size:10px;letter-spacing:.18em;color:#7fe3df;font-weight:700;margin-bottom:6px}
.sv-caption h4{font-family:var(--serif);font-weight:500;font-size:22px;color:#fff;letter-spacing:-.015em;margin-bottom:8px}
.sv-caption p{font-size:13px;line-height:1.5;color:#b3c4d6}

/* 4 pilares de sostenibilidad */
.sustain-pillars{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  margin-top:60px;
}
.sp-card{
  position:relative;border-radius:22px;padding:24px 22px 26px;
  background:#ffffff;
  border:1px solid rgba(11,26,44,.06);
  box-shadow:0 18px 36px -22px rgba(11,26,44,.16),0 4px 10px -4px rgba(11,26,44,.06);
  overflow:hidden;cursor:pointer;
  transition:transform .45s cubic-bezier(.3,1,.4,1),box-shadow .45s,border-color .35s;
}
.sp-card:hover{
  transform:translateY(-6px);
  border-color:rgba(28,181,176,.35);
  box-shadow:0 30px 60px -22px rgba(11,26,44,.24),0 10px 22px -8px rgba(11,26,44,.12);
}
.sp-bg{position:absolute;inset:0;opacity:.08;pointer-events:none;z-index:0;transition:opacity .4s}
.sp-card:hover .sp-bg{opacity:.16}
.sp-bg-1{background:radial-gradient(circle at 80% -20%, #e9b048, transparent 60%)}
.sp-bg-2{background:radial-gradient(circle at 80% -20%, #1cb5b0, transparent 60%)}
.sp-bg-3{background:radial-gradient(circle at 80% -20%, #5ab8d0, transparent 60%)}
.sp-bg-4{background:radial-gradient(circle at 80% -20%, #7d8ed8, transparent 60%)}
.sp-num{
  position:absolute;top:18px;right:20px;z-index:1;
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:14px;color:var(--teal);
}
.sp-icon{
  position:relative;z-index:1;
  display:flex;width:54px;height:54px;border-radius:16px;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(28,181,176,.18),rgba(159,217,232,.12));
  border:1px solid rgba(28,181,176,.2);
  color:var(--teal-strong);margin-bottom:14px;
  transition:transform .4s cubic-bezier(.3,1.4,.5,1);
}
.sp-card:hover .sp-icon{transform:rotate(-8deg) scale(1.06)}
.sp-card h3{
  position:relative;z-index:1;
  font-family:var(--serif);font-weight:500;font-size:22px;
  color:var(--ink);letter-spacing:-.015em;line-height:1.1;
}
.sp-stat{
  position:relative;z-index:1;
  display:flex;align-items:baseline;gap:6px;margin-top:14px;
  padding-top:14px;border-top:1px solid rgba(11,26,44,.08);
}
.sp-stat strong{
  font-family:var(--serif);font-weight:500;font-size:32px;
  color:var(--ink);letter-spacing:-.02em;line-height:1;
}
.sp-stat span{font-size:11px;letter-spacing:.1em;color:var(--gray);text-transform:uppercase;font-weight:600}
.sp-desc{position:relative;z-index:1;font-size:12.5px;line-height:1.55;color:var(--gray);margin-top:10px}
.sp-cta{
  position:relative;z-index:1;
  display:inline-flex;margin-top:14px;
  font-size:11.5px;font-weight:600;color:var(--teal-strong);
  transition:gap .25s,padding-left .25s;gap:4px;
}
.sp-card:hover .sp-cta{padding-left:6px;color:var(--ink)}

/* ============ RASA INTRO + FLOW ============ */
.rasa-intro{margin-top:80px}
.rasa-head{max-width:820px}
.rasa-head .eyebrow{justify-content:flex-start}
.cf-title{
  font-family:var(--serif);font-weight:500;font-size:42px;letter-spacing:-.02em;
  color:var(--ink);line-height:1.04;margin-top:8px;
}
.cf-title .period{color:var(--teal)}
.rasa-lead{font-size:14.5px;line-height:1.6;color:var(--gray);margin-top:14px;max-width:680px}
.rasa-lead.muted{margin-top:8px;color:#8997a8}
.rasa-stats{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin:32px 0 0;padding:24px 0;
  border-top:1px solid rgba(11,26,44,.08);
  border-bottom:1px solid rgba(11,26,44,.08);
}
.rasa-stats li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative}
.rasa-stats li:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:rgba(11,26,44,.08)}
.rasa-stats strong{font-family:var(--serif);font-weight:500;font-size:38px;color:var(--ink);line-height:1;letter-spacing:-.02em}
.rasa-stats span{font-size:10.5px;letter-spacing:.12em;color:var(--gray);text-transform:uppercase;font-weight:600}

/* Proceso flujo de RASA (4 pasos horizontal) */
.rasa-flow{
  display:flex;align-items:stretch;gap:8px;
  margin-top:40px;justify-content:center;flex-wrap:wrap;
}
.rf-step{
  flex:1;min-width:170px;max-width:240px;
  padding:22px 18px 20px;border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#f5f8fb);
  border:1px solid rgba(11,26,44,.08);
  box-shadow:0 14px 30px -18px rgba(11,26,44,.16);
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;
  transition:transform .35s cubic-bezier(.3,1,.4,1),border-color .3s,box-shadow .3s;
}
.rf-step:hover{
  transform:translateY(-4px);
  border-color:rgba(28,181,176,.32);
  box-shadow:0 20px 36px -16px rgba(11,26,44,.22);
}
.rf-num{
  position:absolute;top:14px;right:18px;
  font-family:var(--serif);font-style:italic;font-weight:600;font-size:13px;color:var(--teal);
}
.rf-ico{
  display:flex;width:46px;height:46px;border-radius:13px;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(28,181,176,.18),rgba(159,217,232,.1));
  border:1px solid rgba(28,181,176,.22);
  color:var(--teal-strong);margin-bottom:14px;
}
.rf-step strong{
  font-family:var(--serif);font-weight:500;font-size:18px;
  color:var(--ink);letter-spacing:-.01em;line-height:1.15;
}
.rf-step em{font-style:normal;font-size:11.5px;color:var(--gray);margin-top:6px;line-height:1.4}
.rf-arr{display:flex;align-items:center;color:var(--teal);flex-shrink:0}

/* ============ FOTOS REALES RASA ============ */
.rasa-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.rg-item{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px -24px rgba(11,26,44,.45)}
.rg-item img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .6s ease}
.rg-item:hover img{transform:scale(1.05)}
.rg-item figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;
  background:linear-gradient(180deg,transparent,rgba(6,18,40,.55) 55%,rgba(6,18,40,.9));
  color:#fff;display:flex;flex-direction:column;gap:2px;
}
.rg-item figcaption strong{font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:-.01em}
.rg-item figcaption span{font-size:11px;color:#bcd3e6;letter-spacing:.02em}
@media (max-width:760px){ .rasa-gallery{grid-template-columns:1fr} .rg-item img{height:210px} }

/* ============ 4 CULTIVOS ============ */
.biocrops{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  margin-top:50px;
}
.bc-card{
  position:relative;border-radius:24px;padding:0 0 22px;
  background:#fff;
  border:1px solid rgba(11,26,44,.06);
  box-shadow:0 18px 36px -22px rgba(11,26,44,.16),0 4px 10px -4px rgba(11,26,44,.06);
  overflow:hidden;cursor:pointer;
  transition:transform .45s cubic-bezier(.3,1,.4,1),box-shadow .45s,border-color .35s;
}
.bc-card:hover{
  transform:translateY(-8px);
  border-color:rgba(28,181,176,.4);
  box-shadow:0 36px 70px -22px rgba(11,26,44,.26),0 12px 24px -8px rgba(11,26,44,.14);
}
.bc-img{
  position:relative;width:100%;height:170px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.bc-img-sali{background:radial-gradient(circle at 50% 60%,#d4f0d2 0%,#a8d4a3 60%,#7bb574 100%)}
.bc-img-algae{background:radial-gradient(circle at 50% 60%,#cef2dc 0%,#88d8a5 60%,#4ca978 100%)}
.bc-img-zampa{background:radial-gradient(circle at 50% 60%,#e5edd4 0%,#bfd28e 60%,#8eaa5a 100%)}
.bc-img-piqui{background:radial-gradient(circle at 50% 60%,#f0d4d4 0%,#d39a96 60%,#a26561 100%)}
.bc-illus{
  width:120px;height:120px;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));
  transition:transform .6s cubic-bezier(.3,1.4,.5,1);
}
.bc-card:hover .bc-illus{transform:scale(1.12) rotate(-3deg)}
.bc-img::before{
  content:"";position:absolute;inset:auto 0 -1px 0;height:50px;
  background:linear-gradient(180deg,transparent,#fff 95%);
  pointer-events:none;
}
.bc-tag{
  display:inline-flex;margin:14px 22px 0;
  font-size:9.5px;letter-spacing:.18em;font-weight:700;color:var(--teal-strong);
  padding:5px 11px;border-radius:999px;
  background:rgba(28,181,176,.1);border:1px solid rgba(28,181,176,.2);
  align-self:flex-start;
}
.bc-card h4{
  font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:-.015em;
  color:var(--ink);line-height:1;margin:12px 22px 2px;
}
.bc-sci{
  font-style:italic;font-size:12px;color:var(--teal-strong);font-weight:500;
  margin:0 22px 10px;display:block;
}
.bc-desc{font-size:12.5px;line-height:1.55;color:var(--gray);margin:0 22px 14px}
.bc-cta{
  display:inline-flex;margin:0 22px;
  font-size:11.5px;font-weight:600;color:var(--teal-strong);
  transition:gap .25s,padding-left .25s;
}
.bc-card:hover .bc-cta{padding-left:6px;color:var(--ink)}

/* Cert modal logo */
.cert-modal-logo{
  height:60px;width:auto;display:block;margin-bottom:18px;
  filter:brightness(0) invert(1) sepia(.4) saturate(2) hue-rotate(140deg) brightness(1.1);
}

/* ================ CALIDAD (legacy) ================ */
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.quality-card{
  border-radius:20px;padding:24px 18px;
  text-align:center;
  transition:transform .4s cubic-bezier(.3,1,.4,1);
  color:#e8eef5;
}
.quality-card:hover{transform:translateY(-6px) scale(1.02)}
.quality-ico{
  display:inline-flex;width:56px;height:56px;border-radius:16px;
  background:rgba(28,181,176,.15);color:#7fe3df;
  align-items:center;justify-content:center;margin-bottom:12px;
  transition:transform .4s;
}
.quality-card:hover .quality-ico{transform:rotate(-5deg) scale(1.05)}
.quality-card h3{
  font-family:var(--serif);font-weight:500;font-size:22px;color:#fff;margin-bottom:8px;
}
.quality-card p{font-size:12.5px;color:#b3c4d6;line-height:1.5}

/* ================ SOSTENIBILIDAD ================ */
.sustain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sustain-card{
  border-radius:20px;padding:22px;
  transition:transform .4s cubic-bezier(.3,1,.4,1);
}
.sustain-card:hover{transform:translateY(-6px) rotate(-.6deg)}
.s-ico{
  display:inline-flex;width:48px;height:48px;border-radius:14px;
  background:linear-gradient(135deg,rgba(28,181,176,.2),rgba(28,181,176,.05));
  color:var(--teal-strong);
  align-items:center;justify-content:center;margin-bottom:12px;
}
.sustain-card h3{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin-bottom:6px;letter-spacing:-.01em}
.sustain-card p{font-size:12.5px;color:var(--gray);line-height:1.55}

/* ================ CONTACTO (Section 08) — rediseño ================ */
.contact-stack{display:flex;flex-direction:column;gap:24px;margin-top:40px}

/* 3 quick-contact channels */
.contact-channels{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.cc-card{
  position:relative;display:flex;flex-direction:column;
  padding:24px 22px 24px;border-radius:22px;
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
  border:1px solid rgba(11,26,44,.08);
  box-shadow:0 18px 36px -22px rgba(11,26,44,.18);
  transition:transform .4s cubic-bezier(.3,1,.4,1),box-shadow .4s,border-color .35s;
  overflow:hidden;
}
.cc-card::before{
  content:"";position:absolute;inset:0;border-radius:22px;
  background:linear-gradient(135deg,rgba(28,181,176,.06),transparent 60%);
  opacity:0;transition:opacity .4s;pointer-events:none;
}
.cc-card:hover{transform:translateY(-6px);border-color:rgba(28,181,176,.35);box-shadow:0 30px 60px -24px rgba(11,26,44,.24)}
.cc-card:hover::before{opacity:1}
.cc-icon{
  display:flex;width:48px;height:48px;border-radius:14px;
  background:linear-gradient(135deg,rgba(28,181,176,.18),rgba(159,217,232,.1));
  border:1px solid rgba(28,181,176,.2);color:var(--teal-strong);
  align-items:center;justify-content:center;margin-bottom:14px;
  transition:transform .4s cubic-bezier(.3,1.4,.5,1);
}
.cc-card:hover .cc-icon{transform:rotate(-6deg) scale(1.08)}
.cc-tag{
  display:inline-flex;align-self:flex-start;
  font-size:9.5px;letter-spacing:.18em;font-weight:700;color:var(--teal-strong);
  padding:4px 9px;border-radius:999px;
  background:rgba(28,181,176,.1);border:1px solid rgba(28,181,176,.2);
  margin-bottom:10px;
}
.cc-card h3{
  font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.015em;
  color:var(--ink);line-height:1.1;margin-bottom:8px;
}
.cc-card p{font-size:12.5px;line-height:1.55;color:var(--gray);margin-bottom:14px;flex:1}
.cc-link{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--teal-strong);
  padding-top:14px;border-top:1px solid rgba(11,26,44,.08);
  display:block;word-break:break-all;
}
.cc-meta{font-size:11px;color:var(--gray);margin-top:6px;display:block}

/* Form wrap (deep glass) */
.contact-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-radius:28px;overflow:hidden;
}
.contact-left{
  padding:40px 36px;
  background:linear-gradient(135deg,rgba(28,181,176,.16),rgba(28,181,176,.03));
  display:flex;flex-direction:column;gap:10px;
}
.contact-title{
  font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:-.015em;
  color:#fff;line-height:1.05;margin-top:6px;
}
.contact-title .period{color:var(--teal)}

/* Pills con email + tel */
.contact-pills{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.mail-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 14px 11px 16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:999px;font-size:13px;color:#fff;font-weight:500;
  transition:background .25s,border-color .25s;
}
.mail-pill:hover{background:rgba(255,255,255,.14);border-color:rgba(127,227,223,.4)}
.mail-ico{display:inline-flex;color:#7fe3df}

/* Address blocks */
.addresses{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.addr-block{
  display:flex;flex-direction:column;gap:3px;
  padding:14px 14px;border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}
.addr-flag{margin-bottom:6px}
.addr-block strong{font-family:var(--serif);font-size:16px;color:#fff;font-weight:500;letter-spacing:-.01em}
.addr-block span{font-size:12px;color:#b3c4d6}
.addr-block em{font-style:normal;font-size:10px;letter-spacing:.12em;color:#7fe3df;text-transform:uppercase;font-weight:600;margin-top:4px}

/* Redes sociales */
.contact-social{display:flex;gap:8px;margin-top:auto;padding-top:24px}
.cs-btn{
  display:flex;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  align-items:center;justify-content:center;
  transition:background .25s,transform .25s,border-color .25s;
}
.cs-btn:hover{
  background:#1cb5b0;border-color:#1cb5b0;
  transform:translateY(-2px);
  box-shadow:0 8px 18px -6px rgba(28,181,176,.5);
}

/* Form fields */
.contact-form{padding:40px 36px;display:flex;flex-direction:column;gap:12px;background:rgba(10,30,60,.55)}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-form label{
  display:flex;flex-direction:column;gap:5px;
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7fe3df;
}
.contact-form input,
.contact-form textarea,
.contact-form select{
  font-family:inherit;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:11px;padding:11px 14px;
  transition:border-color .25s,background .25s;
}
.contact-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7fe3df 50%),linear-gradient(135deg,#7fe3df 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px;background-size:6px 6px;background-repeat:no-repeat}
.contact-form select option{color:var(--ink);background:#fff}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{outline:none;border-color:var(--teal);background:rgba(255,255,255,.1)}
.contact-form textarea{resize:vertical;min-height:90px}
.contact-form .consent{
  flex-direction:row;align-items:center;gap:10px;
  font-size:11.5px;letter-spacing:.04em;text-transform:none;color:#b3c4d6;font-weight:500;
}
.contact-form .consent input{
  width:auto;background:transparent;padding:0;margin:0;accent-color:var(--teal);
}
.contact-form .btn{align-self:flex-start;margin-top:6px;background:var(--teal);color:#fff}
.contact-form .btn .btn-arrow{background:#fff;color:var(--teal-strong)}

/* ================ CONTACTO (legacy) ================ */
.contact-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-radius:28px;overflow:hidden;
}
.contact-left{padding:40px;background:linear-gradient(135deg,rgba(28,181,176,.16),rgba(28,181,176,.03))}
.mail-pill{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:20px;padding:10px 14px 10px 16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:999px;font-size:13px;color:#fff;font-weight:500;
}
.mail-ico{display:inline-flex;color:#7fe3df}
.copy-btn{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 10px;background:rgba(255,255,255,.1);border-radius:999px;
  cursor:pointer;transition:background .2s;
}
.copy-btn:hover{background:rgba(255,255,255,.18)}
.addresses{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.addresses div{display:flex;flex-direction:column;gap:3px}
.addresses strong{font-family:var(--serif);font-size:16px;color:#fff;font-weight:500}
.addresses span{font-size:12.5px;color:#b3c4d6}

.contact-form{padding:40px;display:flex;flex-direction:column;gap:12px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-form label{
  display:flex;flex-direction:column;gap:5px;
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7fe3df;
}
.contact-form input,
.contact-form textarea{
  font-family:inherit;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:11px;padding:10px 12px;
  transition:border-color .2s,background .2s;
}
.contact-form input:focus,
.contact-form textarea:focus{outline:none;border-color:var(--teal);background:rgba(255,255,255,.1)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.4)}
.contact-form textarea{resize:vertical;min-height:84px}
.contact-form .btn{align-self:flex-start;margin-top:4px;background:var(--teal);color:#fff}
.contact-form .btn .btn-arrow{background:#fff;color:var(--teal-strong)}

/* INFO BAR */
.info-bar{
  position:relative;z-index:3;
  border-radius:999px;
  margin:30px 0 6px;
  padding:18px 32px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  /* Override .glass inset shadows que crean líneas blancas visibles */
  box-shadow:
    0 14px 40px -16px rgba(11,26,44,.18),
    0 2px 8px rgba(11,26,44,.06) !important;
}
.info-item{display:flex;align-items:center;gap:12px}
.info-ico{
  width:44px;height:44px;border-radius:50%;
  background:rgba(28,181,176,.12);color:var(--teal-strong);
  display:flex;align-items:center;justify-content:center;flex:0 0 44px;
}
.info-item h4{font-family:var(--serif);font-weight:500;font-size:16px;color:var(--ink)}
.info-item p{font-size:12px;color:var(--gray);margin-top:1px}

/* ================ FOOTER — rediseñado ================ */
.footer{
  position:relative;
  background:
    radial-gradient(800px 400px at 80% 0%, rgba(28,181,176,.08), transparent 60%),
    linear-gradient(180deg,#06182f,#020a18);
  color:#b3c4d6;
  margin-top:24px;
  border-radius:0 0 34px 34px;
  margin-left:calc(-1 * var(--stage-px-l));
  margin-right:calc(-1 * var(--stage-px-r));
  padding:54px var(--stage-px-r) 28px var(--stage-px-l);
  overflow:hidden;
}

/* Footer TOP: brand + newsletter */
.footer-top{
  display:grid;grid-template-columns:1.2fr 1fr;gap:60px;
  padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08);
}
.ft-brand{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.footer-logo{height:64px;width:auto;filter:brightness(0) invert(1);opacity:.95}
.ft-tagline{
  font-family:var(--serif);font-size:18px;line-height:1.4;color:#e8eef5;
  font-weight:400;letter-spacing:-.005em;max-width:380px;
  display:flex;flex-direction:column;gap:8px;
}
.ft-tagline-meta{
  font-family:var(--sans);font-size:11px;letter-spacing:.16em;color:#7fe3df;
  text-transform:uppercase;font-weight:700;
}
/* Footer: "Somos una empresa de AISA Group" — sello del grupo, elegante */
.ft-aisa{
  display:flex;flex-direction:column;align-items:flex-start;gap:11px;
  margin-top:6px;padding-top:22px;width:100%;max-width:300px;
  border-top:1px solid rgba(127,227,223,.16);
}
.ft-aisa__label{
  font-size:9.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:#6b8198;
}
.ft-aisa__logo{
  height:40px;width:auto;filter:brightness(0) invert(1);opacity:.92;
  transition:opacity .25s ease;
}
.ft-aisa__logo:hover{opacity:1}
@media(max-width:560px){.ft-aisa{padding-top:18px}.ft-aisa__logo{height:34px}}
.ft-social{display:flex;gap:10px;margin-top:6px}
.ft-social a{
  display:flex;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.06);border:1px solid rgba(127,227,223,.18);
  color:#9fb0c3;
  align-items:center;justify-content:center;
  transition:background .25s,color .25s,transform .25s,border-color .25s,box-shadow .25s;
}
.ft-social a svg{display:block}
.ft-social a:hover{
  background:#1cb5b0;border-color:#1cb5b0;color:#fff;
  transform:translateY(-3px);
  box-shadow:0 10px 22px -4px rgba(28,181,176,.55);
}

/* Newsletter */
.ft-newsletter{display:flex;flex-direction:column;gap:10px;align-self:end}
.ft-newsletter h5{
  font-family:var(--serif);font-weight:500;font-size:22px;color:#fff;letter-spacing:-.01em;line-height:1.1;
}
.ft-newsletter p{font-size:13px;color:#8ea0b5;line-height:1.55;max-width:380px}
.ft-form{
  display:flex;align-items:center;gap:0;position:relative;
  margin-top:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:5px;
  transition:border-color .25s,background .25s;
}
.ft-form:focus-within{border-color:var(--teal);background:rgba(255,255,255,.1)}
.ft-form input{
  flex:1;background:transparent;border:none;outline:none;
  font-family:inherit;font-size:13.5px;color:#fff;
  padding:9px 16px;
}
.ft-form input::placeholder{color:#7c8fa8}
.ft-form button{
  display:flex;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(180deg,var(--teal),var(--teal-strong));color:#fff;
  align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 6px 14px -4px rgba(28,181,176,.5);
  transition:transform .25s;
}
.ft-form button:hover{transform:translateX(2px) scale(1.04)}
.ft-msg{
  position:absolute;left:18px;bottom:-22px;
  font-size:11px;color:#7fe3df;font-weight:600;
}

/* Footer mid grid */
.footer-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  padding:44px 0 36px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer h5{
  font-family:var(--serif);font-weight:500;font-size:15px;color:#fff;
  margin-bottom:16px;letter-spacing:-.005em;
  padding-bottom:10px;
  border-bottom:1px solid rgba(127,227,223,.16);
  display:inline-block;
}
.footer a,.footer span{display:block;font-size:12.5px;line-height:2;color:#8ea0b5;transition:color .2s,padding-left .2s}
.footer a:hover{color:#7fe3df;padding-left:4px}
/* Iconos sociales: re-afirmar el centrado (la regla genérica .footer a los descolocaba) */
.footer .ft-social{align-items:center}
.footer .ft-social a{display:flex;align-items:center;justify-content:center;line-height:0;padding:0}
.footer .ft-social a:hover{padding:0;color:#fff}

/* Cert logos band */
.footer-certs{
  display:flex;align-items:center;gap:24px;
  padding:28px 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.ft-cert-label{
  font-size:10px;letter-spacing:.18em;color:#7c8fa8;font-weight:700;text-transform:uppercase;
  flex-shrink:0;
}
.ft-cert-row{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;flex:1;
}
.ft-cert-row img{
  height:32px;width:auto;
  opacity:.5;
  filter:brightness(0) invert(1) sepia(.4) saturate(2) hue-rotate(140deg) brightness(1.1);
  transition:opacity .25s,transform .25s;
}
.ft-cert-row img:hover{opacity:1;transform:scale(1.08)}

/* Footer base legal */
.footer-base{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding-top:22px;font-size:11.5px;color:#5d6c81;letter-spacing:.02em;flex-wrap:wrap;
}
.ft-base-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ft-base-left span,.ft-base-left strong,.ft-base-left em{display:inline;color:#7c8fa8;font-size:11.5px;line-height:1.4}
.ft-base-left strong{color:#9fb0c3;font-weight:600}
.ft-dot{color:#3d4d61 !important}
.ft-base-right{display:flex;gap:18px}
.ft-base-right a,.ft-base-right button{
  display:inline;font-size:11.5px;color:#7c8fa8;
  background:none;border:none;padding:0;font-family:inherit;
  cursor:pointer;transition:color .2s;
}
.ft-base-right a:hover,.ft-base-right button:hover{color:#7fe3df;padding-left:0}

/* Modal legal */
.legal-modal{padding:38px 36px}
.legal-modal h3{margin-bottom:6px}
.legal-modal p.muted{font-size:11px;letter-spacing:.08em;color:#7c8fa8;margin-bottom:20px;text-transform:uppercase;font-weight:600}
.legal-modal h4{
  font-family:var(--serif);font-weight:500;font-size:16px;color:#7fe3df;
  margin:22px 0 6px;letter-spacing:-.005em;
}
.legal-modal p{font-size:13px;line-height:1.65;color:#b3c4d6;margin-top:6px}
.legal-modal strong{color:#fff;font-weight:600}
.legal-modal em{font-style:italic;color:#e8eef5}
.legal-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:6px}
.legal-list li{
  font-size:13px;line-height:1.55;color:#b3c4d6;
  padding-left:14px;position:relative;
}
.legal-list li::before{
  content:"";position:absolute;left:0;top:8px;
  width:5px;height:5px;border-radius:50%;background:var(--teal);
}
.legal-list li strong{color:#fff;font-weight:600}

/* ================ MODAL VIDEO PLAYER ================ */
.player-modal{
  position:fixed;inset:0;z-index:100;
  opacity:0;pointer-events:none;
  transition:opacity .3s;
  display:flex;align-items:center;justify-content:center;
  padding:32px;
}
.player-modal.open{opacity:1;pointer-events:auto}
/* Fondo idéntico al de los demás modales (.info-back), sin "liquid glass" */
.player-back{position:absolute;inset:0;background:rgba(2,8,18,.55);backdrop-filter:blur(14px)}
.player-shell{
  position:relative;width:min(980px,100%);
  border-radius:22px;overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid rgba(127,227,223,.14);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
  transform:scale(.92);transition:transform .35s cubic-bezier(.3,1.3,.5,1);
}
.player-modal.open .player-shell{transform:scale(1)}
.player-modal.minimized{padding:0}
.player-modal.minimized .player-back{display:none}
.player-modal.minimized .player-shell{position:fixed;right:24px;bottom:24px;width:380px;border-radius:18px}
.player-stage{position:relative;background:#000;aspect-ratio:16/9}
.player-stage video{width:100%;height:100%;object-fit:contain;display:block}
.player-poster{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .3s}
.player-poster img{width:100%;height:100%;object-fit:cover}
.player-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.55))}
.player-poster.hidden{opacity:0;pointer-events:none}
.play-big{
  position:absolute;width:84px;height:84px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;
  z-index:2;transition:transform .25s;
}
.play-big:hover{transform:scale(1.06)}
.player-title{
  position:absolute;top:16px;left:18px;color:#fff;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.92;z-index:2;
  padding:6px 12px;background:rgba(6,18,40,.78);
  border-radius:999px;border:1px solid rgba(127,227,223,.22);
}
/* X de cierre igual que el resto de modales (.info-close). Doble clase +
   !important para vencer .glass-strong (que en móvil se aclara). */
.player-close,
.player-close.glass-strong{
  position:absolute;top:14px;right:14px;
  width:38px;height:38px;border-radius:50%;color:#fff;
  display:flex;align-items:center;justify-content:center;z-index:4;
  background:rgba(8,20,40,.92) !important;border:1px solid rgba(127,227,223,.28);
  box-shadow:0 6px 18px -6px rgba(0,0,0,.6);
  transition:transform .2s,background .2s;
}
.player-close:hover{transform:rotate(90deg);background:rgba(28,181,176,.9) !important}

/* Móvil: controles NATIVOS → ocultar la barra custom (se deformaba) y el póster.
   El vídeo nativo muestra su propio play/controles, limpios y sin estirarse. */
.player-modal.native-controls .player-controls,
.player-modal.native-controls .player-poster{ display:none !important; }
.player-modal.native-controls .player-shell{ width:min(680px,100%) }
.player-modal.native-controls .player-stage{ aspect-ratio:16/9 }
.player-modal.native-controls .player-stage video{ width:100%;height:100%;object-fit:contain;background:#000 }

/* Barra de controles SÓLIDA (sin cristal translúcido), a tono con el modal oscuro.
   La clase .glass se fuerza a blanco en móvil (!important) por la optimización
   anti-crash; por eso fijamos el fondo oscuro con doble clase + !important. */
.player-controls,
.player-controls.glass{
  display:flex;align-items:center;gap:10px;padding:13px 16px;
  background:linear-gradient(180deg,rgba(8,22,44,.99),rgba(5,15,33,.99)) !important;
  border-top:1px solid rgba(127,227,223,.12);
}
.pc-btn{
  width:36px;height:36px;border-radius:50%;color:#fff;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  font-size:11px;font-weight:600;
  transition:background .2s,transform .15s;
}
.pc-btn:hover{background:rgba(255,255,255,.18);transform:scale(1.06)}
.pc-play{width:44px;height:44px;background:var(--teal);border-color:var(--teal-strong)}
.pc-play:hover{background:var(--teal-strong)}
.pc-time{font-size:11px;color:#b3c4d6;font-variant-numeric:tabular-nums;min-width:40px;text-align:center}
.pc-progress{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:999px;position:relative;cursor:pointer;overflow:visible}
.pc-buffer{position:absolute;inset:0;width:0;background:rgba(255,255,255,.2);border-radius:999px}
.pc-bar{position:absolute;inset:0;width:0;background:linear-gradient(90deg,#1cb5b0,#9fd9e8);border-radius:999px}
.pc-thumb{
  position:absolute;top:50%;left:0;transform:translate(-50%,-50%);
  width:13px;height:13px;border-radius:50%;background:#fff;
  box-shadow:0 4px 10px rgba(0,0,0,.5);
}
.pc-vol{width:66px;display:flex;align-items:center}
.pc-vol-track{width:100%;height:4px;background:rgba(255,255,255,.1);border-radius:999px;position:relative;cursor:pointer}
.pc-vol-fill{position:absolute;inset:0;width:80%;background:#fff;border-radius:999px}

/* INFO MODAL */
.info-modal{
  position:fixed;inset:0;z-index:90;
  opacity:0;pointer-events:none;
  transition:opacity .3s;
  display:flex;align-items:center;justify-content:center;padding:32px;
}
.info-modal.open{opacity:1;pointer-events:auto}
.info-back{position:absolute;inset:0;background:rgba(2,8,18,.55);backdrop-filter:blur(14px)}
.info-shell{
  position:relative;width:min(600px,100%);
  border-radius:22px;padding:38px 34px;
  transform:scale(.92);transition:transform .35s cubic-bezier(.3,1.3,.5,1);
}
.info-modal.open .info-shell{transform:scale(1)}
.info-shell h3{font-family:var(--serif);font-weight:500;font-size:34px;color:#fff;letter-spacing:-.02em;line-height:1.05;margin-bottom:16px}
.info-shell p{font-size:14px;line-height:1.65;color:#b3c4d6;margin-top:10px}
.info-close{
  position:absolute;top:16px;right:16px;
  width:36px;height:36px;border-radius:50%;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;
}

/* TRANSLATING INDICATOR — desactivado a petición del cliente (no mostrar burbuja) */

/* ================ FAB WIDGETS (AI Chat — único flotante) ================ */
.fab-stack{
  position:fixed;right:24px;bottom:24px;z-index:300;
  display:flex;flex-direction:column;gap:14px;
  /* Counter-zoom: el JS aplica scale inverso al zoom de html.fit-scale */
  transform-origin:bottom right;
  will-change:transform;
}
.fab{
  position:relative;
  display:flex;width:60px;height:60px;border-radius:50%;
  align-items:center;justify-content:center;
  color:#fff;border:none;cursor:pointer;padding:0;
  box-shadow:0 14px 30px -8px rgba(0,0,0,.32),0 4px 10px -2px rgba(0,0,0,.22);
  transition:transform .25s cubic-bezier(.3,1.4,.5,1),box-shadow .25s;
}
.fab:hover{transform:scale(1.08);box-shadow:0 20px 40px -8px rgba(0,0,0,.42)}
.fab-wa{
  background:linear-gradient(180deg,#25d366,#1dba56);
  animation:waPulse 3s ease-in-out infinite;
}
@keyframes waPulse{
  0%,100%{box-shadow:0 14px 30px -8px rgba(0,0,0,.32),0 0 0 0 rgba(37,211,102,.4)}
  50%{box-shadow:0 14px 30px -8px rgba(0,0,0,.32),0 0 0 12px rgba(37,211,102,0)}
}
.fab-ai{
  background:linear-gradient(180deg,#1cb5b0,#0fa6a0);
}
.fab-pulse{
  position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(28,181,176,.5);
  animation:fabPulseRing 2.4s ease-out infinite;
  pointer-events:none;
}
@keyframes fabPulseRing{
  0%{transform:scale(1);opacity:1}
  100%{transform:scale(1.4);opacity:0}
}
.fab-tip{
  position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);
  background:rgba(11,26,44,.92);
  color:#fff;
  padding:7px 13px;border-radius:8px;
  font-size:12px;font-weight:600;letter-spacing:.02em;
  white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .25s,transform .25s;
  box-shadow:0 6px 16px -4px rgba(0,0,0,.4);
}
.fab-tip::after{
  content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);
  border:5px solid transparent;border-left-color:rgba(11,26,44,.92);
}
.fab:hover .fab-tip{opacity:1;transform:translateY(-50%) translateX(-2px)}

/* ============ AI CHAT PANEL ============ */
.ai-chat{
  position:fixed;right:24px;bottom:100px;z-index:310;
  width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 140px);
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fff,#f8fbfd);
  border-radius:22px;
  border:1px solid rgba(11,26,44,.08);
  box-shadow:0 30px 60px -12px rgba(11,26,44,.32),0 12px 24px -6px rgba(11,26,44,.18);
  opacity:0;pointer-events:none;
  transform:translateY(20px) scale(.95);transform-origin:bottom right;
  transition:opacity .3s,transform .35s cubic-bezier(.3,1.3,.5,1);
}
.ai-chat.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.ac-head{
  display:flex;align-items:center;gap:12px;
  padding:18px 20px;border-bottom:1px solid rgba(11,26,44,.08);
  background:linear-gradient(180deg,#0b1a2c,#06182f);
  color:#fff;border-radius:22px 22px 0 0;
}
.ac-avatar{
  display:flex;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(180deg,#1cb5b0,#0fa6a0);
  align-items:center;justify-content:center;color:#fff;flex-shrink:0;
}
.ac-title{display:flex;flex-direction:column;gap:2px;flex:1}
.ac-title strong{font-family:var(--serif);font-weight:500;font-size:15px;letter-spacing:-.005em}
.ac-title span{font-size:11px;color:#7fe3df;font-weight:500;display:flex;align-items:center;gap:6px}
.ac-online{
  width:7px;height:7px;border-radius:50%;background:#23d160;
  box-shadow:0 0 0 3px rgba(35,209,96,.25);
  animation:dotpulse 2s infinite;
}
.ac-wa{
  display:flex;width:36px;height:36px;border-radius:50%;
  background:linear-gradient(180deg,#25d366,#1dba56);
  color:#fff;flex-shrink:0;
  align-items:center;justify-content:center;
  transition:transform .25s,box-shadow .25s;
  box-shadow:0 4px 10px -2px rgba(37,211,102,.5);
}
.ac-wa:hover{transform:scale(1.08);box-shadow:0 8px 18px -4px rgba(37,211,102,.6)}
.ac-close{
  display:flex;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;
  font-size:22px;line-height:1;
  align-items:center;justify-content:center;
  border:none;cursor:pointer;transition:background .2s;
}
.ac-close:hover{background:rgba(255,255,255,.2)}

/* Form actions: Enviar + WhatsApp lado a lado */
.form-actions{
  display:flex;align-items:center;gap:14px;margin-top:8px;flex-wrap:wrap;
}
.form-divider{
  font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.4);
  text-transform:uppercase;font-weight:600;
}
.btn-wa{
  background:linear-gradient(180deg,#25d366,#1dba56) !important;
  color:#fff !important;
  padding:9px 18px 9px 14px;border-radius:999px;
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;font-weight:600;
  box-shadow:0 8px 18px -6px rgba(37,211,102,.5);
  transition:transform .2s,box-shadow .2s;
}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 12px 24px -6px rgba(37,211,102,.6)}
.btn-wa-ico{display:inline-flex}

/* Botones unificados (Enviar consulta + WhatsApp) — misma estructura */
.btn-action,
button.btn-action,
a.btn-action{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;
  padding:13px 24px !important;border-radius:999px !important;
  font-family:inherit !important;font-size:13px !important;font-weight:600 !important;
  border:none !important;cursor:pointer !important;text-decoration:none !important;
  transition:transform .2s,box-shadow .25s,filter .2s !important;
  white-space:nowrap !important;
  color:#fff !important;
  line-height:1 !important;
}
.btn-action-ico{display:inline-flex !important;flex-shrink:0;align-items:center}
.btn-action-ico svg{display:block}
.btn-action-primary{
  background:linear-gradient(180deg,#1cb5b0,#0fa6a0) !important;
  box-shadow:0 8px 18px -6px rgba(28,181,176,.5) !important;
}
.btn-action-primary:hover{transform:translateY(-2px) !important;box-shadow:0 12px 24px -6px rgba(28,181,176,.6) !important;filter:brightness(1.05)}
.btn-action-wa{
  background:linear-gradient(180deg,#25d366,#1dba56) !important;
  box-shadow:0 8px 18px -6px rgba(37,211,102,.5) !important;
}
.btn-action-wa:hover{transform:translateY(-2px) !important;box-shadow:0 12px 24px -6px rgba(37,211,102,.6) !important;filter:brightness(1.05)}

/* ============ PERFORMANCE: kill animaciones costosas ============ */
/* Las animaciones infinitas + backdrop-filter masivo lastran mucho.
   Reducimos al mínimo manteniendo aspecto visual. */
.blob{animation:none !important;will-change:auto}
.cv-marker-mkt{animation:none !important}
.cv-marker-hq{animation:none !important}
.sv-cell{animation:none !important}
.sv-sun{animation:none !important}
.sv-rays span{animation:none !important;opacity:.5}
.fab-wa{animation:none !important}
.fab-pulse{animation:none !important;opacity:.4}
.cert-track{animation-duration:60s !important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* Reduce backdrop-filter: solo en elementos críticos (navpill, lang-menu, drawer) */
.glass{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(255,255,255,.85) !important}
.glass-strong{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(255,255,255,.18) !important}
.glass-deep{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
/* Mantener glass real solo donde aporta UX */
.lang-menu,.nav-dropdown,.navpill,.lang-pill{
  backdrop-filter:blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(180%) !important;
}

.ac-body{
  flex:1;overflow-y:auto;padding:18px;
  display:flex;flex-direction:column;gap:12px;
  scrollbar-width:thin;scrollbar-color:rgba(11,26,44,.2) transparent;
}
.ac-body::-webkit-scrollbar{width:6px}
.ac-body::-webkit-scrollbar-thumb{background:rgba(11,26,44,.2);border-radius:3px}
.ac-msg{display:flex;flex-direction:column;gap:8px;max-width:90%}
.ac-msg p{
  padding:11px 14px;border-radius:14px;
  font-size:13px;line-height:1.5;
  margin:0;
}
.ac-msg-bot{align-self:flex-start}
.ac-msg-bot p{background:#eef2f6;color:var(--ink);border-bottom-left-radius:4px}
.ac-msg-user{align-self:flex-end;max-width:80%}
.ac-msg-user p{
  background:linear-gradient(180deg,#1cb5b0,#0fa6a0);color:#fff;
  border-bottom-right-radius:4px;
}
.ac-msg strong{font-weight:600}
.ac-msg ul{margin:6px 0 0 16px;font-size:13px}
.ac-msg li{margin:3px 0}
.ac-typing{display:flex;gap:4px;padding:11px 14px;background:#eef2f6;border-radius:14px;border-bottom-left-radius:4px;align-self:flex-start}
.ac-typing span{
  width:6px;height:6px;border-radius:50%;background:var(--teal-strong);
  animation:typing 1.2s infinite;
}
.ac-typing span:nth-child(2){animation-delay:.2s}
.ac-typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}

.ac-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ac-sug{
  font-size:11.5px;font-weight:600;color:var(--teal-strong);
  padding:6px 12px;border-radius:999px;
  background:rgba(28,181,176,.1);border:1px solid rgba(28,181,176,.22);
  cursor:pointer;transition:background .2s,border-color .2s;
}
.ac-sug:hover{background:rgba(28,181,176,.18);border-color:rgba(28,181,176,.4)}

.ac-form{
  display:flex;gap:8px;padding:14px 18px;
  border-top:1px solid rgba(11,26,44,.08);background:#fff;
}
.ac-form input{
  flex:1;font-family:inherit;font-size:13px;color:var(--ink);
  background:#f5f8fb;border:1px solid rgba(11,26,44,.06);
  border-radius:999px;padding:10px 16px;outline:none;
  transition:border-color .2s,background .2s;
}
.ac-form input:focus{border-color:var(--teal);background:#fff}
.ac-form button{
  display:flex;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(180deg,#1cb5b0,#0fa6a0);color:#fff;
  align-items:center;justify-content:center;flex-shrink:0;
  border:none;cursor:pointer;
  box-shadow:0 4px 10px -2px rgba(28,181,176,.4);
  transition:transform .2s;
}
.ac-form button:hover{transform:translateX(2px) scale(1.05)}

.ac-foot{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 18px 12px;font-size:10.5px;color:var(--gray);
  border-radius:0 0 22px 22px;
}
.ac-foot a{color:var(--teal-strong);font-weight:600}
.ac-foot a:hover{text-decoration:underline}

@media (max-width:720px){
  .fab-stack{right:14px;bottom:14px;gap:10px}
  .fab{width:54px;height:54px}
  .fab-tip{display:none}
  .ai-chat{right:14px;left:14px;width:auto;bottom:80px}
}

/* TOAST */
.toast{
  position:fixed;left:50%;bottom:32px;transform:translate(-50%,30px);
  padding:11px 22px;border-radius:999px;
  font-size:13px;font-weight:600;color:var(--ink);
  z-index:120;opacity:0;pointer-events:none;
  transition:all .3s;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* REVEAL ON SCROLL */
html.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.3,1,.4,1),transform .8s cubic-bezier(.3,1,.4,1)}
html.js [data-reveal].in{opacity:1;transform:translateY(0)}

/* SCROLLBAR */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(11,26,44,.25);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:rgba(11,26,44,.45)}

/* ================ ESCALADO HACIA ARRIBA (monitores anchos) ================ */
/* En viewports > 1440 escalamos el documento con zoom para llenar la pantalla. */
html.fit-scale{
  zoom: var(--fit-zoom, 1);
}
html.fit-scale body{
  width:1440px;
  margin:0 auto;
}

/* ================ RESPONSIVE — diseño limpio y moderno ================ */
/* TABLET (1100px y menos) — todo se va simplificando con elegancia. */
@media (max-width:1100px){
  :root{--stage-px-r:48px;--stage-px-l:48px}
  .stage{padding-top:24px}
  .side-rail{display:none}

  /* HERO: la imagen del barco mantiene clip-path abstracta como banner */
  .hero{display:flex;flex-direction:column;gap:0}
  .ship-cutout{
    position:relative;top:0;width:auto;height:360px;
    clip-path:url(#shipMaskBanner);
    -webkit-clip-path:url(#shipMaskBanner);
    border-radius:0;
    margin:18px calc(-1 * var(--stage-px-r)) 36px calc(-1 * var(--stage-px-l));
    order:2;
  }
  .ship-cutout::after{display:none}
  /* Play button: círculo sólido oscuro (igual color que desktop), sólo icono */
  .play-btn{
    top:62%;
    width:72px;height:72px;
    padding:0 !important;
    border-radius:50%;
    justify-content:center;gap:0;
    background:linear-gradient(180deg,#0b1a2c 0%,#06182f 100%) !important;
    border:1.5px solid rgba(255,255,255,.16) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.18) inset,
      0 0 0 6px rgba(11,26,44,.18),
      0 20px 50px -16px rgba(0,0,0,.6),
      0 6px 14px -4px rgba(0,0,0,.35) !important;
  }
  .play-btn .play-label{display:none}
  .play-btn svg{width:28px;height:28px;margin-left:3px}
  .play-btn .play-ring{
    inset:-12px;border:2px solid rgba(11,26,44,.4);
  }
  .hero-text{
    order:1;max-width:none;margin-top:24px;text-align:left;
  }
  .hero-title{font-size:clamp(40px,7vw,62px);line-height:1.04}
  .hero-copy{max-width:560px;font-size:15.5px}

  /* KPI cards: 2x2 con tarjetas más generosas */
  .cards-row{
    grid-template-columns:repeat(2,1fr);
    gap:12px;margin-top:36px;
    order:3;
  }
  .kpi-card{min-height:140px;padding:20px}

  /* Secciones internas: layout en columna, no encogen tipografía */
  .sec{padding:60px var(--stage-px-r) 48px var(--stage-px-l)}
  .sec-grid,.contact-wrap,.plants-grid{grid-template-columns:1fr;gap:28px}
  .sec-title{font-size:clamp(34px,5vw,46px)}
  .num-rail{position:relative;left:0;top:0;width:auto;flex-direction:row;align-items:center;gap:10px;margin-bottom:14px}
  /* En responsive ocultamos los elementos extra del rail; el header dará la navegación */
  .num-rail .rail-dots,
  .num-rail .rail-label,
  .num-rail .rail-arrow{display:none}

  /* Carruseles: en lugar de grids estrechos, scroll horizontal limpio */
  .formats-grid,.tech-grid,.ships-grid,.quality-grid,.sustain-grid,.vcards{
    display:flex;overflow-x:auto;gap:14px;
    scroll-snap-type:x mandatory;
    padding:4px 4px 18px;
    margin-left:calc(-1 * var(--stage-px-l));
    margin-right:calc(-1 * var(--stage-px-r));
    padding-left:var(--stage-px-l);padding-right:var(--stage-px-r);
    scrollbar-width:none;
  }
  .formats-grid::-webkit-scrollbar,.tech-grid::-webkit-scrollbar,.ships-grid::-webkit-scrollbar,.quality-grid::-webkit-scrollbar,.sustain-grid::-webkit-scrollbar,.vcards::-webkit-scrollbar{display:none}
  .format-card,.tech-card,.ship-card,.quality-card,.sustain-card,.v-card,.fmt-card,.cb-card{
    flex:0 0 78%;scroll-snap-align:start;
  }
  /* Section 03 + 04 + 05 + 06 + 07 responsive */
  .prod-grid,.flota-grid,.sustain-hero-grid{grid-template-columns:1fr;gap:30px}
  .prod-hero-card,.flota-hero,.solar-viz{max-width:520px}
  .quality-chain{flex-direction:column;align-items:stretch}
  .qc-step{max-width:none}
  .qc-arrow{display:none}
  /* Quality grid en táctil: flex grid 2-col + sin flip */
  .quality-grid{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    grid-auto-rows:auto !important;
    gap:12px;
  }
  .qual-card-v2{
    height:auto !important;min-height:170px;
    perspective:none !important;cursor:pointer;
    transform-style:flat !important;
  }
  .qcv-inner{
    position:static !important;
    height:auto !important;
    transform:none !important;
    transform-style:flat !important;
  }
  .qual-card-v2:hover .qcv-inner{transform:none !important}
  .qcv-front{
    position:static !important;inset:auto !important;
    height:auto !important;
    backface-visibility:visible !important;
    -webkit-backface-visibility:visible !important;
  }
  .qcv-back{display:none !important}
  .quality-impact{grid-template-columns:repeat(2,1fr);gap:24px 0}
  .qi-stat:nth-child(2)::after{display:none}
  .sustain-pillars{grid-template-columns:repeat(2,1fr)}
  .rasa-flow{flex-direction:column}
  .rf-step{max-width:none}
  .rf-arr{transform:rotate(90deg);align-self:center}
  .rasa-stats{grid-template-columns:repeat(2,1fr);gap:24px 0}
  .rasa-stats li:nth-child(2)::after{display:none}
  .biocrops{
    display:flex;overflow-x:auto;gap:14px;
    scroll-snap-type:x mandatory;padding:6px 4px 18px;
    margin-left:calc(-1 * var(--stage-px-l));margin-right:calc(-1 * var(--stage-px-r));
    padding-left:var(--stage-px-l);padding-right:var(--stage-px-r);
    scrollbar-width:none;
  }
  .biocrops::-webkit-scrollbar{display:none}
  .bc-card{flex:0 0 78%;scroll-snap-align:start}

  /* Mobile: certificaciones en 1 columna */
  .quality-grid{grid-template-columns:1fr}

  /* Section 08 + footer responsive */
  .contact-channels{grid-template-columns:1fr;gap:12px}
  .contact-wrap{grid-template-columns:1fr}
  .contact-left,.contact-form{padding:32px 26px}
  .footer-top{grid-template-columns:1fr;gap:36px}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}
  .footer-certs{flex-direction:column;align-items:flex-start;gap:14px}
  .footer-base{flex-direction:column;align-items:flex-start;gap:14px}
  .ft-base-right{flex-wrap:wrap}
  .map-frame{height:420px}
  .map-stats{display:none}
  .map-legend{padding:8px 12px;font-size:10.5px}
  .fleet-deck{
    display:flex;overflow-x:auto;gap:14px;
    scroll-snap-type:x mandatory;padding:6px 4px 18px;
    margin-left:calc(-1 * var(--stage-px-l));margin-right:calc(-1 * var(--stage-px-r));
    padding-left:var(--stage-px-l);padding-right:var(--stage-px-r);
    scrollbar-width:none;
  }
  .fleet-deck::-webkit-scrollbar{display:none}
  .ship-card-v2{flex:0 0 78%;scroll-snap-align:start}
  .formats-deck{
    display:flex;overflow-x:auto;gap:14px;
    scroll-snap-type:x mandatory;padding:6px 4px 18px;
    margin-left:calc(-1 * var(--stage-px-l));margin-right:calc(-1 * var(--stage-px-r));
    padding-left:var(--stage-px-l);padding-right:var(--stage-px-r);
    scrollbar-width:none;
  }
  .formats-deck::-webkit-scrollbar{display:none}
  .cb-grid{
    display:flex;overflow-x:auto;gap:12px;
    scroll-snap-type:x mandatory;padding:6px 4px 18px;
    margin-left:calc(-1 * var(--stage-px-l));margin-right:calc(-1 * var(--stage-px-r));
    padding-left:var(--stage-px-l);padding-right:var(--stage-px-r);
    scrollbar-width:none;
  }
  .cb-grid::-webkit-scrollbar{display:none}
  .cb-card{min-width:180px}
  /* En responsive, el fan se convierte en carrusel horizontal */
  .vcards.vcards-fan{
    display:flex !important;
    overflow-x:auto !important;
    height:auto !important;perspective:none !important;
    gap:14px !important;
    scroll-snap-type:x mandatory;
    padding:6px 4px 18px;
    margin-left:calc(-1 * var(--stage-px-l));
    margin-right:calc(-1 * var(--stage-px-r));
    padding-left:var(--stage-px-l);padding-right:var(--stage-px-r);
    scrollbar-width:none;
  }
  .vcards.vcards-fan::-webkit-scrollbar{display:none}
  .vcards.vcards-fan .vcards-3d{display:contents !important;animation:none !important}
  .vcards.vcards-fan .v-card{
    position:relative !important;
    width:260px !important;height:420px !important;
    transform:none !important;opacity:1 !important;
    flex:0 0 76%;scroll-snap-align:start;
  }
  /* Ajustes para que el contenido respire mejor en carrusel */
  .vcards.vcards-fan .v-tag{top:70px}
  .vcards.vcards-fan .v-wave{display:none}
  .vcards.vcards-fan .v-body{padding-bottom:70px}

  /* Info-bar: 2 columnas */
  .info-bar{grid-template-columns:repeat(2,1fr);padding:18px 22px}

  /* Footer: 2 columnas */
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}

  /* Carrusel arrow se mueve a la derecha como flotante */
  .carousel-next{display:none}
}

/* PHONE (720px y menos) — más aire, tipografía contundente */
@media (max-width:720px){
  :root{--stage-px-r:24px;--stage-px-l:24px}
  .stage{width:calc(100% - 20px);margin:14px auto;border-radius:24px}

  /* Header: hamburguesa limpia */
  .header{gap:8px}
  .brand img{height:46px}
  /* Sólo ocultamos los anchors top-level del navpill, NO los del dropdown */
  .navpill > a{display:none}
  /* Specificity-busting: .navpill.glass debe perder su fondo en móvil */
  .navpill,
  .navpill.glass{
    padding:0;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .lang-pill{padding:7px 11px;font-size:11px}

  /* HERO */
  .hero-title{font-size:clamp(36px,9vw,52px)}
  .hero-copy{font-size:14.5px}
  .ship-cutout{height:280px;border-radius:20px}
  .play-btn{padding:11px 14px 11px 14px}
  .play-btn .play-label{display:none}

  /* KPI: 1 columna grande y legible */
  .cards-row{grid-template-columns:1fr;gap:10px}
  .kpi-card{min-height:0;padding:18px 18px 20px}

  /* CTAs pill — tamaño natural, no full-width */
  .hero-cta{flex-direction:row;flex-wrap:wrap;gap:10px;align-items:center}
  .hero-cta .btn{
    width:auto;
    padding:10px 10px 10px 20px;
    font-size:13px;
    border-radius:999px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .hero-cta .btn-solid{
    background:linear-gradient(180deg,#0b1a2c 0%,#06182f 100%);
    box-shadow:0 10px 24px -10px rgba(11,26,44,.5),0 1px 0 rgba(255,255,255,.06) inset;
  }
  .hero-cta .btn-outline{
    background:rgba(255,255,255,.6);
    border:1px solid rgba(11,26,44,.08);
    box-shadow:0 6px 18px -8px rgba(11,26,44,.18);
  }
  .hero-cta .btn-arrow{width:28px;height:28px}

  /* Secciones más compactas */
  .sec{padding:48px var(--stage-px-r) 36px var(--stage-px-l)}
  .sec-title{font-size:clamp(28px,8vw,40px)}

  .format-card,.tech-card,.ship-card,.quality-card,.sustain-card{flex:0 0 86%}
  .v-card{flex:0 0 80%}

  /* Info-bar: 1 columna */
  .info-bar{grid-template-columns:1fr;border-radius:24px;padding:18px}

  /* Footer: 1 columna */
  .footer-grid{grid-template-columns:1fr;gap:22px;padding-bottom:32px}
  .footer-base{flex-direction:column;gap:8px;text-align:center}

  /* Contacto */
  .contact-left,.contact-form{padding:28px 24px}
  .contact-form .row{grid-template-columns:1fr}
  .addresses{grid-template-columns:1fr}

  /* Wave-band más bajita */
  .wave-band{height:200px;margin-top:18px}

  /* Modal player y info: padding menor */
  .player-modal,.info-modal{padding:10px}
  .info-shell{padding:26px 20px}
  .info-shell h3{font-size:26px}
  /* TODOS los modales: scroll interno para no desbordar la pantalla y X de
     cierre SIEMPRE alcanzable en la esquina. El shell está transformado
     (scale), así que position:fixed en .info-close se ancla a la caja del
     modal y NO se va con el scroll del contenido. */
  .info-shell,.info-shell.ship-modal,.info-shell-lg,.info-shell-xl{
    max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  .info-close{
    position:fixed;top:14px;right:14px;width:44px;height:44px;font-size:26px;
    z-index:95;background:rgba(8,20,40,.92);
    box-shadow:0 8px 22px -6px rgba(0,0,0,.7);border:1px solid rgba(127,227,223,.28);
  }
  /* el contenido scrollable no debe quedar tapado por la X fija */
  .info-shell>:first-child:not(.info-close),
  .info-shell .ship-info,.info-shell .nm-body{padding-top:6px}
  /* Modales: evitar desbordes horizontales en móvil */
  .modal-stats{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}
  .modal-stats strong{font-size:23px}
  .fmt-modal-grid{grid-template-columns:1fr 1fr;min-width:0}
}

/* ============================================================
   RENDIMIENTO EN MÓVIL / iOS
   El uso masivo de backdrop-filter (51 capas) y el vídeo en bucle
   agotan la memoria de Safari iOS y hacen que la página crashee
   ("ha generado problemas repetidamente"). En dispositivos táctiles
   desactivamos el desenfoque (los fondos siguen siendo opacos) y el
   vídeo decorativo. Sin pérdida visual relevante.
   ============================================================ */
@media (hover: none) and (pointer: coarse){
  /* Sin desenfoques GPU ni animaciones continuas: en iOS agotan la memoria y
     crashean la página. Los reveals usan transition (no animation), así que
     desactivar todas las animaciones es seguro. */
  *{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
     animation:none !important; will-change:auto !important; }
  .bg-blobs{ display:none !important; }   /* 3 blobs con filter:blur(80px) + blend */
  .wave-video{ display:none !important; }
  .wave-fallback{ display:block !important; }
  .sv-grid{ transform:none !important; }  /* sin perspectiva 3D (contexto pesado) */
  /* Mapa: en móvil NO se carga Leaflet (decenas de tiles + 43 marcadores con
     pulso → crash). Se muestra una imagen estática del mapa. */
  #worldMap, .map-glow, .map-info-panel, .map-legend, .map-filters{ display:none !important; }
  .map-frame{ height:auto !important; }
  .map-static{ display:block !important; position:relative; width:100%; height:auto }
  /* Sin blur hay que reforzar la opacidad de los cristales para que no se
     transparenten sobre el contenido de detrás */
  .glass{ background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.93)) }
  .glass-strong{ background:linear-gradient(180deg,rgba(8,20,40,.6),rgba(8,20,40,.48)) }
  .glass-deep{ background:linear-gradient(180deg,rgba(8,22,44,.98),rgba(5,15,33,.97)) }
  .navpill.glass{ background:rgba(255,255,255,.95) }
  .nav-dropdown,.lang-menu{ background:rgba(255,255,255,.98) }
  .info-back{ background:rgba(3,9,20,.74) }
  /* Sin blur en móvil, el fondo del reproductor se transparentaba (se veía la
     página detrás): lo hacemos casi opaco. */
  .player-back{ background:rgba(3,9,20,.92) }
}

/* Botón "tocar para cargar el mapa" (sólo aparece en táctil, vía JS) */
#worldMap{position:relative}
.map-taphint{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:rgba(6,18,40,.45);border:0;cursor:pointer;width:100%;height:100%}
.map-taphint span{background:rgba(28,181,176,.92);color:#fff;font:600 14px/1.3 'Inter',sans-serif;padding:13px 22px;border-radius:100px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}

/* Imagen estática del mapa (sólo visible en móvil; ver media query táctil) */
.map-static{display:none;width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* ════════════════════════════════════════════════════════════════════════
   MÓVIL — BLINDAJE ANTI-CRASH (iOS Safari). Va AL FINAL del archivo para
   ganar por orden de fuente a cualquier regla previa con !important y de
   igual especificidad (p.ej. la que forzaba blur(18px) en navpill/lang).
   backdrop-filter y filter:blur crean capas GPU que agotan la memoria del
   tab en iOS y cierran la página. Aquí se eliminan SIN excepción.
   ════════════════════════════════════════════════════════════════════════ */
@media (hover: none) and (pointer: coarse){
  *, *::before, *::after{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    will-change:auto !important;
  }
  /* Selectores de clase (alta especificidad) que aún forzaban desenfoque */
  .lang-menu,.nav-dropdown,.navpill,.lang-pill,.glass,.glass-strong,.glass-deep,
  .play-btn,.info-shell,.drawer,.ac-panel,.cv-bar,.modal__card,.cert-marquee{
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  }
  /* Blobs desenfocados: fuera del DOM de render */
  .bg-blobs,.blob{ display:none !important; filter:none !important; }
  /* Cristales: opacidad sólida (sin blur no deben transparentarse) */
  .nav-dropdown,.lang-menu{ background:#ffffff !important; }
  .navpill,.navpill.glass,.lang-pill{ background:rgba(255,255,255,.96) !important; }
  /* Sin sombras gigantes ni filtros que también crean capas costosas */
  .blob,[style*="blur"]{ filter:none !important; }
}

/* Pantallas estrechas (cubre móviles que no exponen hover:none correctamente) */
@media (max-width:720px){
  .bg-blobs,.blob{ display:none !important; }
  .lang-menu,.nav-dropdown,.navpill,.lang-pill,.glass,.glass-strong,.glass-deep{
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  }
}

/* ════════════════════════════════════════════════════════════════════════
   MÓVIL — REDUCCIÓN DE MEMORIA DE RENDER (la causa real del crash en iOS):
   una página larga con muchas secciones e imágenes a 3× DPR acumula
   "backing stores" de composición hasta agotar la memoria del proceso
   WebContent → Safari recarga en bucle ("ha generado problemas
   repetidamente"). content-visibility:auto hace que el navegador NO
   renderice ni reserve memoria de las secciones fuera del viewport, y la
   libere al alejarse. Es la herramienta diseñada para esto.
   Se aplica en CUALQUIER pantalla ≤900px y en táctil.
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width:900px), (hover: none) and (pointer: coarse){
  /* Sólo renderiza/retiene en memoria lo cercano al viewport */
  main.stage > section.sec,
  .rasa-block,
  .footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 760px;
  }
  /* CAUSA REAL DEL CRASH (descubierta 2026-06-05): los modales están en
     position:fixed;inset:0, así que aunque estén CERRADOS sus imágenes lazy se
     consideran "en viewport" y se decodifican (~45 MB en galerías de buques y
     fichas de producto), y el barrido las excluye → nunca se liberan → iOS
     agota la memoria del proceso y recarga en bucle. Con content-visibility
     en los modales cerrados, sus imágenes NO se decodifican hasta abrirlos. */
  .info-modal:not(.open),
  .player-modal:not(.open){
    content-visibility:hidden;
  }
  /* Sin contextos 3D ni capas de composición costosas */
  *,*::before,*::after{
    perspective:none !important;
    transform-style:flat !important;
    will-change:auto !important;
    filter:none !important;
    animation:none !important;
  }
  /* Excepción: el logo AISA es oscuro y necesita la inversión para verse
     blanco sobre el footer oscuro (el reset global lo dejaba invisible).
     Coste GPU despreciable: una sola imagen pequeña. */
  .ft-aisa__logo{filter:brightness(0) invert(1) !important}
  /* Flip 3D de las tarjetas de calidad → estático */
  .qcv-inner,.qual-card-v2:hover .qcv-inner{ transform:none !important; }
  .qcv-back{ display:none !important; }
  /* Visualización solar (decenas de celdas en transform 3D) → fuera en móvil */
  .solar-viz,.sv-grid,.sv-wrap,.sv-stage{ display:none !important; }
  /* Sombras enormes multiplican el área de capa: suavizar */
  .glass,.glass-strong,.glass-deep,.card,.ship-card-v2,.fmt-card,.member,.plant-card,.news-card{
    box-shadow:0 6px 18px -10px rgba(11,26,44,.25) !important;
  }
}

/* ===== MODO ESTUDIO: sección de noticias embebida en el editor del admin ===== */
html.cv-news-studio, html.cv-news-studio body{
  background:#eef2f6 !important; height:auto !important; min-height:100% !important;
  overflow:auto !important; zoom:1 !important;
}
html.cv-news-studio main.stage{
  display:block !important; width:100% !important; max-width:none !important;
  margin:0 !important; padding:0 !important; transform:none !important; border-radius:0 !important;
}
html.cv-news-studio #noticias{
  display:block !important; visibility:visible !important; opacity:1 !important;
  margin:0 !important; padding:48px clamp(20px,5vw,56px) !important; min-height:100vh;
  content-visibility:visible !important;
}
html.cv-news-studio .bg-blobs, html.cv-news-studio .lang-flag,
html.cv-news-studio .cf-lines, html.cv-news-studio .num-rail{ display:none !important; }
/* Tarjetas editables: clic = editar la noticia */
html.cv-news-studio .news-card{ cursor:pointer; position:relative; transition:transform .15s, box-shadow .15s }
html.cv-news-studio .news-card:hover{ transform:translateY(-3px); box-shadow:0 20px 44px -20px rgba(11,26,44,.5) }
html.cv-news-studio .news-card::after{
  content:"✎ Editar"; position:absolute; top:10px; right:10px; z-index:6;
  background:#1cb5b0; color:#06182f; font:700 11px/1 'Inter',sans-serif;
  padding:7px 11px; border-radius:100px; opacity:0; transition:opacity .15s; pointer-events:none;
}
html.cv-news-studio .news-card:hover::after{ opacity:1 }

/* ===== Biblioteca flotante del estudio (panel de vidrio) ===== */
.cv-stlib{position:fixed;top:18px;right:18px;z-index:60;width:320px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,250,253,.88));backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:0 30px 70px -24px rgba(11,26,44,.5);overflow:hidden;font-family:'Inter',sans-serif}
.cv-stlib__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:grab;border-bottom:1px solid rgba(11,26,44,.08);user-select:none}
.cv-stlib__brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;color:#0b1a2c}
.cv-stlib__min{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7a8a;transition:.18s;border:0;background:none;cursor:pointer}
.cv-stlib__min:hover{background:rgba(11,26,44,.06);color:#0b1a2c}
.cv-stlib.is-min{width:auto}
.cv-stlib.is-min .cv-stlib__inner{display:none}
.cv-stlib.is-min .cv-stlib__min{transform:rotate(180deg)}
.cv-stlib__inner{display:flex;flex-direction:column;min-height:0;padding:12px;gap:10px}
.cv-stlib__new{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:11px;background:#1cb5b0;color:#06182f;font-weight:700;font-size:12.5px;transition:.2s;border:0;cursor:pointer}
.cv-stlib__new:hover{background:#0fa6a0;color:#fff}
.cv-stlib__tabs{display:flex;gap:5px;flex-wrap:wrap}
.cv-stlib__tabs button{font-size:11px;font-weight:600;color:#3a4a5a;padding:6px 9px;border-radius:100px;border:1px solid rgba(11,26,44,.12);background:#fff;display:inline-flex;align-items:center;gap:5px;transition:.18s;cursor:pointer}
.cv-stlib__tabs button em{font-style:normal;font-size:10px;background:rgba(11,26,44,.08);padding:1px 6px;border-radius:100px}
.cv-stlib__tabs button.is-active{background:#0b1a2c;color:#fff;border-color:#0b1a2c}
.cv-stlib__tabs button.is-active em{background:rgba(255,255,255,.22)}
.cv-stlib__list{overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding-right:2px}
.cv-stlib__empty{color:#6b7a8a;font-size:12.5px;text-align:center;padding:24px 10px}
.cv-stlib__hint{font-size:10.5px;color:#6b7a8a;line-height:1.4;padding-top:4px}
.cv-stlc{display:flex;gap:10px;background:#fff;border:1px solid rgba(11,26,44,.1);border-radius:12px;padding:8px;cursor:pointer;transition:.15s}
.cv-stlc:hover{border-color:#1cb5b0;box-shadow:0 8px 20px -12px rgba(11,26,44,.4)}
.cv-stlc__media{width:52px;height:52px;border-radius:9px;background:#dde6ee center/cover no-repeat;flex:none;display:flex;align-items:center;justify-content:center;color:#9aa8b6}
.cv-stlc__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cv-stlc__top{display:flex;align-items:center;gap:6px}
.cv-stlc__cat{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0fa6a0}
.cv-stlc__chip{font-size:9px;font-weight:700;padding:2px 7px;border-radius:100px;white-space:nowrap}
.cv-stlc__chip--published{background:rgba(28,181,176,.16);color:#0fa6a0}
.cv-stlc__chip--draft{background:rgba(233,176,72,.2);color:#a9772a}
.cv-stlc__chip--archived{background:rgba(11,26,44,.08);color:#6b7a8a}
.cv-stlc__title{font-family:'Fraunces',serif;font-weight:500;font-size:13.5px;color:#0b1a2c;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-stlc__acts{display:flex;gap:3px;margin-top:2px}
.cv-stlc__acts button{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#6b7a8a;transition:.15s;border:0;background:none;cursor:pointer}
.cv-stlc__acts button:hover{background:rgba(11,26,44,.07);color:#0b1a2c}
.cv-stlc__acts button.on{color:#0fa6a0}
.cv-stlc__acts button.danger:hover{background:rgba(192,69,59,.12);color:#c0453b}

/* ============================================================
   HEADER STICKY flotante: al scrollear NO hay barra de fondo —
   solo bajan flotando la píldora liquid-glass del menú y el logo
   pequeño a la izquierda (+ idioma). app.js conmuta .scrolled.
   ============================================================ */
html{scroll-padding-top:92px}
.header.scrolled{
  position:fixed;top:0;left:0;right:0;z-index:90;
  margin:0;
  padding:12px clamp(16px,4vw,48px);
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  pointer-events:none; /* el header no tapa el contenido; solo sus piezas */
  animation:hdrSlideIn .45s cubic-bezier(.3,1,.4,1);
}
@keyframes hdrSlideIn{from{transform:translateY(-110%)}to{transform:translateY(0)}}
.header.scrolled .brand,
.header.scrolled .navpill,
.header.scrolled .lang-wrap{pointer-events:auto}
/* Escritorio: la píldora (con el logo dentro) centrada; idioma a la derecha */
@media (min-width:721px){
  .header.scrolled{justify-content:center}
  .header.scrolled .lang-wrap{position:absolute;right:clamp(16px,4vw,48px);top:50%;transform:translateY(-50%)}
  /* Logo DENTRO de la píldora (app.js lo mueve al primer hueco) */
  .header.scrolled .navpill{padding-left:10px}
  .header.scrolled .navpill .brand{height:34px;margin-right:8px;padding-left:2px}
  .header.scrolled .navpill .brand img{height:34px;filter:none}
}
/* Móvil: el logo sigue flotando pequeñito a la izquierda */
.header.scrolled .brand{height:34px}
.header.scrolled .brand img{height:34px;filter:drop-shadow(0 3px 9px rgba(11,26,44,.28))}
/* Píldora liquid-glass flotante (se ve el contenido a través) */
.header.scrolled .navpill{
  padding:5px 5px 5px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(243,249,252,.58)) !important;
  backdrop-filter:blur(22px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.65) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 18px 44px -20px rgba(11,26,44,.35) !important;
}
.header.scrolled .navpill > a{padding:8px 12px;font-size:12.5px}
/* El dropdown del menú no debe quedar cortado */
.header.scrolled .nav-dropdown{max-height:calc(100vh - 90px);overflow-y:auto}

@media (max-width:720px){
  /* Móvil: la MISMA píldora liquid-glass de escritorio, en pequeño —
     una sola pieza flotante centrada: logo + idioma + hamburguesa. */
  /* La tarjeta (.stage) va a 10px del borde en móvil: con 26px de margen
     la píldora queda claramente DENTRO de la tarjeta de la página. */
  .header.scrolled{padding:10px 26px;justify-content:center}
  .header.scrolled .navpill{
    width:100%;
    gap:6px;
    padding:5px 5px 5px 14px;
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(243,249,252,.62)) !important;
    backdrop-filter:blur(18px) saturate(180%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(180%) !important;
    border:1px solid rgba(255,255,255,.65) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.85) inset,
      0 16px 38px -18px rgba(11,26,44,.38) !important;
  }
  /* El logo es un <a>: anula el display:none de los enlaces del navpill móvil */
  .header.scrolled .navpill > a.brand{display:inline-flex}
  .header.scrolled .navpill .brand{height:32px;margin-right:4px;padding-left:0}
  .header.scrolled .navpill .brand img{height:32px;filter:none}
  /* Logo a la izquierda; idioma + hamburguesa empujados a la derecha */
  .header.scrolled .navpill .lang-wrap{margin-left:auto}
  .header.scrolled .navpill .lang-pill{padding:7px 10px;background:rgba(255,255,255,.85) !important}
  /* Hamburguesa como en escritorio: círculo navy con barras blancas */
  .header.scrolled .nav-menu{
    width:38px;height:38px;
    background:linear-gradient(180deg,#0b1a2c 0%,#06182f 100%);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 1px 0 rgba(255,255,255,.18) inset, 0 8px 16px -8px rgba(11,26,44,.4);
  }
  .header.scrolled .nav-menu .nav-menu-bar{background:#fff;width:15px;height:1.6px}
  .header.scrolled .nav-menu[aria-expanded="true"] .nav-menu-bar{width:18px}
  .header.scrolled .nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
  .header.scrolled .nav-menu[aria-expanded="true"] .nav-menu-bar:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}
}
