/* ============================================================
   AXIOM LABS — Design System
   Tokens, base, components, sections, footer, animations
   ============================================================ */

:root{
  --bg: #13120F;
  --bg-2: #17161300;
  --ink: #E9E7E1;
  --ink-dim: #8A887F;
  --ink-mute: #5A584F;
  --hair: rgba(233,231,225,0.07);
  --hair-strong: rgba(233,231,225,0.14);
  --cyan: #1EC8E8;
  --panel: #1A1916;
}

*{ box-sizing: border-box; }
html, body{ margin:0; padding:0; background: var(--bg); color: var(--ink);
  font-family: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}

body{
  min-height: 100vh;
  background:
    radial-gradient(1200px 400px at 50% -120px, rgba(30,200,232,0.05), transparent 60%),
    linear-gradient(180deg, #13120F 0%, #100F0C 100%);
}

/* Smooth in-page scrolling for anchor nav */
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
}

/* ============================================================
   NAVBAR
   ============================================================ */
.nav{
  position: sticky; top: 0; z-index: 100;
  width: 100%;
  height: 88px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 40px;
  background: rgba(19,18,15,0.72);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--hair);
}

.brand{
  display: inline-flex; align-items: center; gap: 0;
  text-decoration: none; color: inherit;
  padding: 6px 0;
}
.brand img{
  display: block;
  height: 42px;
  width: auto;
  image-rendering: -webkit-optimize-contrast;
}

.menu{
  display: flex; align-items: center; gap: 40px;
  justify-self: center;
}
.menu > .menu-item{
  position: relative;
  display: inline-flex;
  align-items: center;
}
.menu a,
.menu .menu-trigger{
  position: relative;
  color: var(--ink);
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 10px 0;
  transition: color .25s ease;
  background: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1;
}
.menu a::after,
.menu .menu-trigger::after{
  content:"";
  position: absolute;
  left: 0; right: 0; bottom: 4px;
  height: 1px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.menu a:hover,
.menu .menu-trigger:hover{ color: #ffffff; }
.menu a:hover::after,
.menu .menu-item.is-open .menu-trigger::after,
.menu .menu-trigger:hover::after{ transform: scaleX(1); }
.menu a.is-active{ color: #ffffff; }
.menu a.is-active::after{ transform: scaleX(1); background: var(--ink); opacity: .55; }

.menu .menu-trigger .chev-mini{
  width: 8px; height: 8px;
  color: var(--ink-dim);
  transition: transform .25s ease, color .2s ease;
  margin-top: 1px;
}
.menu-item.is-open .menu-trigger .chev-mini,
.menu .menu-trigger:hover .chev-mini{ color: var(--ink); }
.menu-item.is-open .menu-trigger .chev-mini{ transform: rotate(180deg); }

.submenu{
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translate(-50%, -4px);
  min-width: 200px;
  background: var(--panel);
  border: 1px solid var(--hair-strong);
  border-radius: 3px;
  padding: 6px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.03) inset,
    0 20px 40px -12px rgba(0,0,0,0.6),
    0 2px 8px rgba(0,0,0,0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .22s cubic-bezier(.2,.7,.2,1);
  z-index: 60;
}
.submenu::before{
  content:"";
  position: absolute;
  left: 0; right: 0;
  top: -16px; height: 16px;
}
.menu-item.is-open .submenu{
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.submenu a{
  display: block;
  position: relative;
  padding: 10px 14px;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  border-radius: 2px;
  transition: color .2s ease, background .2s ease;
  white-space: nowrap;
}
.submenu a::after{ content: none; }
.submenu a:hover{
  color: #ffffff;
  background: rgba(255,255,255,0.03);
}
.submenu a::before{
  content:"";
  position: absolute;
  left: 14px; bottom: 6px;
  height: 1px;
  width: calc(100% - 28px);
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.submenu a:hover::before{ transform: scaleX(1); }

.right{
  justify-self: end;
  display: flex; align-items: center;
}

.lang{ position: relative; }
.lang__trigger{
  all: unset;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 12px;
  border: 1px solid var(--hair);
  border-radius: 2px;
  cursor: pointer;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  transition: border-color .2s ease, background .2s ease;
  line-height: 1;
  box-sizing: border-box;
}
.lang__trigger:hover{ border-color: var(--hair-strong); background: rgba(255,255,255,0.02); }
.lang__trigger[aria-expanded="true"]{ border-color: var(--hair-strong); background: rgba(255,255,255,0.03); }

.flag{
  width: 18px; height: 13px;
  display: inline-block;
  border-radius: 1px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  flex: none;
}
.flag svg{ display:block; width: 100%; height: 100%; }

.lang__code{ font-weight: 500; letter-spacing: 0.16em; }
.chev{
  width: 10px; height: 10px;
  color: var(--ink-dim);
  transition: transform .25s ease, color .2s ease;
}
.lang__trigger[aria-expanded="true"] .chev{ transform: rotate(180deg); color: var(--ink); }

.lang__panel{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: var(--panel);
  border: 1px solid var(--hair-strong);
  border-radius: 3px;
  padding: 6px;
  white-space: nowrap;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.03) inset,
    0 20px 40px -12px rgba(0,0,0,0.6),
    0 2px 8px rgba(0,0,0,0.3);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .18s ease, transform .22s cubic-bezier(.2,.7,.2,1);
  z-index: 60;
}
.lang__panel.is-open{ opacity: 1; transform: translateY(0); pointer-events: auto; }

.lang__opt{
  all: unset;
  display: flex; align-items: center; gap: 12px;
  width: 100%;
  padding: 9px 14px 9px 10px;
  cursor: pointer;
  border-radius: 2px;
  font-size: 13px;
  color: var(--ink);
  letter-spacing: 0.01em;
  box-sizing: border-box;
  white-space: nowrap;
}
.lang__opt:hover{ background: rgba(255,255,255,0.04); }
.lang__opt[aria-selected="true"]{ background: rgba(30,200,232,0.06); }
.lang__opt[aria-selected="true"] .lang__opt-name{ color: var(--cyan); }

/* ---- Mobile: hamburger + drawer ---- */
.nav__burger{
  display: none;
  width: 44px; height: 44px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  position: relative;
  justify-self: end;
  color: var(--ink);
  -webkit-tap-highlight-color: transparent;
}
.nav__burger span{
  position: absolute;
  left: 11px; right: 11px;
  height: 1.5px;
  background: currentColor;
  border-radius: 1px;
  transition: transform .28s cubic-bezier(.2,.7,.2,1),
              opacity .2s ease,
              top .28s cubic-bezier(.2,.7,.2,1);
}
.nav__burger span:nth-child(1){ top: 15px; }
.nav__burger span:nth-child(2){ top: 21.5px; }
.nav__burger span:nth-child(3){ top: 28px; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ top: 21.5px; transform: rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ top: 21.5px; transform: rotate(-45deg); }

.drawer__scrim{
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.drawer__scrim.is-open{
  opacity: 1;
  pointer-events: auto;
}

.drawer{
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 100%;
  max-width: 460px;
  background: var(--bg);
  border-left: 1px solid var(--hair);
  z-index: 90;
  transform: translateX(100%);
  transition: transform .36s cubic-bezier(.2,.7,.2,1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 104px 28px 40px;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  box-shadow: -20px 0 40px -12px rgba(0,0,0,0.4);
}
.drawer.is-open{
  transform: translateX(0);
  visibility: visible;
}

.drawer__menu{
  display: flex;
  flex-direction: column;
}
.drawer__item{
  display: block;
  border-bottom: 1px solid var(--hair);
}
.drawer__item:first-child{ border-top: 1px solid var(--hair); }
.drawer__link,
.drawer__trigger{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 22px 4px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  text-align: left;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.drawer__link.is-active{ color: var(--cyan); }
.drawer__chev{
  width: 12px; height: 12px;
  color: var(--ink-dim);
  transition: transform .25s ease, color .2s ease;
  flex: none;
}
.drawer__item.is-open .drawer__chev{ transform: rotate(180deg); color: var(--ink); }

.drawer__sub{
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s cubic-bezier(.2,.7,.2,1);
}
.drawer__item.is-open .drawer__sub{ max-height: 240px; }
.drawer__sub a{
  display: block;
  padding: 14px 4px 14px 22px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: 14.5px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--ink-dim);
  text-decoration: none;
}
.drawer__sub a:last-child{ padding-bottom: 20px; }
.drawer__sub a:hover,
.drawer__sub a:focus-visible{ color: var(--ink); }

.drawer__lang{
  margin-top: auto;
  padding-top: 40px;
}
.drawer__lang-label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-dim);
  margin: 0 0 18px;
}
.drawer__lang-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.drawer__lang-opt{
  all: unset;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 6px;
  border: 1px solid var(--hair);
  border-radius: 3px;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color .2s ease, background .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.drawer__lang-opt:hover,
.drawer__lang-opt:focus-visible{
  border-color: var(--hair-strong);
  background: rgba(255,255,255,0.02);
}
.drawer__lang-opt[aria-selected="true"]{
  border-color: rgba(30,200,232,0.5);
  background: rgba(30,200,232,0.04);
}
.drawer__lang-opt[aria-selected="true"] .drawer__lang-name{ color: var(--cyan); }
.drawer__lang-opt .flag{ width: 24px; height: 17px; }
.drawer__lang-name{
  font-size: 11.5px;
  letter-spacing: 0.04em;
  color: var(--ink);
  text-align: center;
  line-height: 1.1;
}

body.drawer-open{ overflow: hidden; }

@media (max-width: 900px){
  .menu{ display: none; }
  .right{ display: none; }
  .nav{ grid-template-columns: 1fr auto; padding: 0 20px; }
  .nav__burger{ display: inline-flex; }
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position: relative;
  min-height: calc(100vh - 88px);
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__grid{
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.035) 1px, transparent 1px);
  background-size: 72px 72px;
  background-position: -1px -1px;
  mask-image:
    radial-gradient(ellipse 85% 75% at 50% 50%, #000 35%, rgba(0,0,0,0.55) 70%, transparent 100%);
  -webkit-mask-image:
    radial-gradient(ellipse 85% 75% at 50% 50%, #000 35%, rgba(0,0,0,0.55) 70%, transparent 100%);
}

.hero__formulas{ display: none; }
.formula{
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
  opacity: 0.9;
}
.formula svg{ display: block; overflow: visible; }
.candle-up{ stroke: rgba(90, 180, 235, 1); fill: rgba(90, 180, 235, 0.45); }
.candle-dn{ stroke: rgba(140, 175, 215, 1); fill: rgba(140, 175, 215, 0.15); }
.candle-wick{ stroke: rgba(120, 180, 220, 0.9); }
.chart-label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 8px;
  letter-spacing: 0.14em;
  fill: rgba(120, 180, 220, 0.7);
  text-transform: uppercase;
}

.hero__lantern{ display: none; }

.hero__inner{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
  text-align: center;
}

.hero__block{
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: heroRise 900ms cubic-bezier(.2,.7,.2,1) both;
}

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

.hero__badge{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-dim);
  padding: 9px 18px;
  border: 1px solid var(--hair-strong);
  border-radius: 999px;
  background: rgba(255,255,255,0.015);
  margin-bottom: clamp(36px, 5vw, 60px);
}
.hero__badge .dot{
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 8px rgba(30,200,232,0.65);
  flex: none;
}
.hero__badge .sep{
  display: inline-block;
  width: 1px; height: 10px;
  background: var(--hair-strong);
}

.hero__wordmark{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(64px, 12vw, 200px);
  line-height: 0.95;
  letter-spacing: -0.045em;
  color: var(--ink);
  margin: 0;
  font-feature-settings: "ss01", "ss02";
  white-space: nowrap;
}
.hero__wordmark .axiom{ color: #F2EFE7; }
.hero__wordmark .labs{
  background: linear-gradient(100deg, #9CC7E6 0%, #5EB8DD 45%, #1EC8E8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.hero__wordmark .dot-mark{
  color: var(--cyan);
  -webkit-text-fill-color: var(--cyan);
  display: inline-block;
}

.hero__tagline{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 38px);
  line-height: 1.2;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ink);
  margin: clamp(36px, 4vw, 56px) 0 clamp(28px, 3vw, 40px);
  padding-left: 0.28em;
}

.hero__desc{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
  font-size: clamp(17px, 1.4vw, 22px);
  line-height: 1.5;
  letter-spacing: 0.005em;
  color: var(--ink-dim);
  max-width: 60ch;
  margin: 0 auto;
  text-wrap: balance;
}
.hero__desc strong{
  color: var(--ink);
  font-weight: 500;
}

@media (max-width: 900px){
  .hero__wordmark{ font-size: clamp(56px, 16vw, 120px); }
  .hero__badge{ font-size: 10px; padding: 7px 14px; gap: 10px; }
  .hero__tagline{ letter-spacing: 0.22em; font-size: clamp(16px, 3vw, 22px); }
  .hero__desc{ font-size: clamp(15px, 2vw, 18px); }
}

/* ============================================================
   PHILOSOPHY
   ============================================================ */
.philo{
  position: relative;
  background: #100F0C;
  border-top: 1px solid var(--hair);
  padding: clamp(88px, 12vw, 160px) 0 clamp(96px, 12vw, 180px);
  overflow: hidden;
}
.philo::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(to right,
    transparent 0%, rgba(233,231,225,0.12) 30%, rgba(233,231,225,0.12) 70%, transparent 100%);
}
.philo__wrap{
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}

.philo__head{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  margin-bottom: clamp(72px, 9vw, 120px);
  align-items: center;
}
.philo__intro{ display: flex; flex-direction: column; }
.philo__viz{
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 4;
  margin: 0;
}
.philo__viz-canvas{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
}
.philo__viz-caption{
  position: absolute;
  left: 0; bottom: -28px;
  display: inline-flex; align-items: center; gap: 10px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-dim);
}
.philo__viz-caption .dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 8px rgba(30,200,232,0.5);
}
.philo__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 36px;
}
.philo__tag .sect{ color: var(--cyan); opacity: 0.75; }
.philo__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(40px, 4.8vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0;
  text-wrap: balance;
}
.philo__title .break{ display: block; color: var(--ink-dim); }
.philo__lede{
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.55;
  color: #C9C6BD;
  max-width: 48ch;
  margin: 0;
  padding-top: clamp(8px, 1vw, 16px);
}

