/* ============================================================
   ZEA SEGURA — Hoja de estilos consolidada
   Orden: styles → v11 → v14 → v15 → v24 → v25 → v26
   ============================================================ */


/* ===================== styles.css ===================== */
:root {
  --green: #185430;
  --green-dark: #185430;
  --green-deep: #0d351d;
  --pink: #eed5db;
  --pink-strong: #f2c5ce;
  --white: #ffffff;
  --cream: #f2f2f2;
  --cream-2: #e8e3da;
  --cream-warm: #f7f0e7;
  --ink: #111010;
  --mid: #5a5248;
  --nuku-title: #9e511c;
  --nuku-text: #6d421c;
  --font-script: "Marthin Slant", Georgia, serif;
  --font-display: "Roca Two Bold Italic", Georgia, "Times New Roman", serif;
  --font-sans: "LEMON MILK", Arial, sans-serif;
  --max: 1180px;
  --radius: 30px;
  --shadow: 0 26px 80px rgba(24, 84, 48, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-sans);
  line-height: 1.45;
  overflow-x: hidden;
}
body.nav-open, body.modal-open { overflow: hidden; }
[hidden] { display: none !important; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--pink); color: var(--green-dark); }

.skip-link {
  position: fixed;
  left: -999px;
  top: 12px;
  z-index: 1000;
  background: var(--green-dark);
  color: var(--white);
  padding: 10px 14px;
  border-radius: 999px;
}
.skip-link:focus { left: 12px; }
.container { width: min(100% - 44px, var(--max)); margin-inline: auto; }
/* Multipage layout */
.standalone-main {
  padding-top: 98px;
}

@media (max-width: 980px) {
  .standalone-main {
    padding-top: 78px;
  }
}


.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  background: var(--green-dark);
  border-bottom: 1px solid rgba(238, 213, 219, .18);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .08);
}
.header-inner {
  width: min(100% - 38px, 1240px);
  height: 98px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  width: 88px;
  height: 78px;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
}
.brand-logo {
  width: auto;
  height: auto;
  max-width: 76px;
  max-height: 70px;
  object-fit: contain;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 5.2vw, 76px);
}
.main-nav a {
  color: var(--white);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 16px 0;
  transition: color .2s ease, transform .2s ease;
}
.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav a.is-active {
  color: var(--pink);
}
.main-nav a.nav-meet {
  border: 5px solid var(--pink);
  border-radius: 999px;
  padding: 8px 16px;
  line-height: 1;
}
.nav-toggle { display: none; }

.hero {
  position: relative;
  padding-top: 138px;
  padding-bottom: 54px;
  min-height: 650px;
  background: var(--cream);
  overflow: hidden;
}
.hero-frame {
  width: min(100% - 64px, 1160px);
  min-height: clamp(330px, 42vw, 430px);
  margin: 0 auto;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--green-dark);
}
.hero-media,
.hero-media img,
.hero-overlay {
  position: absolute;
  inset: 0;
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
}
.hero-overlay { background: rgba(24, 84, 48, .50); }
.shape {
  position: absolute;
  width: clamp(190px, 19vw, 280px);
  opacity: .95;
  pointer-events: none;
  z-index: 2;
}
.shape-left { left: -18px; top: 58px; }
.shape-right { right: -18px; top: 0; }
.hero-content {
  position: relative;
  z-index: 4;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 24px;
  padding: 48px 26px;
}
.hero h1 {
  width: min(690px, 100%);
  margin: 0;
  color: var(--green-dark);
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
  font-size: clamp(28px, 4vw, 52px);
  line-height: .95;
  letter-spacing: -.03em;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(255,255,255,.15);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 24px;
  border-radius: 999px;
  border: 1px solid var(--white);
  background: var(--green-dark);
  color: var(--white);
  font-weight: 900;
  letter-spacing: .04em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(24, 84, 48, .24);
}
.button.full { width: 100%; }
.hero-button {
  font-family: var(--font-display);
  font-style: italic;
  min-height: 38px;
  padding: 6px 22px;
  font-size: 14px;
}
.values-strip {
  overflow: hidden;
  white-space: nowrap;
  color: var(--green-dark);
  background: transparent;
  margin-top: 26px;
}
.values-track {
  display: flex;
  align-items: center;
  gap: clamp(34px, 5vw, 76px);
  width: max-content;
  animation: valuesMarquee 28s linear infinite;
}
.values-track span {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(21px, 2.45vw, 34px);
  color: var(--green-dark);
}
@keyframes valuesMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.nuku-section {
  position: relative;
  padding: clamp(90px, 10vw, 140px) 0 70px;
  background: var(--cream-warm);
  color: var(--nuku-text);
  overflow: hidden;
}
.nuku-layout {
  display: grid;
  grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: start;
}
.nuku-script {
  margin: 0;
  color: var(--nuku-title);
  font-family: var(--font-script);
  font-size: clamp(90px, 16vw, 190px);
  line-height: .75;
  font-style: italic;
  letter-spacing: -.08em;
}
.nuku-main-copy {
  max-width: 790px;
  display: grid;
  gap: 22px;
}
.nuku-main-copy h2 {
  margin: 0;
  font-family: var(--font-sans);
  text-transform: uppercase;
  color: var(--nuku-text);
  font-size: clamp(28px, 4.4vw, 62px);
  line-height: .98;
  letter-spacing: -.02em;
}
.nuku-main-copy p {
  margin: 0;
  color: var(--nuku-text);
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(18px, 2.25vw, 31px);
  line-height: 1.12;
  font-weight: 800;
}
.nuku-main-copy .nuku-uppercase {
  font-family: var(--font-sans);
  font-style: normal;
  text-transform: uppercase;
  font-size: clamp(17px, 2vw, 25px);
  line-height: 1.24;
  font-weight: 900;
}
.nuku-label {
  font-family: var(--font-sans) !important;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 14px !important;
}
.nuku-contact {
  justify-self: start;
  margin-top: 8px;
  background: var(--nuku-text);
}
.nuku-values-strip {
  margin-top: 64px;
}
.nuku-values-strip .values-track span {
  color: var(--nuku-text);
}
.nuku-image-marquee,
.lab-image-marquee {
  overflow: hidden;
  width: 100%;
}
.nuku-image-marquee { margin-top: 40px; }
.image-track {
  display: flex;
  align-items: center;
  gap: 18px;
  width: max-content;
}
.image-track.left-to-right {
  animation: imageMarqueeLeftToRight 36s linear infinite;
}
.image-track img {
  flex: 0 0 auto;
  width: 280px;
  height: 360px;
  border-radius: 24px;
  object-fit: cover;
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
}
@keyframes imageMarqueeLeftToRight {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}


.lab-section {
  padding: clamp(94px, 10vw, 150px) 0 clamp(76px, 9vw, 128px);
  background: #ffffff;
  color: var(--green-dark);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
.lab-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 8% 18%, rgba(238, 213, 219, .42), transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(238, 213, 219, .32), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f7f4f0 100%);
  z-index: -3;
}
.lab-shell {
  position: relative;
  z-index: 3;
}
.lab-arrow {
  position: absolute;
  z-index: 1;
  width: clamp(150px, 20vw, 320px);
  opacity: .9;
  pointer-events: none;
  user-select: none;
}
.lab-arrow-left {
  left: max(-92px, -7vw);
  top: clamp(126px, 18vw, 230px);
  transform: rotate(-4deg);
}
.lab-arrow-right {
  right: max(-96px, -7vw);
  top: clamp(112px, 16vw, 208px);
  transform: scaleX(-1) rotate(-2deg);
}
.lab-hero {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 18px;
  margin-bottom: clamp(28px, 5vw, 62px);
  min-height: clamp(140px, 18vw, 260px);
  align-content: center;
}
.lab-hero h2 {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  color: var(--green-dark);
  font-size: clamp(82px, 15vw, 186px);
  line-height: .78;
  letter-spacing: -.055em;
  text-shadow: 0 10px 0 rgba(238, 213, 219, .58);
}
.lab-intro-block {
  width: min(100%, 930px);
  margin: 0 auto;
  padding: clamp(30px, 4vw, 50px);
  background: rgba(255, 255, 255, .84);
  border: 1px solid rgba(24, 84, 48, .08);
  box-shadow: 0 20px 70px rgba(24, 84, 48, .08);
  text-align: center;
  backdrop-filter: blur(6px);
}
.lab-lead {
  margin: 0 auto;
  width: min(760px, 100%);
  font-family: var(--font-display);
  font-style: italic;
  color: var(--green-dark);
  font-size: clamp(27px, 3.8vw, 54px);
  font-weight: 900;
  line-height: .98;
}
.lab-contact {
  background: transparent;
  border-color: var(--pink);
  color: var(--pink);
}
.lab-tabs {
  display: flex;
  justify-content: center;
  gap: clamp(16px, 3vw, 34px);
  margin: clamp(34px, 5vw, 58px) 0 clamp(30px, 4vw, 46px);
}
.lab-tabs button {
  min-width: min(260px, 44vw);
  padding: 18px 38px 20px;
  border-radius: 999px;
  border: 1px solid rgba(24, 84, 48, .20);
  background: rgba(255,255,255,.78);
  color: var(--pink-strong);
  font-family: var(--font-display);
  font-size: clamp(28px, 3.4vw, 44px);
  font-style: italic;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  position: relative;
  isolation: isolate;
  box-shadow: inset 0 0 0 1px rgba(238, 213, 219, .62), 0 12px 34px rgba(24, 84, 48, .08);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
}
.lab-tabs button::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 999px;
  background: transparent;
  z-index: -1;
  transition: background .2s ease, box-shadow .2s ease;
}
.lab-tabs button.is-active,
.lab-tabs button[aria-selected="true"] {
  background: var(--pink);
  color: var(--green-dark);
  box-shadow:
    0 0 0 8px rgba(238, 213, 219, .45),
    0 26px 58px rgba(24, 84, 48, .18),
    inset 0 -8px 18px rgba(24, 84, 48, .08);
  transform: translateY(-4px);
}
.lab-tabs button.is-active::after,
.lab-tabs button[aria-selected="true"]::after {
  background: rgba(255,255,255,.28);
  box-shadow: inset 0 0 0 1px rgba(24, 84, 48, .12);
}
.lab-tabs button:not(.is-active) {
  opacity: .82;
}
.lab-tabs button:not(.is-active):hover,
.lab-tabs button:not(.is-active):focus-visible {
  opacity: 1;
  transform: translateY(-2px);
  box-shadow:
    inset 0 0 0 1px rgba(238, 213, 219, .8),
    0 18px 40px rgba(24, 84, 48, .13);
}
.lab-panel {
  background: var(--white);
  color: var(--ink);
  padding: clamp(24px, 5vw, 64px);
  box-shadow: 0 30px 88px rgba(24, 84, 48, .10);
  border: 1px solid rgba(24, 84, 48, .08);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .22s ease, transform .22s ease;
}
.lab-panel.is-active {
  opacity: 1;
  transform: translateY(0);
}
.lab-band {
  width: 100%;
  min-height: 130px;
  display: grid;
  place-items: center;
  margin-bottom: 48px;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(54px, 8vw, 92px);
  line-height: .9;
  text-align: center;
}
.arl-band { background: var(--pink); color: var(--green-dark); }
.seguros-band { background: var(--green-dark); color: var(--white); }
.lab-intro {
  max-width: 860px;
  margin: 0 auto 42px;
  color: var(--mid);
  text-align: center;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(19px, 2.2vw, 29px);
  line-height: 1.14;
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.process-card {
  min-height: 310px;
  padding: clamp(26px, 3vw, 40px);
  border: 1px solid rgba(24, 84, 48, .12);
  background: var(--white);
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
  display: grid;
  align-content: start;
  justify-items: center;
  text-align: center;
  gap: 16px;
}
.process-card span {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  font-size: 64px;
  line-height: .8;
  color: var(--green-dark);
}
.process-card h3 {
  margin: 0;
  color: var(--green-dark);
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
  font-size: 24px;
}
.process-card p {
  margin: 0;
  color: var(--mid);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  line-height: 1.15;
}
.seguros-card span,
.seguros-card h3 { color: var(--pink-strong); }
.lab-image-marquee { margin-top: 46px; }
.lab-image-marquee .image-track img {
  width: 260px;
  height: 190px;
}

.flownews-section {
  background: var(--cream);
  padding: 96px 0;
}
.flow-shell {
  width: min(100% - 44px, 1200px);
  margin-inline: auto;
  background: var(--cream-2);
  border: 1px solid rgba(24, 84, 48, .08);
  overflow: hidden;
  box-shadow: 0 28px 90px rgba(0,0,0,.08);
}
.flow-masthead {
  background: var(--green-deep);
  color: var(--pink);
}
.flow-topbar {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(24px, 5vw, 72px);
  border-bottom: 1px solid rgba(238,213,219,.10);
  font-size: 9px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(238,213,219,.38);
}
.flow-title-wrap {
  position: relative;
  min-height: 410px;
  padding: clamp(38px, 6vw, 72px) clamp(24px, 5vw, 72px) 28px;
  overflow: hidden;
}
.flow-ghost {
  position: absolute;
  top: -68px;
  left: 46px;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(220px, 30vw, 400px);
  color: rgba(238,213,219,.035);
  line-height: .85;
}
.flow-logo-mini {
  width: 52px;
  height: 66px;
  overflow: hidden;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  opacity: .9;
}
.flow-logo-mini img { width: 48px; height: auto; }
.flow-by,
.article-label {
  margin: 0 0 12px;
  font-size: 9px;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--green-dark);
  font-weight: 900;
}
.flow-by { color: rgba(238,213,219,.48); }
.flow-title-wrap h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  line-height: .82;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.flow-title-wrap h2 span,
.flow-title-wrap h2 em,
.flow-title-wrap h2 small { display: block; }
.flow-title-wrap h2 span { font-size: clamp(64px, 12vw, 136px); color: var(--pink); }
.flow-title-wrap h2 em { font-size: clamp(64px, 12vw, 136px); color: rgba(238,213,219,.24); }
.flow-title-wrap h2 small { font-size: 22px; color: rgba(238,213,219,.34); font-weight: 400; text-transform: lowercase; margin: 8px 0; }
.flow-title-wrap h2 i { color: rgba(238,213,219,.42); font-style: normal; }
.flow-meta {
  position: absolute;
  right: clamp(24px, 5vw, 72px);
  top: 70px;
  width: 210px;
  text-align: right;
  display: grid;
  gap: 20px;
  color: rgba(238,213,219,.44);
  font-family: var(--font-display);
  font-style: italic;
}
.flow-meta b {
  display: inline-block;
  justify-self: end;
  border: 1px solid rgba(238,213,219,.20);
  padding: 10px 16px;
  color: rgba(238,213,219,.60);
}
.flow-subtitle,
.flow-topics {
  padding: 18px clamp(24px, 5vw, 72px);
  border-top: 1px solid rgba(238,213,219,.12);
  display: flex;
  justify-content: space-between;
  gap: 22px;
  color: rgba(238,213,219,.45);
  font-family: var(--font-display);
  font-style: italic;
}
.flow-topics {
  display: block;
  font-family: var(--font-sans);
  font-style: normal;
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.flow-cover,
.flow-grid,
.flow-feature,
.nuku-editorial {
  display: grid;
  border-top: 1px solid var(--cream-2);
}
.flow-cover { grid-template-columns: 1fr 1fr; min-height: 640px; }
.flow-cover-art {
  position: relative;
  background: radial-gradient(circle at 35% 18%, rgba(238,213,219,.16), transparent 34%), linear-gradient(160deg, var(--green), var(--green-deep));
  color: var(--pink);
  display: flex;
  align-items: flex-end;
  padding: 46px;
  overflow: hidden;
}
.cover-number {
  position: absolute;
  top: 28px;
  right: 38px;
  font-family: var(--font-display);
  font-size: 190px;
  color: rgba(238,213,219,.06);
  line-height: 1;
}
.cover-tag {
  position: absolute;
  top: 34px;
  left: 34px;
  padding: 7px 14px;
  background: rgba(238,213,219,.12);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.flow-cover-art strong,
.flow-feature-art strong {
  position: relative;
  z-index: 1;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(58px, 7vw, 92px);
  line-height: .84;
}
.flow-cover-art strong i { color: rgba(238,213,219,.48); font-style: normal; }
.flow-cover-art em { position: absolute; left: 46px; bottom: 32px; color: rgba(238,213,219,.7); }
.flow-cover-copy,
.flow-article,
.flow-feature article,
.nuku-editorial article {
  background: var(--cream-warm);
  padding: clamp(28px, 4.6vw, 62px);
}
.flow-cover-copy h3,
.flow-article h3,
.flow-feature h3,
.nuku-editorial h3 {
  margin: 0 0 18px;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.02;
  color: var(--ink);
}
.flow-cover-copy p,
.flow-article p,
.flow-feature p,
.nuku-editorial p,
.flow-article li {
  color: var(--mid);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.75;
}
.flow-cover-copy blockquote,
.flow-article blockquote,
.flow-feature blockquote {
  margin: 22px 0;
  border-left: 3px solid var(--green-dark);
  padding: 14px 22px;
  color: var(--green-dark);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  background: rgba(24,84,48,.05);
}
.flow-cover-copy small,
.flow-article small {
  display: block;
  margin-top: 22px;
  color: rgba(90,82,72,.64);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.flow-grid.two { grid-template-columns: 1fr 1fr; }
.flow-article.dark {
  background: var(--green-dark);
  color: var(--pink);
}
.flow-article.dark h3,
.flow-article.dark p,
.flow-article.dark li,
.flow-article.dark small,
.flow-article.dark .article-label { color: var(--pink); }
.flow-article.dark blockquote { border-color: var(--pink); color: var(--pink); background: rgba(238,213,219,.07); }
.flow-feature { grid-template-columns: 1.08fr .92fr; background: var(--green-deep); }
.flow-feature article { background: var(--green-deep); }
.flow-feature h3,
.flow-feature p,
.flow-feature .article-label,
.flow-feature blockquote { color: var(--pink); }
.flow-feature blockquote { border-color: var(--pink); background: rgba(238,213,219,.07); }
.flow-feature-art {
  display: grid;
  place-items: center;
  min-height: 420px;
  color: var(--pink);
  background: radial-gradient(circle at 60% 40%, rgba(238,213,219,.16), transparent 42%), var(--green);
  text-align: center;
}
.flow-feature-art em { font-size: .64em; }
.feature-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 32px;
}
.feature-stats span {
  color: var(--pink);
  border-left: 2px solid var(--pink);
  padding-left: 16px;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.feature-stats b {
  display: block;
  font-family: var(--font-display);
  font-size: 42px;
  line-height: 1;
}
.flow-grid.burnout { grid-template-columns: .88fr 1.12fr; }
.stats-boxes {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}
.stats-boxes div {
  background: var(--cream-warm);
  border-left: 4px solid var(--green-dark);
  padding: 16px 20px;
}
.stats-boxes b {
  display: block;
  font-family: var(--font-display);
  font-size: 46px;
  color: var(--green-dark);
  line-height: 1;
}
.stats-boxes span {
  color: var(--mid);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.nuku-editorial {
  grid-template-columns: .9fr 1.1fr;
  background: var(--cream-warm);
}
.nuku-phases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--cream-2);
  padding: clamp(28px, 4.6vw, 62px);
}
.nuku-phases div {
  background: var(--cream-warm);
  border-left: 3px solid var(--green-dark);
  padding: 24px;
}
.nuku-phases b {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-display);
  font-style: italic;
  color: var(--green-dark);
  font-size: 23px;
}
.nuku-phases span {
  display: block;
  color: var(--mid);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.6;
}
.nuku-phases .phase-final { background: var(--green-dark); }
.nuku-phases .phase-final b,
.nuku-phases .phase-final span { color: var(--pink); }

.meet-section {
  background: var(--cream);
  padding: clamp(90px, 10vw, 140px) 0;
}
.meet-inner {
  position: relative;
  min-height: 620px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--white);
}
.meet-mark {
  position: absolute;
  width: clamp(230px, 25vw, 390px);
  opacity: .95;
  z-index: 1;
}
.meet-mark.left { left: -110px; top: 70px; }
.meet-mark.right { right: -110px; top: 70px; }
.meet-card {
  position: relative;
  z-index: 2;
  width: min(740px, calc(100% - 42px));
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 20px;
}
.meet-card h2 {
  margin: 0 0 10px;
  color: #777;
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(58px, 8vw, 92px);
  line-height: .9;
}
.meet-pill,
.meet-contact {
  width: min(560px, 100%);
  min-height: 58px;
  border-radius: 999px;
  background: #ededed;
  color: var(--green-dark);
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 9px 24px;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(28px, 3.8vw, 43px);
  line-height: 1;
}
.meet-pill img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.meet-contact { font-size: clamp(30px, 4.2vw, 48px); }
.meet-copy {
  max-width: 880px;
  margin: 48px 0 0;
  color: var(--green-dark);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .04em;
  font-size: clamp(17px, 2vw, 26px);
  line-height: 1.16;
}

