/* NervosAI — Cibernética Disciplinada · site.css */

:root {
  --onyx: #030812;
  --azul-profundo: #020764;
  --azul-trazo: #043780;
  --glow: #025EC4;
  --cyan-activo: #0ECCED;
  --ice: #C0D8F0;
  --aluminio: #1A1F2E;
  --white: #FFFFFF;
  --white-70: rgba(255,255,255,0.86);
  --white-50: rgba(255,255,255,0.66);
  --white-30: rgba(255,255,255,0.42);
  --white-12: rgba(255,255,255,0.12);
  --white-06: rgba(255,255,255,0.06);

  --glow-intensity: 1;
  --gu: 8px;

  --f-display: "Inter", "Helvetica Neue", system-ui, sans-serif;
  --f-body: "Inter", "Helvetica Neue", system-ui, sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-pulse: cubic-bezier(0.4, 0, 0.6, 1);
}

* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
html {
  background: var(--onyx); color: var(--white);
  font-family: var(--f-body); font-weight:400; font-size:18px; line-height:1.6;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01","cv11";
  overflow-x: hidden;
}
body { background: var(--onyx); min-height:100vh; overflow-x:hidden; }
::selection { background: var(--glow); color: var(--white); }

a { color: inherit; }

/* ─── Shell + section ──────────────────────────────── */
.shell { max-width: 1440px; margin: 0 auto; padding: 0 64px; position: relative; }
section { position: relative; }
section:first-of-type { border-top: 0; }
.section-pad { padding: 160px 0; }
.section-pad-lg { padding: 220px 0; }
.section-marker {
  display: flex; align-items: center; gap: 16px;
  font-family: var(--f-mono); font-size: 16px; font-weight: 500; letter-spacing: .18em;
  text-transform: uppercase; color: var(--white);
  margin-bottom: 72px;
  text-shadow: 0 0 14px rgba(0,0,0,.7);
}
.section-marker .bar { height: 1px; flex: 0 0 96px; background: var(--azul-trazo); }
.section-marker .idx { color: var(--glow); }

/* ─── Brand mark (real logo) ─────────────────────── */
.brand-mark {
  display: inline-block;
  object-fit: contain;
  filter: drop-shadow(0 0 6px rgba(2, 94, 196, calc(.35 * var(--glow-intensity))));
  transition: filter 240ms var(--ease-out);
}
.brand-mark.size-sm { width: 26px; height: 26px; }
.brand-mark.size-md { width: 64px; height: 64px; }
.brand-mark.size-lg { width: 240px; height: 240px; }
.brand-mark.size-xl { width: clamp(280px, 30vw, 440px); height: clamp(280px, 30vw, 440px); }
.brand-mark.pulse {
  animation: mark-breath 6s var(--ease-pulse) infinite;
}
@keyframes mark-breath {
  0%,100% { filter: drop-shadow(0 0 4px rgba(2, 94, 196, calc(.3 * var(--glow-intensity)))) brightness(.96); }
  50%     { filter: drop-shadow(0 0 18px rgba(2, 94, 196, calc(.65 * var(--glow-intensity)))) brightness(1.08); }
}

/* ─── Texture overlay (full-page, fixed) ─────────── */
.texture-layer {
  position: fixed; inset: 0; z-index: 2; pointer-events: none;
  opacity: 0; transition: opacity 600ms var(--ease-out);
  mix-blend-mode: screen;
}
/* Ambient page-wide glass — siempre activo */
.tx-ambient-chrome,
.tx-ambient-ribbon {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
}
.tx-ambient-chrome {
  display: none !important;
}
.tx-ambient-ribbon {
  background: url("../assets/tex-glass-ribbon.jpg") right center / auto 120% no-repeat;
  opacity: .30;
  -webkit-mask-image: linear-gradient(to left, black 0, rgba(0,0,0,.85) 22%, transparent 60%);
          mask-image: linear-gradient(to left, black 0, rgba(0,0,0,.85) 22%, transparent 60%);
}

body[data-texture="grain"] .texture-layer.tx-grain,
body[data-texture="scanlines"] .texture-layer.tx-scanlines,
body[data-texture="cad"] .texture-layer.tx-cad,
body[data-texture="ondulante"] .texture-layer.tx-ondulante,
body[data-texture="caustics"] .texture-layer.tx-caustics,
body[data-texture="chrome"] .texture-layer.tx-chrome,
body[data-texture="ribbon"] .texture-layer.tx-ribbon,
body[data-texture="torus"] .texture-layer.tx-torus { opacity: 1; }

/* Liquid chrome blue — abstract photographic backdrop */
.texture-layer.tx-chrome {
  background: url("../assets/tex-liquid-chrome.jpg") center / cover no-repeat;
  mix-blend-mode: screen;
}
body[data-texture="chrome"] .texture-layer.tx-chrome { opacity: .55; }

/* Glass ribbon — soft glass spline, masked into a side flare */
.texture-layer.tx-ribbon {
  background: url("../assets/tex-glass-ribbon.jpg") right center / contain no-repeat;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(to left, black 0, black 35%, transparent 70%);
          mask-image: linear-gradient(to left, black 0, black 35%, transparent 70%);
}
body[data-texture="ribbon"] .texture-layer.tx-ribbon { opacity: .65; }

/* Glass torus — vignette */
.texture-layer.tx-torus {
  background: url("../assets/tex-glass-torus.jpg") right 8% center / 60% no-repeat;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 78% 50%, black 30%, transparent 80%);
          mask-image: radial-gradient(ellipse 50% 50% at 78% 50%, black 30%, transparent 80%);
}
body[data-texture="torus"] .texture-layer.tx-torus { opacity: .55; }

