@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/Inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/Inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/Inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/Inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/Inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/Inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  color-scheme: light;
  --paper: #fcfcf8;
  --paper-88: rgba(252, 252, 248, 0.88);
  --white: #ffffff;
  --card-surface: #f1f0e9;
  --chip-bg: #E0F2FE;
  --chip-ink: #0284C7;
  --pill-plain-hover: #f9f7f0;
  --petrol: #145a7a;
  --petrol-deep: #0f4560;
  --petrol-deeper: #0a3547;
  --ink: #101a33;
  --body-2: #4b5563;
  --micro: #656b78;
  --wash-ink: 20 90 122;    
  --wash-hi-a: 0.279;       
  --wash-lo-a: 0.207;       
  --paper-0: rgba(252, 252, 248, 0);
  --wash-reach: 450px;           
  --wash-fade-h: 60px;      
  --wash-lo-h: 660px;       
  --wash-lo-x: -2%;         
  --wash-lo-rise: 84px;     
  --wash-lo-rx: 45%;   
  --wash-lo-ry: 433px;        
  --fog-hi-1: 0.88;   
  --fog-hi-2: 0.3;    
  --fog-hi-3: 0.32;   
  --fog-lo-1: 1;      
  --fog-lo-2: 0.28;
  --fog-lo-3: 0.22;
  --ease-wash: cubic-bezier(0.42, 0, 0.58, 1);
  --hairline: rgba(16, 26, 51, 0.08);
  --hairline-strong: rgba(16, 26, 51, 0.12);
  --ink-wash: rgba(16, 26, 51, 0.06);
  --ink-wash-hover: rgba(16, 26, 51, 0.1);
  --on-petrol-soft: rgba(255, 255, 255, 0.72);
  --on-petrol-fill: rgba(255, 255, 255, 0.16);
  --on-petrol-fill-hover: rgba(255, 255, 255, 0.22);
  --shadow-card: 0 18px 46px -18px rgba(15, 23, 42, 0.1);
  --shadow-header: 0 10px 30px -20px rgba(15, 23, 42, 0.35);
  --s-1: 8px;
  --s-2: 16px;
  --s-3: 24px;
  --s-4: 40px;
  --s-5: 60px;
  --s-6: clamp(56px, 6vw, 84px);
  --section: clamp(72px, 7vw, 108px);
  --gutter: clamp(20px, 3.4vw, 40px);
  --shell: 1176px;
  --label-col: clamp(80px, 8.5vw, 108px);
  --label-gap: clamp(18px, 2.6vw, 40px);
  --pull-pad: 20px;
  --measure: 34rem;
  --measure-wide: 44rem;
  --nav-gap: clamp(22px, 2.2vw, 38px);
  --t-micro: 0.6875rem;
  --t-0: 0.8125rem;
  --t-1: 0.875rem;
  --t-2: 0.9375rem;
  --t-3: clamp(1rem, 0.95rem + 0.2vw, 1.0625rem);
  --t-4: clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  --t-news: clamp(1.5rem, 1.2rem + 1.3vw, 2rem);
  --t-6: clamp(1.6rem, 1.25rem + 1.5vw, 2.125rem);
  --t-7: clamp(2.5rem, 1.6rem + 3.9vw, 3.75rem);
  --t-7-sm: clamp(1.4rem, 7vw, 2.6rem);
  --t-brand: clamp(1.35rem, 1.15rem + 0.6vw, 1.5rem);
  --w-regular: 400;
  --w-medium: 500;
  --w-semibold: 600;
  --r-card: 16px;
  --r-action: 12px;
  --r-pill: 9999px;
  --mark: clamp(21px, 1.8vw, 25px);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 200ms;
  --dur-tonal: 180ms;
  --sans: Inter, "Segoe UI", Aptos, system-ui, sans-serif;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  background: var(--paper);
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: var(--w-regular);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
::selection {
  background: var(--petrol);
  color: var(--white);
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { display: block; }
figure { margin: 0; }
h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
:focus-visible {
  outline: 2px solid var(--petrol);
  outline-offset: 3px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 12px 20px;
  border-radius: var(--r-pill);
  background: var(--petrol);
  color: var(--white);
  font-size: var(--t-1);
  font-weight: var(--w-medium);
  transform: translateY(-180%);
  transition: transform 180ms ease;
}
.skip-link:focus { transform: translateY(0); }
.shell {
  width: min(100%, var(--shell));
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.section { padding-block: var(--section); }
.section--ruled { position: relative; }
.section--ruled::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(100% - var(--gutter) * 2, var(--shell) - var(--gutter) * 2);
  height: 1px;
  translate: -50% 0;
  background: var(--hairline);
}
.section__grid {
  display: grid;
  grid-template-columns: var(--label-col) minmax(0, 1fr) minmax(0, 0.67fr);
  column-gap: var(--label-gap);
  row-gap: var(--s-4);
  align-items: start;
}
.section__grid > .kicker { grid-column: 1; grid-row: 1; padding-top: 0.5rem; }
.section__grid > h2 { grid-column: 2 / -1; grid-row: 1; }
.section__grid > .prose { grid-column: 2; grid-row: 2; }
.section__grid > .prose--wide { grid-column: 2 / -1; }
.section__grid > .pull { grid-column: 3; grid-row: 2; }
.section__grid > .escaparate {
  grid-column: 1 / -1;
  grid-row: auto;
  margin-top: calc(var(--s-6) - var(--s-4));
}
.section__grid > .lab-anexo {
  grid-column: 2 / -1;
  grid-row: auto;
  margin-top: 0;
}
.kicker,
.phase,
.newsletter__micro {
  font-size: var(--t-micro);
  font-weight: var(--w-medium);
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}
.kicker { color: var(--micro); }
h2 {
  max-width: 15em;
  color: var(--ink);
  font-size: var(--t-6);
  font-weight: var(--w-medium);
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-wrap: balance;
}
@media (min-width: 821px) {
  #propuesta-title { max-width: 18em; }
}
.ink-underline {
  position: relative;
  color: var(--petrol);
  white-space: nowrap;
}
.ink-underline__stroke {
  position: absolute;
  left: -0.06em;
  bottom: -0.11em;
  width: calc(100% + 0.12em);
  height: 0.34em;
  fill: var(--petrol);
  pointer-events: none;
}
@media (forced-colors: active) {
  .ink-underline {
    color: CanvasText;
  }
  .ink-underline__stroke {
    fill: currentColor;
  }
}
@media print {
  .js #vision-title,
  .js #propuesta-title,
  .js #kairos-title {
    opacity: 1;
    translate: none;
    transition: none;
  }
}
.prose {
  display: grid;
  gap: var(--s-3);
  max-width: var(--measure);
}
.prose--wide { max-width: var(--measure-wide); }
.prose p {
  color: var(--body-2);
  font-size: var(--t-3);
  line-height: 1.65;
}
.pull {
  padding-left: var(--pull-pad);
  border-left: 2px solid var(--petrol);
  color: var(--petrol);
  font-size: var(--t-4);
  font-weight: var(--w-medium);
  letter-spacing: -0.015em;
  line-height: 1.35;
  text-wrap: pretty;
}
.pull__half {
  white-space: nowrap;
}
@media (max-width: 340px) {
  .pull__half {
    white-space: normal;
  }
}
.pull__char {
  position: relative; 
  opacity: 0;
}
.pull__char.is-shown {
  opacity: 1;
}
.pull.is-typing .pull__char.is-caret::after {
  content: "";
  position: absolute;
  top: 0.16em;
  left: 100%;
  width: 1.5px;
  height: 0.92em;
  margin-left: 0.06em;
  background: var(--petrol);
  animation: caret-blink 1.12s steps(2, jump-none) infinite;
}
@keyframes caret-blink {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.pull__alt {
  -webkit-user-select: none;
  user-select: none;
}
.tm {
  font-size: 1em;
  vertical-align: baseline;
  letter-spacing: 0;
  line-height: 0;
}
.pill {
  display: inline-flex;
  align-items: center;
  position: relative;
  justify-content: center;
  gap: 0.6em;
  min-height: 36px;
  padding-inline: 22px;
  border-radius: var(--r-pill);
  font-family: "Segoe UI", var(--sans);
  font-size: 0.9375rem;
  font-weight: var(--w-medium);
  letter-spacing: -0.005em;
  transition: background var(--dur-tonal) ease, box-shadow var(--dur-tonal) ease,
    transform var(--dur) ease;
}
.pill--sm { min-height: 36px; padding-inline: 18px; }
.pill::after {
  content: "";
  position: absolute;
  inset: -4px 0;
  border-radius: inherit;
}
.pill--petrol { background: var(--petrol-deep); color: var(--white); }
.pill--petrol:hover { background: var(--petrol-deeper); }
.pill--petrol:active { background: var(--petrol-deeper); transform: translateY(1px); }
.pill--petrol:focus-visible { outline-color: var(--petrol); box-shadow: 0 0 0 3px var(--paper); }
.pill--plain {
  background: var(--white);
  box-shadow: inset 0 0 0 1px var(--hairline-strong);
  color: var(--ink);
}
.pill--plain:hover { background: var(--pill-plain-hover); }
.pill--plain:active { background: var(--pill-plain-hover); transform: translateY(1px); }
.pill__chevron {
  display: inline-block;
  font-weight: var(--w-regular);
  opacity: 0.75;
  transition: translate var(--dur-tonal) var(--ease);
}
@media (hover: hover) and (pointer: fine) {
  .pill:hover .pill__chevron { translate: 4px 0; }
}
.phase {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--micro);
}
.phase__rule {
  flex: 1 1 auto;
  height: 1px;
  background: var(--hairline);
}
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid transparent;
  background: transparent;
  transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}