.footer {
  background: var(--green-dark);
  color: var(--white);
  padding: 54px 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: .9fr 1.2fr 1.6fr 1.2fr;
  align-items: center;
  gap: 34px;
}
.footer-branding img {
  width: 108px;
  height: auto;
}
.footer-column {
  display: grid;
  gap: 11px;
  justify-items: start;
}
.footer h2,
.footer p,
.footer a,
.footer button {
  margin: 0;
  color: var(--white);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
}
.footer a:hover,
.footer button:hover,
.footer a:focus-visible,
.footer button:focus-visible { color: var(--pink); }
.footer-whatsapp {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-top: 6px !important;
}
.footer-whatsapp img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.footer-static { color: var(--pink) !important; font-weight: 900; }

.contact-modal[hidden],
.case-modal[hidden] { display: none; }
.contact-modal,
.case-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
}
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 84, 48, .76);
  backdrop-filter: blur(8px);
}
.modal-panel {
  position: relative;
  width: min(100% - 32px, 760px);
  max-height: calc(100vh - 48px);
  overflow: auto;
  margin: 24px auto;
  padding: clamp(28px, 5vw, 52px);
  background: var(--cream-warm);
  border-radius: var(--radius);
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
}
.modal-panel h2 {
  margin: 0 0 28px;
  color: var(--green-dark);
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(42px, 6vw, 72px);
  line-height: .9;
}
.modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--pink);
  background: var(--green-dark);
  color: var(--white);
  font-size: 26px;
  line-height: 1;
}
.front-form {
  display: grid;
  gap: 18px;
}
.field { display: grid; gap: 8px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label {
  color: var(--green-dark);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
input, textarea {
  width: 100%;
  border: 1px solid rgba(24, 84, 48, .22);
  border-radius: 22px;
  padding: 14px 18px;
  background: var(--white);
  outline: none;
  color: var(--ink);
}
input { min-height: 50px; border-radius: 999px; }
textarea { resize: vertical; min-height: 150px; }
input:focus, textarea:focus {
  border-color: var(--green-dark);
  box-shadow: 0 0 0 4px rgba(24,84,48,.10);
}
.form-status { min-height: 22px; margin: 0; color: var(--green-dark); font-weight: 900; }
.form-status a { text-decoration: underline; }
.form-status.error { color: #9D2D20; }

.legal-body {
  padding-top: 98px;
  min-height: 100vh;
  background: var(--cream);
  color: var(--ink);
}
.legal-page {
  width: min(100% - 44px, 920px);
  margin: 0 auto;
  padding: 80px 0 100px;
}
.legal-page h1 {
  margin: 0 0 24px;
  color: var(--green-dark);
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(46px, 7vw, 86px);
  line-height: .9;
}
.legal-card {
  background: var(--white);
  padding: clamp(28px, 5vw, 54px);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.legal-card p { color: var(--mid); font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.75; }
.legal-actions { margin-top: 28px; }

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
  .values-track,
  .image-track.left-to-right { animation: none; }
}

@media (max-width: 980px) {
  .header-inner { height: 82px; }
  .brand { width: 74px; height: 66px; }
  .brand-logo { max-width: 64px; max-height: 60px; }
  .nav-toggle {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(238,213,219,.42);
    background: transparent;
    z-index: 120;
  }
  .nav-toggle span { width: 18px; height: 2px; background: var(--pink); margin: 2px 0; transition: .2s ease; }
  .main-nav {
    position: fixed;
    inset: 82px 0 auto 0;
    min-height: calc(100vh - 82px);
    background: var(--green-dark);
    display: none;
    padding: 30px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  body.nav-open .main-nav { display: flex; }
  .main-nav a { font-size: 18px; padding: 16px 0; }
  .main-nav a.nav-meet { align-self: start; }
  .hero { padding-top: 116px; }
  .hero-frame { width: min(100% - 32px, 820px); }
  .nuku-layout { grid-template-columns: 1fr; }
  .process-grid,
  .flow-cover,
  .flow-grid.two,
  .flow-grid.burnout,
  .flow-feature,
  .nuku-editorial { grid-template-columns: 1fr; }
  .nuku-phases { grid-template-columns: 1fr 1fr; }
  .flow-meta { position: static; width: auto; text-align: left; margin-top: 24px; }
  .flow-meta b { justify-self: start; }
  .flow-topbar, .flow-subtitle { flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; align-items: start; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 28px, var(--max)); }
  .hero { min-height: auto; padding-top: 104px; padding-bottom: 42px; }
  .hero-frame { width: min(100% - 24px, 100%); min-height: 470px; }
  .hero-media img { object-position: center; }
  .shape { width: 240px; }
  .shape-left { left: -110px; top: 92px; }
  .shape-right { right: -115px; top: 72px; }
  .hero h1 { font-size: clamp(27px, 8.5vw, 42px); }
  .values-track { gap: 34px; }
  .values-track span { font-size: 22px; }
  .nuku-section,
  .lab-section,
  .flownews-section,
  .meet-section { padding: 70px 0; }
  .nuku-main-copy { gap: 18px; }
  .image-track img { width: 220px; height: 290px; }
  .lab-tabs { flex-direction: column; align-items: stretch; }
  .lab-tabs button { width: 100%; }
  .lab-panel { padding: 22px; }
  .lab-band { min-height: 90px; margin-bottom: 30px; }
  .process-card { min-height: auto; }
  .flow-shell { width: min(100% - 20px, 100%); }
  .flow-title-wrap { min-height: 330px; }
  .flow-title-wrap h2 span,
  .flow-title-wrap h2 em { font-size: clamp(52px, 16vw, 80px); }
  .flow-cover-art { min-height: 430px; }
  .cover-number { font-size: 126px; }
  .flow-cover-copy,
  .flow-article,
  .flow-feature article,
  .nuku-editorial article,
  .nuku-phases { padding: 26px; }
  .nuku-phases { grid-template-columns: 1fr; }
  .feature-stats { grid-template-columns: 1fr; }
  .meet-inner { min-height: 610px; }
  .meet-mark.left { left: -160px; top: 70px; }
  .meet-mark.right { right: -160px; top: 74px; }
  .meet-pill, .meet-contact { min-height: 52px; font-size: 26px; }
  .meet-pill img { width: 30px; height: 30px; }
  .meet-copy { margin-top: 34px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .field-row { grid-template-columns: 1fr; }
  .modal-panel { margin: 14px auto; max-height: calc(100vh - 28px); width: min(100% - 20px, 760px); }
  .legal-body { padding-top: 82px; }
}

.site-header .brand-logo,
.footer-branding img,
.flow-logo-mini img {
  filter: brightness(0) invert(1);
}

/* HU-01 a HU-06 · NUKU ajustado según correcciones del cliente */
.nuku-section {
  background: var(--cream-warm);
  color: var(--nuku-text);
  padding: clamp(86px, 9vw, 132px) 0 clamp(72px, 8vw, 112px);
}

.nuku-ordered {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 54px);
  align-items: stretch;
}

.nuku-heading {
  display: grid;
  gap: clamp(10px, 1.4vw, 16px);
  justify-items: start;
}

.nuku-script {
  color: var(--nuku-title);
  font-family: var(--font-script);
  font-size: clamp(98px, 16vw, 196px);
  line-height: .72;
  font-style: italic;
  letter-spacing: -.075em;
}

.nuku-underline {
  width: clamp(118px, 20vw, 282px);
  height: 4px;
  background: var(--nuku-title);
  border-radius: 999px;
  opacity: .95;
}

.nuku-feature-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 42%);
  gap: clamp(26px, 4.8vw, 64px);
  align-items: center;
  background: var(--cream-warm);
  border: 1px solid rgba(109, 66, 28, .24);
  border-radius: 34px;
  padding: clamp(28px, 5vw, 64px);
  box-shadow: 0 28px 76px rgba(109, 66, 28, .08);
}

.nuku-feature-copy p {
  margin: 0;
  color: var(--nuku-text);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(25px, 3.6vw, 48px);
  line-height: 1.02;
  letter-spacing: -.025em;
}

.nuku-feature-copy strong {
  color: var(--nuku-title);
  font-family: var(--font-sans);
  font-style: normal;
  font-weight: 900;
  letter-spacing: .02em;
}

.nuku-feature-image {
  margin: 0;
  min-height: 360px;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(109, 66, 28, .08);
}

.nuku-feature-image img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
}

.nuku-values-strip {
  margin-top: clamp(34px, 5vw, 74px);
  margin-bottom: clamp(34px, 5vw, 72px);
}

.nuku-values-strip .values-track span {
  color: var(--nuku-text);
}

.nuku-manifest {
  display: grid;
  gap: clamp(18px, 2.4vw, 28px);
  color: var(--nuku-text);
}

.nuku-manifest h2 {
  margin: 0;
  width: min(960px, 100%);
  color: var(--nuku-text);
  font-family: var(--font-sans);
  text-transform: uppercase;
  font-size: clamp(34px, 5.6vw, 82px);
  line-height: .92;
  letter-spacing: -.03em;
}

.nuku-manifest p {
  margin: 0;
  width: min(980px, 100%);
  color: var(--nuku-text);
}

.nuku-manifest .nuku-uppercase {
  font-family: var(--font-sans);
  font-style: normal;
  text-transform: uppercase;
  font-size: clamp(17px, 2.1vw, 27px);
  line-height: 1.22;
  font-weight: 900;
}

.nuku-manifest .nuku-label {
  font-family: var(--font-sans);
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 14px;
  font-weight: 900;
}

.nuku-image-marquee {
  margin-top: clamp(42px, 6vw, 86px);
}

.nuku-closing-wrap {
  margin-top: clamp(42px, 6vw, 82px);
}

.nuku-closing-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(20px, 4vw, 56px);
  align-items: center;
  background: var(--nuku-text);
  color: var(--cream-warm);
  border-radius: 34px;
  padding: clamp(28px, 5vw, 58px);
}

.nuku-closing-card p {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(24px, 3.8vw, 48px);
  line-height: 1.05;
  color: var(--cream-warm);
}

.nuku-closing-card .nuku-contact {
  margin: 0;
  justify-self: end;
  border-color: var(--cream-warm);
  background: var(--cream-warm);
  color: var(--nuku-text);
}