/* Grain — fine film noise via SVG turbulence */
.texture-layer.tx-grain {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMjAnIGhlaWdodD0nMjIwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45MicgbnVtT2N0YXZlcz0nMicgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjU1ICAwIDAgMCAwIDAuNjIgIDAgMCAwIDAgMC44MiAgMCAwIDAgLjIyIDAnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWx0ZXI9J3VybCglMjNuKScvPjwvc3ZnPg==");
  background-size: 220px 220px;
  opacity: 0;
}
body[data-texture="grain"] .texture-layer.tx-grain { opacity: .55; }

/* Scanlines — CRT horizontals */
.texture-layer.tx-scanlines {
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0px,
    rgba(255,255,255,0) 2px,
    rgba(2, 94, 196, .14) 3px,
    rgba(255,255,255,0) 4px
  );
  mix-blend-mode: screen;
}
body[data-texture="scanlines"] .texture-layer.tx-scanlines { opacity: .8; }

/* CAD reticule — fine grid + glow accents */
.texture-layer.tx-cad {
  background-image:
    linear-gradient(to right, rgba(26,31,46,.55) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(26,31,46,.55) 1px, transparent 1px),
    linear-gradient(to right, rgba(4,55,128,.55) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(4,55,128,.55) 1px, transparent 1px);
  background-size: 32px 32px, 32px 32px, 256px 256px, 256px 256px;
  background-position: 0 0;
  mix-blend-mode: normal;
}
body[data-texture="cad"] .texture-layer.tx-cad { opacity: .35; }

/* Ondulante — wavy horizontals (manual §4.5.4) */
.texture-layer.tx-ondulante {
  background-image:
    repeating-linear-gradient(
      to bottom,
      rgba(4,55,128,.55) 0px,
      rgba(4,55,128,.55) 1px,
      transparent 1px,
      transparent 28px
    );
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse 70% 50% at 50% 50%, black 60%, transparent 100%);
          mask-image: radial-gradient(ellipse 70% 50% at 50% 50%, black 60%, transparent 100%);
  animation: ondulante-drift 24s linear infinite;
  background-size: 100% 100%, 100% 100%;
}
body[data-texture="ondulante"] .texture-layer.tx-ondulante { opacity: .55; }
@keyframes ondulante-drift {
  0%   { background-position: 0 0; transform: translateY(0); }
  100% { background-position: 0 56px; transform: translateY(-2px); }
}

/* Caustics — frosted glass shimmer (radial + soft animated noise) */
.texture-layer.tx-caustics {
  background:
    radial-gradient(ellipse 30% 24% at 22% 28%, rgba(2,94,196,.30), transparent 70%),
    radial-gradient(ellipse 28% 22% at 78% 64%, rgba(2,94,196,.20), transparent 70%),
    radial-gradient(ellipse 18% 16% at 48% 80%, rgba(14,204,237,.10), transparent 70%);
  filter: blur(0px);
  mix-blend-mode: screen;
  animation: caustics-drift 18s ease-in-out infinite;
}
body[data-texture="caustics"] .texture-layer.tx-caustics { opacity: 1; }
@keyframes caustics-drift {
  0%,100% { transform: translate(0,0) scale(1); }
  50%     { transform: translate(-1.2%, 1.4%) scale(1.04); }
}

/* All textures sit under content but above page bg */
main, .topbar, .foot { position: relative; z-index: 3; }

/* ─── Topbar ───────────────────────────────────────── */
.topbar {
  position: fixed; top:0; left:0; right:0; z-index:50;
  background: linear-gradient(to bottom, rgba(3,8,18,.88), rgba(3,8,18,0));
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.topbar-inner {
  max-width: 1440px; margin:0 auto; padding: 18px 64px;
  display: flex; align-items: center; justify-content: space-between;
}
.wordmark {
  font-family: var(--f-display); font-weight:600; font-size:18px;
  letter-spacing: .02em; color: var(--white);
  display: inline-flex; align-items: center; gap: 12px;
  text-decoration: none;
  text-shadow: 0 0 14px rgba(0,0,0,.7);
}
.wordmark .brand-mark { flex: 0 0 auto; }
.nav {
  display: flex; gap: 32px;
  font-family: var(--f-mono); font-size: 14px; font-weight: 500; letter-spacing: .16em;
  text-transform: uppercase;
}
.nav a {
  color: var(--white);
  text-decoration: none;
  transition: color 240ms var(--ease-out), text-shadow 240ms var(--ease-out);
  text-shadow: 0 0 12px rgba(0,0,0,.65);
}
.nav a:hover { color: var(--cyan-activo); text-shadow: 0 0 12px rgba(14,204,237,.55); }
.nav .nav-num { color: var(--glow); margin-right: 6px; }
.status-pill {
  font-family: var(--f-mono); font-size: 14px; font-weight: 500; letter-spacing: .18em;
  text-transform: uppercase; color: var(--white);
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 30%, rgba(2,94,196,.06) 70%, rgba(2,7,100,.16) 100%),
    rgba(3,8,18,.40);
  backdrop-filter: blur(3px) saturate(125%);
  -webkit-backdrop-filter: blur(3px) saturate(125%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(2,94,196,.22),
    inset 0 0 16px rgba(2,94,196,.08),
    0 8px 22px rgba(0,0,0,.4);
  position: relative; isolation: isolate;
  text-shadow: 0 0 12px rgba(0,0,0,.6);
}
.status-pill::after {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 50%;
  border-radius: 10px 10px 60% 60% / 10px 10px 100% 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 75%);
  pointer-events: none; z-index: -1;
}
.status-pill::before {
  content: ""; width: 6px; height: 6px;
  background: var(--cyan-activo); box-shadow: 0 0 6px var(--cyan-activo);
  animation: pulse 4s var(--ease-pulse) infinite;
}