.philo__pillars{
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  grid-template-rows: auto auto 1fr auto;
  gap: clamp(32px, 4vw, 64px);
  border-top: 1px solid var(--hair);
  padding-top: clamp(48px, 6vw, 72px);
}
.pillar{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: clamp(14px, 1.2vw, 20px);
}
.pillar__num{
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(88px, 10vw, 160px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
  font-feature-settings: "tnum";
  align-self: end;
}
.pillar--lift .pillar__num{ color: var(--cyan); }
.pillar__title{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 1.8vw, 28px);
  letter-spacing: -0.005em;
  line-height: 1.2;
  color: var(--ink);
  margin: 0;
}
/* pillar--lift no size override: todos iguales */
.pillar__body{
  font-size: clamp(15.5px, 1.15vw, 17.5px);
  line-height: 1.6;
  color: var(--ink-dim);
  margin: 0;
  max-width: 42ch;
}
.pillar--lift .pillar__body{
  /* mismo tamaño y color que los otros dos */
}
.pillar__label{
  margin-top: clamp(16px, 2vw, 28px);
  padding-top: 14px;
  border-top: 1px solid var(--hair);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(11.5px, 0.85vw, 13px);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(140, 210, 225, 0.78);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.pillar__label .bullet{
  color: var(--cyan);
  opacity: 0.9;
  font-size: 14px;
  line-height: 1;
  transform: translateY(-0.5px);
}
.pillar--lift .pillar__label{ color: rgba(160, 220, 235, 0.85); }
.pillar--lift .pillar__label .bullet{ opacity: 1; }

.philo__cta-row{
  display: flex;
  justify-content: flex-end;
  margin-top: clamp(72px, 8vw, 112px);
  padding-top: clamp(32px, 4vw, 48px);
  border-top: 1px solid var(--hair);
}
.philo__cta{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.15vw, 18px);
  letter-spacing: 0.02em;
  line-height: 1;
  padding-bottom: 6px;
  position: relative;
  transition: color .3s ease, gap .3s cubic-bezier(.2,.7,.2,1);
}
.philo__cta::before{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--hair-strong);
}
.philo__cta::after{
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  height: 1px;
  width: 30%;
  background: var(--cyan);
  transition: width .35s cubic-bezier(.2,.7,.2,1);
}
.philo__cta .arr{
  width: 22px;
  height: 1px;
  background: var(--ink);
  position: relative;
  transition: background .3s ease, width .3s cubic-bezier(.2,.7,.2,1);
}
.philo__cta .arr::after{
  content:"";
  position:absolute;
  right: -1px; top: 50%;
  width: 6px; height: 6px;
  border-top: 1px solid var(--ink);
  border-right: 1px solid var(--ink);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .3s ease;
}
.philo__cta:hover{ color: var(--cyan); gap: 20px; }
.philo__cta:hover::after{ width: 100%; }
.philo__cta:hover .arr{ background: var(--cyan); width: 32px; }
.philo__cta:hover .arr::after{ border-color: var(--cyan); }

@media (max-width: 900px){
  .philo__head{ grid-template-columns: 1fr; gap: 28px; }
  .philo__pillars{ grid-template-columns: 1fr; gap: 56px; }
  .philo__cta-row{ justify-content: flex-start; }
}

/* ============================================================
   PRODUCTS
   ============================================================ */
.products{
  position: relative;
  background: #0B0A07;
  border-top: 1px solid var(--hair);
  padding: clamp(96px, 12vw, 160px) 0 clamp(120px, 14vw, 200px);
  overflow: hidden;
}
.products__grid-bg{
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 75% 70% at 50% 40%, #000 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 40%, #000 40%, transparent 100%);
}
.products__wrap{
  position: relative;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.products__head{
  display: grid;
  grid-template-columns: 1.1fr 0.95fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
  margin: 0 0 clamp(64px, 8vw, 110px);
}
.products__intro{
  display: flex; flex-direction: column;
  text-align: right;
  align-items: flex-end;
}
.products__sub{ max-width: 44ch; }
.products__badge{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(24px, 3vw, 40px);
}
.products__badge .sect{ color: var(--cyan); opacity: 0.75; }
.products__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(40px, 4.8vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0 0 clamp(20px, 2.2vw, 32px);
  text-wrap: balance;
}
.products__title .accent{ position: relative; display: inline-block; color: var(--cyan); }
.products__sub{
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.55;
  color: #C9C6BD;
  max-width: 52ch;
  margin: 0;
}

.products__cards{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  gap: clamp(24px, 3vw, 40px);
  align-items: stretch;
}
.pcard{
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  background: #F4F1E9;
  padding: clamp(28px, 3vw, 44px);
  gap: clamp(22px, 2.4vw, 32px);
  overflow: hidden;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.6);
  transition: border-color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.pcard::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0F8FA8 50%, transparent 100%);
  opacity: 0.5;
  transition: opacity .35s ease;
}
.pcard:hover{
  border-color: rgba(15, 143, 168, 0.55);
  transform: translateY(-4px);
  box-shadow:
    0 30px 60px -28px rgba(0,0,0,0.7),
    0 0 0 1px rgba(15, 143, 168, 0.25),
    0 0 48px -8px rgba(30, 200, 232, 0.35);
}
.pcard:hover::before{ opacity: 1; }
.pcard__top{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(20px, 2.4vw, 32px);
  align-items: start;
}
.pcard__logo{
  width: clamp(140px, 16vw, 200px);
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(19, 18, 15, 0.12);
  background: #0B0A07;
  flex: none;
}
.pcard__logo img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.pcard__info{
  display: flex; flex-direction: column;
  gap: clamp(12px, 1.2vw, 18px);
  min-width: 0;
}
.pcard__heading{ display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.pcard__name{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(26px, 2.4vw, 36px);
  letter-spacing: -0.02em;
  line-height: 1;
  color: #13120F;
  margin: 0;
}
.pcard__ver{
  display: inline-flex; align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(15, 143, 168, 0.12);
  color: #0F8FA8;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
}
.pcard__tagline{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 14.5px;
  letter-spacing: 0.02em;
  color: #5A584F;
  margin: 0;
  line-height: 1.4;
}
.pcard__desc{
  font-size: clamp(16.5px, 1.2vw, 18.5px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}

.pcard__backtest{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #0F8FA8;
  margin: 0;
  padding-top: clamp(4px, 0.5vw, 8px);
  border-top: 1px solid rgba(19, 18, 15, 0.08);
  padding-bottom: 0;
}
.pcard__backtest::before{
  content: "●";
  margin-right: 10px;
  font-size: 8px;
  vertical-align: middle;
  color: #0F8FA8;
}

.pcard__kpis{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(10px, 1vw, 14px);
}
.kpi{
  padding: clamp(16px, 1.6vw, 22px) clamp(10px, 1vw, 14px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 12px;
  background: rgba(19, 18, 15, 0.025);
  text-align: center;
  display: flex; flex-direction: column;
  gap: 8px;
}
.kpi__val{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(26px, 2.2vw, 34px);
  letter-spacing: -0.02em;
  line-height: 1;
  color: #0F8FA8;
}
.kpi__label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7A7870;
}

.pcard__cta{
  margin-top: auto;
  display: inline-flex;
  align-items: center; justify-content: center;
  gap: 12px;
  padding: clamp(14px, 1.3vw, 18px);
  border: 1px solid rgba(15, 143, 168, 0.35);
  border-radius: 12px;
  background: rgba(15, 143, 168, 0.06);
  color: #0F8FA8;
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(14px, 1vw, 16px);
  letter-spacing: 0.02em;
  transition: background .25s ease, border-color .25s ease, gap .3s cubic-bezier(.2,.7,.2,1), color .25s ease;
}
.pcard__cta .arr{ font-size: 1.1em; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.pcard__cta:hover{
  background: #0F8FA8;
  border-color: #0F8FA8;
  color: #F4F1E9;
  gap: 16px;
}
.pcard__cta:hover .arr{ transform: translateX(3px); }

.products__cards{
  grid-template-rows: auto auto 1fr auto;
}

/* Hero card (Edge, in the head row — no subgrid parent) */
.pcard--hero{
  grid-template-rows: auto auto auto auto;
  grid-row: auto;
  align-self: stretch;
}

/* ============================================================
   EQUITY REPLAY — animated backtest curve
   ============================================================ */
.equity{
  position: relative;
  margin: 0;
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 20px;
  background: #FFFFFF;
  overflow: hidden;
  box-shadow:
    0 40px 80px -30px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(30, 200, 232, 0.06);
}
.equity::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0F8FA8 50%, transparent 100%);
  opacity: 0.45;
  z-index: 2;
}
.equity__head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 2.4vw, 32px);
  padding: clamp(24px, 2.6vw, 36px) clamp(28px, 3.2vw, 44px);
  border-bottom: 1px solid rgba(19, 18, 15, 0.08);
}
.equity__title-group{
  display: flex; flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.equity__eyebrow{
  display: inline-flex; align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #0F8FA8;
}
.equity__eyebrow .dot{
  width: 7px; height: 7px; border-radius: 50%;
  background: #0F8FA8;
  box-shadow: 0 0 8px rgba(15,143,168,0.55);
  animation: equity-pulse 2.4s ease-in-out infinite;
}
@keyframes equity-pulse{
  0%, 100%{ opacity: 1; }
  50%{ opacity: 0.35; }
}
.equity__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.9vw, 30px);
  letter-spacing: -0.02em;
  color: #13120F;
  margin: 0;
}
.equity__meta{
  display: flex;
  gap: clamp(22px, 2.6vw, 44px);
  align-items: center;
}
.equity__meta-item{
  display: flex; flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.equity__meta-label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7A7870;
}
.equity__meta-val{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.8vw, 30px);
  letter-spacing: -0.015em;
  color: #13120F;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.equity__meta-val--accent{ color: #0F8FA8; }

.equity__stage{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 6.5;
  background: #FFFFFF;
}
.equity__canvas{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
}
.equity__legend{
  position: absolute;
  left: clamp(20px, 2.2vw, 32px);
  top: clamp(16px, 1.8vw, 24px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5A584F;
  pointer-events: none;
}
.equity__legend-item{
  display: inline-flex; align-items: center; gap: 10px;
}
.equity__swatch{
  width: 18px; height: 2.5px; border-radius: 2px;
}
.equity__swatch--equity{ background: #0F8FA8; box-shadow: 0 0 6px rgba(15,143,168,0.45); }
.equity__swatch--balance{ background: #13120F; }

.equity__foot{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(19, 18, 15, 0.08);
  background: #FAFAF7;
}
.equity__foot-cell{
  display: flex; flex-direction: column;
  gap: 8px;
  padding: clamp(18px, 2vw, 28px) clamp(22px, 2.6vw, 36px);
  border-right: 1px solid rgba(19, 18, 15, 0.08);
}
.equity__foot-cell:last-child{ border-right: 0; }
.equity__foot-k{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7A7870;
}
.equity__foot-v{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(20px, 1.6vw, 26px);
  letter-spacing: -0.015em;
  color: #13120F;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1100px){
  .products__head{ grid-template-columns: 1fr; gap: 48px; }
  .products__intro{ text-align: left; align-items: flex-start; }
  .products__cards{ grid-template-columns: 1fr; grid-template-rows: none; }
  .pcard{ grid-template-rows: auto auto 1fr auto; grid-row: auto; }
  .equity__stage{ aspect-ratio: 16 / 8; }
  .equity__foot{ grid-template-columns: repeat(2, 1fr); }
  .equity__foot-cell:nth-child(2){ border-right: 0; }
  .equity__foot-cell:nth-child(1), .equity__foot-cell:nth-child(2){
    border-bottom: 1px solid rgba(233, 231, 225, 0.06);
  }
  .equity__head{ flex-direction: column; align-items: flex-start; }
  .equity__meta{ width: 100%; justify-content: space-between; }
}
@media (max-width: 640px){
  .pcard__top{ grid-template-columns: 1fr; }
  .pcard__logo{ width: 120px; }
  .pcard__kpis{ grid-template-columns: repeat(2, 1fr); }
  .equity__stage{ aspect-ratio: 4 / 3; }
  .equity__legend{ display: none; }
  .equity__meta{ flex-wrap: wrap; gap: 14px; }
}

/* ============================================================
   BROKERS
   ============================================================ */
.brokers{
  position: relative;
  background: #0D0C09;
  border-top: 1px solid var(--hair);
  padding: clamp(96px, 12vw, 160px) 0 clamp(112px, 13vw, 180px);
  overflow: hidden;
}
.brokers__bg{
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.022) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.022) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: radial-gradient(ellipse 70% 65% at 50% 45%, #000 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 50% 45%, #000 40%, transparent 100%);
}
.brokers__wrap{
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.brokers__head{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
  margin-bottom: clamp(72px, 9vw, 120px);
}
.brokers__intro{ display: flex; flex-direction: column; }
.brokers__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 36px;
}
.brokers__tag .sect{ color: var(--cyan); opacity: 0.75; }
.brokers__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(40px, 4.8vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0;
  text-wrap: balance;
  -webkit-text-wrap: balance;
  hyphens: none;
}
.brokers__lede{
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.55;
  color: #C9C6BD;
  max-width: 52ch;
  margin: 0;
  padding-top: clamp(20px, 2.2vw, 32px);
}

/* --- Brokers viz (two MT5-style mini-backtests) --- */
.brokers__viz{
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.4vw, 20px);
  margin: 0;
  min-width: 0;
}
.bviz-card{
  position: relative;
  border: 1px solid rgba(233,231,225,0.08);
  border-radius: 12px;
  background: linear-gradient(180deg, #131210 0%, #0C0B08 100%);
  padding: clamp(14px, 1.3vw, 20px) clamp(16px, 1.5vw, 22px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: clamp(10px, 1vw, 14px);
  overflow: hidden;
}
.bviz-card--good{ border-color: rgba(30, 200, 232, 0.22); }
.bviz-card--bad { border-color: rgba(232, 155, 74, 0.18); }
.bviz-card__header{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}
.bviz-card__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(13.5px, 1vw, 15px);
  letter-spacing: -0.005em;
  color: var(--ink);
}
.bviz-card--bad .bviz-card__title{ color: #C9C6BD; }
.bviz-card__meta{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(233, 231, 225, 0.62);
  white-space: nowrap;
}
.bviz-card--good .bviz-card__meta{ color: rgba(30, 200, 232, 0.72); }
.bviz-card--bad  .bviz-card__meta{ color: rgba(232, 155, 74, 0.72); }
.bviz-card__canvas{
  display: block;
  width: 100%;
  height: clamp(120px, 13vw, 170px);
}
.bviz-card__foot{
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
}
.bviz-card__tick{ font-size: 7px; }
.bviz-card--good .bviz-card__tick{ color: var(--cyan); }
.bviz-card--bad  .bviz-card__tick{ color: #E89B4A; }
.bviz-card__result{
  font-weight: 600;
  font-feature-settings: "zero", "ss01";
  font-size: 13px;
  letter-spacing: 0.04em;
}
.bviz-card__result--good{ color: var(--cyan); }
.bviz-card__result--bad { color: #E89B4A; }

@media (max-width: 720px){
  .bviz-card__header{
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .bviz-card__meta{
    white-space: normal;
    font-size: 10px;
    letter-spacing: 0.14em;
    line-height: 1.3;
  }
  .bviz-card{ min-width: 0; }
}

.brokers__panel{
  position: relative;
  border: 1px solid var(--hair-strong);
  border-radius: 18px;
  background: linear-gradient(180deg, #131210 0%, #0E0D0B 100%);
  padding: clamp(36px, 4vw, 56px);
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: clamp(36px, 5vw, 72px);
  align-items: stretch;
}
.brokers__panel::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--cyan) 50%, transparent 100%);
  opacity: 0.7;
}
.brokers__aside{
  display: flex; flex-direction: column;
  justify-content: space-between;
  gap: clamp(24px, 3vw, 40px);
  border-right: 1px solid var(--hair);
  padding-right: clamp(28px, 4vw, 56px);
}
.brokers__partner-tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 22px;
}
.brokers__logos{
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.2vw, 32px);
  padding: clamp(18px, 1.8vw, 24px) clamp(20px, 2vw, 28px);
  border: 1px solid var(--hair);
  border-radius: 12px;
  background: #F4F1E9;
  margin-bottom: 20px;
}
.brokers__logo{
  display: block;
  height: clamp(28px, 2.6vw, 38px);
  width: auto;
  object-fit: contain;
  flex: 1 1 auto;
  min-width: 0;
}
.brokers__logos-sep{
  flex: none;
  width: 1px;
  align-self: stretch;
  background: rgba(19, 18, 15, 0.12);
}
.brokers__partner-sub{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.55;
  color: var(--ink-dim);
  margin: 0;
}
.brokers__partner-sub strong{ color: var(--ink); font-weight: 600; }
.brokers__stats{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--hair);
  border: 1px solid var(--hair);
  border-radius: 12px;
  overflow: hidden;
}
.bstat{
  padding: clamp(14px, 1.4vw, 18px);
  background: rgba(0,0,0,0.2);
  display: flex; flex-direction: column;
  gap: 6px;
}
.bstat__val{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-weight: 500;
  font-size: clamp(22px, 1.9vw, 30px);
  letter-spacing: -0.01em;
  line-height: 1;
  color: var(--cyan);
  font-feature-settings: "zero", "ss01";
}
.bstat__label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
}