@media (max-width: 980px) {
  .nuku-feature-card {
    grid-template-columns: 1fr;
  }

  .nuku-feature-image,
  .nuku-feature-image img {
    min-height: 320px;
  }

  .nuku-closing-card {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .nuku-closing-card .nuku-contact {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .nuku-section {
    padding: 62px 0 70px;
  }

  .nuku-script {
    font-size: clamp(86px, 26vw, 132px);
  }

  .nuku-feature-card,
  .nuku-closing-card {
    border-radius: 26px;
    padding: 24px;
  }

  .nuku-feature-copy p,
  .nuku-closing-card p {
    font-size: clamp(24px, 8vw, 36px);
  }

  .nuku-feature-image,
  .nuku-feature-image img {
    min-height: 280px;
  }
}

/* NUKU exact logo asset extracted from client reference, page 5 */
.nuku-logo-title {
  margin: 0;
  display: block;
  line-height: 0;
}

.nuku-logo {
  display: block;
  width: clamp(260px, 37vw, 560px);
  max-width: 100%;
  height: auto;
}

.nuku-heading .nuku-underline {
  margin-left: clamp(28px, 4vw, 72px);
  width: clamp(170px, 24vw, 360px);
  height: 5px;
  background: #f7f0e7;
  box-shadow: 0 1px 0 rgba(109, 66, 28, .08);
}

@media (max-width: 640px) {
  .nuku-logo {
    width: min(82vw, 420px);
  }

  .nuku-heading .nuku-underline {
    margin-left: 18px;
    width: min(58vw, 260px);
    height: 4px;
  }
}

/* HU07-HU09 · ZEALAB light composition and tab sequence */
@media (max-width: 980px) {
  .lab-arrow {
    width: clamp(120px, 26vw, 220px);
    opacity: .62;
  }
  .lab-arrow-left { left: -92px; top: 116px; }
  .lab-arrow-right { right: -96px; top: 112px; }
  .lab-hero { min-height: 180px; }
  .lab-intro-block { padding: clamp(24px, 5vw, 40px); }
}

@media (max-width: 640px) {
  .lab-section { padding-top: 86px; }
  .lab-hero { min-height: 150px; margin-bottom: 22px; }
  .lab-hero h2 {
    font-size: clamp(58px, 18vw, 92px);
    text-shadow: 0 7px 0 rgba(238, 213, 219, .58);
  }
  .lab-arrow { width: 180px; opacity: .52; }
  .lab-arrow-left { left: -112px; top: 94px; }
  .lab-arrow-right { right: -118px; top: 96px; }
  .lab-intro-block { padding: 24px 18px; }
  .lab-lead { font-size: clamp(26px, 8vw, 38px); }
  .lab-tabs { gap: 16px; }
  .lab-tabs button {
    min-width: 0;
    width: 100%;
    font-size: clamp(28px, 9vw, 40px);
  }
}

/* Premium layout refinement pass · ajustes de distribución sin cambiar texto, logos, colores ni familias tipográficas */
:root {
  --premium-gutter: clamp(26px, 5vw, 78px);
  --premium-section-gap: clamp(72px, 9vw, 128px);
}

.container {
  width: min(100% - var(--premium-gutter), var(--max));
}

@media (min-width: 981px) {
  .site-header {
    box-shadow: 0 16px 46px rgba(0, 0, 0, .10);
  }

  .header-inner {
    height: 92px;
    width: min(100% - 48px, 1260px);
  }

  .brand {
    width: 82px;
    height: 72px;
  }

  .brand-logo {
    max-width: 70px;
    max-height: 66px;
  }

  .main-nav {
    gap: clamp(34px, 5.4vw, 82px);
  }
}

.hero {
  padding-top: clamp(126px, 10vw, 148px);
  padding-bottom: clamp(56px, 7vw, 92px);
  min-height: auto;
}

.hero-frame {
  width: min(100% - clamp(38px, 8vw, 138px), 1120px);
  min-height: clamp(350px, 38vw, 475px);
  box-shadow: 0 34px 84px rgba(24, 84, 48, .12);
}

.hero-content {
  gap: clamp(18px, 2.6vw, 30px);
  padding: clamp(42px, 6vw, 72px) 28px;
}

.hero h1 {
  width: min(620px, 100%);
  font-size: clamp(30px, 4.2vw, 56px);
}

.shape {
  width: clamp(170px, 18vw, 268px);
}

.shape-left {
  left: -24px;
  top: 50%;
  transform: translateY(-50%);
}

.shape-right {
  right: -24px;
  top: 50%;
  transform: translateY(-50%);
}

.values-strip {
  margin-top: clamp(24px, 3vw, 42px);
}

.nuku-section {
  padding-top: var(--premium-section-gap);
  padding-bottom: var(--premium-section-gap);
}

.nuku-ordered {
  gap: clamp(34px, 4.6vw, 66px);
}

.nuku-heading {
  width: min(100%, 1120px);
  margin-inline: auto;
}

.nuku-logo {
  width: clamp(230px, 30vw, 470px);
}

.nuku-heading .nuku-underline {
  margin-left: clamp(24px, 3.2vw, 52px);
  width: clamp(150px, 18vw, 285px);
}

.nuku-feature-card {
  width: min(100%, 1120px);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(310px, .82fr);
  gap: clamp(32px, 5vw, 74px);
  padding: clamp(34px, 5.4vw, 72px);
}

.nuku-feature-copy p {
  font-size: clamp(28px, 3.55vw, 50px);
  line-height: 1.04;
}

.nuku-feature-image,
.nuku-feature-image img {
  min-height: clamp(340px, 36vw, 460px);
}

.nuku-values-strip {
  margin-top: clamp(46px, 6vw, 88px);
  margin-bottom: clamp(50px, 6.4vw, 92px);
}

.nuku-manifest {
  width: min(100% - var(--premium-gutter), 1120px);
  gap: clamp(20px, 2.8vw, 34px);
}

.nuku-manifest h2 {
  width: min(980px, 100%);
  font-size: clamp(38px, 5.2vw, 78px);
}

.nuku-manifest .nuku-uppercase {
  width: min(1040px, 100%);
}

.nuku-image-marquee {
  margin-top: clamp(48px, 6.6vw, 96px);
}

.image-track {
  gap: clamp(16px, 2vw, 26px);
}

.nuku-image-marquee .image-track img {
  width: clamp(240px, 24vw, 330px);
  height: clamp(300px, 33vw, 430px);
}

.nuku-closing-wrap {
  margin-top: clamp(52px, 7vw, 104px);
}

.nuku-closing-card {
  width: min(100%, 1080px);
  margin-inline: auto;
  padding: clamp(34px, 5.2vw, 64px);
}

.lab-section {
  padding-top: clamp(110px, 10vw, 152px);
  padding-bottom: clamp(86px, 9vw, 132px);
}

.lab-shell {
  width: min(100% - var(--premium-gutter), 1160px);
  margin-inline: auto;
}

.lab-hero {
  min-height: clamp(168px, 17vw, 244px);
  margin-bottom: clamp(24px, 4.2vw, 52px);
}

.lab-hero h2 {
  font-size: clamp(74px, 13.2vw, 164px);
}

.lab-arrow {
  width: clamp(132px, 17vw, 268px);
}

.lab-arrow-left {
  left: max(-88px, -6vw);
  top: clamp(118px, 15vw, 190px);
}

.lab-arrow-right {
  right: max(-88px, -6vw);
  top: clamp(112px, 15vw, 184px);
}

.lab-intro-block {
  width: min(100%, 880px);
  padding: clamp(28px, 4.2vw, 48px);
}

.lab-lead {
  width: min(760px, 100%);
  font-size: clamp(28px, 3.5vw, 50px);
}

.lab-tabs {
  margin-top: clamp(36px, 4.6vw, 56px);
  margin-bottom: clamp(34px, 4.6vw, 56px);
}

.lab-tabs button {
  min-width: min(242px, 44vw);
}

.lab-panel {
  width: min(100%, 1060px);
  margin-inline: auto;
  padding: clamp(30px, 5vw, 62px);
}

.lab-band {
  min-height: clamp(104px, 11vw, 138px);
  margin-bottom: clamp(34px, 4.2vw, 52px);
}

.lab-intro {
  margin-bottom: clamp(34px, 4vw, 52px);
}

.process-grid {
  gap: clamp(18px, 2.4vw, 30px);
}

.process-card {
  min-height: clamp(280px, 27vw, 330px);
  padding: clamp(28px, 3.2vw, 42px);
}

.lab-image-marquee {
  margin-top: clamp(48px, 6vw, 82px);
}

.lab-image-marquee .image-track img {
  width: clamp(245px, 24vw, 320px);
  height: clamp(170px, 16vw, 220px);
}

.meet-section {
  padding: clamp(86px, 9vw, 128px) 0;
}

.meet-inner {
  min-height: clamp(610px, 62vw, 760px);
}

.meet-card {
  width: min(740px, calc(100% - 52px));
  gap: clamp(18px, 2.2vw, 26px);
}

.meet-pill,
.meet-contact {
  width: min(540px, 100%);
}

.meet-copy {
  width: min(880px, 100%);
  margin-top: clamp(38px, 5vw, 62px);
}

.footer {
  padding: clamp(46px, 6vw, 72px) 0;
}

.footer-grid {
  width: min(100% - var(--premium-gutter), 1180px);
  grid-template-columns: .72fr 1.1fr 1.55fr 1.05fr;
  gap: clamp(28px, 5vw, 74px);
}

.footer-branding img {
  width: clamp(88px, 8vw, 112px);
}

.footer-column {
  gap: 12px;
}

.modal-panel {
  margin-top: clamp(20px, 4vw, 48px);
}

@media (max-width: 980px) {
  .container,
  .lab-shell,
  .nuku-manifest,
  .footer-grid {
    width: min(100% - 34px, var(--max));
  }

  .hero {
    padding-top: 106px;
  }

  .hero-frame {
    width: min(100% - 34px, 760px);
    min-height: 430px;
  }

  .shape {
    width: clamp(146px, 25vw, 210px);
  }

  .nuku-feature-card {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .nuku-feature-image,
  .nuku-feature-image img {
    min-height: 340px;
  }

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

  .process-card {
    min-height: auto;
  }

  .lab-tabs {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .container,
  .lab-shell,
  .nuku-manifest,
  .footer-grid {
    width: min(100% - 26px, var(--max));
  }

  .header-inner {
    width: min(100% - 24px, 1240px);
  }

  .hero {
    padding-top: 96px;
    padding-bottom: 52px;
  }

  .hero-frame {
    width: min(100% - 24px, 520px);
    min-height: 450px;
  }

  .hero h1 {
    font-size: clamp(30px, 9.8vw, 44px);
  }

  .shape-left {
    left: -84px;
  }

  .shape-right {
    right: -84px;
  }

  .values-track {
    gap: 38px;
  }

  .nuku-section {
    padding-top: 70px;
  }

  .nuku-feature-card {
    padding: 24px;
  }

  .nuku-feature-copy p {
    font-size: clamp(25px, 7.7vw, 34px);
  }

  .nuku-feature-image,
  .nuku-feature-image img {
    min-height: 300px;
  }

  .nuku-manifest h2 {
    font-size: clamp(34px, 11vw, 54px);
  }

  .nuku-manifest .nuku-uppercase {
    font-size: clamp(16px, 4.8vw, 22px);
  }

  .nuku-closing-card {
    padding: 26px;
  }

  .lab-section {
    padding-top: 92px;
  }

  .lab-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .lab-tabs button {
    width: auto;
    min-width: 0;
    padding-inline: 14px;
  }

  .lab-panel {
    padding: 20px;
  }

  .lab-band {
    min-height: 86px;
    margin-bottom: 26px;
  }

  .meet-inner {
    min-height: 620px;
  }

  .meet-card {
    width: min(100% - 26px, 520px);
  }

  .meet-copy {
    margin-top: 36px;
  }
}

/* Responsive containment guard for moving strips and decorative elements */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.values-strip,
.nuku-image-marquee,
.lab-image-marquee {
  max-width: 100%;
  overflow-x: clip;
  contain: paint;
}

.hero-frame,
.meet-inner,
.lab-section,
.nuku-section {
  max-width: 100%;
}

/* V10 wireframe fidelity corrections */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Footer: structure from the supplied wireframe */
.footer.footer-wireframe {
  padding: 0;
  background: var(--green-dark);
  color: #fff;
  overflow: hidden;
}
.footer-wireframe-grid {
  width: min(100% - 48px, 1280px);
  min-height: 220px;
  margin: 0 auto;
  padding: 34px 0 30px;
  display: grid;
  grid-template-columns: 116px 150px 120px 12px minmax(220px, 1fr) 12px minmax(260px, 1.15fr);
  align-items: center;
  gap: clamp(20px, 2.7vw, 44px);
}
.footer-branding-wireframe {
  align-self: center;
}
.footer-branding-wireframe img {
  width: 104px;
  max-width: 100%;
  filter: brightness(0) invert(1);
}
.footer-wireframe .footer-column {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}
.footer-wireframe h2,
.footer-wireframe p,
.footer-wireframe a,
.footer-wireframe button,
.footer-wireframe label,
.footer-wireframe input {
  font-family: Arial, Helvetica, sans-serif;
}
.footer-wireframe h2 {
  margin: 0 0 9px;
  color: #fff;
  font-size: 17px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
}
.footer-wireframe .footer-social h2 {
  text-align: center;
  font-weight: 800;
}
.footer-wireframe a,
.footer-wireframe button {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  font-size: 9px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0;
}
.footer-wireframe a:hover,
.footer-wireframe a:focus-visible,
.footer-wireframe button:hover,
.footer-wireframe button:focus-visible {
  color: var(--pink);
}
.footer-separator {
  display: block;
  width: 7px;
  height: 132px;
  justify-self: center;
  border-radius: 50%;
  background: var(--pink-strong);
  transform: rotate(1deg);
}
.footer-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 8px;
}
.footer-social-links a {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  background: #fff;
  overflow: hidden;
}
.footer-social-links img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}
.footer-newsletter {
  align-self: stretch;
  justify-content: center;
}
.newsletter-form {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 10px;
  row-gap: 4px;
  min-width: 0;
}
.newsletter-form label {
  color: #fff;
  font-size: 17px;
  font-weight: 400;
}
.newsletter-form input {
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 8px 18px;
  border: 4px solid var(--pink-strong);
  border-radius: 999px;
  outline: 0;
  background: transparent;
  color: #fff;
}
.newsletter-form input:focus {
  box-shadow: 0 0 0 3px rgba(242, 197, 206, .25);
}
.newsletter-status {
  grid-column: 1 / -1;
  min-height: 15px;
  margin: 0;
  color: var(--pink);
  font-size: 9px;
}

/* ALMAZEA home */
.page-almazea {
  background: #fff;
}
.page-almazea .hero {
  min-height: 0;
  padding: 92px 0 0;
  background: #fff;
}
.page-almazea .hero-frame {
  width: 100%;
  max-width: none;
  min-height: 0;
  aspect-ratio: 1125 / 423;
  margin: 0;
  box-shadow: none;
  overflow: hidden;
}
.page-almazea .hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-almazea .hero-overlay {
  background: transparent;
}
.page-almazea .shape {
  z-index: 2;
  width: clamp(205px, 18vw, 340px);
  height: 84%;
  object-fit: contain;
  opacity: 1;
}
.page-almazea .shape-left {
  left: -4px;
  top: 20%;
  transform: none;
}
.page-almazea .shape-right {
  right: -3px;
  top: 0;
  transform: none;
}
.page-almazea .hero-content {
  position: absolute;
  z-index: 4;
  left: 14.6%;
  bottom: 14.5%;
  width: min(61%, 850px);
  padding: 0;
  display: grid;
  gap: 12px;
  justify-items: stretch;
  text-align: left;
}
.page-almazea .hero h1 {
  width: 100%;
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-size: clamp(24px, 2.5vw, 42px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.02em;
  text-align: left;
  text-shadow: 0 2px 8px rgba(0,0,0,.16);
}
.page-almazea .hero-button {
  justify-self: center;
  min-width: 180px;
  min-height: 52px;
  margin-top: 0;
  padding: 8px 28px;
  border: 3px solid #fff;
  background: var(--green-dark);
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: italic;
  text-transform: none;
  box-shadow: none;
}
.page-almazea .values-strip {
  height: 126px;
  margin: 0;
  padding: 24px 28px 20px;
  display: flex;
  align-items: flex-start;
  background: #fff;
}
.page-almazea .values-track {
  gap: clamp(58px, 8vw, 138px);
  animation: valuesMarquee 34s linear infinite;
}
.page-almazea .values-track span {
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(29px, 3vw, 48px);
  font-style: italic;
  font-weight: 700;
}

/* NUKU page */
.page-nuku {
  background: #fff;
}
.page-nuku .standalone-main {
  padding-top: 92px;
}
.nuku-wireframe {
  padding: 0;
  background: #fff;
  color: #16452f;
  overflow: hidden;
}
.nuku-logo-stage {
  min-height: clamp(270px, 35vw, 500px);
  padding: clamp(56px, 8vw, 110px) 24px 46px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  background: #fff;
}
.nuku-logo-stage h1 {
  margin: 0;
  line-height: 0;
}
.nuku-logo-stage .nuku-logo {
  width: clamp(430px, 61vw, 790px);
  max-width: 90vw;
}
.nuku-logo-line {
  display: block;
  width: clamp(340px, 52vw, 660px);
  height: 8px;
  margin-top: -12px;
  background: #f4e3d2;
}
.nuku-wireframe-card {
  width: min(100% - 2px, 1320px);
  margin: 0 auto;
  padding: clamp(52px, 7vw, 94px) clamp(48px, 7vw, 96px);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .78fr);
  gap: clamp(50px, 7vw, 100px);
  align-items: center;
  border: 0;
  border-radius: 0;
  background: #f7eadc;
  box-shadow: none;
}
.nuku-wireframe-card .nuku-feature-copy {
  display: grid;
  gap: 22px;
}
.nuku-wireframe-card .nuku-feature-copy p {
  margin: 0;
  color: #16452f;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(16px, 1.45vw, 23px);
  font-style: normal;
  font-weight: 500;
  line-height: 1.12;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.nuku-wireframe-card .nuku-feature-copy .nuku-lead {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2vw, 31px);
  font-style: italic;
  font-weight: 700;
  line-height: 1.15;
  text-transform: none;
}
.nuku-wireframe-card .nuku-feature-copy strong {
  color: #16452f;
  font-family: inherit;
  font-style: inherit;
  letter-spacing: 0;
}
.nuku-wireframe-card .nuku-feature-copy em {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 700;
  text-transform: none;
}
.nuku-wireframe-card .nuku-feature-image {
  min-height: 0;
  margin: 0;
  padding: 8px;
  border-radius: 0;
  background: #fff;
}
.nuku-wireframe-card .nuku-feature-image img {
  width: 100%;
  min-height: 0;
  aspect-ratio: 736 / 1106;
  object-fit: cover;
  border-radius: 0;
}
.nuku-values-static {
  min-height: 120px;
  padding: 32px clamp(30px, 5vw, 72px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  text-align: center;
  background: #fff;
}
.nuku-values-static span {
  color: #ba4024;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2.5vw, 42px);
  font-style: italic;
}
.nuku-manifest-centered {
  width: min(100% - 40px, 1040px);
  min-height: 260px;
  margin: 0 auto;
  padding: 38px 0 54px;
  display: grid;
  place-items: center;
  text-align: center;
}
.nuku-manifest-centered p {
  width: 100%;
  margin: 0;
  color: #6d2f22;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(19px, 2.15vw, 33px);
  font-weight: 500;
  line-height: 1.08;
  text-transform: uppercase;
}
.nuku-manifest-centered strong {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  text-transform: none;
}
.nuku-gallery {
  width: 100%;
  height: clamp(210px, 24vw, 360px);
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  overflow: hidden;
  background: #1a1a1a;
}
.nuku-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}
.nuku-closing-panel {
  min-height: clamp(250px, 29vw, 420px);
  padding: 42px 20px 30px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 4px;
  background: #f7eadc;
}
.nuku-closing-logo {
  width: clamp(410px, 57vw, 760px);
  max-width: 90vw;
}
.nuku-closing-panel .nuku-contact {
  min-width: 140px;
  min-height: 36px;
  margin-top: -16px;
  padding: 4px 20px;
  border: 2px solid #ba4024;
  background: #f7eadc;
  color: #6d2f22;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
  box-shadow: none;
}

/* ZEALAB */
.page-zealab {
  background: #fff;
}
.page-zealab .standalone-main {
  padding-top: 92px;
}
.lab-wireframe {
  padding: 0;
  background: #fff;
  color: var(--green-dark);
}
.lab-wireframe::before {
  display: none;
}
.lab-title-stage {
  position: relative;
  min-height: clamp(300px, 35vw, 490px);
  display: grid;
  place-items: center;
  background: #fff;
  overflow: hidden;
}
.lab-title-stage h1 {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #173f2b;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-size: clamp(74px, 11.5vw, 174px);
  font-style: normal;
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.055em;
  text-shadow: none;
}
.lab-title-stage .lab-arrow {
  position: absolute;
  width: clamp(105px, 12vw, 190px);
  opacity: 1;
}
.lab-title-stage .lab-arrow-left {
  left: 8%;
  top: 56%;
  transform: translateY(-50%);
}
.lab-title-stage .lab-arrow-right {
  right: 8%;
  top: 28%;
  transform: none;
}
.lab-selector-band {
  min-height: clamp(250px, 29vw, 390px);
  padding: 50px 20px;
  display: grid;
  place-items: center;
  background: var(--green-dark);
}
.lab-selector-band .lab-tabs {
  width: min(900px, 100%);
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(80px, 13vw, 190px);
}
.lab-selector-band .lab-tabs button {
  min-width: 0;
  width: 100%;
  padding: 18px 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 3vw, 43px);
  font-style: italic;
  font-weight: 700;
  box-shadow: none;
}
.lab-selector-band .lab-tabs button::after {
  content: "";
  position: absolute;
  inset: 2px 2px;
  z-index: -1;
  border: 10px solid var(--pink-strong);
  border-radius: 50%;
  transform: rotate(3deg) scaleX(1.08);
  opacity: .85;
}
.lab-selector-band .lab-tabs button.is-active::after,
.lab-selector-band .lab-tabs button[aria-selected="true"]::after {
  opacity: 1;
  transform: rotate(-3deg) scaleX(1.12);
}
.insurer-marquee {
  width: 100%;
  height: 66px;
  overflow: hidden;
  border-top: 2px solid rgba(24,84,48,.15);
  border-bottom: 2px solid rgba(24,84,48,.15);
  background: #fff;
}
.insurer-track {
  display: flex;
  width: max-content;
  height: 100%;
  animation: insurerMarquee 24s linear infinite;
}
.insurer-track img {
  flex: 0 0 auto;
  width: auto;
  height: 100%;
  object-fit: contain;
}
@keyframes insurerMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.lab-content-shell {
  width: 100%;
  background: #fff;
}
.lab-wireframe .lab-panel {
  width: 100%;
  margin: 0;
  padding: 0 0 90px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.lab-wireframe .lab-band {
  width: 100%;
  min-height: 126px;
  margin: 0 0 52px;
  display: grid;
  place-items: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 68px);
  font-style: italic;
  font-weight: 700;
}
.lab-wireframe .arl-band {
  background: var(--pink-strong);
  color: var(--green-dark);
}
.lab-wireframe .seguros-band {
  background: var(--green-dark);
  color: #fff;
}
.lab-wireframe .lab-intro {
  width: min(100% - 40px, 840px);
  margin: 0 auto 48px;
  color: #333;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.55vw, 23px);
  font-style: italic;
  line-height: 1.15;
  text-align: center;
}
.lab-wireframe .process-grid {
  width: min(100% - 60px, 1100px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.lab-wireframe .process-card {
  min-height: 270px;
  padding: 26px 28px;
  border: 1px solid #dadada;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.lab-wireframe .process-card span {
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.5vw, 66px);
  font-style: italic;
}
.lab-wireframe .process-card h3 {
  margin: -6px 0 24px 48px;
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.7vw, 26px);
  font-style: italic;
  text-transform: uppercase;
}
.lab-wireframe .process-card p {
  margin: 0;
  color: #1e1e1e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(13px, 1.1vw, 17px);
  font-style: italic;
  line-height: 1.2;
  text-align: center;
}
.lab-wireframe .seguros-card span,
.lab-wireframe .seguros-card h3 {
  color: var(--pink-strong);
}
.lab-visible-contact {
  position: relative;
  min-height: 390px;
  margin-top: 70px;
  padding: 40px 30px 48px;
  background: #efefef;
  overflow: hidden;
}
.lab-visible-contact h2 {
  margin: 0 0 44px;
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5vw, 72px);
  font-style: italic;
  text-align: center;
}
.lab-inline-form {
  position: relative;
  width: min(100% - 30px, 1040px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  align-items: center;
}
.lab-inline-decoration {
  width: 200px;
  height: 230px;
  margin-left: -112px;
  background: url('../assets/mark-green.png') center / contain no-repeat;
}
.lab-inline-fields {
  display: grid;
  gap: 9px;
}
.lab-inline-fields label {
  display: block;
}
.lab-inline-fields input {
  width: 100%;
  height: 44px;
  padding: 4px 22px;
  border: 2px solid var(--green-dark);
  border-radius: 999px;
  background: transparent;
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-style: italic;
  text-align: right;
}
.lab-inline-fields input::placeholder {
  color: #929292;
  opacity: 1;
}
.lab-inline-fields .form-status {
  min-height: 18px;
  font-size: 11px;
  text-align: right;
}
.lab-second-contact {
  display: block;
  margin: 72px auto 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5vw, 72px);
  font-style: italic;
  font-weight: 700;
}