/* ─── Hero brand mark (the protagonist) ─────────── */
.hero-mark {
  position: absolute;
  top: 50%; right: 6%;
  transform: translateY(-46%);
  z-index: 2;
  width: clamp(280px, 36vw, 560px);
  height: clamp(280px, 36vw, 560px);
  pointer-events: none;
  opacity: 1;
}
@media (max-width: 1100px) {
  .hero-mark { top: auto; bottom: 8%; right: 4%; transform: none; width: 220px; height: 220px; opacity: .55; }
}

/* ─── Footer bigword + mark ─────────────────────── */
.foot-bigwrap {
  display: flex; align-items: center; gap: clamp(20px, 3vw, 56px);
  margin: 64px 0 0;
}
.foot-bigwrap .foot-mark {
  width: clamp(72px, 9vw, 132px);
  height: clamp(72px, 9vw, 132px);
  flex: 0 0 auto;
}
.foot-bigwrap .foot-bigword { margin: 0; flex: 1; }
@media (max-width: 680px) {
  .foot-bigwrap { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* ─── Hero ─────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  display: grid; grid-template-rows: 1fr auto;
  padding-top: 120px; padding-bottom: 56px;
  position: relative; overflow: hidden;
}
.hero-orbital { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .9;
  -webkit-mask-image: radial-gradient(circle at 78% 50%, transparent 0, transparent 26%, black 42%);
          mask-image: radial-gradient(circle at 78% 50%, transparent 0, transparent 26%, black 42%);
}
.hero-content {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
}
.hero-content > * { max-width: 920px; }
.hero-content { padding-left: 56px; }
@media (max-width: 1100px) { .hero-content { padding-left: 32px; } }
.hero-eyebrow {
  font-family: var(--f-mono); font-size: 15px; letter-spacing: .24em;
  text-transform: uppercase; color: var(--white);
  margin-bottom: 44px;
  display: flex; align-items: center; gap: 14px;
  text-shadow: 0 0 14px rgba(0,0,0,.7);
}
.hero-eyebrow .gloss { color: var(--glow); }
.hero-headline {
  font-family: var(--f-display); font-weight: 400;
  font-size: clamp(48px, 6.6vw, 92px); line-height: 1.02;
  letter-spacing: -.02em; margin: 0; max-width: 17ch;
}
.hero-headline em { font-style: normal; color: var(--white-50); font-weight: 300; }
.hero-headline .underline { display: inline-block; position: relative; }
.hero-headline .underline::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px;
  height: 2px; background: var(--glow); box-shadow: 0 0 12px var(--glow);
}
.hero-sub {
  margin-top: 40px; font-family: var(--f-body); font-weight: 400;
  font-size: 22px; line-height: 1.55; color: var(--white); max-width: 56ch;
  text-shadow: 0 1px 12px rgba(0,0,0,.55);
}
.hero-cta-block {
  margin-top: 56px;
  display: flex; flex-direction: column; gap: 18px; align-items: flex-start;
}
.hero-cta-block .lead {
  font-family: var(--f-body); font-style: italic; font-weight: 300;
  font-size: 21px; line-height: 1.45; color: var(--white-70); max-width: 50ch;
}
.cta-row { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }

/* Glass button — specular highlight + inner glow + soft shadow (ref IMG_7976) */
.btn-primary {
  font-family: var(--f-mono); font-size: 15px; font-weight: 500; letter-spacing: .22em;
  text-transform: uppercase; color: var(--white);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.02) 32%, rgba(2,94,196,.18) 70%, rgba(2,7,100,.35) 100%);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  padding: 22px 38px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 14px;
  position: relative; isolation: isolate;
  backdrop-filter: blur(4px) saturate(130%);
  -webkit-backdrop-filter: blur(4px) saturate(130%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(2,94,196,.35),
    inset 0 0 18px rgba(2,94,196,.20),
    0 8px 28px rgba(0,0,0,.55),
    0 0 0 1px rgba(2,94,196,.25);
  transition: box-shadow 240ms var(--ease-out), transform 240ms var(--ease-out), background 240ms var(--ease-out);
  text-decoration: none;
}
.btn-primary::before {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 42%;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0));
  pointer-events: none; z-index: -1;
}
.btn-primary::after {
  content: ""; width: 14px; height: 1px; background: var(--white);
  transition: width 240ms var(--ease-out);
}
.btn-primary:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(14,204,237,.45),
    inset 0 0 26px rgba(2,94,196,.40),
    0 10px 32px rgba(0,0,0,.65),
    0 0 0 1px rgba(14,204,237,.45);
  background:
    linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.03) 32%, rgba(2,94,196,.30) 70%, rgba(2,7,100,.45) 100%);
}
.btn-primary:hover::after { width: 22px; background: var(--cyan-activo); }

.btn-ghost {
  font-family: var(--f-mono); font-size: 15px; font-weight: 500; letter-spacing: .22em;
  text-transform: uppercase; color: var(--white);
  text-decoration: none;
  display: inline-flex; align-items: center; gap: 14px;
  padding: 22px 0;
  transition: color 240ms var(--ease-out);
  text-shadow: 0 0 12px rgba(0,0,0,.6);
}
.btn-ghost::before {
  content: ""; width: 18px; height: 1px; background: var(--white-30);
  transition: background 240ms var(--ease-out), width 240ms var(--ease-out);
}
.btn-ghost:hover { color: var(--cyan-activo); }
.btn-ghost:hover::before { background: var(--glow); width: 28px; box-shadow: 0 0 8px var(--glow); }