.site-header__inner {
  display: grid;
  grid-template-areas: "brand nav cta";
  grid-template-columns: 1fr auto auto;
  column-gap: clamp(24px, 3vw, 44px);
  align-items: center;
  min-height: 80px;
}
.site-header.is-scrolled {
  border-bottom-color: var(--hairline);
  background: var(--paper-88);
  box-shadow: var(--shadow-header);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.brand {
  display: inline-flex;
  grid-area: brand;
  width: max-content;
  min-height: 44px;
  align-items: center;
  gap: 0.45em;
  font-size: var(--t-brand);
}
.brand__mark {
  height: var(--mark);
  width: auto;
  aspect-ratio: 1329 / 1415;
}
.brand__word {
  color: var(--ink);
  font-weight: var(--w-semibold);
  letter-spacing: -0.05em;
  line-height: 1;
}
.site-nav {
  display: flex;
  grid-area: nav;
  align-items: center;
  gap: var(--nav-gap);
}
.site-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--body-2);
  font-size: var(--t-1);
  font-weight: var(--w-medium);
  transition: color 180ms ease;
}
.site-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 12px;
  left: 0;
  height: 1.5px;
  border-radius: 2px;
  background: var(--petrol);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms var(--ease);
}
.site-nav a:hover,
.site-nav a:active { color: var(--petrol); }
.site-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.site-header__cta { grid-area: cta; }
.site-header__collapse { display: contents; }
.nav-toggle {
  display: none;
  grid-area: toggle;
  justify-self: end;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: none;
  color: var(--ink);
  cursor: pointer;
}
.hero {
  position: relative; 
}
.hero-wash {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: calc(var(--wash-reach) * -1);
  left: 0;
  overflow: hidden;     
  pointer-events: none;
}
.hero-wash::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--wash-fade-h);
  background: linear-gradient(to bottom, var(--paper-0), var(--paper));
}
.hero-wash__layer {
  position: absolute;
  right: 0;
  left: 0;
}
.hero-wash__layer--hi {
  top: 0;
  bottom: var(--wash-reach);
}
.hero-wash__layer--lo {
  bottom: 0;
  height: calc(var(--wash-lo-h) + var(--wash-reach));
}
.hero-wash__veil {
  position: absolute;
  inset: 0;
  opacity: 1;              
  will-change: transform, opacity;
  animation-duration: var(--fog-path), var(--fog-breath);
  animation-timing-function: linear, var(--ease-wash);
  animation-delay: var(--fog-lag-path), var(--fog-lag-breath);
  animation-iteration-count: infinite;
  animation-direction: normal, alternate;
  animation-fill-mode: none;
}
.hero-wash__veil--hi-1 {
  --fog-path: 3.3s;
  --fog-breath: 4.6s;
  --fog-lag-path: -6s;
  --fog-lag-breath: -3s;
  --fog-floor: 0.92;
  background-image:
    radial-gradient(45% 62% at 92% 3%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-1))) 0%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-1) * 0.55)) 26%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-1) * 0.29)) 48%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-1) * 0.2)) 68%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-1) * 0.06)) 85%,
      rgb(var(--wash-ink) / 0) 100%);
  animation-name: fog-path-1, fog-breath;
}
.hero-wash__veil--hi-2 {
  --fog-path: 12.7s;
  --fog-breath: 3.4s;
  --fog-lag-path: -13s;
  --fog-lag-breath: -7s;
  --fog-floor: 0.7;
  background-image:
    radial-gradient(51% 31% at 71% 4%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-2))) 0%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-2) * 0.62)) 24%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-2) * 0.34)) 46%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-2) * 0.2)) 68%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-2) * 0.055)) 85%,
      rgb(var(--wash-ink) / 0) 100%);
  animation-name: fog-path-2, fog-breath;
}
.hero-wash__veil--hi-3 {
  --fog-path: 10.7s;
  --fog-breath: 4s;
  --fog-lag-path: -19s;
  --fog-lag-breath: -5s;
  --fog-floor: 0.7;
  background-image:
    radial-gradient(39% 52% at 97% 27%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-3))) 0%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-3) * 0.62)) 25%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-3) * 0.34)) 47%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-3) * 0.19)) 69%,
      rgb(var(--wash-ink) / calc(var(--wash-hi-a) * var(--fog-hi-3) * 0.05)) 86%,
      rgb(var(--wash-ink) / 0) 100%);
  animation-name: fog-path-3, fog-breath;
}
.hero-wash__veil--lo-1 {
  --fog-path: 2.8s;
  --fog-breath: 5.2s;
  --fog-lag-path: -9s;
  --fog-lag-breath: -11s;
  --fog-floor: 0.92;
  background-image:
    radial-gradient(var(--wash-lo-rx) var(--wash-lo-ry)
      at var(--wash-lo-x) calc(100% - var(--wash-reach) - var(--wash-lo-rise)),
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1))) 0%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.78)) 10%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.485)) 20%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.35)) 30%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.2)) 40%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.165)) 50%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.115)) 62%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.085)) 78%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-1) * 0.032)) 90%,
      rgb(var(--wash-ink) / 0) 100%);
  animation-name: fog-path-4, fog-breath;
}
.hero-wash__veil--lo-2 {
  --fog-path: 14.7s;
  --fog-breath: 3.7s;
  --fog-lag-path: -4s;
  --fog-lag-breath: -14s;
  --fog-floor: 0.7;
  background-image:
    radial-gradient(24% 198px
      at 17% calc(100% - var(--wash-reach) - var(--wash-lo-rise) - 20px),
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-2))) 0%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-2) * 0.75)) 25%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-2) * 0.45)) 47%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-2) * 0.19)) 69%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-2) * 0.05)) 86%,
      rgb(var(--wash-ink) / 0) 100%);
  animation-name: fog-path-5, fog-breath;
}
.hero-wash__veil--lo-3 {
  --fog-path: 11.6s;
  --fog-breath: 4.3s;
  --fog-lag-path: -16s;
  --fog-lag-breath: -2s;
  --fog-floor: 0.7;
  background-image:
    radial-gradient(19% 160px
      at 27% calc(100% - var(--wash-reach) - var(--wash-lo-rise) - 70px),
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-3))) 0%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-3) * 0.75)) 25%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-3) * 0.45)) 47%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-3) * 0.19)) 69%,
      rgb(var(--wash-ink) / calc(var(--wash-lo-a) * var(--fog-lo-3) * 0.05)) 86%,
      rgb(var(--wash-ink) / 0) 100%);
  animation-name: fog-path-6, fog-breath;
}
.niebla {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(120% 120% at 50% 45%, #000 62%, transparent 100%);
  mask-image: radial-gradient(120% 120% at 50% 45%, #000 62%, transparent 100%);
}
@keyframes fog-breath {
  from {
    opacity: var(--fog-floor);
  }
  to {
    opacity: 1;
  }
}
@keyframes fog-path-1 {   
  0%   { transform: translate3d(6%, -3.96%, 0) scale(1.012); }
  12.5%{ transform: translate3d(5.12%, -6.76%, 0) scale(1.022); }
  25%  { transform: translate3d(3%, -7.92%, 0) scale(1.03); }
  37.5%{ transform: translate3d(0.88%, -6.76%, 0) scale(1.022); }
  50%  { transform: translate3d(0, -3.96%, 0) scale(1.012); }
  62.5%{ transform: translate3d(0.88%, -1.16%, 0) scale(1.004); }
  75%  { transform: translate3d(3%, 0, 0) scale(1); }
  87.5%{ transform: translate3d(5.12%, -1.16%, 0) scale(1.004); }
  100% { transform: translate3d(6%, -3.96%, 0) scale(1.012); }
}
@keyframes fog-path-2 {   
  0%   { transform: translate3d(22.68%, -10.12%, 0) scale(1.028); }
  12.5%{ transform: translate3d(6.64%, -8.64%, 0) scale(1.02); }
  25%  { transform: translate3d(0, -5.06%, 0) scale(1.012); }
  37.5%{ transform: translate3d(6.64%, -1.48%, 0) scale(1.004); }
  50%  { transform: translate3d(22.68%, 0, 0) scale(1); }
  62.5%{ transform: translate3d(38.72%, -1.48%, 0) scale(1.004); }
  75%  { transform: translate3d(45.36%, -5.06%, 0) scale(1.012); }
  87.5%{ transform: translate3d(38.72%, -8.64%, 0) scale(1.02); }
  100% { transform: translate3d(22.68%, -10.12%, 0) scale(1.028); }
}
@keyframes fog-path-3 {   
  0%   { transform: translate3d(0, -4.84%, 0) scale(1.015); }
  12.5%{ transform: translate3d(4.27%, -1.42%, 0) scale(1.005); }
  25%  { transform: translate3d(14.58%, 0, 0) scale(1); }
  37.5%{ transform: translate3d(24.89%, -1.42%, 0) scale(1.005); }
  50%  { transform: translate3d(29.16%, -4.84%, 0) scale(1.015); }
  62.5%{ transform: translate3d(24.89%, -8.26%, 0) scale(1.025); }
  75%  { transform: translate3d(14.58%, -9.68%, 0) scale(1.03); }
  87.5%{ transform: translate3d(4.27%, -8.26%, 0) scale(1.025); }
  100% { transform: translate3d(0, -4.84%, 0) scale(1.015); }
}
@keyframes fog-path-4 {   
  0%   { transform: translate3d(-5.2%, -1.65%, 0); }
  12.5%{ transform: translate3d(-4.44%, -2.82%, 0); }
  25%  { transform: translate3d(-2.6%, -3.3%, 0); }
  37.5%{ transform: translate3d(-0.76%, -2.82%, 0); }
  50%  { transform: translate3d(0, -1.65%, 0); }
  62.5%{ transform: translate3d(-0.76%, -0.48%, 0); }
  75%  { transform: translate3d(-2.6%, 0, 0); }
  87.5%{ transform: translate3d(-4.44%, -0.48%, 0); }
  100% { transform: translate3d(-5.2%, -1.65%, 0); }
}
@keyframes fog-path-5 {   
  0%   { transform: translate3d(-24.3%, -4.4%, 0) scale(1.018); }
  12.5%{ transform: translate3d(-7.12%, -3.76%, 0) scale(1.013); }
  25%  { transform: translate3d(0, -2.2%, 0) scale(1.007); }
  37.5%{ transform: translate3d(-7.12%, -0.64%, 0) scale(1.002); }
  50%  { transform: translate3d(-24.3%, 0, 0) scale(1); }
  62.5%{ transform: translate3d(-41.48%, -0.64%, 0) scale(1.002); }
  75%  { transform: translate3d(-48.6%, -2.2%, 0) scale(1.007); }
  87.5%{ transform: translate3d(-41.48%, -3.76%, 0) scale(1.013); }
  100% { transform: translate3d(-24.3%, -4.4%, 0) scale(1.018); }
}
@keyframes fog-path-6 {   
  0%   { transform: translate3d(-38.88%, -2.42%, 0) scale(1.01); }
  12.5%{ transform: translate3d(-33.19%, -4.13%, 0) scale(1.017); }
  25%  { transform: translate3d(-19.44%, -4.84%, 0) scale(1.02); }
  37.5%{ transform: translate3d(-5.69%, -4.13%, 0) scale(1.017); }
  50%  { transform: translate3d(0, -2.42%, 0) scale(1.01); }
  62.5%{ transform: translate3d(-5.69%, -0.71%, 0) scale(1.003); }
  75%  { transform: translate3d(-19.44%, 0, 0) scale(1); }
  87.5%{ transform: translate3d(-33.19%, -0.71%, 0) scale(1.003); }
  100% { transform: translate3d(-38.88%, -2.42%, 0) scale(1.01); }
}
@keyframes fog-path-4-movil {   
  0%   { transform: translate3d(29.16%, -1.65%, 0); }
  12.5%{ transform: translate3d(24.89%, -2.82%, 0); }
  25%  { transform: translate3d(14.58%, -3.3%, 0); }
  37.5%{ transform: translate3d(4.27%, -2.82%, 0); }
  50%  { transform: translate3d(0, -1.65%, 0); }
  62.5%{ transform: translate3d(4.27%, -0.48%, 0); }
  75%  { transform: translate3d(14.58%, 0, 0); }
  87.5%{ transform: translate3d(24.89%, -0.48%, 0); }
  100% { transform: translate3d(29.16%, -1.65%, 0); }
}
@keyframes fog-path-5-movil {   
  0%   { transform: translate3d(24.3%, -4.4%, 0) scale(1.018); }
  12.5%{ transform: translate3d(7.12%, -3.76%, 0) scale(1.013); }
  25%  { transform: translate3d(0, -2.2%, 0) scale(1.007); }
  37.5%{ transform: translate3d(7.12%, -0.64%, 0) scale(1.002); }
  50%  { transform: translate3d(24.3%, 0, 0) scale(1); }
  62.5%{ transform: translate3d(41.48%, -0.64%, 0) scale(1.002); }
  75%  { transform: translate3d(48.6%, -2.2%, 0) scale(1.007); }
  87.5%{ transform: translate3d(41.48%, -3.76%, 0) scale(1.013); }
  100% { transform: translate3d(24.3%, -4.4%, 0) scale(1.018); }
}
@media (max-width: 820px) {
  :root {
    --wash-lo-h: 460px;
    --wash-lo-rx: 71%;   
    --wash-lo-ry: 312px;    
    --fog-hi-1: 0.92;
    --fog-hi-2: 0.34;
    --fog-lo-1: 1;
    --fog-lo-2: 0.3;
  }
  .hero-wash__veil--hi-3,
  .hero-wash__veil--lo-3 {
    display: none;
  }
  .hero-wash {
    top: calc(-1 * var(--header-h, 81px));
  }
}
.hero__inner {
  padding-top: clamp(130px, 12.7vw, 190px);
  padding-bottom: clamp(84px, 9.5vw, 132px);
}
h1 {
  max-width: 17em;
  color: var(--ink);
  font-size: var(--t-7);
  font-weight: var(--w-medium);
  letter-spacing: -0.03em;
  line-height: 1.04;
}
.hero-kicker { margin-bottom: 18px; }
.hero__lead {
  max-width: 39em;
  text-wrap: balance;
  margin-top: clamp(14px, 1.68vw, 21px);
  color: var(--body-2);
  font-family: "Segoe UI", var(--sans);
  font-size: clamp(1.05rem, 1.45vw, 1.25rem);
  line-height: 1.55;
  animation: rise 760ms var(--ease) 340ms both;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: clamp(17px, 1.96vw, 24px);
  animation: rise 760ms var(--ease) 430ms both;
}
.hero__quiet-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--body-2);
  font-size: 15px;
  font-weight: var(--w-medium);
  transition: color var(--dur-tonal) var(--ease);
}
@media (hover: hover) and (pointer: fine) {
  .hero__quiet-link:hover { color: var(--ink); }
  .hero__quiet-link:hover .pill__chevron { translate: 4px 0; }
}
.hero-kicker,
.hero-title__line {
  animation: rise 760ms var(--ease) both;
}
.hero-title__line { display: block; }
.hero-title__line:nth-child(2) { animation-delay: 120ms; }
.hero-title__line:nth-child(3) { animation-delay: 240ms; }
.hero-title__accent { color: var(--petrol); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .hero-title__accent {
    background-image: linear-gradient(
      100deg,
      var(--petrol-deeper) 0%,
      var(--petrol) 18%,
      #3187ac 38%,
      #1f6e93 55%,
      var(--petrol-deeper) 74%,
      var(--petrol) 90%,
      var(--petrol-deeper) 100%
    );
    background-size: 260% 100%;
    background-position: 0% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    padding: 0.1em 0.06em 0.22em;
    margin: -0.1em -0.06em -0.22em;
    animation: rise 760ms var(--ease) 240ms both, olas-azules 6.5s linear 1s infinite alternate;
  }
}
@keyframes olas-azules {
  from { background-position: 0% 0; }
  to { background-position: 100% 0; }
}
@keyframes rise {
  from { opacity: 0; translate: 0 24px; }
  to { opacity: 1; translate: 0 0; }
}
.questions { display: grid; gap: 10px; }
.questions li {
  display: grid;
  grid-template-columns: 0.58em minmax(0, 1fr);
  column-gap: 0.55em;
  align-items: baseline;
  color: var(--body-2);
  font-size: var(--t-3);
  line-height: 1.5;
}
.questions li::before {
  content: "";
  width: 0.58em;
  height: 0.56em;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1018 982"><g transform="translate(-89,970) scale(1,-1)"><path fill="%23145A7A" d="M669 491Q669 394 699.0 319.0Q729 244 775 196Q831 238 857.0 312.5Q883 387 883 487Q883 545 876.0 584.0Q869 623 855.5 647.0Q842 671 822.0 681.0Q802 691 775 691Q723 691 696.0 645.5Q669 600 669 491ZM961 -12Q899 -12 848.0 -1.5Q797 9 760 30Q718 7 661.5 -2.5Q605 -12 551 -12Q445 -12 359.5 19.0Q274 50 214.0 111.0Q154 172 121.5 261.0Q89 350 89 466Q89 585 123.5 678.5Q158 772 221.0 837.0Q284 902 372.0 936.0Q460 970 566 970Q593 970 608.0 968.0Q623 966 634 964Q652 959 656.5 944.0Q661 929 661 895Q661 857 653.0 845.5Q645 834 634 834Q626 834 607.5 836.5Q589 839 566 839Q497 839 441.0 814.5Q385 790 345.5 743.5Q306 697 284.0 629.0Q262 561 262 474Q262 299 343.0 209.0Q424 119 570 119Q590 119 610.5 123.0Q631 127 644 132Q621 156 596.5 191.0Q572 226 551.0 271.0Q530 316 516.5 372.5Q503 429 503 497Q503 580 524.0 639.0Q545 698 581.5 736.0Q618 774 667.5 791.5Q717 809 774 809Q831 809 881.0 792.0Q931 775 968.5 737.5Q1006 700 1028.0 639.5Q1050 579 1050 491Q1050 429 1038.0 375.0Q1026 321 1004.5 275.0Q983 229 954.0 192.0Q925 155 891 127Q925 119 971 119Q999 119 1018.0 121.0Q1037 123 1050.5 126.0Q1064 129 1072.5 131.0Q1081 133 1088 133Q1107 133 1107 98Q1107 78 1105.0 56.5Q1103 35 1096 21Q1086 1 1050.0 -5.5Q1014 -12 961 -12Z"/></g></svg>') center / contain no-repeat;
}
.escaparate { display: grid; gap: var(--s-4); }
.escaparate > .phase { margin-bottom: calc(var(--s-2) * -1); }
.actos {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(44px, 5.5vw, 76px);
  padding-left: 60px;
}
.actos::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 0;
  left: 18px;
  width: 1px;
  background: var(--hairline-strong);
}
.acto {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 3.5vw, 48px);
  align-items: start;
}
.acto__num {
  position: absolute;
  top: -2px;
  left: -60px;
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  background: var(--paper);
  box-shadow: inset 0 0 0 1px var(--hairline-strong);
  color: var(--petrol);
  font-size: 15px;
  font-weight: var(--w-semibold);
  line-height: 1;
}
.acto__titulo {
  color: var(--ink);
  font-size: var(--t-4);
  font-weight: var(--w-semibold);
  letter-spacing: -0.015em;
  line-height: 1.25;
  text-wrap: balance;
}
.acto__texto {
  margin-top: 10px;
  max-width: var(--measure);
  color: var(--body-2);
  font-size: var(--t-3);
  line-height: 1.65;
}
.vista {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
  margin-top: 16px;
}
.vista__b {
  appearance: none;
  border: 0;
  background: none;
  padding: 10px 2px;
  min-height: 44px;
  border-bottom: 1.5px solid transparent;
  color: var(--body-2);
  font-family: inherit;
  font-size: var(--t-1);
  font-weight: var(--w-medium);
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease;
}
.vista__b:hover { color: var(--petrol); }
.vista__b.is-active { color: var(--petrol); border-bottom-color: var(--petrol); }
.vista-exp {
  display: grid;
  margin-top: 12px;
  max-width: var(--measure);
}
.vista-exp__t {
  grid-area: 1 / 1;
  color: var(--body-2);
  font-size: var(--t-2);
  line-height: 1.6;
}
.vista-exp__t[hidden] {
  display: block;
  visibility: hidden;
}
.vig {
  --a-fondo: #FCFCF8;
  --a-sup: #FFFFFF;
  --a-lat: #FCFCF8;
  --a-lat-2: #F7F6F1;
  --a-lat-3: #F1F0E9;
  --a-tinta: #1D1F24;
  --a-tinta-2: #4E525A;
  --a-tinta-3: #6E727A;
  --a-tinta-4: #A2A6AC;
  --a-borde: #E5E4DF;
  --a-borde-2: #D9D9D4;
  --a-borde-3: #C4C4BE;
  --a-acento: #145A7A;
  --a-acento-tenue: #EAF3F6;
  --a-boton-azul: #0F4560;
  --a-envio: #70767E;
  --a-oro: #C0A062;
  --a-oro-tinta: #9A7D43;
  --a-oro-vel: rgba(192, 160, 98, 0.055);
  --a-oro-borde: rgba(192, 160, 98, 0.55);
  --a-pista: #DCDBD7;
  overflow: hidden;
  border: 1px solid var(--a-borde);
  border-radius: var(--r-card);
  background: var(--a-fondo);
  box-shadow: 0 1px 2px rgba(29, 31, 36, 0.04), 0 16px 40px -18px rgba(29, 31, 36, 0.14);
  color: var(--a-tinta);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.vig--entrada { padding: 18px 18px 14px; }
.vig-entrada__int {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 8px 8px 8px 12px;
  border: 1px solid var(--a-borde-2);
  border-radius: 10px;
  background: var(--a-sup);
}
.vig-entrada__texto {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--a-tinta);
}
.vig-entrada__enviar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--a-envio);
  border-radius: 8px;
  background: var(--a-envio);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.vig-entrada__enviar kbd {
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
  font-size: 10px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.72);
}
.vig-entrada__pie {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  font-size: 10.5px;
  line-height: 1.35;
  color: var(--a-tinta-3);
}
.vig-entrada__pie b { font-weight: 500; color: var(--a-tinta-2); white-space: nowrap; }
.vig-cab {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 14px;
  border-bottom: 1px solid var(--a-borde);
  background: var(--a-sup);
}
.vig-cab__inicio {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  color: var(--a-tinta-3);
}
.vig-cab__sep {
  flex: 0 0 auto;
  width: 1px;
  height: 18px;
  background: var(--a-borde);
}
.vig-cab__titulo {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--a-tinta);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.vig-cab__como {
  flex: 0 0 auto;
  font-size: 12.5px;
  color: var(--a-tinta-3);
  white-space: nowrap;
}
.vig-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--a-borde);
  background: #FBFBFA;
}
.vig-cluster__cuerpo {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
}
.vig-cluster__segs { display: flex; gap: 6px; }
.vig-cluster__seg {
  position: relative;
  width: 34px;
  height: 3px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--a-pista);
}
.vig-cluster__seg b {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 2px;
  background: var(--a-acento);
}
.vig-cluster__inis { display: flex; gap: 6px; }
.vig-cluster__inis span {
  width: 34px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-align: center;
  text-transform: uppercase;
  color: var(--a-tinta-3);
  white-space: nowrap;
}
.vig-cluster__estado {
  padding-left: 10px;
  border-left: 1px solid var(--a-borde-2);
  font-size: 13px;
  font-weight: 500;
  color: var(--a-tinta);
  white-space: nowrap;
}
.vig-hilo {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 16px 6px;
}
.vig-turno { display: flex; flex-direction: column; gap: 6px; }
.vig-turno__autor {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--a-tinta-3);
}
.vig-turno__autor::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--a-borde);
  opacity: 0.75;
}
.vig-turno--kairos .vig-turno__texto {
  max-width: 100%;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--a-tinta);
}
.vig-turno--usuario .vig-turno__texto {
  align-self: flex-end;
  max-width: 92%;
  padding: 10px 14px;
  border: 1px solid var(--a-borde);
  border-radius: 10px;
  background: var(--a-lat-2);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--a-tinta);
}
.vig-faltan {
  margin: 2px 16px 16px;
  padding: 12px 14px 14px;
  border: 1px solid var(--a-borde-2);
  border-radius: 10px;
  background: var(--a-sup);
  box-shadow: 0 1px 2px rgba(29, 31, 36, 0.05), 0 10px 24px rgba(29, 31, 36, 0.07);
}
.vig-faltan__t {
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--a-tinta-3);
}
.vig-faltan__lista { display: flex; flex-direction: column; gap: 6px; }
.vig-faltan__lista li {
  padding: 8px 10px 8px 12px;
  border: 1px solid var(--a-borde);
  border-radius: 8px;
  background: var(--a-lat-2);
  box-shadow: inset 2px 0 0 var(--a-borde-3);
  font-size: 13px;
  line-height: 1.4;
  color: var(--a-tinta);
}
.vig-entrega {
  margin: 14px;
  overflow: hidden;
  border: 1px solid var(--a-oro-borde);
  border-radius: 10px;
  background: linear-gradient(var(--a-oro-vel), var(--a-oro-vel)), var(--a-sup);
  box-shadow: 0 1px 2px rgba(154, 125, 67, 0.07), 0 12px 28px rgba(154, 125, 67, 0.07);
}
.vig-entrega__cab {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(192, 160, 98, 0.28);
}
.vig-entrega__marca {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--a-acento);
}
.vig-entrega__marca svg { width: 18px; height: 18px; }
.vig-entrega__t {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--a-oro-tinta);
}
.vig-entrega__meta {
  font-size: 11px;
  letter-spacing: 0.02em;
  color: var(--a-tinta-3);
  white-space: nowrap;
}
.vig-entrega__pestanas {
  display: flex;
  gap: 2px;
  padding: 8px 12px 0;
  border-bottom: 1px solid rgba(192, 160, 98, 0.2);
}
.vig-entrega__p {
  margin-bottom: -1px;
  padding: 8px 10px;
  border-bottom: 2px solid transparent;
  font-size: 13px;
  color: var(--a-tinta-3);
}
.vig-entrega__p.is-activa {
  border-bottom-color: var(--a-oro);
  color: var(--a-tinta);
  font-weight: 600;
}
.vig-entrega__cuerpo { padding: 14px 16px 4px; }
.vig-entrega__panel[hidden] { display: none; }
.vig-entrega__acc {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px 14px;
}
.vig-boro {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--a-oro-borde);
  border-radius: 8px;
  background: var(--a-sup);
  font-size: 13px;
  font-weight: 500;
  color: var(--a-oro-tinta);
}
.vig-md {
  font-size: 13.5px;
  line-height: 1.62;
  color: var(--a-tinta);
}
.vig-md p { margin: 0 0 10px; }
.vig-md p:last-child { margin-bottom: 0; }
.vig-md strong { font-weight: 600; }
.vig-md ol,
.vig-md ul {
  margin: 0 0 10px;
  padding-left: 18px;
}
.vig-md ol { list-style: decimal; }
.vig-md ul { list-style: disc; }
.vig-md li { margin-bottom: 4px; }
.vig-md li:last-child { margin-bottom: 0; }
.vig-md__st {
  margin: 12px 0 6px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--a-tinta-3);
}
.vig-md__st:first-child { margin-top: 0; }
.lab-anexo {
  display: grid;
  gap: var(--s-3);
  border-left: 1px solid var(--hairline);
  padding-left: var(--s-4);
}
.lab-fichas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-3);
}
.lab-ficha {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: clamp(22px, 2.2vw, 30px);
  border-radius: var(--r-card);
  background: var(--card-surface);
}
.lab-ficha__cab {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}
.lab-ficha__nombre {
  color: var(--ink);
  font-size: 1.25rem;
  font-weight: var(--w-semibold);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.lab-ficha__tagline {
  color: var(--ink);
  font-size: var(--t-2);
  letter-spacing: -0.005em;
  line-height: 1.45;
}
.lab-ficha__texto {
  max-width: var(--measure);
  margin-top: 2px;
  color: var(--body-2);
  font-size: var(--t-2);
  line-height: 1.65;
}
.newsletter {
  background: var(--petrol-deep);
  padding-block: clamp(64px, 7vw, 100px);
}
.newsletter__inner {
  display: grid;
  justify-items: center;
  gap: 14px;
  text-align: center;
}
.newsletter__micro { color: var(--on-petrol-soft); }
.newsletter__title {
  max-width: 17em;
  color: var(--white);
  font-size: var(--t-news);
  font-weight: var(--w-medium);
  letter-spacing: -0.025em;
  line-height: 1.1;
  text-wrap: balance;
}
.subscribe {
  display: flex;
  width: min(100%, 480px);
  align-items: center;
  gap: var(--s-1);
  margin-top: 16px;
  padding: 4px;
  border-radius: var(--r-pill);
  background: var(--white);
}
.subscribe__input {
  min-width: 0;
  flex: 1 1 auto;
  height: 36px;
  padding-inline: 18px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-family: inherit;
  font-size: 1rem;
}
.subscribe__input::placeholder { color: var(--micro); opacity: 1; }
.subscribe__input:focus-visible {
  outline: 2px solid var(--petrol);
  outline-offset: 1px;
  border-radius: var(--r-pill);
}
.subscribe__button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding-inline: 20px;
  border: 0;
  border-radius: var(--r-pill);
  background: rgba(16, 26, 51, 0.12);
  color: var(--body-2);
  font-family: "Segoe UI", var(--sans);
  font-size: 0.9375rem;
  font-weight: var(--w-medium);
  cursor: default;
  transition: background var(--dur) ease, color var(--dur) ease;
}
.subscribe__button:hover { background: rgba(16, 26, 51, 0.17); }
.subscribe__button:focus-visible { outline: 2px solid var(--petrol); outline-offset: 1px; }
.site-footer {
  border-top: 1px solid var(--hairline);
  background: var(--paper);
  padding-block: clamp(44px, 4.6vw, 64px);
}
.site-footer__inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  column-gap: clamp(24px, 3.4vw, 56px);
  row-gap: var(--s-3);
}
.footer-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: baseline;
  gap: 0.45em;
}
.footer-brand__mark {
  height: 18px;
  width: auto;
  aspect-ratio: 1329 / 1415;
  align-self: center;
  translate: 0 -1px;
}
.footer-brand__word {
  color: var(--ink);
  font-size: 1.0625rem;
  font-weight: var(--w-semibold);
  letter-spacing: -0.04em;
  line-height: 1;
}
.footer-descriptor {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 34em;
  color: var(--body-2);
  font-size: var(--t-2);
  line-height: 1.5;
}
.footer-legal {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--micro);
  font-size: var(--t-0);
  line-height: 1.5;
  text-align: right;
}
.js .reveal {
  opacity: 0;
  translate: 0 22px;
  transition: opacity 640ms var(--ease) var(--reveal-delay, 0ms),
    translate 640ms var(--ease) var(--reveal-delay, 0ms);
}
.js .reveal.is-visible {
  opacity: 1;
  translate: 0 0;
}
.acto__vig.reveal { --reveal-delay: 140ms; }
@media (min-width: 821px) and (max-width: 1219px) {
  :root {
    --wash-lo-rise: calc(84px - (1220px - 100vw) * 0.235);
  }
}
@media (max-width: 1120px) {
  .section__grid { grid-template-columns: var(--label-col) minmax(0, 1fr); }
  .section__grid > h2,
  .section__grid > .prose--wide { grid-column: 2; }
  .section__grid > .pull { grid-column: 2; grid-row: 3; }
}
@media (max-width: 960px) {
  .acto { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .acto__vig { max-width: 640px; }
  .lab-fichas { grid-template-columns: minmax(0, 1fr); }
  .lab-ficha { max-width: calc(var(--measure) + 2 * clamp(22px, 2.2vw, 30px)); }
  .lab-ficha__texto { max-width: none; }
}
@media (max-width: 820px) {
  .section__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--s-1); }
  .section__grid > .kicker,
  .section__grid > h2,
  .section__grid > .prose,
  .section__grid > .prose--wide,
  .section__grid > .pull {
    grid-column: 1;
  }
  .section__grid > .kicker { grid-row: 1; padding-top: 0; padding-bottom: var(--s-2); }
  .section__grid > h2 { grid-row: 2; }
  .section__grid > .prose,
  .section__grid > .prose--wide { grid-row: 3; margin-top: var(--s-3); }
  .section__grid > .pull { grid-row: 4; margin-top: var(--s-3); }
  .section__grid > .escaparate { margin-top: var(--s-5); }
  .section__grid > .lab-anexo {
    grid-column: 1;
    margin-top: var(--s-4);
    padding-left: clamp(14px, 4vw, 22px);
  }
  .actos { padding-left: 46px; }
  .actos::before { left: 15px; }
  .acto__num { left: -46px; width: 31px; height: 31px; font-size: 14px; }
  .vig-cluster { flex-wrap: nowrap; }
  .vig-cluster__cuerpo { flex: 0 1 194px; min-width: 116px; }
  .vig-cluster__segs,
  .vig-cluster__inis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .vig-cluster__seg,
  .vig-cluster__inis span { width: auto; }
  .vig-cluster__estado { min-width: 0; white-space: normal; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 100px; }
  h1 {
    max-width: none;
    font-size: var(--t-7-sm);
    letter-spacing: -0.025em;
    line-height: 1.08;
  }
  h2 { max-width: none; }
  .site-footer__inner {
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 14px;
    row-gap: var(--s-2);
  }
  .footer-brand { flex: 0 0 auto; }
  .footer-descriptor { flex: 0 1 auto; max-width: none; }
  .footer-legal { flex: 1 1 100%; margin-left: 0; text-align: left; }
}
@media (max-width: 420px) {
  :root { --gutter: 20px; }
  .site-header__cta { padding-inline: 16px; }
  .subscribe {
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }
  .subscribe__input,
  .subscribe__button {
    flex: 1 1 100%;
    height: 44px;
    min-height: 44px;
    padding-block: 0;
  }
  .subscribe__input {
    padding-inline: 20px;
    border-radius: var(--r-pill);
    background: var(--white);
  }
  .subscribe__button {
    background: var(--on-petrol-fill);
    color: var(--white);
  }
  .subscribe__button:hover { background: var(--on-petrol-fill-hover); }
  .subscribe__input:focus-visible,
  .subscribe__button:focus-visible {
    outline-color: var(--white);
    outline-offset: 2px;
  }
  .lab-ficha { padding: 18px; }
  .actos { padding-left: 40px; }
  .actos::before { left: 13px; }
  .acto__num { left: -40px; width: 27px; height: 27px; font-size: 13px; }
  .vig-cluster { column-gap: 8px; }
  .vig-cluster__cuerpo { flex-basis: 146px; }
  .vig-cluster__segs,
  .vig-cluster__inis { gap: 4px; }
  .vig-cluster__estado {
    padding-left: 8px;
    font-size: 12px;
  }
  .vig--entrada { padding: 14px 12px 12px; }
  .vig-hilo { padding: 14px 12px 6px; }
  .vig-faltan { margin: 2px 12px 12px; }
  .vig-entrega { margin: 10px; }
  .vig-entrada__pie { flex-wrap: wrap; }
}
@media (max-width: 820px) {
  .site-header { position: sticky; }
  .site-header__inner {
    grid-template-areas:
      "brand toggle"
      "panel panel";
    grid-template-columns: 1fr auto;
    grid-template-rows: 44px auto;
    min-height: 0;
    padding-block: 6px;
    row-gap: 0;
  }
  .nav-toggle { display: inline-flex; }
  .site-header__collapse {
    display: none;
    grid-area: panel;
    margin-top: 6px;
    margin-bottom: 14px;
    padding: 10px 14px 14px;
    border-radius: var(--r-card);
    background: var(--white);
    box-shadow: inset 0 0 0 1px var(--hairline-strong), var(--shadow-card);
  }
  .site-header.is-menu-open .site-header__collapse { display: block; }
  .site-header.is-menu-open .site-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .site-header.is-menu-open .site-nav a {
    justify-content: flex-start;
    padding: 13px 4px;
    font-size: 15px;
  }
  .site-header.is-menu-open .site-nav a::after { display: none; }
  .site-header.is-menu-open .site-header__cta {
    display: inline-flex;
    width: 100%;
    min-height: 36px;
    margin-top: 10px;
  }
  .hero__actions {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
  }
  .hero__actions > .pill { width: 100%; }
  .hero__quiet-link { justify-content: flex-start; width: 100%; }
}
@media (hover: none), (pointer: coarse) {
  .pill--sm { min-height: 44px; }
  .site-nav a { justify-content: center; min-width: 44px; }
  .pill--petrol:hover { background: var(--petrol-deep); }
  .pill--plain:hover { background: var(--white); }
  .subscribe__button:hover { background: var(--ink-wash); }
  .site-nav a:hover { color: var(--body-2); }
  .site-nav a:hover::after { transform: scaleX(0); }
  .vista__b:hover { color: var(--body-2); }
  .vista__b.is-active:hover { color: var(--petrol); }
}
@media (hover: none) and (max-width: 420px) {
  .subscribe__button:hover { background: var(--on-petrol-fill); color: var(--white); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-kicker,
  .hero-title__line,
  .hero__lead,
  .hero__actions {
    animation: none;
  }
  .hero-title__accent {
    animation: none;
    background-position: 0% 0;
  }
  .niebla { opacity: 0.85; }
  .hero-wash__layer,
  .hero-wash__veil {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
    will-change: auto;
  }
  .pull__char {
    opacity: 1 !important;
  }
  .pull.is-typing .pull__char.is-caret::after {
    display: none !important;
  }
  .js .reveal {
    opacity: 1;
    translate: none;
    transition: none;
  }
  .pill,
  .pill__chevron,
  .site-nav a,
  .site-nav a::after,
  .vista__b,
  .hero__quiet-link,
  .site-header,
  .skip-link {
    transition: none;
  }
}

.hero.is-motion-paused .hero-wash__veil,
.hero.is-motion-paused .hero-title__accent { animation-play-state: paused; }

.footer-legal-link { display: inline; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; line-height: inherit; cursor: pointer; text-decoration: none; text-underline-offset: 3px; }
.footer-legal-link:hover, .footer-legal-link:focus-visible { text-decoration: underline; }