/* MEET ZEA */
.page-meetzea {
  background: #fff;
}
.page-meetzea .standalone-main {
  padding-top: 92px;
}
.meet-wireframe {
  position: relative;
  min-height: clamp(600px, 52vw, 760px);
  padding: 0;
  display: grid;
  place-items: center;
  background: #fff;
  overflow: hidden;
}
.meet-wireframe .meet-mark {
  position: absolute;
  z-index: 1;
  width: clamp(230px, 19vw, 350px);
  height: 70%;
  object-fit: contain;
  opacity: 1;
}
.meet-wireframe .meet-mark.left {
  left: -4px;
  top: 4%;
}
.meet-wireframe .meet-mark.right {
  right: -4px;
  top: 4%;
}
.meet-wireframe-card {
  position: relative;
  z-index: 2;
  width: min(100% - 80px, 900px);
  margin: 0;
  padding: 54px 20px 20px;
  display: grid;
  justify-items: center;
  gap: 14px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.meet-wireframe-card h1 {
  margin: 0 0 24px;
  color: #8f9496;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(47px, 5.8vw, 78px);
  font-style: italic;
  font-weight: 700;
}
.meet-wireframe .meet-pill,
.meet-wireframe .meet-contact {
  width: min(580px, 100%);
  min-height: 76px;
  padding: 10px 22px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #ecebea;
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.25vw, 46px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}
.meet-wireframe .meet-copy {
  width: min(940px, 100%);
  margin: clamp(68px, 8vw, 112px) 0 0;
  color: #173f2b;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(16px, 1.55vw, 23px);
  font-style: normal;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .footer-wireframe-grid {
    width: min(100% - 34px, 760px);
    grid-template-columns: 104px 1fr 1fr;
    grid-template-areas:
      "logo legal support"
      "social social newsletter";
    gap: 30px 34px;
    align-items: start;
  }
  .footer-branding-wireframe { grid-area: logo; }
  .footer-legal { grid-area: legal; }
  .footer-support { grid-area: support; }
  .footer-social { grid-area: social; }
  .footer-newsletter { grid-area: newsletter; }
  .footer-separator { display: none; }
  .footer-wireframe .footer-social h2 { text-align: left; }
  .footer-social-links { justify-content: flex-start; }

  .page-almazea .hero { padding-top: 82px; }
  .page-almazea .hero-frame { aspect-ratio: 16 / 8.3; }
  .page-almazea .hero-content { left: 12%; width: 70%; bottom: 15%; }
  .page-almazea .shape { width: 27vw; }

  .page-nuku .standalone-main,
  .page-zealab .standalone-main,
  .page-meetzea .standalone-main { padding-top: 82px; }
  .nuku-wireframe-card { grid-template-columns: 1fr; }
  .nuku-wireframe-card .nuku-feature-image { width: min(470px, 100%); justify-self: center; }
  .nuku-gallery { grid-template-columns: repeat(4, 1fr); height: auto; }
  .nuku-gallery img { aspect-ratio: 1 / 1.15; }
  .nuku-gallery img:nth-child(n+5) { grid-column: auto; }

  .lab-wireframe .process-grid { grid-template-columns: 1fr; width: min(100% - 40px, 700px); }
  .lab-wireframe .process-card { min-height: 0; }
  .lab-inline-form { grid-template-columns: 90px 1fr; }
  .lab-inline-decoration { width: 150px; margin-left: -92px; }
  .lab-selector-band .lab-tabs { gap: 70px; }

  .meet-wireframe { min-height: 640px; }
  .meet-wireframe .meet-mark { width: 28vw; }
}

@media (max-width: 640px) {
  .desktop-only { display: none; }

  .footer-wireframe-grid {
    width: min(100% - 30px, 520px);
    padding: 30px 0;
    grid-template-columns: 86px 1fr;
    grid-template-areas:
      "logo social"
      "legal support"
      "newsletter newsletter";
    gap: 30px 24px;
  }
  .footer-branding-wireframe img { width: 84px; }
  .footer-wireframe h2 { font-size: 16px; }
  .footer-wireframe a,
  .footer-wireframe button { font-size: 9px; }
  .footer-social-links { gap: 12px; }
  .footer-social-links a { width: 30px; height: 30px; }
  .footer-social-links img { width: 27px; height: 27px; }
  .footer-newsletter { width: 100%; }
  .newsletter-form { grid-template-columns: 64px 1fr; }
  .newsletter-form input { height: 46px; }

  .page-almazea .hero { padding-top: 82px; }
  .page-almazea .hero-frame { aspect-ratio: auto; min-height: 460px; }
  .page-almazea .hero-media img { object-position: 47% center; }
  .page-almazea .shape { width: 190px; height: 78%; }
  .page-almazea .shape-left { left: -90px; top: 20%; }
  .page-almazea .shape-right { right: -90px; top: 2%; }
  .page-almazea .hero-content { left: 8%; bottom: 13%; width: 84%; gap: 14px; }
  .page-almazea .hero h1 { font-size: clamp(25px, 8vw, 37px); text-align: left; }
  .page-almazea .hero-button { min-width: 160px; min-height: 48px; font-size: 16px; }
  .page-almazea .values-strip { height: 92px; padding: 19px 18px; }
  .page-almazea .values-track { gap: 42px; }
  .page-almazea .values-track span { font-size: 27px; }

  .nuku-logo-stage { min-height: 270px; padding-top: 46px; }
  .nuku-logo-stage .nuku-logo { width: 90vw; }
  .nuku-logo-line { width: 72vw; height: 5px; }
  .nuku-wireframe-card { width: 100%; padding: 34px 24px; gap: 32px; }
  .nuku-wireframe-card .nuku-feature-copy p { font-size: 15px; }
  .nuku-wireframe-card .nuku-feature-copy .nuku-lead { font-size: 21px; }
  .nuku-values-static { grid-template-columns: 1fr 1fr; gap: 20px; padding: 28px 20px; }
  .nuku-values-static span { font-size: 27px; }
  .nuku-manifest-centered { min-height: 220px; padding: 38px 0; }
  .nuku-manifest-centered p { font-size: 18px; }
  .nuku-gallery { grid-template-columns: repeat(2, 1fr); }
  .nuku-closing-panel { min-height: 250px; }
  .nuku-closing-logo { width: 92vw; }

  .lab-title-stage { min-height: 280px; }
  .lab-title-stage h1 { font-size: clamp(66px, 20vw, 96px); }
  .lab-title-stage .lab-arrow { width: 110px; }
  .lab-title-stage .lab-arrow-left { left: -20px; top: 62%; }
  .lab-title-stage .lab-arrow-right { right: -16px; top: 18%; }
  .lab-selector-band { min-height: 250px; padding: 42px 18px; }
  .lab-selector-band .lab-tabs { gap: 18px; }
  .lab-selector-band .lab-tabs button { font-size: 25px; padding: 16px 4px; }
  .lab-selector-band .lab-tabs button::after { border-width: 7px; }
  .insurer-marquee { height: 52px; }
  .lab-wireframe .lab-band { min-height: 95px; margin-bottom: 34px; font-size: 42px; }
  .lab-wireframe .lab-intro { font-size: 15px; }
  .lab-wireframe .process-grid { width: min(100% - 28px, 560px); }
  .lab-visible-contact { min-height: 380px; padding-inline: 14px; }
  .lab-visible-contact h2 { font-size: 44px; margin-bottom: 32px; }
  .lab-inline-form { width: 100%; grid-template-columns: 52px 1fr; gap: 8px; }
  .lab-inline-decoration { width: 110px; height: 200px; margin-left: -67px; }
  .lab-inline-fields input { height: 42px; padding-inline: 15px; font-size: 15px; }
  .lab-second-contact { font-size: 44px; }
  .lab-second-contact::after { display: block; margin: 10px auto 0; }

  .meet-wireframe { min-height: 650px; padding: 28px 0; }
  .meet-wireframe .meet-mark { width: 190px; height: 64%; }
  .meet-wireframe .meet-mark.left { left: -112px; top: 4%; }
  .meet-wireframe .meet-mark.right { right: -112px; top: 4%; }
  .meet-wireframe-card { width: min(100% - 28px, 520px); padding: 34px 0 12px; }
  .meet-wireframe-card h1 { font-size: 48px; margin-bottom: 20px; }
  .meet-wireframe .meet-pill,
  .meet-wireframe .meet-contact { min-height: 62px; font-size: 26px; padding-inline: 16px; }
  .meet-wireframe .meet-copy { margin-top: 74px; padding-inline: 10px; font-size: 15px; }
}

/* Final alignment fixes after visual QA */
.page-almazea .hero-button {
  position: relative;
  left: 58%;
  justify-self: start;
  margin-top: -24px;
  transform: translateX(-50%);
}
.page-almazea .hero-button:hover,
.page-almazea .hero-button:focus-visible {
  transform: translateX(-50%) translateY(-2px);
}
.nuku-closing-panel .nuku-contact {
  justify-self: center;
}
.insurer-track img {
  width: min(100vw, 1100px);
}
@media (max-width: 640px) {
  .nuku-gallery img:last-child {
    grid-column: 1 / -1;
    aspect-ratio: 2 / 1.15;
  }
}

/* Place the live hero content over the corresponding positions in the source image. */
.page-almazea .hero-content {
  inset: 0;
  left: 0;
  bottom: auto;
  width: 100%;
  height: 100%;
  display: block;
}
.page-almazea .hero h1 {
  position: absolute;
  left: 14.6%;
  bottom: 23%;
  width: min(61%, 850px);
}
.page-almazea .hero-button {
  position: absolute;
  left: 50%;
  top: 75%;
  margin: 0;
  transform: translate(-50%, -50%);
}
.page-almazea .hero-button:hover,
.page-almazea .hero-button:focus-visible {
  transform: translate(-50%, calc(-50% - 2px));
}
@media (max-width: 640px) {
  .page-almazea .hero h1 {
    left: 8%;
    bottom: 28%;
    width: 84%;
  }
}


/* V19 — carrusel de aliados de ZEALAB con logos individuales */
.insurer-marquee {
  height: 104px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.insurer-track {
  --insurer-gap: clamp(42px, 5vw, 82px);
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  animation: insurerMarquee 34s linear infinite;
  will-change: transform;
}

.insurer-set {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--insurer-gap);
  height: 100%;
  padding: 14px calc(var(--insurer-gap) / 2);
}

.insurer-set img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: clamp(50px, 5.5vw, 74px);
  max-width: clamp(138px, 17vw, 240px);
  object-fit: contain;
}