.hero-foot {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 32px;
  border-top: 1px solid var(--white-12);
  padding-top: 28px; margin-top: 80px;
}
.hero-foot .cell {
  font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--white);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.01) 30%, rgba(2,94,196,.06) 70%, rgba(2,7,100,.16) 100%),
    rgba(3,8,18,.40);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 16px 18px;
  backdrop-filter: blur(2px) saturate(120%);
  -webkit-backdrop-filter: blur(2px) saturate(120%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(2,94,196,.20),
    0 10px 28px rgba(0,0,0,.4);
  position: relative; isolation: isolate;
}
.hero-foot .cell::before {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 50%;
  border-radius: 10px 10px 60% 60% / 10px 10px 100% 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 75%);
  pointer-events: none; z-index: -1;
}
.hero-foot .cell .val {
  display: block; color: var(--white); margin-top: 6px;
  font-size: 14px; font-weight: 500; letter-spacing: .06em;
}
.hero-foot .cell .val .glow { color: var(--glow); }

.hero-coordmarks {
  position: absolute; inset: 120px 64px 56px 64px; z-index: 1; pointer-events: none;
}
.hero-coordmarks .tick {
  position: absolute; font-family: var(--f-mono); font-size: 11px; font-weight: 500;
  letter-spacing: .1em; color: var(--white);
  text-shadow: 0 0 12px rgba(0,0,0,.7);
}
/* Hide the bottom coord marks once the hero-foot grid kicks in,
   so they don't overlap with Sede / Verticales / Founders cells. */
.hero-coordmarks .tick.bot { display: none; }
@media (min-width: 1280px) {
  .hero-coordmarks .tick.bot { display: block; }
}
@media (max-width: 900px) {
  .hero-coordmarks { display: none; }
}

/* ─── Manifiesto ───────────────────────────────────── */
.manifiesto-block { max-width: 980px; }
.manifiesto-line {
  font-family: var(--f-display); font-weight: 400;
  font-size: clamp(30px, 3.6vw, 46px); line-height: 1.22;
  letter-spacing: -.012em; color: var(--white);
  margin: 0 0 36px 0; max-width: 32ch;
  text-shadow: 0 2px 24px rgba(0,0,0,.55);
}
.manifiesto-line.lead { color: var(--white); }
.manifiesto-line .glow-em { color: var(--glow); font-weight: 400; }

/* ─── Estructura instalada ─────────────────────────── */
.head-grid {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 80px; align-items: end;
  margin-bottom: 96px;
}
.head-title {
  font-family: var(--f-display); font-weight: 400;
  font-size: clamp(34px, 4.4vw, 64px); line-height: 1.05;
  letter-spacing: -.018em; margin: 0; max-width: 18ch;
}
.head-title em { font-style: normal; color: var(--white-50); font-weight: 300; }
.head-blurb {
  font-family: var(--f-body); font-weight: 400;
  font-size: 20px; line-height: 1.6; color: var(--white);
  max-width: 50ch;
  text-shadow: 0 1px 12px rgba(0,0,0,.55);
}

.tri-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.tri-card {
  /* Glass surface — crystal, not frosted */
  background:
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.015) 22%, rgba(2,94,196,.05) 60%, rgba(2,7,100,.18) 100%),
    rgba(3,8,18,.42);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  backdrop-filter: blur(3px) saturate(125%);
  -webkit-backdrop-filter: blur(3px) saturate(125%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(2,94,196,.22),
    inset 0 0 22px rgba(2,94,196,.10),
    0 18px 48px rgba(0,0,0,.45),
    0 1px 0 rgba(255,255,255,.04);
  position: relative; isolation: isolate;
  padding: 64px 48px 60px;
  display: flex; flex-direction: column; gap: 28px;
  min-height: 460px; position: relative;
  transition: background 320ms var(--ease-out);
}
.tri-card .tnum {
  font-family: var(--f-mono); font-size: 15px; font-weight: 600; letter-spacing: .22em;
  text-transform: uppercase; color: var(--white-50);
  display: flex; align-items: center; gap: 12px;
  text-shadow: 0 0 4px rgba(0,0,0,.8);
}
.tri-card .tnum::after {
  content: ""; flex: 1; height: 1px; background: var(--azul-trazo);
  transition: background 320ms var(--ease-out);
}
.tri-card .ttitle {
  font-family: var(--f-display); font-weight: 500;
  font-size: 32px; line-height: 1.18; letter-spacing: -.005em;
  color: var(--white); margin: 0;
}
.tri-card .tbody {
  font-family: var(--f-body); font-weight: 400;
  font-size: 20px; line-height: 1.6; color: var(--white);
  margin: 0;
}
.tri-card::before {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 42%;
  border-radius: 14px 14px 60% 60% / 14px 14px 100% 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0) 70%);
  pointer-events: none; z-index: -1;
}
.tri-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.08) 48%, transparent 58%);
  pointer-events: none; mix-blend-mode: screen; opacity: .6;
}
.tri-card:hover {
  border-color: rgba(14,204,237,.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(14,204,237,.30),
    inset 0 0 30px rgba(2,94,196,.18),
    0 22px 56px rgba(0,0,0,.55);
}
.tri-card:hover .tnum::after { background: var(--glow); box-shadow: 0 0 6px var(--glow); }

/* ─── Criterios ───────────────────────────────────── */
.crit-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.crit-card {
  /* Glass surface */
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 22%, rgba(2,94,196,.06) 65%, rgba(2,7,100,.20) 100%),
    rgba(3,8,18,.50);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  backdrop-filter: blur(3px) saturate(125%);
  -webkit-backdrop-filter: blur(3px) saturate(125%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(2,94,196,.24),
    inset 0 0 24px rgba(2,94,196,.10),
    0 18px 48px rgba(0,0,0,.45);
  isolation: isolate;
  padding: 44px 36px;
  display: flex; flex-direction: column; gap: 24px;
  min-height: 320px;
  transition: border-color 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
  position: relative;
}
.crit-card::before {
  content: ""; position: absolute; top: 0; left: 0;
  width: 14px; height: 14px;
  border-top: 1px solid var(--glow); border-left: 1px solid var(--glow);
  opacity: .8;
}
.crit-card::after {
  content: ""; position: absolute; bottom: 0; right: 0;
  width: 14px; height: 14px;
  border-bottom: 1px solid var(--glow); border-right: 1px solid var(--glow);
  opacity: .8;
}
.crit-card:hover {
  border-color: rgba(14,204,237,.36);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(14,204,237,.32),
    inset 0 0 30px rgba(2,94,196,.22),
    0 22px 56px rgba(0,0,0,.55);
}
.crit-card .ckey {
  font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--white);
  display: flex; justify-content: space-between; align-items: center;
  text-shadow: 0 0 12px rgba(0,0,0,.6);
}
.crit-card .ckey .id { color: var(--glow); }
.crit-card .cicon { height: 56px; display: flex; align-items: center; }
.crit-card .ctitle {
  font-family: var(--f-display); font-weight: 500;
  font-size: 28px; letter-spacing: -.01em; line-height: 1.1;
  color: var(--white); margin: 0;
}
.crit-card .cbody {
  font-family: var(--f-body); font-weight: 400;
  font-size: 17px; line-height: 1.6; color: var(--white);
  margin: 0;
}