.brokers__body{ display: flex; flex-direction: column; gap: clamp(20px, 2vw, 28px); }

/* --- Brokers Partner Program banner --- */
.brokers__promo{
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: clamp(20px, 2.4vw, 36px);
  margin-top: clamp(18px, 2vw, 28px);
  padding: clamp(22px, 2.4vw, 32px) clamp(24px, 2.6vw, 36px);
  border: 1px solid rgba(30, 200, 232, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(30, 200, 232, 0.08) 0%, rgba(30, 200, 232, 0.02) 50%, rgba(30, 200, 232, 0.06) 100%);
  text-decoration: none;
  overflow: hidden;
  transition: border-color .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.brokers__promo::before{
  content: "";
  position: absolute;
  top: 0; left: 0; width: 3px; height: 100%;
  background: linear-gradient(180deg, transparent 0%, var(--cyan) 40%, var(--cyan) 60%, transparent 100%);
  opacity: 0.75;
  transition: opacity .35s ease;
}
.brokers__promo:hover{
  border-color: rgba(30, 200, 232, 0.55);
  transform: translateY(-2px);
  box-shadow: 0 18px 44px -24px rgba(30, 200, 232, 0.45), 0 0 0 1px rgba(30, 200, 232, 0.18);
}
.brokers__promo:hover::before{ opacity: 1; }

.brokers__promo-text{
  display: flex; flex-direction: column; gap: 6px;
  min-width: 0;
}
.brokers__promo-eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cyan);
}
.brokers__promo-pitch{
  margin: 0;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(15px, 1.15vw, 18px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.brokers__promo-cta{
  display: inline-flex; align-items: center;
  gap: 14px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(14px, 1vw, 16px);
  letter-spacing: 0.01em;
  color: var(--cyan);
  white-space: nowrap;
  flex: none;
}
.brokers__promo-cta .arr{
  display: inline-block;
  width: 28px; height: 1px;
  background: var(--cyan);
  position: relative;
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
.brokers__promo-cta .arr::after{
  content: ""; position: absolute;
  right: -1px; top: 50%;
  width: 6px; height: 6px;
  border-top: 1px solid var(--cyan);
  border-right: 1px solid var(--cyan);
  transform: translateY(-50%) rotate(45deg);
}
.brokers__promo:hover .brokers__promo-cta .arr{ transform: translateX(6px); }

@media (max-width: 640px){
  .brokers__promo{ grid-template-columns: 1fr; gap: 16px; }
  .brokers__promo-cta{ justify-self: start; }
}
.brokers__copy{
  font-size: clamp(15.5px, 1.1vw, 18px);
  line-height: 1.65;
  color: #C9C6BD;
  margin: 0;
}
.brokers__copy strong{ color: var(--ink); font-weight: 500; }
.brokers__features{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 1.4vw, 20px);
  margin-top: clamp(8px, 1vw, 12px);
}
.bfeat{
  padding: clamp(16px, 1.4vw, 20px);
  border: 1px solid var(--hair);
  border-radius: 12px;
  background: rgba(255,255,255,0.014);
  display: flex; flex-direction: column;
  gap: 8px;
}
.bfeat__k{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(15px, 1.1vw, 17px);
  letter-spacing: -0.01em;
  color: var(--ink);
}
.bfeat__v{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.12em;
  color: var(--cyan);
  text-transform: uppercase;
  font-feature-settings: "zero", "ss01";
}

.brokers__foot{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 1px solid var(--hair);
}
.brokers__disclosure{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.55;
  color: var(--ink-mute);
  margin: 0;
  max-width: 62ch;
}
.brokers__cta{
  display: inline-flex; align-items: center;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.15vw, 18px);
  letter-spacing: 0.02em;
  line-height: 1;
  padding-bottom: 6px;
  position: relative;
  white-space: nowrap;
  transition: color .3s ease, gap .3s cubic-bezier(.2,.7,.2,1);
}
.brokers__cta::before{
  content: ""; position: absolute;
  left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--hair-strong);
}
.brokers__cta::after{
  content: ""; position: absolute;
  left: 0; bottom: 0; height: 1px;
  width: 30%;
  background: var(--cyan);
  transition: width .35s cubic-bezier(.2,.7,.2,1);
}
.brokers__cta .arr{
  width: 22px; height: 1px;
  background: var(--ink);
  position: relative;
  transition: background .3s ease, width .3s cubic-bezier(.2,.7,.2,1);
}
.brokers__cta .arr::after{
  content:""; position:absolute;
  right: -1px; top: 50%;
  width: 6px; height: 6px;
  border-top: 1px solid var(--ink);
  border-right: 1px solid var(--ink);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .3s ease;
}
.brokers__cta:hover{ color: var(--cyan); gap: 20px; }
.brokers__cta:hover::after{ width: 100%; }
.brokers__cta:hover .arr{ background: var(--cyan); width: 32px; }
.brokers__cta:hover .arr::after{ border-color: var(--cyan); }

/* Gancho "Ventaja para propietarios" (promoción IB) — sección de tema CLARO */
.brokers__perk{
  position: relative;
  overflow: hidden;
  display: flex; align-items: center; justify-content: space-between;
  gap: clamp(24px, 3vw, 48px);
  margin-top: clamp(40px, 5vw, 64px);
  padding: clamp(22px, 2.4vw, 30px) clamp(24px, 2.6vw, 36px);
  border: 1px solid rgba(15,143,168,0.38);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(15,143,168,0.13) 0%, rgba(15,143,168,0.04) 50%, rgba(15,143,168,0.11) 100%);
}
/* Destello que "pasa" en diagonal cada ~6s */
.brokers__perk::after{
  content: ""; position: absolute; top: 0; left: 0;
  width: 45%; height: 100%;
  background: linear-gradient(100deg, transparent 0%, rgba(30,200,232,0.18) 50%, transparent 100%);
  transform: translateX(-180%) skewX(-18deg);
  animation: perkSheen 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes perkSheen{
  0%, 16%   { transform: translateX(-180%) skewX(-18deg); }
  60%, 100% { transform: translateX(320%)  skewX(-18deg); }
}
@media (prefers-reduced-motion: reduce){
  .brokers__perk::after{ animation: none; display: none; }
}
.brokers__perk-text{ position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; }
.brokers__perk-tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--cyan-on); margin: 0;
}
.brokers__perk-title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(16px, 1.4vw, 20px); line-height: 1.4;
  color: var(--ink-on); margin: 0; max-width: 56ch;
}
/* Botón = enlace-flecha de marca (igual que .philo__cta / .brokers__cta) */
.brokers__perk-cta{
  position: relative; z-index: 1;
  flex: none;
  display: inline-flex; align-items: center; gap: 14px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600; font-size: clamp(15px, 1.1vw, 17px);
  letter-spacing: 0.02em; line-height: 1;
  color: var(--ink-on); text-decoration: none;
  white-space: nowrap;
  padding-bottom: 6px;
  transition: color .3s ease, gap .3s cubic-bezier(.2,.7,.2,1);
}
.brokers__perk-cta::before{
  content: ""; position: absolute;
  left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--hair-on-strong);
}
.brokers__perk-cta::after{
  content: ""; position: absolute;
  left: 0; bottom: 0; height: 1px;
  width: 30%;
  background: var(--cyan-on);
  transition: width .35s cubic-bezier(.2,.7,.2,1);
}
.brokers__perk-cta .arr{
  width: 22px; height: 1px;
  background: var(--ink-on);
  position: relative;
  transition: background .3s ease, width .3s cubic-bezier(.2,.7,.2,1);
}
.brokers__perk-cta .arr::after{
  content: ""; position: absolute;
  right: -1px; top: 50%;
  width: 6px; height: 6px;
  border-top: 1px solid var(--ink-on);
  border-right: 1px solid var(--ink-on);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .3s ease;
}
.brokers__perk-cta:hover{ color: var(--cyan-on); gap: 20px; }
.brokers__perk-cta:hover::after{ width: 100%; }
.brokers__perk-cta:hover .arr{ background: var(--cyan-on); width: 32px; }
.brokers__perk-cta:hover .arr::after{ border-color: var(--cyan-on); }

/* QR de registro IB (bajo los recuadros de features) */
.brokers__qr{
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 1.6vw, 24px);
  margin-top: clamp(20px, 2vw, 28px);
}
.brokers__qr-item{
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  text-align: center;
  padding: clamp(16px, 1.4vw, 20px);
  border: 1px solid var(--hair-on-strong);
  border-radius: 12px; background: #FFFFFF;
}
.brokers__qr-label{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600; font-size: clamp(13px, 1vw, 15px);
  color: var(--ink-on); line-height: 1.3;
}
.brokers__qr-link{ display: block; line-height: 0; }
.brokers__qr-img{ width: clamp(104px, 9vw, 128px); height: auto; display: block; border-radius: 6px; }

@media (max-width: 760px){
  .brokers__perk{ flex-direction: column; align-items: flex-start; gap: 22px; }
  .brokers__perk-cta{ align-self: flex-start; }
}

@media (max-width: 1100px){
  .brokers__head{ grid-template-columns: 1fr; gap: 48px; }
  .brokers__panel{ grid-template-columns: 1fr; }
  .brokers__aside{ border-right: none; border-bottom: 1px solid var(--hair); padding-right: 0; padding-bottom: clamp(28px, 4vw, 40px); }
  .brokers__features{ grid-template-columns: repeat(2, 1fr); }
  .brokers__foot{ grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 640px){
  .brokers__features{ grid-template-columns: 1fr; }
  .brokers__stats{ grid-template-columns: 1fr; }
  .brokers__logos{ flex-direction: column; gap: 16px; }
  .brokers__logos-sep{ width: 100%; height: 1px; align-self: center; }
}
@media (max-width: 720px){
  .brokers__panel{ padding: 24px 20px; }
  .brokers__panel > *{ min-width: 0; }
  .brokers__stats{ min-width: 0; }
  .brokers__partner-tag{
    font-size: 11px;
    letter-spacing: 0.18em;
    margin-bottom: 16px;
  }
  .brokers__logos{ padding: 16px 18px; margin-bottom: 16px; }
  .brokers__partner-sub{ font-size: 14.5px; line-height: 1.55; }
  .bstat{ padding: 14px 16px; }
  .bstat__val{ font-size: 22px; }
  .bstat__label{ font-size: 11px; letter-spacing: 0.14em; }
  .brokers__copy{ font-size: 15.5px; }
  .brokers__promo{ grid-template-columns: 1fr; gap: 16px; }
}

/* ============================================================
   TEAM
   ============================================================ */
.team{
  position: relative;
  background: #0B0A07;
  border-top: 1px solid var(--hair);
  padding: clamp(96px, 12vw, 160px) 0 clamp(112px, 13vw, 180px);
  overflow: hidden;
}
.team__bg{
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.022) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.022) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: radial-gradient(ellipse 70% 65% at 50% 45%, #000 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 50% 45%, #000 40%, transparent 100%);
}
.team__wrap{
  position: relative;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.team__head{
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(56px, 7vw, 88px);
}
.team__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(24px, 3vw, 36px);
}
.team__tag .sect{ color: var(--cyan); opacity: 0.75; }
.team__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(36px, 4.8vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0 0 clamp(16px, 1.6vw, 22px);
  text-wrap: balance;
}
.team__sub{
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.55;
  color: #C9C6BD;
  margin: 0 auto;
  max-width: 52ch;
}

.team__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: clamp(24px, 3vw, 40px);
}

.tcard{
  position: relative;
  background: #F4F1E9;
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  padding: clamp(32px, 3.5vw, 48px);
  display: flex; flex-direction: column;
  gap: clamp(20px, 2.2vw, 28px);
  overflow: hidden;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.6);
  transition: border-color .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.tcard::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0F8FA8 50%, transparent 100%);
  opacity: 0.5;
  transition: opacity .35s ease;
}
.tcard:hover{
  border-color: rgba(15, 143, 168, 0.55);
  transform: translateY(-4px);
  box-shadow:
    0 30px 60px -28px rgba(0,0,0,0.7),
    0 0 0 1px rgba(15, 143, 168, 0.25),
    0 0 48px -8px rgba(30, 200, 232, 0.35);
}
.tcard:hover::before{ opacity: 1; }

.tcard__photo{
  width: clamp(140px, 14vw, 180px);
  height: clamp(140px, 14vw, 180px);
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  flex: none;
  border: 1px solid rgba(19, 18, 15, 0.12);
  background: #0F0E0B;
  transform: translateZ(0);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
}
.tcard__photo::after{
  content: "";
  position: absolute; inset: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(15,143,168,0.10);
  pointer-events: none;
}
.tcard__photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 22%;
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.tcard__photo:hover{
  transform: scale(1.06);
  border-color: rgba(15,143,168,0.45);
  box-shadow: 0 12px 40px -12px rgba(15,143,168,0.35);
}

.tcard__id{ display: flex; flex-direction: column; gap: 8px; }
.tcard__name{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 2vw, 30px);
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: #13120F;
  margin: 0;
}
.tcard__role{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(11.5px, 0.85vw, 13px);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #0F8FA8;
  margin: 0;
}

.tcard__tags{ display: flex; flex-wrap: wrap; gap: 8px; }
.tpill{
  display: inline-flex; align-items: center;
  gap: 8px;
  padding: 7px 12px 7px 10px;
  border: 1px solid rgba(15, 143, 168, 0.28);
  border-radius: 999px;
  background: rgba(15, 143, 168, 0.06);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #3A3935;
  white-space: nowrap;
}
.tpill svg{
  width: 10px; height: 10px;
  stroke: #0F8FA8;
  opacity: 0.95;
  flex: none;
}

.tcard__bio{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(14.5px, 1.05vw, 16.5px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
  text-wrap: pretty;
}

.tcard__foot{
  margin-top: auto;
  padding-top: clamp(16px, 1.8vw, 24px);
  border-top: 1px solid rgba(19, 18, 15, 0.08);
  min-height: 56px;
  display: flex; align-items: center;
}
.tcard__link{
  display: inline-flex; align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border: 1px solid rgba(15, 143, 168, 0.35);
  border-radius: 999px;
  color: #0F8FA8;
  background: rgba(15, 143, 168, 0.06);
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.01em;
  transition: border-color .25s ease, color .25s ease, background .25s ease;
}
.tcard__link svg{ width: 14px; height: 14px; flex: none; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.tcard__link:hover{
  color: #F4F1E9;
  border-color: #0F8FA8;
  background: #0F8FA8;
}
.tcard__link:hover svg{ transform: translateX(2px); }

.team__cta-row{
  display: flex; justify-content: center;
  margin-top: clamp(56px, 6vw, 80px);
  padding-top: clamp(32px, 4vw, 48px);
  border-top: 1px solid var(--hair);
}
.team__cta{
  display: inline-flex; align-items: center;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.15vw, 18px);
  letter-spacing: 0.02em;
  line-height: 1;
  padding-bottom: 6px;
  position: relative;
  white-space: nowrap;
  transition: color .3s ease, gap .3s cubic-bezier(.2,.7,.2,1);
}
.team__cta::before{
  content: ""; position: absolute;
  left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--hair-strong);
}
.team__cta::after{
  content: ""; position: absolute;
  left: 0; bottom: 0; height: 1px;
  width: 30%;
  background: var(--cyan);
  transition: width .35s cubic-bezier(.2,.7,.2,1);
}
.team__cta .arr{
  width: 22px; height: 1px;
  background: var(--ink);
  position: relative;
  transition: background .3s ease, width .3s cubic-bezier(.2,.7,.2,1);
}
.team__cta .arr::after{
  content: ""; position: absolute;
  right: -1px; top: 50%;
  width: 6px; height: 6px;
  border-top: 1px solid var(--ink);
  border-right: 1px solid var(--ink);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .3s ease;
}
.team__cta:hover{ color: var(--cyan); gap: 20px; }
.team__cta:hover::after{ width: 100%; }
.team__cta:hover .arr{ background: var(--cyan); width: 32px; }
.team__cta:hover .arr::after{ border-color: var(--cyan); }