.insurer-marquee:hover .insurer-track,
.insurer-marquee:focus-within .insurer-track {
  animation-play-state: paused;
}

@media (max-width: 700px) {
  .insurer-marquee {
    height: 76px;
  }

  .insurer-track {
    --insurer-gap: 38px;
    animation-duration: 29s;
  }

  .insurer-set {
    padding-block: 10px;
  }

  .insurer-set img {
    height: 50px;
    max-width: 168px;
  }
}

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

  .insurer-marquee {
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .insurer-set[aria-hidden="true"] {
    display: none;
  }
}

/* ===================== v11-responsive.css ===================== */
/* V11 · Edge-to-edge layout, responsive pass and reference contact form */

:root {
  --v11-gutter: clamp(18px, 4vw, 64px);
  --v11-mobile-gutter: 16px;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  background: #fff;
}

main,
main > section,
.page-almazea .hero,
.page-nuku .nuku-wireframe,
.page-zealab .lab-wireframe,
.page-meetzea .meet-wireframe {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Remove page-level frame treatments while preserving internal rhythm. */
.hero-frame,
.nuku-wireframe-card,
.lab-panel,
.meet-wireframe-card,
.legal-card,
.flow-shell {
  max-width: none;
  border-radius: 0;
  box-shadow: none;
}

/* Header remains full bleed; its content uses a safe responsive gutter. */
.header-inner {
  width: 100%;
  max-width: none;
  padding-inline: var(--v11-gutter);
}

/* ALMAZEA · one CTA, separated from the headline at every breakpoint. */
.page-almazea .hero-frame {
  width: 100%;
  max-width: none;
  margin: 0;
}

.page-almazea .hero-content {
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.page-almazea .hero h1 {
  left: clamp(34px, 14.6vw, 210px);
  bottom: 27%;
  width: min(62%, 860px);
}

.page-almazea .hero-button {
  left: 50%;
  top: auto;
  bottom: 8%;
  margin: 0;
  transform: translateX(-50%);
  pointer-events: auto;
}

.page-almazea .hero-button:hover,
.page-almazea .hero-button:focus-visible {
  transform: translateX(-50%) translateY(-2px);
}

/* NUKU · backgrounds and image bands now reach both viewport edges. */
.nuku-logo-stage,
.nuku-wireframe-card,
.nuku-values-marquee,
.nuku-gallery-marquee,
.nuku-values-static,
.nuku-manifest-centered,
.nuku-gallery,
.nuku-closing-panel {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.nuku-wireframe-card {
  padding-inline: var(--v11-gutter);
}

.nuku-wireframe-card .nuku-feature-image {
  padding: 0;
  background: transparent;
}

.nuku-manifest-centered {
  padding-inline: var(--v11-gutter);
}

/* ZEALAB · no boxed process grid; retain three-column distribution with separators. */
.lab-title-stage,
.lab-selector-band,
.insurer-marquee,
.lab-content-shell,
.lab-wireframe .lab-panel,
.lab-visible-contact {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.lab-wireframe .process-grid {
  width: 100%;
  max-width: none;
  padding-inline: var(--v11-gutter);
  gap: 0;
}

.lab-wireframe .process-card {
  border: 0;
  border-right: 1px solid rgba(24, 84, 48, .18);
  background: transparent;
  box-shadow: none;
}

.lab-wireframe .process-card:last-child {
  border-right: 0;
}

.lab-wireframe .lab-panel {
  padding-bottom: clamp(56px, 7vw, 90px);
}

.lab-visible-contact {
  margin-top: clamp(44px, 6vw, 70px);
}

/* Contact form based on the supplied reference. */
.reference-contact-form {
  position: relative;
  width: min(100%, 880px);
  min-height: 240px;
  margin: 0 auto;
  padding: 12px var(--v11-gutter) 18px clamp(118px, 18vw, 210px);
  display: block;
}

.reference-contact-decoration,
.lab-inline-decoration {
  position: absolute;
  left: clamp(-95px, -5vw, -34px);
  top: 50%;
  width: clamp(170px, 22vw, 270px);
  height: 78%;
  margin: 0;
  transform: translateY(-50%);
  background: url('../assets/mark-green.png') center / contain no-repeat;
  pointer-events: none;
}

.reference-contact-fields,
.lab-inline-fields {
  width: 100%;
  display: grid;
  gap: 8px;
}

.reference-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.reference-contact-form label {
  display: block;
  min-width: 0;
}

.reference-contact-form input,
.reference-contact-form textarea {
  width: 100%;
  height: 38px;
  min-height: 38px;
  padding: 3px 16px;
  border: 2px solid var(--green-dark);
  border-radius: 999px;
  background: transparent;
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1;
  text-align: right;
  resize: none;
  box-shadow: none;
}

.reference-contact-form input::placeholder,
.reference-contact-form textarea::placeholder {
  color: #8f8f8f;
  opacity: 1;
}

.reference-contact-form input:focus,
.reference-contact-form textarea:focus {
  border-color: var(--green-dark);
  box-shadow: 0 0 0 3px rgba(24, 84, 48, .10);
}

.reference-contact-form .form-status {
  min-height: 16px;
  margin: 2px 0 0;
  font-size: 10px;
  line-height: 1.25;
  text-align: right;
}

.lab-visible-contact {
  min-height: 330px;
  padding: clamp(28px, 4vw, 44px) 0 28px;
  background: #efefef;
  overflow: hidden;
}

.lab-visible-contact h2 {
  margin-bottom: 8px;
  font-size: clamp(38px, 4.4vw, 62px);
}

.lab-inline-form {
  grid-template-columns: none;
  gap: 0;
}

/* Contact modal adopts the same open, frameless visual language. */
.contact-modal .modal-backdrop {
  background: rgba(24, 84, 48, .70);
}

.contact-modal .modal-panel {
  width: min(100% - 28px, 900px);
  max-height: calc(100vh - 28px);
  margin: 14px auto;
  padding: clamp(28px, 4vw, 48px) 0 24px;
  border-radius: 0;
  background: #efefef;
  box-shadow: none;
  overflow-x: hidden;
}

.contact-modal .modal-panel h2 {
  margin: 0 0 8px;
  text-align: center;
  font-size: clamp(38px, 5vw, 62px);
}

.contact-modal .reference-contact-form {
  width: min(100%, 780px);
}

.contact-modal .modal-close {
  top: 12px;
  right: 12px;
}

/* MEET ZEA · full bleed section and stable mobile spacing. */
.meet-wireframe-card {
  width: 100%;
  max-width: none;
  padding-inline: var(--v11-gutter);
}

.meet-wireframe .meet-copy {
  max-width: 940px;
}

/* Legal URLs: remove the white card frame and use the full canvas. */
.legal-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(62px, 8vw, 100px) var(--v11-gutter);
}

.legal-card {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

/* FLOWNEWS · editorial blocks reach the viewport edges. */
.flownews-main,
.flownews-exact {
  width: 100%;
  max-width: none;
  margin: 0;
}

.flownews-exact .masthead-topbar,
.flownews-exact .masthead-hero,
.flownews-exact .masthead-subtitle-band,
.flownews-exact .masthead-topics,
.flownews-exact .cover,
.flownews-exact .section-rule,
.flownews-exact .grid-section,
.flownews-exact .feature-wide,
.flownews-exact .nuku-section,
.flownews-exact .footer-inner {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.flownews-exact .cover,
.flownews-exact .feature-wide,
.flownews-exact .nuku-section {
  padding-left: 0;
  padding-right: 0;
}

.flownews-exact .cover,
.flownews-exact .grid-2col,
.flownews-exact .grid-3col,
.flownews-exact .feature-wide-inner,
.flownews-exact .nuku-inner {
  border-left: 0;
  border-right: 0;
}

.flownews-exact .grid-section {
  padding-left: 0;
  padding-right: 0;
}

/* Tablet */
@media (max-width: 980px) {
  .header-inner {
    padding-inline: 18px;
  }

  .page-almazea .hero h1 {
    left: 9%;
    bottom: 29%;
    width: 78%;
  }

  .page-almazea .hero-button {
    bottom: 7%;
  }

  .nuku-wireframe-card {
    padding-inline: clamp(24px, 6vw, 58px);
  }

  .lab-wireframe .process-grid {
    padding-inline: clamp(24px, 5vw, 48px);
  }

  .lab-wireframe .process-card {
    border-right: 0;
    border-bottom: 1px solid rgba(24, 84, 48, .16);
  }

  .lab-wireframe .process-card:last-child {
    border-bottom: 0;
  }

  .reference-contact-form {
    padding-left: clamp(96px, 18vw, 150px);
  }

  .reference-contact-decoration,
  .lab-inline-decoration {
    left: -88px;
    width: 210px;
  }

  .meet-wireframe-card {
    padding-inline: 34px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  :root {
    --v11-gutter: var(--v11-mobile-gutter);
  }

  .site-header,
  .header-inner {
    width: 100%;
  }

  .header-inner {
    padding-inline: 12px;
  }

  .main-nav {
    width: 100%;
    max-width: 100%;
    overflow-y: auto;
  }

  .page-almazea .hero-frame {
    min-height: 540px;
    aspect-ratio: auto;
  }

  .page-almazea .hero-media img {
    object-position: 48% center;
  }

  .page-almazea .hero h1 {
    left: 7%;
    bottom: 28%;
    width: 86%;
    font-size: clamp(24px, 7.6vw, 34px);
    line-height: 1.04;
  }

  .page-almazea .hero-button {
    bottom: 7%;
    min-width: 150px;
    min-height: 44px;
    font-size: 15px;
  }

  .page-almazea .values-strip {
    width: 100%;
    padding-inline: 16px;
  }

  .nuku-logo-stage {
    min-height: 230px;
    padding: 34px 12px 26px;
  }

  .nuku-wireframe-card {
    padding: 30px 18px;
  }

  .nuku-wireframe-card .nuku-feature-copy {
    gap: 17px;
  }

  .nuku-wireframe-card .nuku-feature-image,
  .nuku-wireframe-card .nuku-feature-image img {
    width: 100%;
    min-height: 0;
  }

  .nuku-values-static {
    gap: 16px;
    padding: 24px 14px;
  }

  .nuku-manifest-centered {
    padding: 34px 18px;
  }

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

  .nuku-gallery img,
  .nuku-gallery img:last-child {
    grid-column: auto;
    width: 100%;
    aspect-ratio: 1 / 1.12;
  }

  .nuku-gallery img:last-child {
    grid-column: 1 / -1;
    aspect-ratio: 2 / 1.1;
  }

  .lab-title-stage {
    min-height: 220px;
  }

  .lab-title-stage h1 {
    font-size: clamp(52px, 18vw, 78px);
  }

  .lab-selector-band {
    min-height: 200px;
    padding: 34px 14px;
  }

  .lab-selector-band .lab-tabs {
    gap: 12px;
  }

  .lab-selector-band .lab-tabs button {
    min-height: 62px;
    font-size: clamp(20px, 7vw, 27px);
  }

  .insurer-marquee {
    height: 48px;
  }

  .lab-wireframe .lab-panel {
    padding-bottom: 52px;
  }

  .lab-wireframe .lab-band {
    margin-bottom: 26px;
  }

  .lab-wireframe .lab-intro {
    width: 100%;
    padding-inline: 18px;
  }

  .lab-wireframe .process-grid {
    width: 100%;
    padding-inline: 16px;
  }

  .lab-wireframe .process-card {
    width: 100%;
    padding: 28px 10px;
  }

  .lab-wireframe .process-card h3 {
    margin-left: 0;
  }

  .lab-visible-contact {
    min-height: 300px;
    padding-top: 26px;
  }

  .lab-visible-contact h2,
  .contact-modal .modal-panel h2 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .reference-contact-form {
    min-height: 220px;
    padding: 10px 12px 16px 76px;
  }

  .reference-contact-decoration,
  .lab-inline-decoration {
    left: -74px;
    width: 150px;
    height: 74%;
  }

  .reference-contact-row {
    gap: 6px;
  }

  .reference-contact-fields,
  .lab-inline-fields {
    gap: 6px;
  }

  .reference-contact-form input,
  .reference-contact-form textarea {
    height: 34px;
    min-height: 34px;
    padding-inline: 10px;
    font-size: 12px;
  }

  .contact-modal .modal-panel {
    width: 100%;
    min-height: 100vh;
    max-height: 100vh;
    margin: 0;
    padding-top: 64px;
  }

  .contact-modal .reference-contact-form {
    width: 100%;
  }

  .meet-wireframe {
    min-height: 620px;
    padding: 24px 0 28px;
  }

  .meet-wireframe-card {
    width: 100%;
    padding: 26px 18px 10px;
  }

  .meet-wireframe-card h1 {
    font-size: clamp(40px, 12vw, 50px);
  }

  .meet-wireframe .meet-pill,
  .meet-wireframe .meet-contact {
    width: min(100%, 480px);
    min-height: 58px;
    font-size: clamp(22px, 7vw, 28px);
  }

  .meet-wireframe .meet-copy {
    width: 100%;
    margin-top: 62px;
    padding-inline: 4px;
    font-size: 14px;
  }

  .legal-page {
    padding: 48px 18px 72px;
  }

  .legal-nav {
    position: static;
    inset: auto;
    min-height: 0;
    display: flex;
    padding: 0;
    flex-direction: row;
    gap: 14px;
    overflow-x: auto;
    background: transparent;
  }

  .legal-nav a {
    flex: 0 0 auto;
    padding: 10px 0;
    font-size: 11px;
  }

  .flownews-exact .masthead-topbar,
  .flownews-exact .masthead-hero,
  .flownews-exact .masthead-subtitle-band,
  .flownews-exact .masthead-topics {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .flownews-exact .cover,
  .flownews-exact .grid-2col,
  .flownews-exact .grid-3col,
  .flownews-exact .feature-wide-inner,
  .flownews-exact .nuku-header,
  .flownews-exact .nuku-phases {
    grid-template-columns: 1fr !important;
  }

  .flownews-exact .cover {
    margin-top: 0;
  }

  .flownews-exact .section-rule {
    padding-inline: 18px;
  }

  .flownews-exact .article-cell,
  .flownews-exact .feature-wide-text,
  .flownews-exact .feature-wide-art,
  .flownews-exact .nuku-inner {
    padding: 28px 20px;
  }
}

@media (max-width: 420px) {
  .footer-wireframe-grid {
    width: 100%;
    padding: 28px 18px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "logo"
      "social"
      "legal"
      "support"
      "newsletter";
    gap: 24px;
  }

  .footer-branding-wireframe,
  .footer-social,
  .footer-legal,
  .footer-support,
  .footer-newsletter {
    width: 100%;
  }

  .newsletter-form {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .page-almazea .hero-frame {
    min-height: 560px;
  }

  .page-almazea .hero h1 {
    bottom: 29%;
  }

  .page-almazea .hero-button {
    bottom: 6%;
  }

  .reference-contact-form {
    padding-left: 66px;
    padding-right: 8px;
  }

  .reference-contact-decoration,
  .lab-inline-decoration {
    left: -78px;
    width: 142px;
  }
}

/* Legal pages use the same accessible mobile menu as the main URLs. */
@media (max-width: 640px) {
  .legal-nav {
    position: fixed;
    inset: 82px 0 auto 0;
    min-height: calc(100vh - 82px);
    display: none;
    padding: 30px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    overflow-y: auto;
    background: var(--green-dark);
  }

  body.nav-open .legal-nav {
    display: flex;
  }

  .legal-nav a {
    width: 100%;
    padding: 16px 0;
    font-size: 18px;
  }
}

/* ===================== v14-footer.css ===================== */
/* V14 · Footer social/newsletter redesign based on the supplied reference */
.footer.footer-wireframe {
  --footer-accent: var(--pink-strong);
  --footer-muted-accent: var(--pink);
  position: relative;
}

.footer-wireframe-grid {
  min-height: 236px;
  padding-block: 42px 38px;
  grid-template-columns:
    108px
    minmax(132px, .72fr)
    minmax(105px, .58fr)
    12px
    minmax(248px, 1.18fr)
    12px
    minmax(310px, 1.45fr);
  gap: clamp(20px, 2.45vw, 42px);
}

.footer-separator {
  width: 10px;
  height: 148px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--footer-accent), var(--footer-muted-accent));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .12),
    0 8px 24px rgba(0, 0, 0, .08);
  transform: none;
}

.footer-social {
  min-height: 148px;
  align-self: center;
  align-content: center !important;
  justify-items: center;
  padding-inline: 8px;
}

.footer-wireframe .footer-social h2 {
  margin-bottom: 18px;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1;
  letter-spacing: .01em;
}

.footer-social-links {
  width: 100%;
  justify-content: space-evenly;
  gap: clamp(14px, 1.8vw, 26px);
  margin-top: 0;
}

.footer-social-links a {
  width: 36px;
  height: 36px;
  border-radius: 2px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
}

.footer-newsletter {
  min-height: 148px;
  align-self: center;
  align-content: center !important;
  justify-content: stretch;
  gap: 7px !important;
  padding-inline: 6px;
}

.newsletter-dots {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 16px;
  margin-bottom: 1px;
}

.newsletter-dots span {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 50%;
  background: var(--footer-accent);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
}

.footer-wireframe .footer-newsletter h2 {
  margin: 0 0 3px;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.05;
  font-weight: 400;
}

.newsletter-form {
  position: relative;
  display: block;
  width: 100%;
}

.newsletter-form label {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 22px;
  transform: translateY(-50%);
  color: #fff;
  font-size: clamp(14px, 1.15vw, 18px);
  line-height: 1;
  font-weight: 800;
  pointer-events: none;
}

.newsletter-form input {
  height: 58px;
  padding: 9px 20px 9px 91px;
  border-width: 4px;
  border-color: var(--footer-accent);
  background: rgba(255, 255, 255, .015);
  transition: background-color .2s ease, box-shadow .2s ease;
}

.newsletter-form input:hover {
  background: rgba(255, 255, 255, .035);
}

.newsletter-form input:focus {
  background: rgba(255, 255, 255, .045);
  box-shadow: 0 0 0 4px rgba(242, 197, 206, .2);
}

.newsletter-status {
  min-height: 13px;
  margin-top: 5px;
}

@media (max-width: 1100px) and (min-width: 981px) {
  .footer-wireframe-grid {
    width: min(100% - 34px, 1040px);
    grid-template-columns: 92px 124px 96px 8px minmax(210px, 1fr) 8px minmax(270px, 1.25fr);
    gap: 18px;
  }

  .footer-separator {
    width: 8px;
  }
}

@media (max-width: 980px) {
  .footer-wireframe-grid {
    min-height: 0;
    grid-template-columns: 104px minmax(0, 1fr) 10px minmax(290px, 1.15fr);
    grid-template-areas:
      "logo legal legal support"
      "sep-primary sep-primary sep-primary sep-primary"
      "social social sep-secondary newsletter";
    align-items: start;
    gap: 28px 30px;
  }

  .footer-branding-wireframe { grid-area: logo; }
  .footer-legal { grid-area: legal; }
  .footer-support { grid-area: support; }
  .footer-social { grid-area: social; }
  .footer-newsletter { grid-area: newsletter; }
  .footer-separator-primary { grid-area: sep-primary; }
  .footer-separator-secondary { grid-area: sep-secondary; }

  .footer-separator {
    display: block;
  }

  .footer-separator-primary {
    width: 100%;
    height: 8px;
    justify-self: stretch;
  }

  .footer-separator-secondary {
    width: 8px;
    height: 138px;
  }

  .footer-social,
  .footer-newsletter {
    min-height: 138px;
  }

  .footer-wireframe .footer-social h2 {
    width: 100%;
    text-align: center;
  }

  .footer-social-links {
    justify-content: center;
  }
}

@media (max-width: 700px) {
  .footer-wireframe-grid {
    width: min(100% - 30px, 560px);
    padding-block: 34px;
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas:
      "logo social"
      "legal support"
      "sep-primary sep-primary"
      "newsletter newsletter";
    gap: 28px 26px;
  }

  .footer-separator-primary {
    display: block;
    height: 8px;
  }

  .footer-separator-secondary {
    display: none;
  }

  .footer-social {
    min-height: 0;
    align-self: start;
    padding-inline: 0;
  }

  .footer-wireframe .footer-social h2 {
    margin-bottom: 14px;
    text-align: left;
  }

  .footer-social-links {
    justify-content: flex-start;
  }

  .footer-newsletter {
    min-height: 0;
    padding-inline: 0;
  }

  .newsletter-dots span {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
  }

  .newsletter-form input {
    height: 54px;
  }
}

@media (max-width: 420px) {
  .footer-wireframe-grid {
    width: 100%;
    padding: 30px 18px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "logo"
      "social"
      "legal"
      "support"
      "sep-primary"
      "newsletter";
    gap: 24px;
  }

  .footer-branding-wireframe img {
    width: 88px;
  }

  .footer-social-links {
    justify-content: flex-start;
    gap: 16px;
  }

  .footer-separator-primary {
    height: 7px;
  }

  .newsletter-dots {
    margin-bottom: 2px;
  }

  .newsletter-form label {
    left: 18px;
  }

  .newsletter-form input {
    padding-left: 82px;
  }
}

/* V18 · Transparent monochrome social icons */
.footer-social-links a {
  background: transparent;
  overflow: visible;
  border-radius: 50%;
  box-shadow: none;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
  box-shadow: none;
}

.footer-social-links img {
  width: 34px;
  height: 34px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 4px 9px rgba(0, 0, 0, .12));
}

@media (max-width: 420px) {
  .footer-social-links img {
    width: 29px;
    height: 29px;
  }
}

/* ===================== v15-adjustments.css ===================== */
/* V15 · Contact popup front component + MEET ZEA full-bleed side marks */

/* The popup action is intentionally visual only in this delivery. */
.contact-modal .contact-submit-front {
  justify-self: end;
  min-width: clamp(150px, 22vw, 220px);
  min-height: 46px;
  margin-top: 6px;
  padding: 10px 28px;
  border: 2px solid var(--green-dark);
  border-radius: 999px;
  background: var(--green-dark);
  color: var(--white);
  font-family: var(--font-sans);
  font-size: clamp(13px, 1.4vw, 17px);
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  box-shadow: none;
  cursor: default;
}

.contact-modal .contact-submit-front:hover,
.contact-modal .contact-submit-front:focus-visible {
  background: var(--green-dark);
  color: var(--white);
  transform: none;
  outline: 3px solid rgba(24, 84, 48, .16);
  outline-offset: 3px;
}

/* Remove the apparent white frame caused by transparent padding in the mark assets. */
.page-meetzea .meet-wireframe {
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
}

.page-meetzea .meet-wireframe .meet-mark.left {
  left: 0;
  right: auto;
  transform: translateX(-17.5%);
}

.page-meetzea .meet-wireframe .meet-mark.right {
  right: 0;
  left: auto;
  transform: translateX(17.5%);
}

@media (max-width: 640px) {
  .contact-modal .contact-submit-front {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }

  .page-meetzea .meet-wireframe .meet-mark.left {
    left: 0;
    transform: translateX(-17.5%);
  }

  .page-meetzea .meet-wireframe .meet-mark.right {
    right: 0;
    transform: translateX(17.5%);
  }
}

/* ============================================================
   V16 · NUKU marquees (values → right-to-left, gallery → left-to-right)
   Both tracks duplicate their content so the -50% translation loops
   seamlessly. Motion is disabled under prefers-reduced-motion.
   ============================================================ */

/* --- Principios NUKU · desplazamiento derecha → izquierda --- */
.nuku-values-marquee {
  min-height: 120px;
  padding: 32px 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #fff;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.nuku-values-track {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(46px, 6vw, 108px);
  padding-left: clamp(46px, 6vw, 108px);
  width: max-content;
  will-change: transform;
  animation: nukuValuesMarquee 30s linear infinite;
}

.nuku-values-track span {
  flex: 0 0 auto;
  color: #ba4024;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2.5vw, 42px);
  font-style: italic;
  white-space: nowrap;
}

@keyframes nukuValuesMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* --- Galería sensorial NUKU · desplazamiento izquierda → derecha --- */
.nuku-gallery-marquee {
  width: 100%;
  height: clamp(210px, 24vw, 360px);
  overflow: hidden;
  background: #1a1a1a;
}

.nuku-gallery-track {
  display: flex;
  flex-wrap: nowrap;
  height: 100%;
  width: max-content;
  will-change: transform;
  /* Starts at -50% and returns to 0, producing left → right motion. */
  animation: nukuGalleryMarquee 55s linear infinite;
}

.nuku-gallery-track img {
  flex: 0 0 auto;
  width: clamp(200px, 14.2857vw, 300px);
  height: 100%;
  object-fit: cover;
  border: 0;
  display: block;
}

@keyframes nukuGalleryMarquee {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

/* Pause on hover so users can inspect an image. */
.nuku-values-marquee:hover .nuku-values-track,
.nuku-gallery-marquee:hover .nuku-gallery-track {
  animation-play-state: paused;
}

@media (max-width: 900px) {
  .nuku-gallery-marquee { height: clamp(190px, 30vw, 260px); }
  .nuku-gallery-track img { width: clamp(170px, 34vw, 230px); }
  .nuku-values-track { animation-duration: 24s; }
  .nuku-gallery-track { animation-duration: 42s; }
}

@media (max-width: 640px) {
  .nuku-values-marquee { min-height: 92px; padding: 24px 0; }
  .nuku-values-track { gap: 42px; padding-left: 42px; }
  .nuku-values-track span { font-size: 27px; }
  .nuku-gallery-marquee { height: 210px; }
  .nuku-gallery-track img { width: 158px; }
  .nuku-values-track { animation-duration: 20s; }
  .nuku-gallery-track { animation-duration: 34s; }
}

@media (prefers-reduced-motion: reduce) {
  .nuku-values-track,
  .nuku-gallery-track {
    animation: none;
    transform: none;
  }
  .nuku-gallery-marquee,
  .nuku-values-marquee {
    overflow-x: auto;
  }
}

/* ============================================================
   V19 · Footer icons, ZEALAB arrows, and ARL/SEGUROS detail pages
   ============================================================ */

/* --- 1/2 · Footer social icons sit flush on the green, no plate/frame --- */
.footer-social-links a {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.footer-social-links img {
  /* The drop shadow read as an edge around the icons; remove it. */
  filter: none;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
  box-shadow: none;
  transform: translateY(-3px);
}

/* --- 3 · ZEALAB arrows 20% larger at every breakpoint --- */
.lab-title-stage .lab-arrow {
  width: clamp(126px, 14.4vw, 228px);
}

@media (max-width: 640px) {
  .lab-title-stage .lab-arrow {
    width: 132px;
  }
}

/* --- 4a · ZEALAB hub: SEGUROS / ARL selector now navigates --- */
.lab-tabs-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 6vw, 90px);
}

.lab-tabs-links a {
  position: relative;
  padding: 16px 10px;
  color: var(--white);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(25px, 3.4vw, 46px);
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, opacity .2s ease;
}

.lab-tabs-links a::after {
  content: "";
  position: absolute;
  inset: -6px -22px;
  border: 8px solid var(--pink-strong);
  border-radius: 50%;
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}

.lab-tabs-links a:hover,
.lab-tabs-links a:focus-visible {
  transform: translateY(-2px);
}

.lab-tabs-links a:hover::after,
.lab-tabs-links a:focus-visible::after {
  opacity: 1;
}

/* --- 4b · Hub choice cards --- */
.lab-choice-shell {
  width: min(100% - 40px, 1060px);
  margin-inline: auto;
  padding-block: clamp(34px, 5vw, 64px);
}

.lab-choice-intro {
  margin: 0 0 clamp(22px, 3vw, 38px);
  color: var(--green-dark);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(15px, 1.6vw, 19px);
  text-align: center;
}

.lab-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 34px);
}

.lab-choice-card {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: clamp(26px, 3.4vw, 44px);
  background: var(--white);
  border: 1px solid rgba(24, 84, 48, .10);
  box-shadow: 0 20px 60px rgba(24, 84, 48, .10);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.lab-choice-card:hover,
.lab-choice-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 28px 78px rgba(24, 84, 48, .16);
}

.lab-choice-name {
  color: var(--green-dark);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: .95;
}

.lab-choice-copy {
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.55;
}

.lab-choice-cta {
  margin-top: 6px;
  color: var(--green-dark);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 700;
}

@media (max-width: 700px) {
  .lab-choice-grid {
    grid-template-columns: 1fr;
  }
}

/* --- 4c · ARL / SEGUROS detail pages --- */
.lab-detail-section {
  padding-top: 0;
}

.lab-detail-panel {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.lab-detail-back {
  width: min(100%, 1060px);
  margin: clamp(16px, 2.4vw, 30px) auto clamp(40px, 6vw, 84px);
  padding-inline: clamp(20px, 4vw, 40px);
}

.lab-back-link {
  display: inline-block;
  color: var(--green-dark);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(14px, 1.5vw, 17px);
  font-weight: 700;
  text-decoration: none;
  padding: 10px 2px;
}

.lab-back-link:hover,
.lab-back-link:focus-visible {
  text-decoration: underline;
}


/* V20 · Navegación cruzada entre SEGUROS y ARL */
.lab-service-switch {
  display: flex;
  justify-content: flex-end;
  width: min(100%, 1060px);
  margin: clamp(-28px, -2.4vw, -16px) auto clamp(34px, 4vw, 52px);
  padding-inline: clamp(4px, 1vw, 12px);
}

.lab-service-switch-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 12px 24px;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(14px, 1.35vw, 17px);
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.switch-to-arl {
  background: var(--pink);
  color: var(--green-dark);
}

.switch-to-seguros {
  background: var(--green-dark);
  color: var(--white);
}

.lab-service-switch-link:hover,
.lab-service-switch-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(24, 84, 48, .16);
}

.lab-service-switch-link span {
  font-size: 1.25em;
  line-height: .8;
}

@media (max-width: 700px) {
  .lab-service-switch {
    justify-content: center;
    margin-top: -18px;
    margin-bottom: 30px;
    padding-inline: 0;
  }

  .lab-service-switch-link {
    width: min(100%, 280px);
  }
}

/* ============================================================
   V21 · Persistent contact access on every page
   ============================================================ */
.global-contact-cta {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 220;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 168px;
  min-height: 52px;
  padding: 12px 24px;
  border: 3px solid var(--pink-strong);
  border-radius: 999px;
  background: var(--green-dark);
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 14px 34px rgba(13, 53, 29, .28);
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.global-contact-cta:hover,
.global-contact-cta:focus-visible {
  transform: translateY(-3px);
  background: var(--pink-strong);
  color: var(--green-dark);
  box-shadow: 0 18px 42px rgba(13, 53, 29, .34);
  outline: 3px solid rgba(242, 197, 206, .32);
  outline-offset: 3px;
}

.modal-open .global-contact-cta {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 640px) {
  .global-contact-cta {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    min-width: 144px;
    min-height: 46px;
    padding: 10px 18px;
    border-width: 2px;
    font-size: 12px;
  }
}


/* ============================================================
   V22 · ZEALAB integrado en una sola URL
   ============================================================ */
.lab-integrated .lab-selector-band {
  position: relative;
  z-index: 2;
}

.lab-integrated .lab-tabs button {
  cursor: pointer;
}

.lab-integrated .lab-tabs button:focus-visible {
  outline: 3px solid var(--pink-strong);
  outline-offset: 8px;
}

.lab-integrated .lab-content-shell {
  scroll-margin-top: 92px;
}

.lab-integrated .lab-panel[hidden] {
  display: none !important;
}

.lab-integrated .lab-panel.is-active {
  animation: labIntegratedReveal .34s ease both;
}

@keyframes labIntegratedReveal {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .lab-integrated .lab-panel.is-active {
    animation: none;
  }
}


/* ============================================================
   V25 · Botones tradicionales de ZEALAB + FlowNews inferior sin marcos
   ============================================================ */
.lab-integrated .lab-selector-band .lab-tabs {
  width: min(760px, 100%);
  gap: clamp(20px, 5vw, 48px);
}

.lab-integrated .lab-selector-band .lab-tabs button {
  min-height: 76px;
  padding: 18px 28px;
  border: 2px solid rgba(255, 255, 255, .82);
  border-radius: 10px;
  background: #ffffff;
  color: var(--green-dark);
  font-family: var(--font-sans);
  font-size: clamp(20px, 2.2vw, 30px);
  font-style: normal;
  font-weight: 800;
  letter-spacing: .055em;
  box-shadow: 0 8px 20px rgba(4, 31, 17, .16);
  opacity: 1;
  transform: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.lab-integrated .lab-selector-band .lab-tabs button::before,
.lab-integrated .lab-selector-band .lab-tabs button::after {
  content: none !important;
  display: none !important;
}

.lab-integrated .lab-selector-band .lab-tabs button.is-active,
.lab-integrated .lab-selector-band .lab-tabs button[aria-selected="true"] {
  border-color: var(--pink-strong);
  background: var(--pink-strong);
  color: var(--green-dark);
  box-shadow: 0 10px 24px rgba(4, 31, 17, .22), inset 0 0 0 1px rgba(255, 255, 255, .28);
  transform: translateY(-2px);
}

.lab-integrated .lab-selector-band .lab-tabs button:not(.is-active):hover,
.lab-integrated .lab-selector-band .lab-tabs button:not(.is-active):focus-visible {
  border-color: var(--pink);
  background: #f8f5f1;
  color: var(--green-dark);
  box-shadow: 0 11px 26px rgba(4, 31, 17, .22);
  transform: translateY(-2px);
}

.lab-integrated .lab-selector-band .lab-tabs button:focus-visible {
  outline: 3px solid var(--pink-strong);
  outline-offset: 4px;
}

/* Desde "Diagnóstico Nacional" hacia abajo: sin bordes de recuadros. */
.flownews-exact .flownews-lower-borderless ~ .grid-section .grid-3col {
  gap: 24px;
  border: 0;
  background: transparent;
}

.flownews-exact .flownews-lower-borderless ~ .grid-section .article-cell,
.flownews-exact .flownews-lower-borderless ~ .nuku-section .nuku-inner {
  border: 0;
  box-shadow: none;
}

.flownews-exact .flownews-lower-borderless ~ .grid-section .art-byline,
.flownews-exact .flownews-lower-borderless ~ .nuku-section .nuku-header {
  border-top: 0;
  border-bottom: 0;
}

.flownews-exact .flownews-lower-borderless ~ .grid-section [style*="border-left"],
.flownews-exact .flownews-lower-borderless ~ .nuku-section .nuku-phase {
  border-left: 0 !important;
}

@media (max-width: 640px) {
  .lab-integrated .lab-selector-band .lab-tabs {
    grid-template-columns: 1fr;
    width: min(360px, 100%);
    gap: 14px;
  }

  .lab-integrated .lab-selector-band .lab-tabs button {
    min-height: 58px;
    padding: 14px 20px;
    font-size: 20px;
  }

  .flownews-exact .flownews-lower-borderless ~ .grid-section .grid-3col {
    gap: 16px;
  }
}

/* ============================================================
   V26 · Footer social assets and fully borderless FLOWNEWS
   ============================================================ */

/* New social artwork: balanced hit area, consistent optical size and spacing. */
.footer-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2vw, 28px);
}

.footer-social-links a {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.footer-social-links img {
  width: 38px;
  height: 38px;
  display: block;
  object-fit: contain;
  filter: none;
}

.footer-social-links a[aria-label="Spotify"] img {
  width: 40px;
  height: auto;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
  transform: translateY(-2px) scale(1.04);
  box-shadow: none;
}

/* FLOWNEWS: remove every colored frame, rule and border treatment. */
body[data-page="flownews"] .flownews-exact,
body[data-page="flownews"] .flownews-exact *,
body[data-page="flownews"] .flownews-exact *::before,
body[data-page="flownews"] .flownews-exact *::after {
  border-width: 0 !important;
  border-color: transparent !important;
}

body[data-page="flownews"] .flownews-exact .masthead-rule,
body[data-page="flownews"] .flownews-exact .section-rule hr {
  display: none;
}

body[data-page="flownews"] .flownews-exact .grid-2col,
body[data-page="flownews"] .flownews-exact .grid-3col {
  gap: clamp(18px, 2.2vw, 30px);
  background: transparent !important;
  border: 0 !important;
}

body[data-page="flownews"] .flownews-exact .cover,
body[data-page="flownews"] .flownews-exact .feature-wide-inner,
body[data-page="flownews"] .flownews-exact .nuku-inner,
body[data-page="flownews"] .flownews-exact .article-cell {
  border: 0 !important;
  box-shadow: none;
}

@media (max-width: 700px) {
  .footer-social-links {
    gap: 15px;
  }

  .footer-social-links a {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .footer-social-links img {
    width: 32px;
    height: 32px;
  }

  .footer-social-links a[aria-label="Spotify"] img {
    width: 34px;
  }

  body[data-page="flownews"] .flownews-exact .grid-2col,
  body[data-page="flownews"] .flownews-exact .grid-3col {
    gap: 16px;
  }
}


/* ============================================================
   V27 · ZEALAB cover typography, outward arrows and Seguros form
   ============================================================ */
.page-zealab .lab-title-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3.5vw, 54px);
  padding-inline: clamp(16px, 4vw, 64px);
}

.page-zealab .lab-title-stage h1 {
  flex: 0 1 auto;
  letter-spacing: .11em;
  text-indent: .11em;
  white-space: nowrap;
}

.page-zealab .lab-title-stage .lab-arrow {
  position: static;
  flex: 0 0 auto;
  width: clamp(72px, 9.5vw, 142px);
  height: auto;
  max-height: clamp(150px, 21vw, 270px);
  object-fit: contain;
  opacity: 1;
  transform: none;
  pointer-events: none;
}

.page-zealab .lab-title-stage .lab-arrow-left,
.page-zealab .lab-title-stage .lab-arrow-right {
  inset: auto;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  transform: none;
}

@media (max-width: 700px) {
  .page-zealab .lab-title-stage {
    gap: clamp(7px, 2.4vw, 14px);
    padding-inline: 8px;
  }

  .page-zealab .lab-title-stage h1 {
    font-size: clamp(42px, 14.5vw, 68px);
    letter-spacing: .095em;
    text-indent: .095em;
  }

  .page-zealab .lab-title-stage .lab-arrow {
    width: clamp(34px, 10.5vw, 56px);
    max-height: 118px;
  }
}

@media (max-width: 390px) {
  .page-zealab .lab-title-stage h1 {
    font-size: clamp(38px, 13.5vw, 52px);
    letter-spacing: .08em;
    text-indent: .08em;
  }

  .page-zealab .lab-title-stage .lab-arrow {
    width: 32px;
  }
}

/* ===================== v24-fixes.css ===================== */
/* =========================================================================
   V24 — Correcciones de UX/UI y técnicas
   Este archivo se carga DE ÚLTIMO para sobrescribir lo necesario.
   Cambios:
   1. Header fijo ya no invade los paneles de ZEALAB (scroll-margin-top).
   2. Fuentes de marca reemplazadas por web fonts reales (cargadas en <head>).
   3. Contraste AA en las tarjetas de SEGUROS.
   4. Botón flotante "Contáctanos" con zona segura (no tapa contenido).
   5. Ayuda visual en el estado inicial de ZEALAB.
   ========================================================================= */

/* --- 2. Sustitución de las familias de marca por web fonts reales ---------
   Marthin Slant / Roca Two Bold Italic / LEMON MILK son fuentes comerciales
   que no estaban cargadas (todo caía a Georgia/Arial). Se sustituyen por
   Playfair Display (display/script) y Epilogue (sans/UI), que sí se cargan
   desde Google Fonts en el <head> de cada página. Así el sitio se ve igual
   en cualquier equipo y queda tipográficamente consistente con FLOWNEWS. */
:root {
  --font-script: "Playfair Display", Georgia, serif;
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans: "Epilogue", "Helvetica Neue", Arial, sans-serif;
}

/* Reemplaza los usos hard-coded de Georgia por la display font de marca,
   para que los títulos italic usen Playfair de forma coherente. */
.lab-title-stage h1 {
  font-family: var(--font-display);
  letter-spacing: -.03em;
}
.lab-selector-band .lab-tabs button,
.lab-visible-contact h2 {
  font-family: var(--font-display);
}

/* --- 1. Header fijo ya no tapa los paneles al desplegar -------------------
   El JS hace scrollIntoView sobre el contenido; como el header es fixed,
   compensamos con scroll-margin-top igual a la altura del header + aire. */
[data-lab-content],
.lab-content-shell {
  scroll-margin-top: 120px;
}
@media (max-width: 980px) {
  [data-lab-content],
  .lab-content-shell {
    scroll-margin-top: 96px;
  }
}

/* --- 3. Contraste AA en tarjetas de SEGUROS -------------------------------
   Antes: rosa claro (#f2c5ce) sobre blanco = ilegible (~1.3:1).
   Ahora: verde profundo de marca sobre blanco (>7:1, cumple AA y AAA). */
.seguros-card span,
.seguros-card h3,
.lab-wireframe .seguros-card span,
.lab-wireframe .seguros-card h3 {
  color: var(--green-dark);
}

/* --- 4. Botón flotante "Contáctanos": zona segura -------------------------
   Antes tapaba el paso "LECTURA" del proceso en mobile.
   Le damos un fondo con leve sombra y, sobre todo, reservamos espacio al
   final de cada panel para que nunca solape el último contenido. */
.lab-wireframe .lab-panel {
  padding-bottom: 132px;
}
@media (max-width: 640px) {
  .lab-wireframe .lab-panel {
    padding-bottom: 116px;
  }
  /* En mobile el botón se centra abajo para no chocar con el texto lateral. */
  .global-contact-cta {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .global-contact-cta:hover,
  .global-contact-cta:focus-visible {
    transform: translateX(-50%) translateY(-3px);
  }
}

/* --- 5. Estado inicial de ZEALAB: afordancia y menos vacío ----------------
   Colapsado, la banda verde quedaba enorme y vacía sin decir qué hacer.
   Reducimos su altura y añadimos una pista visible sobre los botones. */
.lab-selector-band {
  min-height: clamp(200px, 22vw, 300px);
  padding: 40px 20px;
  position: relative;
}
.lab-selector-band::before {
  content: "Selecciona una línea de servicio";
  position: absolute;
  top: 22px;
  left: 0;
  right: 0;
  text-align: center;
  color: rgba(255, 255, 255, .72);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
@media (max-width: 640px) {
  .lab-selector-band::before {
    font-size: 11px;
    top: 16px;
  }
}

/* Cuando ya hay un panel activo, la pista deja de mostrarse. */
.lab-section.has-active-panel .lab-selector-band::before {
  content: none;
}

/* --- Menor: ocultar el icono de Spotify hasta tener URL real --------------
   Estaba como href="#" (enlace muerto). Se oculta para no ofrecer un canal
   que no lleva a ningún sitio. Para reactivarlo: poner la URL en el <a> y
   borrar esta regla. */
.footer-social-links a[href="#"] {
  display: none;
}

/* --- UX crítico: botón ENVIAR visible en los formularios inline de ZEALAB -
   Antes el único botón de envío era class="sr-only" (invisible): el usuario
   veía los campos pero no tenía forma clara de enviar. Ahora hay un botón
   real, estilizado igual que el del modal, alineado a la derecha del grid. */
.lab-inline-submit {
  justify-self: end;
  min-width: clamp(150px, 22vw, 200px);
  min-height: 44px;
  margin-top: 10px;
  padding: 11px 30px;
  border: 2px solid var(--green-dark);
  border-radius: 999px;
  background: var(--green-dark);
  color: var(--white);
  font-family: var(--font-sans);
  font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.lab-inline-submit:hover,
.lab-inline-submit:focus-visible {
  transform: translateY(-2px);
  background: var(--pink-strong);
  color: var(--green-dark);
  box-shadow: 0 12px 28px rgba(13, 53, 29, .22);
}
@media (max-width: 640px) {
  .lab-inline-submit {
    width: 100%;
    justify-self: stretch;
    min-width: 0;
  }
}

/* ===================== v25-brand.css ===================== */
/* ==========================================================================
   ZEA SEGURA — V25 · Sistema de marca unificado + UX premium + móvil
   --------------------------------------------------------------------------
   Se carga AL FINAL. Unifica toda la web con el sistema visual de FLOWNEWS
   (la página más pulida): fuentes Playfair Display + Epilogue y la paleta
   verde #1B5E37 / rosa #F9C8D0 / crema #F5F0E8. Además: pop-up de
   confirmación, botones de envío, refinamientos de UX y optimización móvil.
   ========================================================================== */

/* ---------- 1. TOKENS DE MARCA (fuente de verdad: FLOWNEWS) ------------- */
:root {
  /* Verdes */
  --green: #1B5E37;
  --green-dark: #1B5E37;
  --green-deep: #0F3B22;
  --green-soft: #1F6B3F;
  /* Rosas */
  --pink: #F9C8D0;
  --pink-strong: #F9C8D0;
  --pink-soft: #FBD9DF;
  /* Neutros / crema */
  --cream: #F5F0E8;
  --cream-2: #EDE8DE;
  --cream-warm: #F5F0E8;
  --paper: #FFFFFF;
  --ink: #111010;
  --mid: #5A5248;
  --line: rgba(27, 94, 55, .14);
  /* Estados */
  --ok: #1B5E37;
  --amber: #F59E0B;
  --danger: #EF4444;
  /* Tipografía de marca */
  --font-script: "Playfair Display", Georgia, serif;
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans: "Epilogue", "Helvetica Neue", Arial, sans-serif;
  /* Sombra premium */
  --shadow: 0 24px 70px rgba(15, 59, 34, .14);
  --shadow-sm: 0 10px 28px rgba(15, 59, 34, .10);
  --ease: cubic-bezier(.22, .61, .36, 1);
}

/* Suavizado de fuentes para acabado premium */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background: var(--cream);
}

/* Foco visible coherente y elegante en todo el sitio (accesibilidad) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--green-soft);
  outline-offset: 2px;
  border-radius: 6px;
}

/* ---------- 2. TIPOGRAFÍA COHERENTE ------------------------------------ */
/* Todos los títulos display en Playfair; toda la UI/cuerpo en Epilogue.
   Se sustituyen los "Georgia" hard-coded que habían quedado sueltos. */
.hero h1,
.lab-title-stage h1,
.lab-band,
.lab-intro,
.lab-visible-contact h2,
.meet-wireframe-card h1,
.meet-card h2,
.nuku-lead,
.values-track span,
.process-card h3,
.process-card span,
.legal-hero h1 {
  font-family: var(--font-display);
}
.main-nav a,
.button,
.nav-meet,
.footer h2,
.newsletter-form label,
.process-card p,
.lab-intro,
.reference-contact-form input,
.reference-contact-form textarea,
.lab-inline-fields input {
  font-family: var(--font-sans);
}
/* Los inputs de contacto usaban Georgia italic; pasan a Epilogue limpio. */
.reference-contact-form input,
.reference-contact-form textarea,
.lab-inline-fields input {
  font-style: normal !important;
  font-size: 15px;
  letter-spacing: .01em;
}

/* ---------- 3. HEADER / NAV -------------------------------------------- */
.site-header {
  background: var(--green-deep);
  backdrop-filter: saturate(120%);
}
.main-nav a {
  font-weight: 600;
  letter-spacing: .12em;
  position: relative;
}
/* Subrayado animado premium en el nav */
.main-nav a:not(.nav-meet)::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 6px;
  height: 2px;
  background: var(--pink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--ease);
}
.main-nav a:not(.nav-meet):hover::after,
.main-nav a:not(.nav-meet).is-active::after {
  transform: scaleX(1);
}
.main-nav a.nav-meet {
  border-color: var(--pink);
  transition: background .25s var(--ease), color .25s var(--ease);
}
.main-nav a.nav-meet:hover,
.main-nav a.nav-meet:focus-visible {
  background: var(--pink);
  color: var(--green-deep);
}

/* ---------- 4. BOTONES (sistema unificado) ----------------------------- */
.button,
.hero-button,
.contact-submit-front,
.lab-inline-submit,
.newsletter-submit,
.global-contact-cta,
.meet-contact {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: .06em;
  transition: transform .2s var(--ease), background-color .2s var(--ease),
              color .2s var(--ease), box-shadow .2s var(--ease);
  will-change: transform;
}
.button:hover,
.hero-button:hover,
.contact-submit-front:hover,
.lab-inline-submit:hover,
.newsletter-submit:hover,
.meet-contact:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.button:active,
.lab-inline-submit:active,
.newsletter-submit:active,
.contact-submit-front:active { transform: translateY(0); }

/* ---------- 5. NEWSLETTER: pila robusta (label · input · botón) -------- */
/* Reconstrucción limpia sobre el footer. Anulamos el label flotante absoluto
   heredado y apilamos etiqueta, campo y botón con áreas táctiles cómodas. */
.footer-newsletter .newsletter-form {
  position: static !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}
.footer-newsletter .newsletter-form label {
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  order: -1;                       /* la etiqueta siempre arriba */
  pointer-events: auto;
  color: var(--pink) !important;
  font-family: var(--font-sans);
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .16em;
}
.footer-newsletter .newsletter-form input {
  width: 100%;
  height: 50px !important;
  padding: 4px 20px !important;    /* sin el padding-left de 91px del diseño viejo */
  border: 2px solid var(--pink) !important;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06) !important;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 15px;
}
.footer-newsletter .newsletter-form input::placeholder { color: rgba(255,255,255,.5); }
.footer-newsletter .newsletter-form input:focus {
  border-color: #fff !important;
  background: rgba(255, 255, 255, .12) !important;
  box-shadow: 0 0 0 4px rgba(249, 200, 208, .22) !important;
}
.footer-wireframe .footer-newsletter .newsletter-submit,
.newsletter-submit {
  align-self: start;
  min-height: 46px;
  padding: 12px 32px !important;
  border: 2px solid var(--pink) !important;
  border-radius: 999px;
  background: var(--pink) !important;
  color: var(--green-deep) !important;
  font-family: var(--font-sans);
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  width: auto;
}
.footer-wireframe .footer-newsletter .newsletter-submit:hover,
.footer-wireframe .footer-newsletter .newsletter-submit:focus-visible,
.newsletter-submit:hover,
.newsletter-submit:focus-visible {
  background: transparent !important;
  color: var(--pink) !important;
}
.footer-newsletter .newsletter-status {
  position: static !important;
  color: var(--pink-soft);
  font-size: 12px;
}
@media (max-width: 420px) {
  .newsletter-submit { align-self: stretch; width: 100%; text-align: center; }
}

/* ---------- 6. FORMULARIOS DE CONTACTO: refinamiento ------------------- */
.reference-contact-form input,
.reference-contact-form textarea {
  height: 46px;
  border: 2px solid var(--green-dark);
  border-radius: 999px;
  background: #fff;
  color: var(--green-deep);
  text-align: left;              /* antes iban a la derecha: menos legible */
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.reference-contact-form input::placeholder,
.reference-contact-form textarea::placeholder {
  color: #9aa39d;
}
.reference-contact-form input:focus,
.reference-contact-form textarea:focus {
  border-color: var(--green-soft);
  box-shadow: 0 0 0 4px rgba(27, 94, 55, .12);
  outline: none;
}
.reference-contact-form .form-status,
.lab-visible-contact .form-status {
  text-align: left;
  font-size: 12px;
}
.form-status.error { color: var(--danger); font-weight: 600; }

/* Botón ENVIAR del modal y de los inline: acabado premium */
.contact-submit-front,
.lab-inline-submit {
  min-height: 48px;
  padding: 12px 34px;
  border: 2px solid var(--green-dark);
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}
.contact-submit-front:hover,
.lab-inline-submit:hover,
.contact-submit-front:focus-visible,
.lab-inline-submit:focus-visible {
  background: var(--pink);
  color: var(--green-deep);
  border-color: var(--pink);
}
.contact-submit-front:disabled,
.lab-inline-submit:disabled,
.newsletter-submit:disabled {
  opacity: .6;
  cursor: wait;
  transform: none;
}

/* ---------- 7. ZEALAB: pulido premium ---------------------------------- */
.lab-selector-band { background: var(--green-deep); }
.lab-selector-band .lab-tabs button {
  font-family: var(--font-display);
  transition: transform .2s var(--ease);
}
.lab-selector-band .lab-tabs button:hover { transform: translateY(-2px); }
.seguros-band { background: var(--green-deep); }
.arl-band { background: var(--pink); color: var(--green-deep); }
.process-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.process-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-sm);
}
.lab-visible-contact { background: var(--cream); }

/* ---------- 8. POP-UP DE CONFIRMACIÓN (toast modal) -------------------- */
.zea-toast {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  place-items: center;
  padding: 20px;
}
.zea-toast[hidden] { display: none; }
.zea-toast-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 59, 34, .55);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .2s var(--ease);
}
.zea-toast.is-visible .zea-toast-backdrop { opacity: 1; }
.zea-toast-card {
  position: relative;
  width: min(430px, 100%);
  background: #fff;
  border-radius: 24px;
  padding: 40px 32px 32px;
  text-align: center;
  box-shadow: var(--shadow);
  transform: translateY(14px) scale(.96);
  opacity: 0;
  transition: transform .28s var(--ease), opacity .28s var(--ease);
}
.zea-toast.is-visible .zea-toast-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.zea-toast-icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 18px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
}
.zea-toast-icon.is-ok { background: var(--green-dark); }
.zea-toast-icon.is-error { background: var(--danger); }
.zea-toast-card h3 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: clamp(24px, 4vw, 30px);
  color: var(--green-deep);
  line-height: 1.1;
}
.zea-toast-card p {
  margin: 0 0 26px;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--mid);
}
.zea-toast-card p a { color: var(--green-dark); font-weight: 700; text-decoration: underline; }
.zea-toast-ok {
  min-height: 48px;
  padding: 13px 40px;
  border: 0;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.zea-toast-ok:hover { background: var(--green-deep); transform: translateY(-2px); }
.zea-toast-x {
  position: absolute;
  top: 14px; right: 16px;
  width: 36px; height: 36px;
  border: 0;
  background: transparent;
  color: var(--mid);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  border-radius: 999px;
}
.zea-toast-x:hover { background: var(--cream-2); }

/* ---------- 9. MEET ZEA: título con contraste de marca ---------------- */
.meet-wireframe-card h1 {
  color: var(--green-deep);      /* antes gris #8f9496 (bajo contraste) */
  font-family: var(--font-display);
}
.meet-wireframe .meet-pill,
.meet-wireframe .meet-contact {
  transition: transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.meet-wireframe .meet-pill:hover,
.meet-wireframe .meet-contact:hover {
  transform: translateY(-2px);
  background: var(--green-dark);
  color: #fff;
}

/* ========================================================================
   10. OPTIMIZACIÓN MÓVIL (clase mundial)
   ======================================================================== */
@media (max-width: 640px) {
  /* Áreas táctiles cómodas en todo lo interactivo */
  .main-nav a,
  .button,
  .lab-tabs button,
  .contact-submit-front,
  .lab-inline-submit,
  .newsletter-submit,
  .meet-pill,
  .meet-contact,
  .footer-social-links a {
    min-height: 48px;
  }

  /* Newsletter a ancho completo y cómodo */
  .newsletter-submit { justify-self: stretch; width: 100%; text-align: center; }

  /* Formularios de contacto: campos y botón full-width, sin apretujar */
  .reference-contact-form {
    padding-left: 16px;
    padding-right: 16px;
  }
  .reference-contact-decoration { display: none; } /* la marca de agua estorba en móvil */
  .reference-contact-row { grid-template-columns: 1fr; } /* teléfono y NIT en dos filas */
  .lab-inline-submit,
  .contact-submit-front { width: 100%; justify-self: stretch; }

  /* Pop-up ocupa mejor la pantalla */
  .zea-toast-card { padding: 34px 22px 26px; border-radius: 20px; }

  /* Títulos grandes que no desborden */
  .hero h1 { font-size: clamp(26px, 8.5vw, 40px); }
  .lab-title-stage h1 { font-size: clamp(56px, 20vw, 96px); }
  .meet-wireframe-card h1 { font-size: clamp(38px, 11vw, 56px); }

  /* Marquesinas de valores un poco más contenidas */
  .values-track span { font-size: clamp(18px, 6vw, 26px); }
}

/* Pantallas muy pequeñas */
@media (max-width: 380px) {
  .header-inner { gap: 10px; }
  .zea-toast { padding: 12px; }
  .zea-toast-card { padding: 30px 18px 22px; }
}

/* Respeta usuarios que prefieren menos animación */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}

/* ===================== v26-elevate.css ===================== */
/* ==========================================================================
   ZEA SEGURA — V26 · Corrección de marca + elevación premium
   Manual: Verde #1B5E37 · Verde profundo #0F3B22 · Rosa #F9C8D0
           Crema #F5F0E8 · Tinta #111010 · Gris texto #5A5248
   ========================================================================== */

/* ===== 1. CORRECCIÓN DE COLOR (erradicar terracota #ba4024) ===== */
:root {
  --green: #1B5E37; --green-dark: #1B5E37; --green-deep: #0F3B22;
  --pink: #F9C8D0; --pink-strong: #F9C8D0; --cream: #F5F0E8;
  --ink: #111010; --mid: #5A5248;
}

/* Logo "nuku" (PNG terracota) → verde de marca vía filtro.
   Cubre el logo superior (.nuku-logo) y el de cierre (.nuku-closing-logo),
   ambos son <img> directos con esas clases. */
.nuku-logo, .nuku-logo-stage img, #nuku-title img, .nuku-closing-logo {
  filter: brightness(0) saturate(100%) invert(23%) sepia(38%)
          saturate(1123%) hue-rotate(93deg) brightness(94%) contrast(92%);
}