/* ─── Modelo ───────────────────────────────────────── */
.modelo {
  display: grid; grid-template-columns: 1fr 1fr; gap: 96px;
  align-items: start;
}
.modelo .left { position: sticky; top: 120px; }
.modelo .left .head-title { margin-bottom: 40px; max-width: 14ch; }
.modelo-para {
  font-family: var(--f-body); font-weight: 400;
  font-size: 21px; line-height: 1.65; color: var(--white);
  margin: 0 0 28px;
  text-shadow: 0 1px 12px rgba(0,0,0,.55);
}
.modelo-stamp {
  font-family: var(--f-display); font-weight: 500;
  font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1;
  letter-spacing: -.01em; color: var(--white);
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid var(--white-12);
  max-width: 22ch;
}
.modelo-stamp .glow-em { color: var(--glow); }

.vert-rail {
  margin-top: 56px;
  display: grid; gap: 14px;
}
.vert-row {
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 22%, rgba(2,94,196,.06) 65%, rgba(2,7,100,.18) 100%),
    rgba(3,8,18,.45);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  padding: 18px 24px;
  backdrop-filter: blur(3px) saturate(125%);
  -webkit-backdrop-filter: blur(3px) saturate(125%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(2,94,196,.22),
    inset 0 0 18px rgba(2,94,196,.08),
    0 12px 32px rgba(0,0,0,.4);
  position: relative; isolation: isolate;
  display: grid; grid-template-columns: 56px 1fr 110px 130px; gap: 20px;
  align-items: center;
  font-family: var(--f-mono); font-size: 13px; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--white);
  transition: background 240ms var(--ease-out);
}
.vert-row::before {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 50%;
  border-radius: 10px 10px 60% 60% / 10px 10px 100% 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 75%);
  pointer-events: none; z-index: -1;
}
.vert-row:hover {
  color: var(--white);
  border-color: rgba(14,204,237,.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(14,204,237,.30),
    inset 0 0 24px rgba(2,94,196,.18),
    0 16px 40px rgba(0,0,0,.5);
}
.vert-row .vid { color: var(--glow); }
.vert-row .vname { font-family: var(--f-display); font-weight: 500; font-size: 18px; letter-spacing: -.005em; text-transform: none; color: var(--white); }
.vert-row .vstate { color: var(--white); text-align: right; }
.vert-row.active .vstate { color: var(--glow); }
.vert-row .vbar { position: relative; height: 2px; background: var(--white-06); }
.vert-row .vbar > i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--azul-trazo); display: block; }
.vert-row.active .vbar > i { background: var(--glow); box-shadow: 0 0 6px var(--glow); }