/* ============================================================
   CONTACT
   ============================================================ */
.contact{
  position: relative;
  background: #0D0C09;
  border-top: 1px solid var(--hair);
  padding: clamp(96px, 12vw, 160px) 0 clamp(112px, 13vw, 180px);
  overflow: hidden;
}
.contact__bg{
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.022) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.022) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: radial-gradient(ellipse 70% 65% at 50% 45%, #000 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 50% 45%, #000 40%, transparent 100%);
}
.contact__wrap{
  position: relative;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.contact__grid{
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
@media (max-width: 960px){
  .contact__grid{ grid-template-columns: 1fr; gap: clamp(40px, 6vw, 56px); }
}

.contact__left{
  display: flex; flex-direction: column;
  gap: clamp(24px, 3vw, 40px);
  padding-top: clamp(8px, 1vw, 16px);
}
.contact__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex; align-items: center;
  gap: 10px;
}
.contact__tag .sect{ color: var(--cyan); opacity: 0.75; }
.contact__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(36px, 4.4vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0;
  text-wrap: balance;
  max-width: 14ch;
}
.contact__lede{
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.55;
  color: #C9C6BD;
  margin: 0;
  max-width: 48ch;
  text-wrap: pretty;
}
.contact__email-block{
  display: flex; flex-direction: column;
  gap: 10px;
  margin-top: clamp(4px, 0.5vw, 8px);
}
.contact__email-label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.contact__email{
  display: inline-flex; align-items: center;
  gap: 12px;
  font-family: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: clamp(16px, 1.3vw, 20px);
  font-weight: 400;
  font-variant-ligatures: none;
  color: var(--ink);
  text-decoration: none;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(30,200,232,0.3);
  width: fit-content;
  transition: border-color .35s ease, color .35s ease;
}
.contact__email span{
  font-family: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
}
.contact__email:hover{ color: var(--cyan); border-bottom-color: var(--cyan); }
.contact__email svg{
  width: 16px; height: 16px;
  stroke: var(--cyan);
  stroke-width: 1.4;
  fill: none;
  flex-shrink: 0;
}

.contact__panel{
  position: relative;
  border: 1px solid var(--hair-strong);
  border-radius: 18px;
  background: linear-gradient(180deg, #131210 0%, #0E0D0B 100%);
  padding: clamp(28px, 3.4vw, 48px);
}
.contact__panel::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--cyan) 50%, transparent 100%);
  opacity: 0.7;
}
.contact-form{ display: flex; flex-direction: column; gap: clamp(18px, 1.8vw, 22px); }
.form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.6vw, 20px); }
@media (max-width: 560px){ .form-row{ grid-template-columns: 1fr; } }
.form-group{ display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.form-group label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-dim);
}
.form-group input,
.form-group select,
.form-group textarea{
  width: 100%;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(14.5px, 1vw, 16px);
  font-weight: 400;
  color: var(--ink);
  background: #0F0E0C;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 10px;
  padding: 14px 16px;
  line-height: 1.4;
  transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
  -webkit-appearance: none;
  appearance: none;
}
.form-group textarea{
  resize: vertical;
  min-height: 120px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
}
.form-group input::placeholder,
.form-group textarea::placeholder{
  color: var(--ink-dim);
  font-weight: 400;
  opacity: 1;
}
.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover{ border-color: rgba(255,255,255,0.18); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline: none;
  border-color: var(--cyan);
  background: #0C0B09;
  box-shadow: 0 0 0 3px rgba(30,200,232,0.15), 0 0 20px -6px rgba(30,200,232,0.25);
}
.form-group select{
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231EC8E8' stroke-width='1.6'><path d='M1 1.5L6 6.5L11 1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  padding-right: 44px;
}
.form-group select option{ background: #1A1916; color: var(--ink); }

.btn.btn-primary.btn-full{
  margin-top: clamp(6px, 0.6vw, 10px);
  width: 100%;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 12px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(14.5px, 1vw, 16px);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #0A0908;
  background: linear-gradient(180deg, #3AD6F0 0%, #1EC8E8 100%);
  border: 1px solid rgba(30,200,232,0.5);
  border-radius: 999px;
  padding: 16px 28px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .25s ease, filter .25s ease;
  box-shadow: 0 1px 0 rgba(255,255,255,0.25) inset, 0 10px 30px -12px rgba(30,200,232,0.45);
}
.btn.btn-primary.btn-full:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 14px 36px -12px rgba(30,200,232,0.6);
}
.btn.btn-primary.btn-full:active{ transform: translateY(0); }
.btn.btn-primary.btn-full .plane{
  width: 14px; height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .3s ease;
}
.btn.btn-primary.btn-full:hover .plane{ transform: translate(2px, -2px); }

.form-status{
  margin-top: 18px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--ink-dim);
  min-height: 0;
}
.form-status.is-success{ color: var(--cyan); }
.form-status.is-error{ color: #E86B5A; }
.form-status:empty{ display: none; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{
  position: relative;
  background: linear-gradient(180deg, #0A0907 0%, #050403 100%);
  border-top: 1px solid var(--hair);
  color: var(--ink-dim);
}
.site-footer::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(30,200,232,0.4) 50%, transparent 100%);
}

.footer__container{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}

.footer__legal{
  padding: clamp(64px, 8vw, 96px) 0 clamp(48px, 6vw, 72px);
  background: rgba(0,0,0,0.2);
}
.footer__legal-grid{
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 2fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
.footer__brand{
  display: flex; flex-direction: column;
  gap: 20px;
}
.footer__logo{
  height: clamp(56px, 5.2vw, 76px);
  width: auto;
  display: block;
}
.footer__tagline{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cyan);
  margin: 0;
}
.footer__disclaimer{ max-width: 80ch; }
@media (max-width: 860px){
  .footer__legal-grid{ grid-template-columns: 1fr; row-gap: 40px; }
}
.footer__disclaimer-eyebrow{
  display: inline-block;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cyan);
  margin-bottom: 18px;
}
.footer__disclaimer-body{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(13.5px, 0.95vw, 15px);
  line-height: 1.65;
  color: var(--ink-dim);
  margin: 0 0 14px;
}
.footer__disclaimer-body:last-child{ margin-bottom: 0; }
.footer__disclaimer-body strong{ color: var(--ink); font-weight: 500; }