/* Principios NUKU (Calma/Equilibrio/Armonía/Esencia) — eran terracota */
.nuku-values-track span, .nuku-values-static span { color: var(--green-dark) !important; }

/* Manifiesto: acentos a verde de marca */
.nuku-manifest, .nuku-manifest p { color: var(--green-deep) !important; }
.nuku-manifest strong { color: var(--green-dark) !important; }

/* Línea bajo el logo → rosa de marca */
.nuku-logo-line { background: var(--pink) !important; }

/* Píldora de cierre con borde terracota + fondo crema desviado */
.nuku-contact, .nuku-closing-panel .nuku-contact {
  border-color: var(--green-dark) !important;
  background: var(--cream) !important;
  color: var(--green-dark) !important;
}

/* ===== 2. TIPOGRAFÍA ===== */
/* HERO: titular en display, no sans genérica */
.hero-copy h1, .hero h1 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 700 !important; font-style: normal;
  letter-spacing: -0.02em; line-height: 1.05;
  text-transform: none !important; color: #fff;
  text-shadow: 0 2px 26px rgba(15, 59, 34, .42);
}

/* ALMAZEA: lead en Playfair, mayor */
.nuku-feature-copy .nuku-lead {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(21px, 2.5vw, 31px) !important;
  font-weight: 500 !important; font-style: normal !important;
  line-height: 1.32 !important; letter-spacing: -0.01em;
  color: var(--green-deep) !important; text-transform: none !important;
}
.nuku-feature-copy .nuku-lead strong { font-weight: 700 !important; color: var(--green-dark) !important; }