/* ─── Founders ─────────────────────────────────────── */
.founders {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
}
.founder-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.012) 18%, rgba(2,94,196,.06) 65%, rgba(2,7,100,.20) 100%),
    rgba(3,8,18,.55);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  backdrop-filter: blur(4px) saturate(125%);
  -webkit-backdrop-filter: blur(4px) saturate(125%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(2,94,196,.24),
    inset 0 0 28px rgba(2,94,196,.10),
    0 24px 56px rgba(0,0,0,.5);
  isolation: isolate;
  padding: 48px;
  position: relative;
  display: grid; grid-template-rows: auto auto 1fr auto; gap: 24px;
  min-height: 460px;
  overflow: hidden;
  transition: border-color 240ms var(--ease-out);
}
.founder-card::before {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 38%;
  border-radius: 16px 16px 60% 60% / 16px 16px 100% 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
  pointer-events: none; z-index: 1;
}
.founder-card:hover {
  border-color: rgba(14,204,237,.36);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(14,204,237,.30),
    inset 0 0 32px rgba(2,94,196,.20),
    0 28px 64px rgba(0,0,0,.6);
}
.founder-card .portrait {
  position: absolute; top: 0; right: 0; bottom: 0; width: 42%;
  background: linear-gradient(135deg, var(--aluminio) 0%, var(--onyx) 60%);
  border-left: 1px solid var(--white-12);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.founder-card .portrait svg { display: block; }
.founder-card .body { position: relative; z-index: 2; max-width: 50%; }
.founder-card .frole {
  font-family: var(--f-mono); font-size: 13px; font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase; color: var(--glow);
  text-shadow: 0 0 14px rgba(2, 94, 196, .55);
}
.founder-card .fname {
  font-family: var(--f-display); font-weight: 500;
  font-size: 52px; letter-spacing: -.02em; line-height: 1;
  color: var(--white); margin: 12px 0 8px;
}
.founder-card .fsub {
  font-family: var(--f-body); font-weight: 500; font-size: 15px;
  color: var(--white); line-height: 1.5;
  text-transform: uppercase; letter-spacing: .12em;
}
.founder-card .fbody {
  margin-top: 20px;
  font-family: var(--f-body); font-weight: 400;
  font-size: 20px; line-height: 1.6; color: var(--white);
  max-width: 30ch;
}
.founder-card .fmeta {
  position: relative; z-index: 2;
  font-family: var(--f-mono); font-size: 10px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--white-50);
  display: flex; gap: 24px;
  padding-top: 16px; border-top: 1px solid var(--white-12);
  max-width: 60%;
}
.founder-card .fmeta .v { color: var(--white); margin-left: 8px; }

/* ─── CTA final ────────────────────────────────────── */
.cta-final {
  padding: 200px 0;
  text-align: center; position: relative; overflow: hidden;
}
.cta-final::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(2,94,196,.18), transparent 70%);
  pointer-events: none;
}
.cta-final-eyebrow {
  font-family: var(--f-mono); font-size: 13px; font-weight: 500; letter-spacing: .32em;
  text-transform: uppercase; color: var(--glow);
  margin-bottom: 32px; position: relative;
  text-shadow: 0 0 14px rgba(2,94,196,.5);
}
.cta-final-quote {
  font-family: var(--f-display); font-weight: 300;
  font-size: clamp(34px, 4.4vw, 64px); line-height: 1.12;
  letter-spacing: -.018em; color: var(--white);
  max-width: 24ch; margin: 0 auto;
  position: relative;
}
.cta-final-quote .glow-em { color: var(--glow); }
.cta-final-btn-wrap { margin-top: 64px; position: relative; display: inline-flex; flex-direction: column; align-items: center; gap: 16px; }
.cta-final-foot {
  font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--white);
  text-shadow: 0 0 12px rgba(0,0,0,.6);
}

/* ─── Footer ──────────────────────────────────────── */
.foot { padding: 120px 0 56px; border-top: 1px solid var(--white-12); }
.foot-top {
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 96px;
  padding-bottom: 80px; border-bottom: 1px solid var(--white-12);
  align-items: start;
}
.foot-left .head {
  font-family: var(--f-display); font-weight: 400;
  font-size: clamp(36px, 4vw, 56px); line-height: 1.1;
  letter-spacing: -.015em; color: var(--white);
  margin: 0 0 28px; max-width: 14ch;
}
.foot-left .head .glow-em { color: var(--glow); }
.foot-left .note {
  font-family: var(--f-body); font-weight: 400; font-size: 16px;
  color: var(--white); margin-bottom: 28px; max-width: 36ch;
}
.email-form {
  display: flex; gap: 0; max-width: 480px;
  border: 1px solid var(--azul-trazo);
  background: rgba(3,8,18,.6);
  transition: border-color 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
}
.email-form:focus-within {
  border-color: var(--glow);
  box-shadow: inset 0 0 16px rgba(2,94,196,.25);
}
.email-form input {
  flex: 1; background: transparent; border: 0; outline: 0;
  padding: 18px 20px; color: var(--white);
  font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em;
}
.email-form input::placeholder { color: var(--white-30); text-transform: uppercase; letter-spacing: .18em; font-size: 11px; }
.email-form button {
  background: var(--glow); border: 0; color: var(--white);
  padding: 0 22px; cursor: pointer;
  font-family: var(--f-mono); font-size: 11px; letter-spacing: .22em;
  text-transform: uppercase;
  transition: background 240ms var(--ease-out);
}
.email-form button:hover { background: var(--cyan-activo); color: var(--onyx); }

.foot-right { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.foot-col h4 {
  font-family: var(--f-mono); font-size: 13px; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--glow); margin: 0 0 22px;
  text-shadow: 0 0 12px rgba(2,94,196,.45);
}
.foot-col a, .foot-col span {
  display: block; font-family: var(--f-body); font-weight: 400;
  font-size: 17px; color: var(--white);
  text-decoration: none; margin-bottom: 10px;
  transition: color 240ms var(--ease-out);
}
.foot-col a:hover { color: var(--white); }

.foot-bot {
  display: flex; justify-content: space-between; gap: 24px;
  font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: .18em;
  text-transform: uppercase; color: var(--white);
  padding-top: 28px; flex-wrap: wrap;
  text-shadow: 0 0 12px rgba(0,0,0,.6);
}
.foot-bigword {
  font-family: var(--f-display); font-weight: 300;
  font-size: clamp(72px, 11vw, 168px);
  letter-spacing: -.025em; line-height: .9;
  color: var(--white); margin: 64px 0 0;
}
.foot-bigword .gloss { color: var(--ice); }
.wordmark .gloss { color: var(--ice); }