.footer__bottom{
  border-top: 1px solid var(--hair);
  padding: 26px 0;
}
.footer__bottom-row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.footer__copy{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.footer__legal-links{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.footer__legal-links a{
  position: relative;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  text-decoration: none;
  padding-bottom: 3px;
  transition: color .25s ease;
}
.footer__legal-links a::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.footer__legal-links a:hover{ color: var(--ink); }
.footer__legal-links a:hover::after{ transform: scaleX(1); }

@media (max-width: 720px){
  .footer__bottom-row{ flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
[data-reveal]{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
[data-reveal].is-visible{
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{ opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   LEGAL PAGES (aviso-legal, privacidad, cookies)
   ============================================================ */
.legal{
  position: relative;
  padding: clamp(96px, 12vw, 160px) 0 clamp(96px, 12vw, 160px);
  background: #0F0E0B;
  border-top: 1px solid var(--hair);
}
.legal__wrap{
  max-width: 880px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.legal__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(13px, 0.9vw, 15px);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}
.legal__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(40px, 5.4vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0 0 clamp(18px, 2vw, 28px);
  text-wrap: balance;
}
.legal__updated{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 clamp(48px, 5vw, 64px);
}
.legal__content h2{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: clamp(40px, 4vw, 56px) 0 clamp(14px, 1.4vw, 20px);
}
.legal__content h3{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(17px, 1.3vw, 20px);
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: clamp(28px, 3vw, 36px) 0 clamp(10px, 1vw, 14px);
}
.legal__content p,
.legal__content li{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(15px, 1.05vw, 16.5px);
  line-height: 1.7;
  color: #C9C6BD;
  margin: 0 0 14px;
}
.legal__content ul{
  margin: 0 0 18px;
  padding-left: 22px;
}
.legal__content li{ margin-bottom: 8px; }
.legal__content a{
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid rgba(30,200,232,0.3);
  transition: border-color .25s ease;
}
.legal__content a:hover{ border-bottom-color: var(--cyan); }
.legal__content strong{ color: var(--ink); font-weight: 500; }
.legal__back{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: clamp(48px, 5vw, 72px);
  padding: 12px 18px;
  border: 1px solid var(--hair-strong);
  border-radius: 999px;
  color: var(--ink);
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.01em;
  transition: border-color .25s ease, color .25s ease, gap .3s cubic-bezier(.2,.7,.2,1), background .25s ease;
}
.legal__back:hover{
  color: var(--cyan);
  border-color: rgba(30,200,232,0.5);
  background: rgba(30,200,232,0.05);
  gap: 14px;
}

/* ============================================================
   LIGHT SECTIONS — paleta crema cálida #F4F1E9
   Reabre decisión cerrada del 2026-04-19. Alternancia dark/light
   para introducir respiración tipo IC Trading.
   Secciones light: Filosofía, Brokers, Contacto.
   Secciones dark (sin override): Hero, Productos, Sobre Nosotros, Footer.
   ============================================================ */

.philo,
.brokers,
.contact{
  --bg-section: #F4F1E9;
  --ink-on: #13120F;
  --ink-on-soft: #3A3935;
  --ink-on-dim: #5A584F;
  --ink-on-mute: #8A887F;
  --hair-on: rgba(19,18,15,0.08);
  --hair-on-strong: rgba(19,18,15,0.16);
  --cyan-on: #0F8FA8;
  --panel-on: #FFFFFF;
}

/* ---------- PHILOSOPHY (light) ---------- */
.philo{
  background: var(--bg-section);
  border-top: 1px solid var(--hair-on);
}
.philo::before{
  background: linear-gradient(to right,
    transparent 0%, rgba(15,143,168,0.18) 30%, rgba(15,143,168,0.18) 70%, transparent 100%);
}
.philo__tag,
.philo__tag .sect{ color: var(--cyan-on); }
.philo__title{ color: var(--ink-on); }
.philo__title .break{ color: var(--cyan-on); }
.philo__lede{ color: var(--ink-on-soft); }
.philo__viz-caption{ color: var(--ink-on-mute); }
.philo__viz-caption .dot{ background: var(--cyan-on); box-shadow: 0 0 8px rgba(15,143,168,0.5); }
.philo__pillars{ border-top-color: var(--hair-on); }
.pillar__num{ color: var(--ink-on); }
.pillar--lift .pillar__num{ color: var(--cyan-on); }
.pillar__title{ color: var(--ink-on); }
.pillar__body{ color: var(--ink-on-dim); }
.pillar--lift .pillar__body{ color: var(--ink-on-soft); }
.philo .pillar__label,
.philo .pillar--lift .pillar__label{
  color: var(--cyan-on);
  border-top-color: var(--hair-on);
}
.philo .pillar__label .bullet,
.philo .pillar--lift .pillar__label .bullet{ color: var(--cyan-on); }
.philo__cta-row{ border-top-color: var(--hair-on); }
.philo__cta{ color: var(--ink-on); }
.philo__cta::before{ background: var(--hair-on-strong); }
.philo__cta::after{ background: var(--cyan-on); }
.philo__cta .arr{ background: var(--ink-on); }
.philo__cta .arr::after{ border-color: var(--ink-on); }
.philo__cta:hover{ color: var(--cyan-on); }
.philo__cta:hover .arr{ background: var(--cyan-on); }
.philo__cta:hover .arr::after{ border-color: var(--cyan-on); }

/* ---------- BROKERS (light) ---------- */
.brokers{
  background: var(--bg-section);
  border-top: 1px solid var(--hair-on);
}
.brokers__bg{
  background-image:
    linear-gradient(to right, rgba(19,18,15,0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(19,18,15,0.045) 1px, transparent 1px);
}
.brokers__tag,
.brokers__tag .sect{ color: var(--cyan-on); }
.brokers__title{ color: var(--ink-on); }
.brokers__lede{ color: var(--ink-on-soft); }
.brokers__panel{
  background: linear-gradient(180deg, #FFFFFF 0%, #FBF8EF 100%);
  border-color: var(--hair-on-strong);
  box-shadow: 0 16px 48px -20px rgba(19,18,15,0.18), 0 2px 8px rgba(19,18,15,0.05);
}
.brokers__panel::before{
  background: linear-gradient(90deg, transparent 0%, var(--cyan-on) 50%, transparent 100%);
  opacity: 0.85;
}
.brokers__aside{ border-right-color: var(--hair-on); }
.brokers__partner-tag{ color: var(--ink-on-mute); }
.brokers__partner-sub{ color: var(--ink-on-dim); }
.brokers__partner-sub strong{ color: var(--ink-on); }
.brokers__logos{
  background: #FFFFFF;
  border-color: var(--hair-on);
}
.brokers__logos-sep{ background: rgba(19, 18, 15, 0.10); }
.brokers__promo{
  border-color: rgba(15, 143, 168, 0.32);
  background:
    linear-gradient(135deg, rgba(15, 143, 168, 0.10) 0%, rgba(15, 143, 168, 0.02) 50%, rgba(15, 143, 168, 0.08) 100%);
}
.brokers__promo::before{
  background: linear-gradient(180deg, transparent 0%, var(--cyan-on) 40%, var(--cyan-on) 60%, transparent 100%);
}
.brokers__promo:hover{
  border-color: rgba(15, 143, 168, 0.65);
  box-shadow: 0 18px 44px -24px rgba(15, 143, 168, 0.50), 0 0 0 1px rgba(15, 143, 168, 0.22);
}
.brokers__promo-eyebrow{ color: var(--cyan-on); }
.brokers__promo-pitch{ color: var(--ink-on); }
.brokers__promo-cta{ color: var(--cyan-on); }
.brokers__promo-cta .arr{ background: var(--cyan-on); }
.brokers__promo-cta .arr::after{ border-color: var(--cyan-on); }
.brokers__stats{
  background: var(--hair-on);
  border-color: var(--hair-on);
}
.bstat{ background: rgba(19,18,15,0.025); }
.bstat__val{ color: var(--cyan-on); }
.bstat__label{ color: var(--ink-on-mute); }
.brokers__copy{ color: var(--ink-on-soft); }
.brokers__copy strong{ color: var(--ink-on); }
.bfeat{
  background: rgba(19,18,15,0.025);
  border-color: var(--hair-on);
}
.bfeat__k{ color: var(--ink-on); }
.bfeat__v{ color: var(--cyan-on); }
.brokers__foot{ border-top-color: var(--hair-on); }
.brokers__disclosure{ color: var(--ink-on-mute); }
.brokers__cta{ color: var(--ink-on); }
.brokers__cta::before{ background: var(--hair-on-strong); }
.brokers__cta::after{ background: var(--cyan-on); }
.brokers__cta .arr{ background: var(--ink-on); }
.brokers__cta .arr::after{ border-color: var(--ink-on); }
.brokers__cta:hover{ color: var(--cyan-on); }
.brokers__cta:hover .arr{ background: var(--cyan-on); }
.brokers__cta:hover .arr::after{ border-color: var(--cyan-on); }
@media (max-width: 1100px){
  .brokers__aside{ border-bottom-color: var(--hair-on); }
}

/* ---------- CONTACT (light) ---------- */
.contact{
  background: var(--bg-section);
  border-top: 1px solid var(--hair-on);
}
.contact__bg{
  background-image:
    linear-gradient(to right, rgba(19,18,15,0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(19,18,15,0.045) 1px, transparent 1px);
}
.contact__tag,
.contact__tag .sect{ color: var(--cyan-on); }
.contact__title{ color: var(--ink-on); }
.contact__lede{ color: var(--ink-on-soft); }
.contact__email-label{ color: var(--ink-on-mute); }
.contact__email{
  color: var(--ink-on);
  border-bottom-color: rgba(15,143,168,0.4);
}
.contact__email:hover{
  color: var(--cyan-on);
  border-bottom-color: var(--cyan-on);
}
.contact__email svg{ stroke: var(--cyan-on); }

.contact__panel{
  background: linear-gradient(180deg, #FFFFFF 0%, #FBF8EF 100%);
  border-color: var(--hair-on-strong);
  box-shadow: 0 16px 48px -20px rgba(19,18,15,0.18), 0 2px 8px rgba(19,18,15,0.05);
}
.contact__panel::before{
  background: linear-gradient(90deg, transparent 0%, var(--cyan-on) 50%, transparent 100%);
  opacity: 0.85;
}
.contact .form-group label{ color: var(--ink-on-dim); }
.contact .form-group input,
.contact .form-group select,
.contact .form-group textarea{
  background-color: #FFFFFF;
  color: var(--ink-on);
  border-color: rgba(19,18,15,0.12);
}
.contact .form-group input::placeholder,
.contact .form-group textarea::placeholder{
  color: var(--ink-on-mute);
}
.contact .form-group input:hover,
.contact .form-group select:hover,
.contact .form-group textarea:hover{ border-color: rgba(19,18,15,0.22); }
.contact .form-group input:focus,
.contact .form-group select:focus,
.contact .form-group textarea:focus{
  border-color: var(--cyan-on);
  background-color: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(15,143,168,0.15), 0 0 20px -6px rgba(15,143,168,0.25);
}
.contact .form-group select,
.contact .form-group select:hover,
.contact .form-group select:focus,
.contact .form-group select:active{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%230F8FA8' stroke-width='1.6'><path d='M1 1.5L6 6.5L11 1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}
.contact .form-group select option{ background: #FFFFFF; color: var(--ink-on); }

.contact .btn.btn-primary.btn-full{
  color: #FFFFFF;
  background: linear-gradient(180deg, #1AA0BE 0%, #0F8FA8 100%);
  border-color: rgba(15,143,168,0.5);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.20) inset,
    0 10px 30px -12px rgba(15,143,168,0.45);
}
.contact .btn.btn-primary.btn-full:hover{
  filter: brightness(1.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.25) inset,
    0 14px 36px -12px rgba(15,143,168,0.6);
}
.contact .form-status{ color: var(--ink-on-mute); }
.contact .form-status.is-success{ color: var(--cyan-on); }
.contact .form-status.is-error{ color: #B6442F; }

/* ============================================================
   STAGGER REVEAL — children animate one after another
   Used on grids of cards (productos, equipo, features, stats, pillars).
   ============================================================ */
[data-stagger-child]{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1);
  transition-delay: calc(var(--stagger-i, 0) * 110ms);
  will-change: opacity, transform;
}
[data-stagger].is-visible [data-stagger-child]{
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  [data-stagger-child]{ opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   HERO PARALLAX hint
   ============================================================ */
.hero__grid{ will-change: transform; transition: none; }

/* ============================================================
   HERO ATMOSPHERE — radial cyan glow + diagonal tint + bokeh
   ============================================================ */
.hero{ isolation: isolate; }

.hero::before{
  content: "";
  position: absolute;
  top: -18%; right: -12%;
  width: 75%; height: 95%;
  background: radial-gradient(ellipse at center,
    rgba(30,200,232,0.16) 0%,
    rgba(30,200,232,0.06) 35%,
    rgba(30,200,232,0) 65%);
  pointer-events: none;
  z-index: 1;
}

.hero::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg,
      rgba(10,21,24,0.35) 0%,
      transparent 40%,
      rgba(30,200,232,0.05) 100%);
  pointer-events: none;
  z-index: 1;
}

/* Bokeh — soft cyan circles drifting slowly */
.hero__bokeh{
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}
.bokeh{
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(30,200,232,0.55) 0%,
    rgba(30,200,232,0.15) 40%,
    rgba(30,200,232,0) 75%);
  filter: blur(22px);
  will-change: transform;
}
.bokeh--1{
  top: 18%; right: 14%;
  width: 140px; height: 140px;
  animation: bokehDrift 16s ease-in-out infinite;
}
.bokeh--2{
  bottom: 18%; left: 8%;
  width: 90px; height: 90px;
  opacity: 0.75;
  animation: bokehDrift 19s ease-in-out -6s infinite;
}
.bokeh--3{
  top: 55%; right: 38%;
  width: 64px; height: 64px;
  opacity: 0.55;
  animation: bokehDrift 22s ease-in-out -11s infinite;
}

@keyframes bokehDrift{
  0%, 100% { transform: translate3d(0, 0, 0); }
  33%      { transform: translate3d(18px, -32px, 0); }
  66%      { transform: translate3d(-12px, 22px, 0); }
}

/* Hero grid: dim it slightly so equity chart reads */
.hero__grid{ opacity: 0.85; }

/* ============================================================
   HERO CANDLES TICKER — subtle background feed scrolling R→L
   No tapa el wordmark: máscara radial central + opacity baja
   ============================================================ */
.hero__candles{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  opacity: 0.32;
  /* Radial "agujero" en el centro donde vive el wordmark — las velas se desvanecen ahí */
  mask-image:
    radial-gradient(ellipse 50% 55% at 50% 50%, transparent 10%, rgba(0,0,0,0.35) 45%, #000 75%),
    linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-image:
    radial-gradient(ellipse 50% 55% at 50% 50%, transparent 10%, rgba(0,0,0,0.35) 45%, #000 75%),
    linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-composite: source-in;
  animation: candlesFadeIn 1.6s ease 0.3s both;
}
.hero__candles-strip{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate3d(0, -50%, 0);
  height: 60%;
  width: 200%;
  display: flex;
  animation: candlesScroll 90s linear infinite;
  will-change: transform;
}
.hero__candles-strip svg{
  width: 50%;
  height: 100%;
  flex: none;
  display: block;
}

@keyframes candlesScroll{
  from { transform: translate3d(0, -50%, 0); }
  to   { transform: translate3d(-50%, -50%, 0); }
}
@keyframes candlesFadeIn{
  from { opacity: 0; }
  to   { opacity: 0.32; }
}

/* Promote wordmark above all atmosphere layers */
.hero__inner{ z-index: 3; }

@media (prefers-reduced-motion: reduce){
  .bokeh,
  .hero__candles-strip{ animation: none; }
}

@media (max-width: 720px){
  .hero__candles{ opacity: 0.22; }
  .bokeh--3{ display: none; }
}

/* ============================================================
   INTERNAL PAGES — /filosofia.html (thesis sections)
   ============================================================ */
.page{ display: block; }

.page-hero{
  position: relative;
  background: #0B0A07;
  padding: clamp(140px, 16vw, 220px) 0 clamp(80px, 9vw, 120px);
  overflow: hidden;
  border-bottom: 1px solid var(--hair);
}
.page-hero__grid{
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000 30%, transparent 100%);
}
.page-hero__wrap{
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
  text-align: left;
}
.page-hero__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(24px, 3vw, 40px);
}
.page-hero__tag .sect{ color: var(--cyan); opacity: 0.75; }
.page-hero__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(48px, 6.4vw, 104px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--ink);
  margin: 0 0 clamp(24px, 2.6vw, 36px);
  text-wrap: balance;
}
.page-hero__title .accent{ color: var(--cyan); }
.page-hero__lede{
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.6;
  color: #C9C6BD;
  max-width: 68ch;
  margin: 0;
}

/* ---- Thesis section base ------------------------------------- */
.thesis{
  position: relative;
  padding: clamp(96px, 12vw, 160px) 0;
  overflow: hidden;
  border-top: 1px solid var(--hair);
}
.thesis--light{
  background: #F4F1E9;
  color: #13120F;
}
.thesis--dark{
  background: #0B0A07;
  color: var(--ink);
}
.thesis__wrap{
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
}
.thesis__wrap--narrow{ max-width: 960px; }
.thesis__head{
  max-width: 880px;
  margin: 0 0 clamp(56px, 7vw, 96px);
}
.thesis__head--center{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.thesis__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(16px, 1.2vw, 20px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(22px, 2.4vw, 32px);
}
.thesis--light .thesis__tag{ color: #0F8FA8; }
.thesis--light .thesis__tag .sect{ color: #0F8FA8; opacity: 0.7; }
.thesis--dark .thesis__tag{ color: var(--cyan); }
.thesis--dark .thesis__tag .sect{ color: var(--cyan); opacity: 0.75; }
.thesis__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(36px, 4.4vw, 68px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  margin: 0 0 clamp(20px, 2.2vw, 32px);
  text-wrap: balance;
}
.thesis--light .thesis__title{ color: #13120F; }
.thesis--light .thesis__title .accent{ color: #0F8FA8; }
.thesis--dark .thesis__title{ color: var(--ink); }
.thesis--dark .thesis__title .accent{ color: var(--cyan); }
.thesis__lede{
  font-size: clamp(17px, 1.3vw, 21px);
  line-height: 1.6;
  max-width: 68ch;
  margin: 0;
}
.thesis--light .thesis__lede{ color: #3A3935; }
.thesis--dark .thesis__lede{ color: #C9C6BD; }

.thesis__notice{
  margin: 18px 0 0;
  padding: 14px 18px;
  border-left: 2px solid rgba(15, 143, 168, 0.45);
  background: rgba(15, 143, 168, 0.05);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px;
  line-height: 1.55;
  color: #5A584F;
  max-width: 68ch;
  border-radius: 0 4px 4px 0;
}
.thesis--dark .thesis__notice{
  border-left-color: rgba(30, 200, 232, 0.45);
  background: rgba(30, 200, 232, 0.06);
  color: #B8B6AE;
}

/* ---- Prose blocks ------------------------------------------- */
.thesis__prose{
  max-width: 68ch;
  display: flex; flex-direction: column;
  gap: clamp(16px, 1.6vw, 22px);
}
.thesis__prose p{
  font-size: clamp(16.5px, 1.15vw, 19px);
  line-height: 1.7;
  margin: 0;
}
.thesis--light .thesis__prose p{ color: #3A3935; }
.thesis__prose--dark p{ color: #C9C6BD; }
.thesis__prose strong{ color: #13120F; font-weight: 600; }
.thesis__prose--dark strong{ color: var(--ink); }

/* ---- Three pillars (expanded) ------------------------------- */
.thesis__pillars{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}
.tpillar{
  position: relative;
  display: flex; flex-direction: column;
  gap: clamp(14px, 1.4vw, 20px);
  padding: clamp(28px, 3vw, 44px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  background: #FFFFFF;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.25);
  transition: border-color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.tpillar::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0F8FA8 50%, transparent 100%);
  opacity: 0.4;
}
.tpillar:hover{
  border-color: rgba(15, 143, 168, 0.45);
  transform: translateY(-3px);
  box-shadow:
    0 30px 60px -28px rgba(0,0,0,0.3),
    0 0 0 1px rgba(15, 143, 168, 0.2),
    0 0 48px -8px rgba(30, 200, 232, 0.2);
}
.tpillar__num{
  font-family: "Instrument Serif", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(60px, 6vw, 96px);
  line-height: 0.9;
  color: #13120F;
  margin: 0;
  letter-spacing: -0.02em;
}
.tpillar__num--accent{ color: #0F8FA8; }
.tpillar__label{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #0F8FA8;
  white-space: nowrap;
}
.tpillar__label .bullet{ font-size: 10px; line-height: 1; color: #0F8FA8; }
.tpillar__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.9vw, 28px);
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #13120F;
  margin: 0;
}
.tpillar__body{
  font-size: clamp(15.5px, 1.05vw, 17px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}

/* ---- Method (7 steps) --------------------------------------- */
.method{
  list-style: none;
  counter-reset: none;
  padding: 0; margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(18px, 2vw, 28px);
}
.method__step{
  position: relative;
  padding: clamp(24px, 2.6vw, 36px);
  border: 1px solid rgba(233, 231, 225, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
  display: flex; flex-direction: column;
  gap: clamp(10px, 1vw, 14px);
  transition: border-color .3s ease, background .3s ease;
}
.method__step:hover{
  border-color: rgba(30, 200, 232, 0.35);
  background: rgba(30, 200, 232, 0.04);
}
.method__num{
  display: inline-flex; align-items: center; justify-content: center;
  width: clamp(44px, 3.6vw, 56px);
  height: clamp(44px, 3.6vw, 56px);
  border-radius: 12px;
  background: rgba(30, 200, 232, 0.10);
  border: 1px solid rgba(30, 200, 232, 0.35);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--cyan);
  margin-bottom: 4px;
}
.method__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.7vw, 28px);
  letter-spacing: -0.015em;
  line-height: 1.2;
  color: var(--ink);
  margin: 0;
}
.method__body{
  font-size: clamp(16.5px, 1.1vw, 18px);
  line-height: 1.6;
  color: #C9C6BD;
  margin: 0;
}

/* ---- Events (SNB / COVID / China) --------------------------- */
.events{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.2vw, 32px);
  margin: clamp(40px, 5vw, 64px) 0;
}
.event{
  padding: clamp(26px, 2.8vw, 36px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-left: 3px solid var(--cyan);
  border-radius: 14px;
  background: #FFFFFF;
  display: flex; flex-direction: column;
  gap: clamp(12px, 1.2vw, 18px);
  box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.55);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.event:hover{
  transform: translateY(-3px);
  border-color: rgba(30, 200, 232, 0.5);
  box-shadow:
    0 28px 56px -24px rgba(0, 0, 0, 0.65),
    0 0 32px -8px rgba(30, 200, 232, 0.25);
}
.event__date{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #0F8FA8;
}
.event__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.75vw, 27px);
  letter-spacing: -0.015em;
  line-height: 1.2;
  color: #13120F;
  margin: 0;
}
.event__body{
  font-size: clamp(17px, 1.2vw, 19px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}

/* ---- Lede highlight (bold white standout) ------------------- */
.thesis--dark .lede-hl{
  display: block;
  margin: 10px 0;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.08em;
  letter-spacing: -0.01em;
}
.thesis--light .lede-hl{
  display: block;
  margin: 10px 0;
  color: #13120F;
  font-weight: 700;
  font-size: 1.08em;
  letter-spacing: -0.01em;
}

/* ---- MC section layout + histogram ------------------------- */
.mc-grid{
  display: grid;
  grid-template-columns: 0.95fr 1.15fr;
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}
.mc-grid__prose{ max-width: 52ch; }

.mc-hist{
  margin: 0;
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 20px;
  background: #FFFFFF;
  overflow: hidden;
  box-shadow:
    0 40px 80px -30px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(15, 143, 168, 0.06);
  position: relative;
}
.mc-hist::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0F8FA8 50%, transparent 100%);
  opacity: 0.45;
  z-index: 2;
}
.mc-hist__head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 2vw, 28px);
  padding: clamp(22px, 2.4vw, 32px) clamp(24px, 2.8vw, 36px);
  border-bottom: 1px solid rgba(19, 18, 15, 0.08);
}
.mc-hist__title-group{
  display: flex; flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.mc-hist__eyebrow{
  display: inline-flex; align-items: center; gap: 10px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #0F8FA8;
}
.mc-hist__eyebrow .dot{
  width: 7px; height: 7px; border-radius: 50%;
  background: #0F8FA8;
  box-shadow: 0 0 8px rgba(15,143,168,0.55);
  animation: equity-pulse 2.4s ease-in-out infinite;
}
.mc-hist__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(20px, 1.7vw, 26px);
  letter-spacing: -0.02em;
  color: #13120F;
  margin: 0;
}
.mc-hist__counter{
  display: flex; flex-direction: column; align-items: flex-end;
  gap: 4px;
}
.mc-hist__counter-val{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(24px, 2vw, 32px);
  letter-spacing: -0.02em;
  color: #0F8FA8;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  line-height: 1;
}
.mc-hist__counter-label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7A7870;
}
.mc-hist__stage{
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 2.6;
  background: #FFFFFF;
}
.mc-hist__canvas{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
}
.mc-hist__foot{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(19, 18, 15, 0.08);
  background: #FAFAF7;
}
.mc-hist__foot-cell{
  display: flex; flex-direction: column;
  gap: 6px;
  padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2.2vw, 28px);
  border-right: 1px solid rgba(19, 18, 15, 0.08);
}
.mc-hist__foot-cell:last-child{ border-right: 0; }
.mc-hist__foot-cell--loss .mc-hist__foot-v{ color: #0F8FA8; }
.mc-hist__foot-k{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7A7870;
}
.mc-hist__foot-v{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(20px, 1.5vw, 24px);
  letter-spacing: -0.015em;
  color: #13120F;
  font-variant-numeric: tabular-nums;
}

/* ---- Risk compare (§04 twin panels) ------------------------ */
.risk-grid{
  display: grid;
  grid-template-columns: 0.85fr 1.25fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
  margin-bottom: clamp(40px, 5vw, 64px);
}
.risk-grid__text{
  display: flex; flex-direction: column;
  gap: clamp(18px, 2vw, 28px);
  max-width: 46ch;
}

.risk-twin{
  margin: 0;
  display: flex; flex-direction: column;
  gap: 18px;
}
.risk-twin__head{
  display: flex;
  justify-content: flex-end;
}
.risk-twin__eyebrow{
  font-family: "Instrument Serif", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(18px, 1.5vw, 24px);
  letter-spacing: -0.01em;
  color: var(--ink);
  opacity: 0.85;
}
.risk-twin__panels{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 1.8vw, 24px);
}
.risk-panel{
  display: flex; flex-direction: column;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(233, 231, 225, 0.10);
  background: #F4F1E9;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.5);
}
.risk-panel__head{
  display: flex; align-items: center; justify-content: space-between;
  padding: clamp(14px, 1.4vw, 18px) clamp(16px, 1.8vw, 22px);
  border-bottom: 1px solid rgba(19, 18, 15, 0.08);
  background: #FFFFFF;
}
.risk-panel__title{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #13120F;
}
.risk-panel--bad .risk-panel__meta{ color: #C94A3A; }
.risk-panel--good .risk-panel__meta{ color: #0F8FA8; }
.risk-panel__meta{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.risk-panel__canvas{
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3.4;
  background: #F4F1E9;
}
.risk-panel__foot{
  display: flex; flex-direction: column;
  gap: 6px;
  padding: clamp(14px, 1.4vw, 18px) clamp(16px, 1.8vw, 22px);
  border-top: 1px solid rgba(19, 18, 15, 0.08);
  background: rgba(255, 255, 255, 0.5);
}
.risk-panel--bad .risk-panel__k{ color: #A43928; }
.risk-panel--good .risk-panel__k{ color: #0F8FA8; }
.risk-panel__k{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.thesis__prose--close{ margin-top: clamp(24px, 3vw, 40px); }

@media (max-width: 1100px){
  .mc-grid{ grid-template-columns: 1fr; }
  .risk-grid{ grid-template-columns: 1fr; }
  .risk-twin__panels{ grid-template-columns: 1fr; }
  .risk-twin__head{ justify-content: flex-start; }
  .events{ grid-template-columns: 1fr; }
}

/* ============================================================
   AXIOM EDGE PRODUCT PAGE — /axiom-edge.html
   ============================================================ */

/* ---- Hero --------------------------------------------------- */
.edge-hero{
  position: relative;
  background: #0B0A07;
  padding: clamp(140px, 15vw, 210px) 0 clamp(80px, 9vw, 120px);
  overflow: hidden;
  border-bottom: 1px solid var(--hair);
}
.edge-hero__grid{
  position: absolute; inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 70% at 30% 40%, #000 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 30% 40%, #000 30%, transparent 100%);
}
.edge-hero__wrap{
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(40px, 6vw, 88px);
  align-items: center;
}
.edge-hero__tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cyan);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(20px, 2.4vw, 32px);
}
.edge-hero__tag .sect{ color: var(--cyan); opacity: 0.75; }
.edge-hero__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(64px, 8vw, 128px);
  line-height: 0.98;
  letter-spacing: -0.04em;
  color: var(--ink);
  margin: 0 0 clamp(12px, 1.4vw, 20px);
}
.edge-hero__title .accent{ color: var(--cyan); }
.edge-hero__tagline{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1.05vw, 17px);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cyan);
  margin: 0 0 clamp(20px, 2.2vw, 32px);
}
.edge-hero__lede{
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.6;
  color: #C9C6BD;
  max-width: 52ch;
  margin: 0 0 clamp(32px, 4vw, 48px);
}

.edge-hero__counters{
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: clamp(24px, 3vw, 48px);
  padding: clamp(20px, 2.2vw, 28px) 0;
  border-top: 1px solid rgba(233, 231, 225, 0.10);
  border-bottom: 1px solid rgba(233, 231, 225, 0.10);
  margin-bottom: clamp(32px, 4vw, 48px);
}
.edge-counter{
  display: flex; flex-direction: column;
  gap: 8px;
}
.edge-counter__val{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(44px, 4.4vw, 66px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.edge-counter__label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B8B6AE;
}

.edge-hero__cta-row{
  display: flex; flex-wrap: wrap;
  gap: clamp(12px, 1.4vw, 20px);
  margin-bottom: clamp(20px, 2vw, 28px);
}
.edge-hero__micro{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #A8A69C;
  margin: 0;
}
.edge-hero__micro--note{
  margin-top: 10px;
  font-size: clamp(12.5px, 0.9vw, 13.5px);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: none;
  color: #8A887F;
  line-height: 1.5;
  max-width: 56ch;
}
.edge-cta__star{
  color: var(--cyan);
  font-size: 0.6em;
  margin-left: 2px;
  vertical-align: super;
  line-height: 0;
}
.edge-final__note{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #5A584F;
  line-height: 1.5;
  max-width: 60ch;
  margin: 24px auto 0;
  text-align: center;
}
.edge-hero__tagline{ font-size: clamp(16px, 1.2vw, 19px) !important; }

/* ---- CTAs --------------------------------------------------- */
.edge-cta{
  appearance: none;
  border: 0;
  display: inline-flex; flex-direction: column;
  align-items: flex-start; justify-content: center;
  gap: 4px;
  padding: clamp(14px, 1.3vw, 18px) clamp(22px, 2.2vw, 32px);
  border-radius: 14px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
  text-decoration: none;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, background .25s ease, border-color .25s ease;
}
.edge-cta__label{
  font-size: clamp(17px, 1.25vw, 20px);
  font-weight: 700;
  letter-spacing: -0.005em;
}
.edge-cta__meta{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(13px, 0.95vw, 14.5px);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: inline-flex; align-items: center;
  gap: 8px;
}
.edge-cta__meta::before{
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
  animation: cta-pulse 1.8s ease-in-out infinite;
}
@keyframes cta-pulse{
  0%, 100%{ opacity: 1; }
  50%{ opacity: 0.35; }
}

.edge-cta--primary{
  background: linear-gradient(135deg, #3AD6F0 0%, #1EC8E8 100%);
  color: #0B0A07;
  box-shadow:
    0 20px 40px -16px rgba(30, 200, 232, 0.75),
    0 0 0 1px rgba(30, 200, 232, 0.4),
    inset 0 -2px 0 rgba(0, 0, 0, 0.12);
}
.edge-cta--primary .edge-cta__meta{ color: #0B0A07; opacity: 0.7; }
.edge-cta--primary:hover:not(.is-disabled){
  transform: translateY(-2px);
  box-shadow:
    0 26px 52px -16px rgba(30, 200, 232, 0.9),
    0 0 0 1px rgba(30, 200, 232, 0.6);
}

.edge-cta--secondary{
  background: rgba(30, 200, 232, 0.08);
  color: var(--ink);
  border: 1.5px solid rgba(30, 200, 232, 0.5);
  box-shadow: 0 0 0 1px rgba(30, 200, 232, 0.15);
}
.edge-cta--secondary .edge-cta__meta{ color: var(--cyan); }
.edge-cta--secondary:hover:not(.is-disabled){
  border-color: var(--cyan);
  background: rgba(30, 200, 232, 0.14);
  transform: translateY(-2px);
}

.edge-cta--ghost{
  background: rgba(15, 143, 168, 0.08);
  color: #0F8FA8;
  border: 1.5px solid rgba(15, 143, 168, 0.4);
}
.edge-cta--ghost .edge-cta__meta{ color: #0F8FA8; }
.edge-cta--ghost:hover:not(.is-disabled){
  border-color: #0F8FA8;
  background: rgba(15, 143, 168, 0.14);
  transform: translateY(-2px);
}

.edge-cta--large{
  padding: clamp(20px, 1.8vw, 28px) clamp(36px, 3.2vw, 52px);
}
.edge-cta--large .edge-cta__label{ font-size: clamp(19px, 1.4vw, 23px); }

.edge-cta.is-disabled{
  cursor: not-allowed;
  /* Mantener color completo para que llame la atención.
     El badge "Próximamente" con pulso comunica el estado. */
}
.edge-cta.is-disabled:hover{ transform: none; box-shadow: inherit; }

/* ---- Hero right: MT5 panel frame ---------------------------- */
.edge-panel-frame{
  margin: 0;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(30, 200, 232, 0.22);
  background: #0D0C09;
  box-shadow:
    0 40px 80px -30px rgba(0, 0, 0, 0.8),
    0 0 0 1px rgba(30, 200, 232, 0.08),
    0 0 64px -12px rgba(30, 200, 232, 0.25);
}
.edge-panel-frame__img{
  display: block;
  width: 100%;
  height: auto;
}
.edge-panel-frame__cap{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1vw, 15.5px);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #B8B6AE;
  padding: 16px 22px;
  border-top: 1px solid rgba(233, 231, 225, 0.08);
  background: rgba(11, 10, 7, 0.6);
}

/* ---- § 01 · Asset classes ----------------------------------- */
.asset-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}
.asset-class{
  display: flex; flex-direction: column;
  gap: clamp(18px, 1.8vw, 24px);
  padding: clamp(28px, 2.8vw, 40px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  background: #FFFFFF;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.25);
  transition: border-color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.asset-class::before{
  content: "";
  display: block;
  height: 2px;
  width: 36px;
  background: #0F8FA8;
  border-radius: 2px;
}
.asset-class:hover{
  border-color: rgba(15, 143, 168, 0.4);
  transform: translateY(-3px);
  box-shadow:
    0 34px 64px -28px rgba(0, 0, 0, 0.3),
    0 0 32px -8px rgba(30, 200, 232, 0.22);
}
.asset-class--accent{ background: #FFFFFF; }
.asset-class__eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: none;
  color: #0F8FA8;
}
.asset-class__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(24px, 2vw, 30px);
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #13120F;
  margin: 8px 0 0;
}
.asset-class__list{
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column;
  gap: 10px;
}
.asset-class__list li{
  display: flex; align-items: baseline;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(19, 18, 15, 0.08);
}
.asset-class__list li:last-child{ border-bottom: 0; }
.asset-class__sym{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(16px, 1.15vw, 18.5px);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #13120F;
  min-width: 96px;
}
.asset-class__name{
  font-size: clamp(16px, 1.1vw, 18px);
  color: #3A3935;
}
.asset-class__note{
  font-size: clamp(15.5px, 1.05vw, 17px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
  font-style: italic;
}

/* ---- § 02 · Equity curve + metrics -------------------------- */
.edge-curve{
  margin: 0 0 clamp(32px, 4vw, 48px);
  border: 1px solid rgba(233, 231, 225, 0.10);
  border-radius: 16px;
  overflow: hidden;
  background: #FFFFFF;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.6);
}
.edge-curve__header{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(16px, 1.6vw, 22px) clamp(22px, 2.4vw, 32px);
  border-bottom: 1px solid rgba(19, 18, 15, 0.08);
  background: #FAFAF7;
}
.edge-curve__eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14.5px, 1.05vw, 17px);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0F8FA8;
}
.edge-curve__end{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 1.6vw, 26px);
  letter-spacing: -0.015em;
  color: #0F8FA8;
  font-variant-numeric: tabular-nums;
}
.edge-curve__img{
  display: block;
  width: 100%;
  height: auto;
  background: #FFFFFF;
}

.edge-metrics{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(12px, 1.2vw, 18px);
  margin: clamp(40px, 4.5vw, 64px) 0 clamp(28px, 3vw, 40px);
}
.edge-metric{
  padding: clamp(20px, 2vw, 28px) clamp(16px, 1.6vw, 22px);
  border: 1px solid rgba(233, 231, 225, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  display: flex; flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  transition: border-color .25s ease, background .25s ease;
}
.edge-metric:hover{
  border-color: rgba(30, 200, 232, 0.3);
}
.edge-metric__val{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 2.4vw, 36px);
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--cyan);
  font-variant-numeric: tabular-nums;
}
.edge-metric__label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1vw, 15.5px);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #B8B6AE;
}

.edge-disclaimer{
  font-size: clamp(15.5px, 1.05vw, 17px);
  line-height: 1.65;
  color: #A8A69C;
  margin: 0;
  padding-top: clamp(20px, 2vw, 28px);
  border-top: 1px solid rgba(233, 231, 225, 0.08);
  max-width: 76ch;
}

/* ---- § 03 · Math grid (MC + correlation + stat) ------------- */
.math-grid{
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  grid-template-rows: auto auto;
  gap: clamp(28px, 3vw, 44px);
}
.math-grid__mc{ grid-column: 1 / -1; }

.corr{
  display: flex; flex-direction: column;
  gap: clamp(18px, 2vw, 24px);
  padding: clamp(28px, 2.8vw, 40px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  background: #FFFFFF;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.25);
}
.corr__eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14.5px, 1.05vw, 16.5px);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0F8FA8;
}
.corr__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.8vw, 28px);
  letter-spacing: -0.02em;
  color: #13120F;
  margin: 10px 0 0;
}
.corr__sub{
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}
.corr__table{
  width: 100%;
  border-collapse: collapse;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}
.corr__table th, .corr__table td{
  padding: clamp(14px, 1.3vw, 18px) clamp(10px, 1vw, 14px);
  text-align: center;
  font-size: clamp(16px, 1.15vw, 18px);
  border: 1px solid rgba(19, 18, 15, 0.08);
}
.corr__table thead th{
  font-weight: 600;
  color: #13120F;
  background: #FAFAF7;
  letter-spacing: 0.06em;
}
.corr__table tbody th{
  font-weight: 600;
  color: #13120F;
  background: #FAFAF7;
  text-align: left;
  padding-left: clamp(14px, 1.2vw, 20px);
}
.corr__cell{
  font-weight: 500;
  color: #13120F;
}
.corr__cell--self{
  color: #0F8FA8;
  font-weight: 700;
  background: rgba(15, 143, 168, 0.06);
}
.corr__cell--low{
  color: #3A3935;
}
.corr__note{
  font-size: clamp(15.5px, 1.05vw, 17px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}

.stat-card{
  display: flex; flex-direction: column;
  gap: clamp(18px, 2vw, 24px);
  padding: clamp(28px, 2.8vw, 40px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  background: #FFFFFF;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.25);
}
.stat-card__eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14.5px, 1.05vw, 16.5px);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0F8FA8;
}
.stat-card__compare{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  padding: clamp(20px, 2.2vw, 28px) 0;
  border-top: 1px solid rgba(19, 18, 15, 0.08);
  border-bottom: 1px solid rgba(19, 18, 15, 0.08);
}
.stat-card__side{
  display: flex; flex-direction: column;
  gap: 8px;
  text-align: center;
}
.stat-card__side-val{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(44px, 4.2vw, 64px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: #13120F;
  font-variant-numeric: tabular-nums;
}
.stat-card__side-total{
  font-size: 0.55em;
  color: #8A887F;
  font-weight: 500;
  margin-left: 4px;
}
.stat-card__side-label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1vw, 15.5px);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: none;
  color: #3A3935;
}
.stat-card__side--accent .stat-card__side-val{ color: #0F8FA8; }
.stat-card__arrow{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 300;
  color: #0F8FA8;
}
.stat-card__note{
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}

/* ---- § 04 · Modes table ------------------------------------- */
.modes{
  display: flex; flex-direction: column;
  gap: clamp(24px, 2.8vw, 36px);
}
.modes__table{
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) 2.5fr;
  border: 1px solid rgba(233, 231, 225, 0.12);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}
.modes__row{
  display: contents;
}
.modes__row--head .modes__cell{
  background: rgba(30, 200, 232, 0.10);
  color: var(--cyan);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1.05vw, 15.5px);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: clamp(16px, 1.5vw, 22px) clamp(12px, 1.2vw, 18px);
  border-bottom: 1px solid rgba(30, 200, 232, 0.2);
}
.modes__row:not(.modes__row--head) .modes__cell{
  padding: clamp(18px, 1.8vw, 24px) clamp(12px, 1.2vw, 18px);
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(16.5px, 1.2vw, 19px);
  font-weight: 500;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  border-bottom: 1px solid rgba(233, 231, 225, 0.08);
  display: flex; align-items: center;
}
.modes__row:last-child .modes__cell{ border-bottom: 0; }
.modes__row--default .modes__cell{
  background: rgba(30, 200, 232, 0.05);
}
.modes__cell--name{ gap: 13px; flex-wrap: wrap; }
/* Marcador de nivel de riesgo: punto de color + etiqueta mono (sin badges) */
.modes__dot{
  width: 9px; height: 9px; flex: none;
  border-radius: 50%;
  background: var(--risk, #999);
}
.modes__label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--risk, inherit);
}
.modes__cell--verylow  { --risk: #2E7D5A; }
.modes__cell--low      { --risk: #0F8FA8; }
.modes__cell--medium   { --risk: #A5651F; }
.modes__cell--high     { --risk: #9F3322; }
.modes__cell--veryhigh { --risk: #7A1818; }
.modes__cell--desc{
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 400 !important;
  line-height: 1.6;
  font-variant-numeric: normal;
}
.modes__default-tag{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(13px, 0.95vw, 14.5px);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cyan);
  opacity: 0.9;
}
.modes__note-eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14.5px, 1.05vw, 16.5px) !important;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cyan);
}

.modes__note{
  display: flex; flex-direction: column;
  gap: 10px;
  padding: clamp(22px, 2.4vw, 32px);
  border: 1px solid rgba(30, 200, 232, 0.25);
  border-left: 3px solid var(--cyan);
  border-radius: 12px;
  background: rgba(30, 200, 232, 0.05);
}
.modes__note-eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cyan);
}
.modes__note p{
  font-size: clamp(16.5px, 1.15vw, 18.5px);
  line-height: 1.65;
  color: #D8D5CC;
  margin: 0;
}
.modes__note strong{ color: var(--ink); font-weight: 600; }

/* ---- § 05 · Steps ------------------------------------------- */
.steps{
  list-style: none;
  padding: 0; margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2vw, 28px);
}
.step{
  position: relative;
  padding: clamp(28px, 3vw, 40px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 18px;
  background: #FFFFFF;
  display: flex; flex-direction: column;
  gap: clamp(12px, 1.2vw, 18px);
  box-shadow: 0 24px 48px -24px rgba(0,0,0,0.25);
}
.step__num{
  display: inline-flex; align-items: center; justify-content: center;
  width: clamp(44px, 3.6vw, 56px);
  height: clamp(44px, 3.6vw, 56px);
  border-radius: 12px;
  background: rgba(15, 143, 168, 0.10);
  border: 1px solid rgba(15, 143, 168, 0.35);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #0F8FA8;
}
.step__title{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(22px, 1.75vw, 26px);
  letter-spacing: -0.015em;
  line-height: 1.2;
  color: #13120F;
  margin: 0;
}
.step__body{
  font-size: clamp(16px, 1.1vw, 17.5px);
  line-height: 1.6;
  color: #3A3935;
  margin: 0;
}
.step__body strong{ color: #13120F; font-weight: 600; }
.steps__tip{
  margin-top: clamp(24px, 2.6vw, 32px);
  padding: clamp(20px, 2vw, 28px);
  border: 1px dashed rgba(19, 18, 15, 0.15);
  border-radius: 12px;
  background: rgba(15, 143, 168, 0.04);
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.6;
  color: #3A3935;
}
.steps__tip strong{ color: #0F8FA8; font-weight: 700; }

/* ---- § 06 · FAQ --------------------------------------------- */
.faq{
  display: flex; flex-direction: column;
  gap: 10px;
}
.faq__item{
  border: 1px solid rgba(233, 231, 225, 0.10);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
  transition: border-color .25s ease;
}
.faq__item[open]{ border-color: rgba(30, 200, 232, 0.3); background: rgba(30, 200, 232, 0.03); }
.faq__q{
  cursor: pointer;
  list-style: none;
  padding: clamp(18px, 1.8vw, 24px) clamp(22px, 2.2vw, 32px);
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(17px, 1.2vw, 20px);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ink);
  position: relative;
  padding-right: clamp(44px, 4vw, 60px);
}
.faq__q::-webkit-details-marker{ display: none; }
.faq__q::after{
  content: "+";
  position: absolute;
  right: clamp(22px, 2.2vw, 32px);
  top: 50%;
  transform: translateY(-50%);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(20px, 1.6vw, 24px);
  color: var(--cyan);
  font-weight: 300;
  transition: transform .25s ease;
}
.faq__item[open] .faq__q::after{ content: "−"; }
.faq__a{
  padding: 0 clamp(22px, 2.2vw, 32px) clamp(20px, 2vw, 28px);
}
.faq__a p{
  font-size: clamp(15.5px, 1.1vw, 17.5px);
  line-height: 1.65;
  color: #C9C6BD;
  margin: 0;
}
.faq__a strong{ color: var(--ink); font-weight: 600; }
.faq__a a{ color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }

/* ---- CTA final --------------------------------------------- */
.edge-final .thesis__head{ margin-bottom: clamp(32px, 3.6vw, 48px); }
.edge-price{
  display: flex; flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0 0 clamp(32px, 3.6vw, 48px);
}
.edge-price__label{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14.5px, 1.05vw, 17px);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #3A3935;
}
.edge-price__value{
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(72px, 9vw, 144px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: #0F8FA8;
  font-variant-numeric: tabular-nums;
}
.edge-price__unit{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14px, 1vw, 15.5px);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #3A3935;
}
.edge-final__ctas{
  display: flex; flex-wrap: wrap;
  gap: clamp(14px, 1.6vw, 20px);
  justify-content: center;
}
.edge-final__back{
  margin: clamp(32px, 3.2vw, 44px) 0 0;
  text-align: center;
}
.edge-final__back a{
  color: #3A3935;
  text-decoration: none;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: clamp(14.5px, 1.05vw, 16px);
  font-weight: 600;
  letter-spacing: 0.1em;
  transition: color .2s ease;
}
.edge-final__back a:hover{ color: #0F8FA8; }

/* ---- Responsive --------------------------------------------- */
@media (max-width: 1200px){
  .edge-metrics{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1100px){
  .edge-hero__wrap{ grid-template-columns: 1fr; }
  .asset-grid{ grid-template-columns: 1fr; }
  .math-grid{ grid-template-columns: 1fr; }
  .math-grid__mc{ grid-column: auto; }
  .edge-metrics{ grid-template-columns: repeat(2, 1fr); }
  .steps{ grid-template-columns: 1fr; }
  /* Tabla de perfiles → tarjeta apilada (modo arriba, descripción debajo) */
  .modes__table,
  .thesis--dark .modes__table{
    display: block;
    background: transparent;
    border: 0;
    overflow: visible;
    box-shadow: none;
  }
  .modes__table .modes__row--head{ display: none; }
  .modes__table .modes__row:not(.modes__row--head){
    display: block;
    border: 1px solid rgba(19, 18, 15, 0.10);
    border-radius: 12px;
    background: #FFFFFF;
    padding: 16px 18px;
    margin-bottom: 14px;
    overflow: hidden;
  }
  .modes__row:not(.modes__row--head) .modes__cell{
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
  }
  .modes__row:not(.modes__row--head) .modes__cell--name{ margin-bottom: 10px; }
  .modes__row:not(.modes__row--head) .modes__cell--desc{
    display: block;
    font-size: 14.5px !important;
    line-height: 1.55;
  }
}
@media (max-width: 640px){
  .edge-hero__counters{ grid-template-columns: repeat(3, auto); gap: 18px; }
  .edge-counter__val{ font-size: 36px; }
  .edge-metrics{ grid-template-columns: 1fr; }
  .stat-card__compare{ grid-template-columns: 1fr; }
  .stat-card__arrow{ transform: rotate(90deg); }
}

/* ---- Edge hero: mobile breathing room + scaled type ---- */
@media (max-width: 720px){
  .edge-hero__wrap{ padding: 0 28px; }
  .edge-hero__tag{
    font-size: 13px;
    letter-spacing: 0.18em;
    flex-wrap: wrap;
  }
  .edge-hero__title{
    font-size: 44px;
    letter-spacing: -0.03em;
  }
  .edge-hero__tagline{
    font-size: 11.5px !important;
    letter-spacing: 0.14em;
    line-height: 1.5;
  }
  .edge-hero__lede{ font-size: 16.5px; }
  .edge-counter__label{
    font-size: 11px;
    letter-spacing: 0.14em;
    line-height: 1.3;
  }
  .edge-hero__micro{
    font-size: 11px;
    letter-spacing: 0.14em;
    line-height: 1.55;
  }
  .edge-hero__cta-row{ gap: 10px; }
  .edge-hero__cta-row .edge-cta{ width: 100%; }
}

/* ---- § 03 Math grid (edge page): mobile stacking + eyebrow wrap ---- */
@media (max-width: 720px){
  .math-grid > *{ min-width: 0; }
  .mc-hist__eyebrow,
  .corr__eyebrow,
  .stat-card__eyebrow{
    flex-wrap: wrap;
    font-size: 11px;
    letter-spacing: 0.16em;
    line-height: 1.4;
  }
  .mc-hist__head{
    padding: 20px;
    gap: 14px;
  }
  .mc-hist__title{ font-size: 20px; }
  .mc-hist__counter-val{ font-size: 24px; }
  .mc-hist__foot{
    grid-template-columns: 1fr;
  }
  .mc-hist__foot-cell{
    border-right: 0;
    border-bottom: 1px solid rgba(19, 18, 15, 0.08);
    padding: 14px 20px;
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
  }
  .mc-hist__foot-cell:last-child{ border-bottom: 0; }
  .mc-hist__foot-v{ font-size: 20px; }
  .corr{ padding: 24px 20px; }
  .corr__title{ font-size: 22px; }
  .corr__sub,
  .corr__note{ font-size: 15px; }
  .corr__table th,
  .corr__table td{
    padding: 10px 6px;
    font-size: 13px;
  }
  .corr__table tbody th{ padding-left: 10px; }
  .stat-card{ padding: 24px 20px; }
  .stat-card__side-label{
    font-size: 12.5px;
    line-height: 1.35;
    white-space: normal;
  }
  .stat-card__note{ font-size: 15px; }
}

/* ============================================================
   EDGE PAGE — revised overrides (post-feedback 2026-04-24)
   ============================================================ */

/* ---- Hero showcase: big editorial Axiom Edge logo ------------ */
.edge-hero__showcase{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  max-width: 560px;
  margin: 0 auto;
  isolation: isolate;
}
.edge-hero__showcase-halo{
  position: absolute; inset: -10%;
  background: radial-gradient(circle at 50% 50%,
    rgba(30,200,232,0.35) 0%,
    rgba(30,200,232,0.12) 35%,
    transparent 68%);
  filter: blur(12px);
  z-index: -2;
  animation: edge-halo 5.5s ease-in-out infinite;
  border-radius: 50%;
}
@keyframes edge-halo{
  0%, 100%{ transform: scale(1); opacity: 0.95; }
  50%{ transform: scale(1.07); opacity: 1; }
}
.edge-hero__showcase-grid{
  position: absolute; inset: 6%;
  border-radius: 32px;
  background-image:
    linear-gradient(to right, rgba(30,200,232,0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30,200,232,0.08) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 40%, transparent 100%);
  z-index: -1;
  opacity: 0.6;
}
.edge-hero__showcase-logo{
  position: relative;
  z-index: 1;
  width: 76%;
  height: auto;
  display: block;
  border-radius: 24px;
  box-shadow:
    0 40px 80px -20px rgba(0, 0, 0, 0.8),
    0 0 0 1px rgba(30, 200, 232, 0.35),
    0 0 56px -8px rgba(30, 200, 232, 0.45);
}

/* ---- Metrics cards: CREAM on dark section (landing pcard-like) */
.edge-metric{
  padding: clamp(22px, 2.2vw, 30px) clamp(18px, 1.8vw, 26px);
  border: 1px solid rgba(19, 18, 15, 0.10);
  border-radius: 14px;
  background: #F4F1E9;
  box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.55);
  display: flex; flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease;
}
.edge-metric::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0F8FA8 50%, transparent 100%);
  opacity: 0.45;
}
.edge-metric:hover{
  transform: translateY(-3px);
  background: #F4F1E9;
  border-color: rgba(15, 143, 168, 0.45);
  box-shadow:
    0 28px 56px -22px rgba(0, 0, 0, 0.65),
    0 0 0 1px rgba(15, 143, 168, 0.25),
    0 0 32px -8px rgba(30, 200, 232, 0.22);
}
.edge-metric__val{ color: #0F8FA8; }
.edge-metric__label{ color: #5A584F; }

/* ---- § 04 MODES on DARK section — cream card treatment ------- */
.thesis--dark .modes__table{
  border: 1px solid rgba(19, 18, 15, 0.10);
  background: #F4F1E9;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.7);
}
.thesis--dark .modes__row--head .modes__cell{
  background: #FAFAF3;
  color: #0F8FA8;
  border-bottom: 1px solid rgba(19, 18, 15, 0.12);
}
.thesis--dark .modes__row:not(.modes__row--head) .modes__cell{
  color: #13120F;
  border-bottom: 1px solid rgba(19, 18, 15, 0.08);
  background: transparent;
}
.thesis--dark .modes__row--default .modes__cell{
  background: rgba(15, 143, 168, 0.06);
}
.thesis--dark .modes__note{
  background: #F4F1E9;
  border: 1px solid rgba(15, 143, 168, 0.35);
  border-left: 3px solid #0F8FA8;
  box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.55);
}
.thesis--dark .modes__note-eyebrow{ color: #0F8FA8; }
.thesis--dark .modes__note p{ color: #3A3935; }
.thesis--dark .modes__note strong{ color: #13120F; }

/* ---- § 06 FAQ on DARK section — cream cards ------------------ */
.thesis--dark .faq__item{
  border: 1px solid rgba(19, 18, 15, 0.10);
  background: #F4F1E9;
  box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.55);
}
.thesis--dark .faq__item[open]{
  border-color: rgba(15, 143, 168, 0.5);
  background: #F8F6F0;
}
.thesis--dark .faq__q{ color: #13120F; }
.thesis--dark .faq__q::after{ color: #0F8FA8; }
.thesis--dark .faq__a p{ color: #3A3935; }
.thesis--dark .faq__a strong{ color: #13120F; }
.thesis--dark .faq__a a{ color: #0F8FA8; }

/* ---- CTA row (light section) -------------------------------- */
.thesis__cta-row{
  display: flex; justify-content: center;
  margin-top: clamp(24px, 3vw, 40px);
}
.thesis__cta{
  display: inline-flex; align-items: center;
  gap: 14px;
  padding: clamp(16px, 1.4vw, 20px) clamp(28px, 2.6vw, 40px);
  border-radius: 999px;
  background: linear-gradient(135deg, #1AA0BE 0%, #0F8FA8 100%);
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.1vw, 18px);
  letter-spacing: 0.01em;
  box-shadow: 0 18px 40px -18px rgba(15, 143, 168, 0.55);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
}
.thesis__cta .arr{ transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.thesis__cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 48px -18px rgba(15, 143, 168, 0.7);
}
.thesis__cta:hover .arr{ transform: translateX(4px); }

/* ---- Responsive ---------------------------------------------- */
@media (max-width: 1100px){
  .thesis__pillars{ grid-template-columns: 1fr; }
  .method{ grid-template-columns: 1fr; }
  .events{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .page-hero{ padding-top: clamp(120px, 18vw, 160px); }
  .thesis{ padding: clamp(72px, 14vw, 110px) 0; }
}

/* ============================================================
   CONSTRUCTION BANNER — sitio en construcción, todas las páginas
   ============================================================ */
.construction-bar{
  background: #1a1714;
  border-bottom: 1px solid rgba(232, 155, 74, 0.32);
  color: #E89B4A;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  padding: 11px 16px;
  position: relative;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1;
}
.construction-bar__dot{
  width: 7px; height: 7px; border-radius: 50%;
  background: #E89B4A;
  box-shadow: 0 0 8px rgba(232, 155, 74, 0.55);
  animation: equity-pulse 2.4s ease-in-out infinite;
  flex: none;
}
@media (max-width: 480px){
  .construction-bar{
    font-size: 10.5px;
    letter-spacing: 0.14em;
    padding: 10px 12px;
    gap: 8px;
  }
}

/* ============================================================
   COOKIE CONSENT — AEPD compliant, dark theme
   ============================================================ */
.cc-root[hidden]{ display: none; }
.cc-root{
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: flex-end; justify-content: center;
  pointer-events: none;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
}
.cc-scrim{
  position: absolute; inset: 0;
  background: rgba(11,10,7,0.65);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  pointer-events: auto;
  opacity: 0;
  transition: opacity .24s ease;
}
.cc-root.is-visible .cc-scrim{ opacity: 1; }

.cc-panel{
  position: relative;
  width: min(640px, calc(100vw - 32px));
  margin: 0 16px 16px;
  padding: 26px 26px 22px;
  background: #131210;
  color: var(--ink);
  border: 1px solid var(--hair-strong);
  border-radius: 14px;
  box-shadow: 0 28px 64px -8px rgba(0,0,0,0.55),
              0 2px 8px rgba(0,0,0,0.35),
              0 1px 0 rgba(255,255,255,0.03) inset;
  pointer-events: auto;
  transform: translateY(14px);
  opacity: 0;
  transition: transform .28s cubic-bezier(.2,.7,.2,1), opacity .24s ease;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.cc-root.is-visible .cc-panel{ transform: translateY(0); opacity: 1; }
@media (min-width: 720px){
  .cc-root{ align-items: center; }
  .cc-panel{ margin: 0; }
}

.cc-title{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.cc-body{
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-dim);
}
.cc-body--tight{ margin-bottom: 14px; font-size: 14px; }
.cc-link{
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid rgba(30,200,232,0.4);
  transition: border-color .16s ease;
}
.cc-link:hover{ border-bottom-color: var(--cyan); }

.cc-actions{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 560px){
  .cc-actions{ grid-template-columns: 1fr 1fr 1fr; }
  .cc-actions--prefs{ grid-template-columns: 1fr 1fr; }
}

.cc-btn{
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  border-radius: 8px;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
  border: 1px solid transparent;
  -webkit-tap-highlight-color: transparent;
}
.cc-btn:focus-visible{ outline: 2px solid var(--cyan); outline-offset: 2px; }
.cc-btn--ghost{
  background: transparent;
  color: var(--ink);
  border-color: var(--hair-strong);
}
.cc-btn--ghost:hover{
  background: rgba(233,231,225,0.04);
  border-color: rgba(233,231,225,0.24);
}
.cc-btn--primary{
  background: var(--cyan);
  color: #0B1416;
  border-color: var(--cyan);
  font-weight: 600;
}
.cc-btn--primary:hover{ background: #3FD4EE; border-color: #3FD4EE; }

.cc-cats{
  list-style: none; margin: 0 0 18px; padding: 0;
  display: grid; gap: 10px;
  max-height: 50vh;
  overflow-y: auto;
}
.cc-cat{
  padding: 12px 14px;
  background: rgba(233,231,225,0.025);
  border: 1px solid var(--hair);
  border-radius: 10px;
}
.cc-cat__head{
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.cc-cat__name{ font-size: 14.5px; font-weight: 600; color: var(--ink); }
.cc-cat__desc{
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-mute);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-weight: 400;
}
.cc-pill{
  display: inline-block;
  padding: 3px 10px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cyan);
  background: rgba(30,200,232,0.08);
  border: 1px solid rgba(30,200,232,0.28);
  border-radius: 999px;
}

.cc-switch{
  position: relative;
  display: inline-flex; align-items: center; gap: 10px;
  cursor: pointer;
  user-select: none;
}
.cc-switch input{ position: absolute; opacity: 0; pointer-events: none; }
.cc-switch__track{
  position: relative;
  width: 38px; height: 22px;
  background: rgba(233,231,225,0.12);
  border: 1px solid rgba(233,231,225,0.22);
  border-radius: 999px;
  transition: background .16s ease, border-color .16s ease;
}
.cc-switch__track::after{
  content: "";
  position: absolute;
  top: 2px; left: 2px;
  width: 16px; height: 16px;
  background: var(--ink);
  border-radius: 50%;
  transition: transform .18s ease, background .18s ease;
}
.cc-switch input:checked + .cc-switch__track{
  background: rgba(30,200,232,0.24);
  border-color: rgba(30,200,232,0.6);
}
.cc-switch input:checked + .cc-switch__track::after{
  transform: translateX(16px);
  background: var(--cyan);
}
.cc-switch input:focus-visible + .cc-switch__track{
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}
.cc-switch__label{
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
}

/* ==========================================================================
   Legal pages — ES-only language banner
   Visible solo cuando i18n.js detecta idioma != ES en aviso-legal/privacidad/cookies.
   ========================================================================== */
.legal-eslang-banner{
  background: rgba(30, 200, 232, 0.08);
  border-bottom: 1px solid rgba(30, 200, 232, 0.25);
  color: var(--ink);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-align: center;
  padding: 14px 24px;
}
.legal-eslang-banner[hidden]{ display: none; }


/* ============================================================
   PROMOCIÓN AXIOM — /promocion.html
   ============================================================ */
.promo-hero{
  position: relative;
  background: #0B0A07;
  padding: clamp(130px, 15vw, 200px) 0 clamp(70px, 8vw, 110px);
  overflow: hidden;
  border-bottom: 1px solid var(--hair);
}
.promo-hero__grid{
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(233,231,225,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(233,231,225,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000 30%, transparent 100%);
}
.promo-hero__wrap{
  position: relative; max-width: 980px; margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 80px); text-align: left;
}
.promo-tag, .promo-sec__eyebrow{
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 13px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--cyan-on, #0F8FA8); display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px;
}
.promo-tag{ color: var(--cyan); }
.promo-sec__eyebrow--on-dark{ color: var(--cyan); }
.promo-tag .sect, .promo-sec__eyebrow .sect{ color: inherit; font-weight: 600; }
.promo-hero__title{
  font-family: "Space Grotesk", sans-serif; font-weight: 700;
  font-size: clamp(44px, 7vw, 86px); line-height: 1.02; letter-spacing: -0.02em;
  margin: 0 0 26px; color: var(--ink);
}
.promo-hero__title .accent{ color: var(--cyan); }
.promo-hero__lede{
  font-size: clamp(17px, 1.5vw, 21px); line-height: 1.6; color: var(--ink-dim);
  max-width: 62ch; margin: 0 0 34px;
}
.promo-hero__cta-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.promo-hero__micro{
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12.5px;
  letter-spacing: 0.04em; color: var(--ink-mute); margin: 0;
}

/* ---- Buttons ---- */
.promo-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: "Space Grotesk", sans-serif; font-weight: 600; font-size: 15px;
  letter-spacing: 0.01em; padding: 15px 26px; border-radius: 4px; text-decoration: none;
  border: 1px solid transparent; cursor: pointer; transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
.promo-btn--primary{ background: var(--cyan); color: #0B0A07; }
.promo-btn--primary:hover{ transform: translateY(-1px); background: #41D4F0; }
.promo-btn--ghost{ background: transparent; color: var(--ink); border-color: var(--hair-strong); }
.promo-btn--ghost:hover{ border-color: var(--cyan); color: var(--cyan); }
.promo-sec--light .promo-btn--ghost{ color: #13120F; border-color: rgba(19,18,15,0.22); }
.promo-sec--light .promo-btn--ghost:hover{ color: #0F8FA8; border-color: #0F8FA8; }

/* ---- Sections ---- */
.promo-sec{ padding: clamp(70px, 9vw, 116px) 0; border-top: 1px solid var(--hair); }
.promo-sec--light{ background: #F4F1E9; color: #13120F; border-top: 1px solid rgba(19,18,15,0.08); }
.promo-wrap{ max-width: 980px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 80px); }
.promo-sec__head{ margin-bottom: 40px; }
.promo-sec__title{
  font-family: "Space Grotesk", sans-serif; font-weight: 700;
  font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -0.015em; margin: 0 0 14px;
}
.promo-sec--light .promo-sec__title{ color: #13120F; }
.promo-sec__lede{ font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; max-width: 60ch; margin: 0; color: var(--ink-dim); }
.promo-sec--light .promo-sec__lede{ color: #3A3935; }
.promo-sec__lede a{ color: var(--cyan); }
.promo-sec--light .promo-sec__lede a{ color: #0F8FA8; }
.promo-prose p{ font-size: 16.5px; line-height: 1.7; margin: 0 0 16px; max-width: 64ch; color: var(--ink-dim); }
.promo-sec--light .promo-prose p{ color: #3A3935; }
.promo-prose strong{ color: var(--ink); font-weight: 700; }
.promo-sec--light .promo-prose strong{ color: #13120F; }

/* ---- Callout ---- */
.promo-callout{ margin-top: 28px; background: #FFFFFF; border: 1.5px solid #13120F; border-radius: 4px; padding: 22px 26px; }
.promo-callout--dark{ background: var(--panel); border-color: var(--hair-strong); border-left: 4px solid var(--cyan); }
.promo-callout__tag{
  display: block; font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 8px; color: #0F8FA8;
}
.promo-callout--dark .promo-callout__tag{ color: var(--cyan); }
.promo-callout__body{ margin: 0; font-size: 16px; line-height: 1.6; }
.promo-callout--dark .promo-callout__body{ color: var(--ink); }

/* ---- Benefit cards ---- */
.promo-cards{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.promo-card{ background: #FFFFFF; border: 1px solid rgba(19,18,15,0.10); border-radius: 4px; padding: 26px 26px 28px; }
.promo-card__num{ font-family: "JetBrains Mono", monospace; font-size: 13px; font-weight: 600; color: #0F8FA8; letter-spacing: 0.1em; }
.promo-card__title{ font-family: "Space Grotesk", sans-serif; font-size: 19px; font-weight: 700; margin: 10px 0 8px; color: #13120F; }
.promo-card__body{ margin: 0; font-size: 15.5px; line-height: 1.6; color: #3A3935; }
.promo-note{ margin-top: 26px; font-size: 14.5px; line-height: 1.6; color: #5A584F; font-style: italic; }
.promo-note strong{ font-style: normal; color: #13120F; }

/* ---- Registration (dark) ---- */
.promo-reg__grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 22px; }
.promo-reg__card{
  background: var(--panel); border: 1px solid var(--hair-strong); border-radius: 6px;
  padding: 30px 28px 32px; display: flex; flex-direction: column; align-items: flex-start;
}
.promo-reg__card--featured{ border-color: rgba(30,200,232,0.45); box-shadow: 0 0 0 1px rgba(30,200,232,0.18), 0 18px 50px -28px rgba(30,200,232,0.5); }
.promo-reg__flag{
  font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--cyan); border: 1px solid var(--hair-strong);
  padding: 5px 10px; border-radius: 20px; margin-bottom: 18px;
}
.promo-reg__card--featured .promo-reg__flag{ border-color: rgba(30,200,232,0.5); }
.promo-reg__logo{ height: 30px; width: auto; margin-bottom: 14px; filter: brightness(0) invert(1); opacity: 0.92; }
.promo-reg__desc{ font-size: 15px; line-height: 1.55; color: var(--ink-dim); margin: 0 0 22px; }
.promo-reg__btn{ width: 100%; margin-bottom: 22px; }
.promo-reg__qr{ display: flex; align-items: center; gap: 14px; }
.promo-reg__qr img{ width: 88px; height: 88px; border-radius: 6px; background: #fff; padding: 6px; }
.promo-reg__qr span{ font-family: "JetBrains Mono", monospace; font-size: 12px; color: var(--ink-mute); letter-spacing: 0.02em; }
.promo-reg__disclosure{ font-size: 13.5px; line-height: 1.55; color: var(--ink-mute); margin: 0; max-width: 70ch; }

/* ---- Steps (light) ---- */
.promo-steps{ list-style: none; padding: 0; margin: 0; display: grid; gap: 26px; }
.promo-step{ display: flex; gap: 22px; align-items: flex-start; }
.promo-step__n{
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: #0F8FA8; color: #fff;
  font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.promo-step__h{ font-family: "Space Grotesk", sans-serif; font-size: 19px; font-weight: 700; margin: 8px 0 6px; color: #13120F; }
.promo-step__body p{ margin: 0; font-size: 16px; line-height: 1.6; color: #3A3935; }
.promo-step__body a{ color: #0F8FA8; }
.promo-final{ margin-top: 44px; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.promo-final__txt{ font-family: "Space Grotesk", sans-serif; font-size: 22px; font-weight: 600; margin: 0; color: #13120F; }

/* ---- Fine print (dark) ---- */
.promo-fine__list{ list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.promo-fine__list li{ position: relative; padding-left: 22px; font-size: 15px; line-height: 1.6; color: var(--ink-dim); max-width: 78ch; }
.promo-fine__list li::before{ content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); }
.promo-fine__list strong{ color: var(--ink); font-weight: 700; }

/* ---- Responsive ---- */
@media (max-width: 860px){
  .promo-cards, .promo-reg__grid{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .promo-step{ gap: 16px; }
  .promo-step__n{ width: 40px; height: 40px; font-size: 18px; }
  .promo-reg__qr img{ width: 76px; height: 76px; }
}