/* ALMAZEA: cuerpo en Epilogue, sentence case, SIN mayúsculas sostenidas */
.nuku-feature-copy p:not(.nuku-lead) {
  font-family: "Epilogue", Arial, sans-serif !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  font-weight: 400 !important; line-height: 1.72 !important;
  letter-spacing: 0 !important; color: var(--mid) !important;
  text-transform: none !important;
}
.nuku-feature-copy p em { font-style: italic; font-weight: 500; color: var(--green-dark); }

/* Manifiesto centrado: Playfair equilibrado */
.nuku-manifest p {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(19px, 2vw, 27px) !important;
  font-weight: 400 !important; line-height: 1.4 !important;
  text-transform: none !important;
}
.nuku-manifest strong { font-weight: 700 !important; }

/* Marquesinas: Playfair italic + desvanecimiento en bordes */
.nuku-values-track span, .values-track span {
  font-family: "Playfair Display", Georgia, serif !important;
  font-style: italic; font-weight: 600; letter-spacing: -0.01em;
}
.nuku-values-marquee, .nuku-gallery-marquee, .values-marquee, .insurer-marquee {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
}

/* ===== 3. HERO — proporción premium ===== */
.hero { position: relative; }
.hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(102deg, rgba(15,59,34,.60) 0%, rgba(15,59,34,.32) 44%, rgba(15,59,34,.05) 74%);
  pointer-events: none; z-index: 1;
}
.hero-copy, .hero-inner, .hero > .container { position: relative; z-index: 2; }