/* ─── Glow breath ─────────────────────────────────── */
.glow-stroke { animation: glow-pulse 5s var(--ease-pulse) infinite; }
.glow-fill { animation: glow-pulse 5s var(--ease-pulse) infinite; }
@keyframes glow-pulse {
  0%,100% { opacity: calc(.7 * var(--glow-intensity)); filter: drop-shadow(0 0 0px var(--glow)); }
  50%     { opacity: calc(1 * var(--glow-intensity));  filter: drop-shadow(0 0 6px var(--glow)); }
}
@keyframes pulse { 0%,100% { opacity:.7; } 50% { opacity:1; } }

/* ─── Reveal ──────────────────────────────────────── */
.reveal { opacity: 0; transform: translateY(72px);
  transition: opacity 1100ms var(--ease-out), transform 1200ms var(--ease-out), filter 1100ms var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
  filter: blur(6px);
}
.reveal.in { opacity: 1; transform: none; filter: blur(0); }

.reveal-left { transform: translateX(-120px) translateY(0); }
.reveal-left.in { transform: none; }
.reveal-right { transform: translateX(120px) translateY(0); }
.reveal-right.in { transform: none; }
.reveal-scale { transform: translateY(48px) scale(.88); }
.reveal-scale.in { transform: none; }

/* Hero intro animation — fast & subtle */
@keyframes hero-rise {
  0%   { opacity: 0; transform: translateY(14px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes hero-mark-in {
  0%   { opacity: 0; transform: translateY(-46%) scale(.96); }
  100% { opacity: 1; transform: translateY(-46%) scale(1); }
}
@media (max-width: 1100px) {
  @keyframes hero-mark-in {
    0%   { opacity: 0; transform: scale(.96); }
    100% { opacity: 1; transform: scale(1); }
  }
}

.hero-intro .hero-headline .w {
  display: inline-block;
  opacity: 0;
  transform: translateY(14px);
  animation: hero-rise 500ms var(--ease-out) forwards;
}

.hero-intro .hero-eyebrow,
.hero-intro .hero-sub,
.hero-intro .hero-cta-block,
.hero-intro .hero-foot {
  opacity: 0; animation: hero-rise 500ms var(--ease-out) forwards;
}
.hero-intro .hero-eyebrow   { animation-delay: 80ms; }
.hero-intro .hero-headline .w:nth-child(1) { animation-delay: 160ms; }
.hero-intro .hero-headline .w:nth-child(2) { animation-delay: 200ms; }
.hero-intro .hero-headline .w:nth-child(3) { animation-delay: 240ms; }
.hero-intro .hero-headline .w:nth-child(4) { animation-delay: 280ms; }
.hero-intro .hero-headline .w:nth-child(5) { animation-delay: 320ms; }
.hero-intro .hero-headline .w:nth-child(6) { animation-delay: 360ms; }
.hero-intro .hero-headline .w:nth-child(7) { animation-delay: 400ms; }
.hero-intro .hero-headline .w:nth-child(8) { animation-delay: 440ms; }
.hero-intro .hero-headline .w:nth-child(9) { animation-delay: 480ms; }
.hero-intro .hero-headline .w:nth-child(10){ animation-delay: 520ms; }
.hero-intro .hero-sub       { animation-delay: 560ms; }
.hero-intro .hero-cta-block { animation-delay: 660ms; }
.hero-intro .hero-foot      { animation-delay: 760ms; }
.hero-intro .hero-mark {
  animation: hero-mark-in 700ms var(--ease-out) forwards;
}

/* Underline draw-in on the headline accent */
@keyframes underline-draw {
  0%   { transform: scaleX(0); transform-origin: left; }
  100% { transform: scaleX(1); transform-origin: left; }
}
.hero-intro .hero-headline .underline::after {
  transform: scaleX(0); transform-origin: left;
  animation: underline-draw 600ms var(--ease-out) 700ms forwards;
}

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-left, .reveal-right, .reveal-scale,
  .hero-intro .hero-eyebrow, .hero-intro .hero-headline .w, .hero-intro .hero-sub,
  .hero-intro .hero-cta-block, .hero-intro .hero-foot, .hero-intro .hero-mark,
  .hero-intro .hero-headline .underline::after {
    animation: none !important; transition: none !important;
    opacity: 1 !important; transform: none !important; filter: none !important;
  }
}

/* ─── Tweaks hooks ────────────────────────────────── */
body[data-intensity="low"]  { --glow-intensity: .55; }
body[data-intensity="mid"]  { --glow-intensity: 1;   }
body[data-intensity="high"] { --glow-intensity: 1.7; }
body[data-symbol="A"] .sym-A,
body[data-symbol="B"] .sym-B,
body[data-symbol="C"] .sym-C,
body[data-symbol="D"] .sym-D { display: inline-block; }
body[data-symbol="A"] .sym-B,
body[data-symbol="A"] .sym-C,
body[data-symbol="A"] .sym-D,
body[data-symbol="B"] .sym-A,
body[data-symbol="B"] .sym-C,
body[data-symbol="B"] .sym-D,
body[data-symbol="C"] .sym-A,
body[data-symbol="C"] .sym-B,
body[data-symbol="C"] .sym-D,
body[data-symbol="D"] .sym-A,
body[data-symbol="D"] .sym-B,
body[data-symbol="D"] .sym-C { display: none; }

/* ─── Responsive ──────────────────────────────────── */
@media (max-width: 1100px) {
  .shell { padding: 0 32px; }
  .topbar-inner { padding: 16px 32px; }
  .head-grid { grid-template-columns: 1fr; gap: 32px; }
  .tri-grid, .crit-grid { grid-template-columns: 1fr; }
  .modelo { grid-template-columns: 1fr; gap: 40px; }
  .modelo .left { position: static; }
  .founders { grid-template-columns: 1fr; }
  .hero-foot { grid-template-columns: 1fr 1fr; }
  .foot-top { grid-template-columns: 1fr; gap: 56px; }
}
@media (max-width: 680px) {
  .nav { display: none; }
  .section-pad { padding: 64px 0; }
  .section-pad-lg { padding: 80px 0; }
  .shell { padding: 0 20px; }
  .topbar-inner { padding: 14px 16px; }

  /* Topbar — stack wordmark above pill */
  .topbar-inner { flex-wrap: wrap; gap: 8px; justify-content: space-between; }
  .wordmark { font-size: 16px; gap: 8px; }
  .wordmark .brand-mark { width: 28px; height: 28px; }
  .status-pill { font-size: 10px; letter-spacing: .10em; padding: 6px 10px; gap: 6px; }

  /* Hero — reduce height and spacing */
  .hero { padding-top: 80px; padding-bottom: 32px; min-height: 100svh; }
  .hero-content { padding-left: 20px; }
  .hero-headline { font-size: clamp(36px, 10vw, 48px); }
  .hero-sub { font-size: 17px; margin-top: 28px; }
  .hero-cta-block { margin-top: 36px; }
  .hero-cta-block .lead { font-size: 16px; }
  .hero-eyebrow { font-size: 12px; margin-bottom: 28px; }
  .hero-foot { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 40px; padding-top: 20px; }
  .hero-foot .cell { padding: 12px 14px; font-size: 11px; }
  .hero-foot .cell .val { font-size: 13px; }

  /* Hero mark — right of headline block.
     .brand-mark.hero-mark beats .brand-mark.size-xl (same specificity, later in source). */
  .brand-mark.hero-mark {
    top: 155px; bottom: auto; left: auto; right: 8px;
    transform: none;
    width: 135px; height: 135px;
    opacity: 0.55;
  }

  /* Manifesto — tighten */
  .manifiesto-line { font-size: clamp(22px, 6vw, 30px); margin-bottom: 24px; }

  /* Section headers */
  .head-title { font-size: clamp(28px, 8vw, 38px); }
  .head-blurb { font-size: 16px; }
  .head-grid { margin-bottom: 48px; gap: 24px; }

  /* Tri-cards — reduce padding */
  .tri-card { padding: 36px 24px 32px; }
  .tri-card .tnum { font-size: 36px; }
  .tri-card .ttitle { font-size: 22px; }
  .tri-card .tbody { font-size: 15px; }

  /* Crit-cards — reduce padding */
  .crit-card { padding: 32px 24px; }
  .crit-card .ctitle { font-size: 22px; }
  .crit-card .cbody { font-size: 15px; }

  /* Modelo */
  .modelo .left .head-title { font-size: clamp(28px, 8vw, 38px); }

  /* Founder cards */
  .founder-card .portrait { display: none; }
  .founder-card .body { max-width: 100%; padding: 32px 24px; }
  .founder-card .fmeta { max-width: 100%; }
  .founder-card { padding: 0; }

  /* Contact */
  .cta-final-quote { font-size: clamp(26px, 7vw, 36px); }

  /* Footer */
  .foot-top { gap: 36px; }
  .foot-bigword { font-size: clamp(56px, 18vw, 100px) !important; }
  .foot-bigwrap { margin-top: 40px; }

  /* CTA buttons — full width on small screens */
  .cta-row { flex-direction: column; width: 100%; }
  .btn-primary, .btn-ghost { width: 100%; text-align: center; justify-content: center; }
}


/* ─── TM mark (trademark pending) ─── */
.tm-mark {
  font-size: 0.45em;
  font-weight: 500;
  letter-spacing: 0.02em;
  vertical-align: super;
  margin-left: 0.15em;
  opacity: 0.75;
  font-family: "JetBrains Mono", monospace;
}
.tm-mark-lg {
  font-size: 0.22em;
  margin-left: 0.25em;
  opacity: 0.6;
  vertical-align: top;
  line-height: 1;
  display: inline-block;
  position: relative;
  top: 0.15em;
}


/* ─── Vert rail clean (Próximas verticales) ─── */
.vert-rail--clean {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 28px;
}
.vert-rail--clean .vert-rail-label {
  font-family: "JetBrains Mono", monospace;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--white, #f4f6fb);
  margin-bottom: 10px;
  opacity: 1;
}
.vert-rail--clean .vert-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: none;
}
.vert-rail--clean .vert-row:last-child {
  border-bottom: none;
}
.vert-rail--clean .vbullet {
  color: #025EC4;
  font-size: 18px;
  line-height: 1;
  width: 12px;
  text-align: center;
  opacity: 0.9;
}
.vert-rail--clean .vname {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--white, #f4f6fb);
}


/* ─── Multi-line underline for hero headline ─── */
.hero-headline .underline-multi {
  text-decoration: underline;
  text-decoration-color: var(--glow);
  text-decoration-thickness: 2px;
  text-underline-offset: 10px;
  text-decoration-skip-ink: none;
  filter: drop-shadow(0 0 8px var(--glow));
}