/* ===== 4. GALERÍA / CARRUSEL ===== */
.nuku-gallery-marquee { padding: 10px 0; }
.nuku-gallery-track img { border-radius: 12px; margin: 0 8px; }
.insurer-track img, .insurer-set img { filter: grayscale(1) opacity(.72); transition: filter .3s ease; }
.insurer-track img:hover { filter: grayscale(0) opacity(1); }

/* ===== 5. RITMO VERTICAL ===== */
.nuku-section, .nuku-wireframe { padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(48px, 7vw, 96px); }

/* ===== 6. CIERRE DE COLOR ===== */
.site-header, .footer, .footer-wireframe { background: var(--green-deep) !important; }

/* ===== 7. ZEALAB — banda de marcas permanente + propuesta de valor ===== */
.lab-brands-band {
  background: var(--cream);
  padding: clamp(40px, 6vw, 72px) 20px clamp(32px, 5vw, 56px);
  text-align: center;
}
.lab-brands-lead {
  max-width: 820px;
  margin: 0 auto 22px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 500;
  font-style: normal;
  line-height: 1.34;
  letter-spacing: -0.01em;
  color: var(--green-deep);
}
.lab-brands-lead strong { font-weight: 700; color: var(--green-dark); }
.lab-brands-kicker {
  margin: 0 0 28px;
  font-family: "Epilogue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mid);
}
.lab-brands-marquee { margin: 0 auto; max-width: 1200px; }
.lab-brands-marquee .insurer-track img,
.lab-brands-marquee .insurer-set img {
  height: clamp(30px, 3.4vw, 46px);
  width: auto;
  margin: 0 clamp(24px, 3vw, 48px);
  filter: grayscale(1) opacity(.7);
  transition: filter .3s ease;
}
.lab-brands-marquee .insurer-track img:hover { filter: grayscale(0) opacity(1); }
