/* TechPartners LATAM — tech premium 2026 refined · cold tech (revert warm editorial previo)
 * Hallmark · macrostructure: Tech Premium + Metric Bar · nav: N1b canonical
 * Tech frío neutro 97% 0.005 240 + azul-violeta 52% 0.14 265 + amber 68% 0.12 45 · radii 16-20 pill · no warm stone, no tono naranja previo, no crema
 * Theme locked to tokens.css vars only — no hex/oklch inline fuera de tokens.
 * Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
 */

*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:4.5rem;
  background:var(--color-paper);
  overflow-x:clip;
}
body{
  margin:0;
  min-width:320px;
  overflow-x:clip;
  color:var(--color-ink);
  background:var(--color-paper);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:var(--leading-normal);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-optical-sizing:auto;
}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select{font:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
h1,h2,h3{font-family:var(--font-display);text-wrap:balance;overflow-wrap:anywhere;min-width:0;font-style:normal}
p{text-wrap:pretty}
ul,ol{padding:0;list-style:none}
::selection{color:var(--color-accent-ink);background:var(--color-accent)}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}
:where(a,button,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.tnum{font-variant-numeric:tabular-nums lining-nums;font-family:var(--font-mono)}
.mono{font-family:var(--font-mono)}
.accent{color:var(--color-accent)}

/* Skip link */
.skip-link{
  position:fixed;
  inset:.75rem auto auto 1rem;
  z-index:9999;
  padding:.7rem 1rem;
  border-radius:var(--radius-sm);
  color:var(--color-paper);
  background:var(--color-ink);
  font-weight:650;
  font-size:var(--text-sm);
  text-decoration:none;
  transform:translateY(-180%);
  transition:transform var(--dur-short) var(--ease-out);
}
.skip-link:focus-visible{transform:translateY(0)}

/* Layout */
.container{
  width:min(100% - 2*var(--page-gutter), var(--content-max));
  margin-inline:auto;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  color:var(--color-muted);
  font-family:var(--font-kicker);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.eyebrow::before{
  content:"";width:16px;height:1px;background:currentColor;opacity:.45;
}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(1.75rem, 3.2vw, 2.65rem);
  font-weight:550;
  line-height:1.10;
  letter-spacing:-0.015em;
  color:var(--color-ink);
}
.section-lede{
  max-width:52ch;
  margin-top:.85rem;
  color:var(--color-muted);
  font-size:clamp(0.98rem,1.2vw,1.06rem);
  line-height:1.68;
}
.section-head{position:relative;margin-bottom:2.6rem;padding-left:1rem;border-left:3px solid var(--color-accent)}

/* — Nav editorial plano — sin pill, sin blur */
.nav-wrap{
  position:sticky;
  top:0;
  z-index:var(--z-nav);
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
}
.nav{
  width:min(100% - 2*var(--page-gutter), var(--content-max));
  margin-inline:auto;
  min-height:64px;
  display:flex;
  align-items:center;
  gap:1.25rem;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
.nav__brand{
  display:inline-flex;align-items:center;gap:.7rem;
  text-decoration:none;
  flex-shrink:0;
}
.nav__logo-mark{
  width:32px;height:32px;
  display:grid;place-items:center;
  background:var(--color-ink);
  color:var(--color-paper);
    border-radius:10px;
  flex-shrink:0;
}
:root[data-theme="dark"] .nav__logo-mark{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule-strong)}
.nav__logo-mark svg{width:20px;height:20px}
.nav__wordmark{line-height:1}
.nav__wordmark-main{
  display:flex;align-items:baseline;gap:.12rem;
  font-family:var(--font-body);
  font-weight:700;
  font-size:1rem;
  letter-spacing:-0.02em;
  color:var(--color-ink);
}
.nav__wordmark-main em{font-style:normal;color:var(--color-accent)}
.nav__wordmark-sub{
  display:flex;align-items:center;gap:.35rem;
  font-family:var(--font-mono);
  font-size:.60rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--color-muted);
  margin-top:1px;
}
.nav__wordmark-sub span{opacity:.4}
.nav__links{
  display:flex;align-items:center;gap:1.4rem;
  margin-left:auto;
}
.nav__links a{
  padding:.85rem 0 .82rem;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  color:var(--color-ink-2);
  font-family:var(--font-body);
  font-size:.86rem;
  font-weight:500;
  letter-spacing:-0.01em;
  text-decoration:none;
  transition:color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);
}
.nav__links a:hover{color:var(--color-ink);border-bottom-color:var(--color-rule-strong)}
.nav__links a[aria-current="page"]{color:var(--color-ink);border-bottom-color:var(--color-accent);font-weight:600}
.nav__actions{
  display:flex;align-items:center;gap:.6rem;
  flex-shrink:0;
}
.btn{
  min-height:2.75rem;
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.6rem 1rem;
  border:1px solid var(--color-rule);
    border-radius:var(--radius-btn-secondary);
  font-family:var(--font-body);
  font-weight:600;
  font-size:.88rem;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out);
}
.btn:hover{transform:none}
.btn:active{transform:none}
.btn--primary{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent);border-radius:var(--radius-btn-primary)}
.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.btn--primary-amber{color:var(--color-amber-ink);background:var(--color-amber);border-color:var(--color-amber);border-radius:var(--radius-btn-primary)}
.btn--primary-amber:hover{filter:brightness(0.97);border-color:color-mix(in oklch, var(--color-amber) 85%, black)}
.btn--ghost{color:var(--color-ink);background:var(--color-paper-elevated);border-color:var(--color-rule);border-radius:var(--radius-btn-secondary)}
.btn--ghost:hover{background:var(--color-paper-3);border-color:var(--color-rule-strong)}
.btn--sm{min-height:2.5rem;padding:.5rem .85rem;font-size:.82rem}
.btn--lg{min-height:3rem;padding:.75rem 1.2rem;font-size:.92rem;font-weight:650}
.btn--full{width:100%}

.theme-toggle{
  width:2.75rem;height:2.75rem;
  min-width:44px;min-height:44px;
  display:grid;place-items:center;
  padding:0;
  color:var(--color-ink-2);
  background:transparent;
  border:1px solid var(--color-rule);
    border-radius:var(--radius-nav);
  cursor:pointer;
  flex-shrink:0;
}
.theme-toggle:hover{border-color:var(--color-rule-strong);color:var(--color-ink)}
.theme-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.theme-toggle .icon-sun{display:none}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:none}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:block}

.nav__hamburger{
  display:none;
  width:2.75rem;height:2.75rem;
  min-width:44px;min-height:44px;
  place-items:center;
  background:var(--color-ink);
  color:var(--color-paper);
  border:1px solid var(--color-ink);
    border-radius:var(--radius-nav);
  cursor:pointer;
}
.nav__hamburger svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7}
.nav__mobile-panel{
  display:none;
  position:absolute;
  top:100%;
  left:0;right:0;
  padding:.5rem var(--page-gutter) 1rem;
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
  border-top:1px solid var(--color-rule);
}
.nav__mobile-panel.is-open{display:block;z-index:calc(var(--z-nav) + 1);box-shadow:0 12px 24px rgba(15,27,46,.08)}
body.is-locked{overflow:hidden}
.nav__mobile-panel a{
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 0;
  border-bottom:1px solid var(--color-rule);
  color:var(--color-ink);
  font-weight:550;
  font-size:.92rem;
  text-decoration:none;
}
.nav__mobile-panel a:last-of-type{border-bottom:0}

/* — Hero editorial asimétrico 60/40 — sin card stack, sin dots, sin floating */
.hero{
  position:relative;
  overflow:clip;
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
  border-radius:0;
  box-shadow:var(--shadow-hero);
}
.hero::before{display:none}
.hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,0.95fr);
  gap:clamp(2.5rem, 5vw, 4rem);
  align-items:start;
  padding-block:clamp(3rem, 6vw, 4.8rem) clamp(2.8rem, 4.5vw, 4rem);
}
.hero__copy{
  max-width:42rem;
  min-width:0;
  padding-top:.35rem;
}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:0 0 .4rem;
  background:transparent;
  border:0;
  border-bottom:2px solid var(--color-accent);
  border-radius:0;
  font-family:var(--font-kicker);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--color-accent);
}
.hero__eyebrow i{display:none}
.hero__title{
  margin-top:1rem;
  font-family:var(--font-body);
  font-size:var(--text-hero);
  font-weight:600;
  line-height:1.02;
  letter-spacing:-0.02em;
  color:var(--color-ink);
  font-optical-sizing:auto;
}
.hero__title span{
  color:var(--color-ink);
  position:relative;
  font-weight:400;
  font-style:normal;
}
/* editorial underline tinta sutil, no highlight */
.hero__title span::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:.06em;
  height:2px;
  background:var(--color-accent);
  opacity:.9;
  border-radius:0;
  z-index:-1;
}
.hero__lede{
  margin-top:1rem;
  max-width:48ch;
  color:var(--color-muted);
  font-size:clamp(1rem, 1.15vw, 1.08rem);
  line-height:1.68;
}
.hero__price{
  display:flex;align-items:center;gap:.7rem;
  margin-top:1.25rem;
  padding-top:1rem;
  border-top:1px solid var(--color-rule);
  flex-wrap:wrap;
}
.hero__price-main{
  display:flex;align-items:baseline;gap:.2rem;
  font-family:var(--font-mono);
  font-weight:700;
  letter-spacing:-0.03em;
  line-height:1;
  color:var(--color-ink);
}
.hero__price-main b{font-size:1.35rem;letter-spacing:-0.04em}
.hero__price-main span{font-size:.82rem;font-weight:600;opacity:.6;letter-spacing:0}
.hero__price-note{
  display:inline-flex;align-items:center;
  padding:.25rem .5rem;
  background:var(--color-paper-2);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-pill);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.70rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
:root[data-theme="dark"] .hero__price-note{color:var(--color-muted)}
.hero__actions{
  display:flex;flex-wrap:wrap;gap:.6rem;
  margin-top:1.3rem;
}
.hero__trust{
  display:flex;flex-wrap:wrap;gap:0;
  margin-top:1.25rem;
  padding-top:1rem;
  border-top:1px solid var(--color-rule);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.02em;
}
.hero__trust span{
  display:inline-flex;align-items:center;gap:.4rem;
  padding-right:1rem;
  margin-right:1rem;
  border-right:1px solid var(--color-rule);
}
.hero__trust span:last-child{border-right:0;margin-right:0;padding-right:0}
.hero__trust svg{display:none}
.hero__waitlist-count{
  margin-top:.7rem;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.78rem;
}

/* Hero visual — figure con imagen confianza */
.hero__visual{
  position:relative;
  min-width:0;
  align-self:start;
}
.hero__figure{
  margin:0;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card);
  overflow:hidden;
}
.hero__figure img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  border-radius:0;
  border:0;
  filter:saturate(0.92) contrast(1.02);
}
.hero__figure figcaption{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.6rem .75rem;
  background:var(--color-paper-elevated);
  border-top:1px solid var(--color-rule);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.4;
}
.hero__figure figcaption span:last-child{
  font-weight:650;
  color:var(--color-ink-2);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
/* Proveedores mini-lista editorial bajo figura */
.hero__providers-mini{
  margin-top:.85rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.5rem;
}
.hero__providers-mini span{
  display:flex;align-items:center;justify-content:center;
  padding:.5rem .35rem;
  background:var(--color-paper-2);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}

/* Trust bar — métricas con separadores, sin iconos */
.trust{
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
}
.trust__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:0;
}
.trust__grid li{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  padding:1.6rem 1.4rem 1.7rem;
  min-width:0;
}
.trust__grid li + li{border-left:1px solid var(--color-rule)}
.trust__kicker{
  font-family:var(--font-kicker);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--color-accent);
}
.trust__grid h3{
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:650;
  line-height:1.2;
  letter-spacing:-0.015em;
  color:var(--color-ink);
}
.trust__grid p{
  margin:0;
  color:var(--color-muted);
  font-size:.84rem;
  line-height:1.5;
  max-width:32ch;
}

/* Banda chips — subrayado editorial, no pills */
.banda{
  padding-block:0;
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
  overflow:hidden;
}
.banda__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:1.5rem 0 .45rem;
  border-bottom:0;
}
.banda__head h2{
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:650;
  letter-spacing:-0.015em;
  color:var(--color-ink);
}
.banda__head span{
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.78rem;
  font-variant-numeric:tabular-nums;
}
.banda__head span b{color:var(--color-ink)}
.chips{
  display:flex;gap:0;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding-bottom:0;
  cursor:grab;
  border-bottom:1px solid var(--color-rule);
  scroll-snap-type:x proximity;
  mask-image:linear-gradient(90deg, black 88%, transparent 100%);
}
.chips > *{scroll-snap-align:start}
.chips:active{cursor:grabbing}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex-shrink:0;
  min-height:44px;
  min-width:44px;
  padding:.75rem 1rem .7rem;
  background:transparent;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:.84rem;
  font-weight:500;
  white-space:nowrap;
  cursor:pointer;
  margin-bottom:-1px;
  transition:color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);
}
.chip:hover{color:var(--color-ink);border-bottom-color:var(--color-rule-strong);transform:none;background:transparent}
.chip.is-active{color:var(--color-ink);background:transparent;border-bottom-color:var(--color-accent);font-weight:650}
.chip:focus-visible{outline-offset:-2px}

/* Providers · ritmo descomprimido (hallmark Ergonomía) */
.providers{
  padding-block:clamp(3rem, 5vw, 5rem);
  background:var(--color-paper);
}
.providers__toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;
  margin-bottom:1.4rem;
}
.search{
  position:relative;
  flex:1;
  min-width:16rem;
  max-width:30rem;
}
.search input{
  width:100%;
  min-height:2.75rem;
  padding:.6rem 2.6rem .6rem 2.35rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-ink);
  font-family:var(--font-body);
  font-size:.88rem;
}
.search input::placeholder{color:var(--color-muted-2)}
.search input:focus{outline:2px solid var(--color-focus);outline-offset:0;border-color:transparent}
.search svg{
  position:absolute;left:.8rem;top:50%;transform:translateY(-50%);
  width:15px;height:15px;stroke:var(--color-muted);fill:none;stroke-width:1.6;
  pointer-events:none;
}
.search__clear{
  position:absolute;right:.45rem;top:50%;transform:translateY(-50%);
  width:28px;height:28px;min-width:28px;min-height:28px;
  display:grid;place-items:center;
  background:var(--color-paper-2);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-muted);
  cursor:pointer;
  opacity:0;pointer-events:none;
  transition:opacity var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);
}
.search__clear.is-visible{opacity:1;pointer-events:auto}
.search__clear:hover{border-color:var(--color-rule-strong);color:var(--color-ink)}
.search__clear svg{position:static;transform:none;width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8}
.providers__meta{
  display:flex;align-items:center;gap:.6rem;
  margin-left:auto;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.78rem;
  white-space:nowrap;
}
.providers__meta b{color:var(--color-ink)}
.providers__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.25rem;
}
@media (min-width:1024px){.providers__grid{grid-template-columns:repeat(4, minmax(0,1fr))}}

.card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:border-color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out);
}
.card:hover{
  transform:none;
  box-shadow:none;
  border-color:var(--color-accent);
  outline:1px solid var(--color-accent);
  outline-offset:-1px;
}
.card__top{
  display:flex;align-items:center;gap:.7rem;
  padding:.9rem .9rem .8rem;
}
.card__logo{
  width:38px;height:38px;
  display:grid;place-items:center;
    border-radius:8px;
  color:white;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:-0.02em;
  flex-shrink:0;
  border:1px solid rgba(0,0,0,0.06);
}
.card__name{flex:1;min-width:0;padding-right:4.2rem}
.card__name b{display:block;font-family:var(--font-body);font-size:.92rem;line-height:1.15;letter-spacing:-0.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink)}
.card__name span{
  display:block;
  margin-top:.15rem;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  line-height:1.2;
}
.card__badge{
  position:absolute;
  top:.55rem;right:.55rem;
  padding:.22rem .42rem;
  background:var(--color-paper-2);
  color:var(--color-ink-2);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-pill);
  font-family:var(--font-mono);
  font-size:.60rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.card__badge--accent{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}
.card__badge--amber{background:var(--color-amber);color:var(--color-amber-ink);border-color:var(--color-amber)}
.card__body{
  padding:0 1rem 1rem;
  flex:1;
}
.card__desc{color:var(--color-muted);font-size:.84rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__foot{
  display:flex;align-items:center;gap:.5rem;
  padding:.7rem .9rem;
  border-top:1px solid var(--color-rule);
  background:transparent;
}
.card__price{font-family:var(--font-mono);font-weight:700;font-size:.84rem;letter-spacing:-0.02em;color:var(--color-ink)}
.card__price s{color:var(--color-muted-2);font-weight:500;font-size:.74rem;margin-left:.25rem}
.card__cta{
  margin-left:auto;
  min-height:1.85rem;
  padding:.35rem .6rem;
    border-radius:var(--radius-btn-primary);
  background:var(--color-ink);
  color:var(--color-paper);
  border:1px solid var(--color-ink);
  font-family:var(--font-body);
  font-size:.76rem;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}
.card__cta:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}
.card.is-hidden{display:none !important}
.card__empty{
  grid-column:1/-1;
  padding:2rem;
  text-align:center;
  color:var(--color-muted);
  border:1px dashed var(--color-rule-strong);
    border-radius:var(--radius-card);
}

/* drag helper */
.drag-scroll{overflow-x:auto;scrollbar-width:none;cursor:grab}
.drag-scroll:active{cursor:grabbing}
.drag-scroll::-webkit-scrollbar{display:none}

/* Bento — asimétrico real editorial · respiración hallmark H+E (gap 1.5rem / padding 32px) */
.bento-section{
  padding-block:clamp(3.2rem, 5.5vw, 5.5rem);
  background:var(--color-paper-2);
  border-block:1px solid var(--color-rule);
}
.bento{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  grid-template-areas:
    "lead side1"
    "lead side2"
    "lead side3";
  gap:1.5rem;
  align-items:stretch;
}
.bento__cell{
  position:relative;
  overflow:hidden;
  padding:2rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card);
  min-width:0;
  display:flex;
  flex-direction:column;
}
.bento__cell--lead{
  grid-area:lead;
  justify-content:space-between;
  background:var(--color-paper-elevated);
  border-color:var(--color-rule);
  padding:2rem;
}
.bento__cell:nth-child(2){grid-area:side1}
.bento__cell:nth-child(3){grid-area:side2}
.bento__cell:nth-child(4){grid-area:side3}
.bento__kicker{
  font-family:var(--font-kicker);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--color-accent);
}
.bento__num{
  font-family:var(--font-mono);
  font-size:2rem;
  font-weight:700;
  line-height:1;
  letter-spacing:-0.04em;
  color:var(--color-rule-strong);
}
.bento__cell--lead .bento__num{color:var(--color-accent);font-size:1.15rem;letter-spacing:.1em}
.bento__cell h3{
  margin-top:.7rem;
  font-family:var(--font-body);
  font-size:1.08rem;
  font-weight:650;
  line-height:1.20;
  letter-spacing:-0.015em;
  color:var(--color-ink);
}
.bento__cell--lead h3{font-family:var(--font-display);font-size:clamp(1.45rem, 2.2vw, 1.9rem);font-weight:550;letter-spacing:-0.02em;line-height:1.10}
.bento__cell p{margin-top:.55rem;color:var(--color-muted);font-size:.88rem;line-height:1.65;max-width:44ch}
.bento__list{margin-top:1.1rem;display:grid;gap:.60rem}
.bento__list li{display:flex;gap:.6rem;color:var(--color-ink-2);font-size:.86rem;line-height:1.62}
.bento__list li::before{content:"—";color:var(--color-accent);font-weight:700;flex-shrink:0}
.bento__stat{
  margin-top:1.4rem;
  padding-top:1.2rem;
  border-top:1px solid var(--color-rule);
  display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;
}
.bento__stat b{font-family:var(--font-mono);font-size:2.6rem;letter-spacing:-0.05em;line-height:.9;color:var(--color-ink)}
.bento__stat span{color:var(--color-muted);font-size:.78rem;line-height:1.35;text-align:right;max-width:14ch}
.bento__mini-grid{
  display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:.85rem;margin-top:1.25rem;
}
.bento__mini{
  padding:.75rem;
  background:var(--color-paper-2);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
}
.bento__mini b{display:block;font-family:var(--font-mono);font-size:1rem;line-height:1;letter-spacing:-0.02em;color:var(--color-ink)}
.bento__mini span{color:var(--color-muted);font-family:var(--font-mono);font-size:.70rem;letter-spacing:.06em;text-transform:uppercase}

/* Comparativa · respiración */
.compare{
  padding-block:clamp(3rem, 5vw, 5rem);
}
.compare__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.5rem;
  align-items:start;
}
.compare__col{
  padding:1.5rem;
    border-radius:var(--radius-card);
  border:1px solid var(--color-rule);
  background:var(--color-paper-elevated);
}
.compare__col--pro{
  background:var(--color-ink);
  color:var(--color-paper);
  border-color:var(--color-ink);
}
:root[data-theme="dark"] .compare__col--pro{background:var(--color-paper-3);border-color:var(--color-rule-strong);color:var(--color-ink)}
.compare__col h3{font-family:var(--font-body);font-size:.92rem;font-weight:650;display:flex;align-items:center;gap:.5rem;letter-spacing:-0.01em}
.compare__col--pro h3{color:var(--color-paper)}
:root[data-theme="dark"] .compare__col--pro h3{color:var(--color-ink)}
.compare__col ul{margin-top:1rem;display:grid;gap:.65rem}
.compare__col li{display:flex;gap:.6rem;font-size:.88rem;line-height:1.62;color:var(--color-ink-2)}
.compare__col--pro li{color:color-mix(in oklch, var(--color-paper) 85%, transparent)}
:root[data-theme="dark"] .compare__col--pro li{color:var(--color-ink-2)}
.compare__badge{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.22rem .45rem;
  background:var(--color-amber);
  color:var(--color-amber-ink);
    border-radius:var(--radius-pill);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-left:auto;
}

/* Pricing — 2026 refined: comunidad papel vs PRO tinta, sin neón, AA+ · gap descomprimido */
.pricing{
  padding-block:clamp(3.2rem, 5.5vw, 5.6rem);
  background:var(--color-paper-2);
  border-top:1px solid var(--color-rule);
}
.pricing__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:2rem;
  align-items:stretch;
  max-width:56rem;
  margin-inline:auto;
}
.price-card{
  display:flex;
  box-shadow:var(--shadow-card);
  flex-direction:column;
  padding:1.75rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card-lg);
}
.price-card--free{
  background:var(--color-paper-elevated);
  border-color:var(--color-rule);
}
.price-card--pro{
  position:relative;
  background:var(--color-ink);
  color:var(--color-paper);
  border-color:var(--color-ink);
  box-shadow:none;
  transform:none;
}
/* Badge superior editorial — tinta sobre papel para free, papel sobre tinta para pro */
.price-card--free::before{
  content:"Comunidad";
  position:absolute;
  top:-9px;left:1rem;
  padding:.2rem .45rem;
  background:var(--color-paper-elevated);
  color:var(--color-muted);
    border-radius:var(--radius-pill);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  border:1px solid var(--color-rule);
}
.price-card--pro::before{
  content:"Recomendado · PRO";
  position:absolute;
  top:-9px;left:1rem;
  padding:.22rem .5rem;
  background:var(--color-paper);
  color:var(--color-ink);
    border-radius:var(--radius-pill);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
  border:1px solid var(--color-paper);
}
:root[data-theme="dark"] .price-card--pro::before{
  background:var(--color-paper-2);
  color:var(--color-ink);
  border-color:var(--color-rule);
}
.price-card h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700;letter-spacing:-0.015em}
.price-card--pro h3{color:var(--color-paper)}
:root[data-theme="dark"] .price-card--pro h3{color:var(--color-ink)}
.price-card__eyebrow{
  display:inline-flex;
  font-family:var(--font-mono);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--color-muted);
  margin-bottom:.35rem;
}
.price-card--pro .price-card__eyebrow{
  color:color-mix(in oklch, var(--color-paper) 72%, transparent);
}
:root[data-theme="dark"] .price-card--pro .price-card__eyebrow{
  color:var(--color-muted);
}
.price-card__price{
  display:flex;align-items:baseline;gap:.25rem;
  margin-top:.85rem;
  font-family:var(--font-mono);
  font-weight:800;
  letter-spacing:-0.05em;
  line-height:1;
  color:var(--color-ink);
}
.price-card__price b{font-size:2.6rem}
.price-card__price small{font-size:.82rem;font-weight:600;opacity:.6}
.price-card__note{margin-top:.35rem;color:var(--color-muted);font-size:.82rem;line-height:1.45}
.price-card--pro .price-card__note{
  color:color-mix(in oklch, var(--color-paper) 72%, transparent);
}
:root[data-theme="dark"] .price-card--pro .price-card__note{color:var(--color-muted)}
.price-card ul{margin-top:1.15rem;display:grid;gap:.65rem;flex:1}
.price-card li{display:flex;gap:.55rem;font-size:.86rem;line-height:1.62;color:var(--color-ink-2)}
.price-card--pro li{
  color:color-mix(in oklch, var(--color-paper) 85%, transparent);
}
:root[data-theme="dark"] .price-card--pro li{color:var(--color-ink-2)}
.price-card li.is-muted{color:var(--color-muted-2)}
.price-card--pro li.is-muted{
  color:color-mix(in oklch, var(--color-paper) 48%, transparent);
}
:root[data-theme="dark"] .price-card--pro li.is-muted{color:var(--color-muted-2)}
.price-card .btn{margin-top:1.15rem;border-radius:var(--radius-btn-primary)}
.price-card--pro .btn{
  background:var(--color-paper);
  color:var(--color-ink);
  border-color:var(--color-paper);
  font-weight:700;
}
.price-card--pro .btn:hover{
  background:var(--color-paper-2);
  border-color:var(--color-paper-2);
  color:var(--color-ink);
}
:root[data-theme="dark"] .price-card--pro .btn{
  background:var(--color-ink);
  color:var(--color-paper);
  border-color:var(--color-ink);
}

/* Testimonios · respiración */
.testis{
  padding-block:clamp(3rem, 5vw, 5rem);
}
.testis__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.25rem;
}
.testi{
  padding:1.5rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card);
}
.testi__quote{
  color:var(--color-ink-2);
  font-size:.92rem;
  line-height:1.66;
}
.testi__quote::before{content:"“";color:var(--color-accent);font-family:var(--font-display);font-weight:600;font-size:1.2rem;line-height:1;margin-right:.1rem}
.testi__foot{
  display:flex;align-items:center;gap:.65rem;
  margin-top:1rem;
  padding-top:.9rem;
  border-top:1px solid var(--color-rule);
}
.testi__avatar{
  width:34px;height:34px;
  display:grid;place-items:center;
  background:var(--color-paper-3);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  font-family:var(--font-mono);
  font-weight:700;
  font-size:.72rem;
  color:var(--color-ink-2);
}
.testi__who b{display:block;font-size:.86rem;line-height:1.1}
.testi__who span{color:var(--color-muted);font-size:.74rem;font-family:var(--font-mono)}

/* FAQ · respiración */
.faq{
  padding-block:clamp(3.2rem, 5.5vw, 5.6rem);
  background:var(--color-paper-2);
  border-block:1px solid var(--color-rule);
}
.faq__layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);
  gap:clamp(1.8rem, 4vw, 3.5rem);
  align-items:start;
}
.faq__list{
  border-top:1px solid var(--color-rule-strong);
}
.faq__list details{border-bottom:1px solid var(--color-rule-strong)}
.faq__list summary{
  min-height:3.6rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.15rem .25rem;
  color:var(--color-ink);
  font-family:var(--font-body);
  font-size:.95rem;
  font-weight:600;
  line-height:1.35;
  cursor:pointer;
  list-style:none;
}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{
  content:"+";
  flex:none;
  width:26px;height:26px;
  display:grid;place-items:center;
  background:transparent;
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.9rem;
  line-height:1;
  transition:background var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);
}
.faq__list details[open] summary::after{transform:none;background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink);content:"—"}
.faq__list details p{
  max-width:60ch;
  padding:0 .25rem 1.1rem;
  color:var(--color-muted);
  font-size:.90rem;
  line-height:1.68;
}

/* CTA final — sólido, sin bloom · respiración */
.final-cta{
  padding-block:clamp(3rem, 6vw, 5.5rem);
}
.final-cta__box{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  gap:2rem;
  align-items:center;
  padding:clamp(1.8rem, 4vw, 2.8rem);
  background:var(--color-ink);
  color:var(--color-paper);
  border:1px solid var(--color-ink);
    border-radius:var(--radius-hero);
  box-shadow:none;
}
:root[data-theme="dark"] .final-cta__box{background:var(--color-paper-3);border-color:var(--color-rule-strong);color:var(--color-ink)}
.final-cta__box::after{display:none}
.final-cta__box h2{position:relative;font-family:var(--font-display);font-size:clamp(1.5rem, 2.8vw, 2.2rem);line-height:1.05;letter-spacing:-0.03em;max-width:16ch;font-weight:550}
.final-cta__box p{position:relative;margin-top:.5rem;color:color-mix(in oklch, var(--color-paper) 70%, transparent);max-width:44ch;font-size:.92rem;line-height:1.55}
:root[data-theme="dark"] .final-cta__box p{color:var(--color-muted)}
.final-cta__actions{position:relative;display:flex;flex-direction:column;gap:.6rem;align-items:stretch;min-width:15rem}
.final-cta__note{color:color-mix(in oklch, var(--color-paper) 55%, transparent);font-family:var(--font-mono);font-size:.70rem;text-align:center;letter-spacing:.02em}
:root[data-theme="dark"] .final-cta__note{color:var(--color-muted)}

/* Footer editorial */
.footer{
  position:relative;
  padding-block:2.2rem 1.4rem;
  border-top:1px solid var(--color-rule);
  background-color:var(--color-paper);
  background-image:radial-gradient(circle at 1px 1px, oklch(52% 0.14 265 / 0.04) 1px, transparent 0);
  background-size:22px 22px;
  background-position:0 0;
}
.footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr) minmax(0,0.8fr);
  gap:2rem;
}
.footer__brand p{margin-top:.6rem;max-width:36ch;color:var(--color-muted);font-size:.86rem;line-height:1.6}
.footer__links h3{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.7rem}
.footer__links a{display:block;padding:.28rem 0;color:var(--color-ink-2);font-size:.86rem;text-decoration:none}
.footer__links a:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}
.footer__bottom{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;
  margin-top:2rem;
  padding-top:1.2rem;
  border-top:1px solid var(--color-rule);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.72rem;
  line-height:1.5;
}
.footer__legal{max-width:52ch}

/* PromoGoogle — editorial plano */
.promo-hero{
  position:relative;
  overflow:clip;
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
}
.promo-hero::before{display:none}
.promo-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  gap:clamp(1.5rem, 4vw, 3rem);
  align-items:center;
  padding-block:clamp(2rem, 5vw, 3.4rem);
}
.promo-hero__badge{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.3rem .55rem;
  background:transparent;
  border:1px solid var(--color-rule);
    border-radius:var(--radius-pill);
  font-family:var(--font-mono);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-muted);
}
.promo-hero__badge i{width:6px;height:6px;background:var(--color-success);border-radius:50%;display:block}
.promo-hero h1{
  margin-top:.85rem;
  font-family:var(--font-display);
  font-size:clamp(2rem, 4.2vw, 3.2rem);
  line-height:.97;
  letter-spacing:-0.04em;
  font-weight:550;
}
.promo-hero h1 span{color:var(--color-accent);font-weight:400}
.promo-hero__lede{margin-top:.75rem;max-width:48ch;color:var(--color-muted);font-size:clamp(1rem,1.2vw,1.06rem);line-height:1.6}
.promo-hero__price{
  display:flex;align-items:baseline;gap:.6rem;
  margin-top:1rem;
  flex-wrap:wrap;
}
.promo-hero__price b{font-family:var(--font-mono);font-size:clamp(2.2rem, 4vw, 3rem);letter-spacing:-0.05em;line-height:1;color:var(--color-ink)}
.promo-hero__price s{color:var(--color-muted-2);font-family:var(--font-mono);font-size:1rem}
.promo-hero__save{
  padding:.25rem .45rem;
  background:var(--color-ink);
  color:var(--color-paper);
    border-radius:var(--radius-pill);
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:700;
  border:1px solid var(--color-ink);
}
.coupon{
  margin-top:1rem;
  display:grid;gap:.5rem;
  max-width:28rem;
}
.coupon__row{
  display:flex;gap:.5rem;
}
.coupon__row input{
  flex:1;
  min-height:2.6rem;
  padding:.6rem .8rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-ink);
  font-family:var(--font-mono);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.04em;
}
.coupon__row input::placeholder{letter-spacing:.02em;text-transform:none;font-weight:500;color:var(--color-muted-2)}
.coupon__row input:focus{outline:2px solid var(--color-focus);outline-offset:0;border-color:transparent}
.coupon__row input.is-error{border-color:var(--color-danger)}
.coupon__row input.is-success{border-color:var(--color-success)}
.coupon__msg{min-height:1.2rem;font-size:.82rem;line-height:1.4}
.coupon__msg--error{color:var(--color-danger)}
.coupon__msg--success{color:var(--color-success);font-weight:600}
.coupon__hint{color:var(--color-muted);font-size:.76rem}

.promo-card{
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card);
  overflow:hidden;
}
.promo-card__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1rem;
  background:var(--color-paper-2);
  color:var(--color-ink);
  border-bottom:1px solid var(--color-rule);
}
.promo-card__head b{font-family:var(--font-body);font-size:.88rem;font-weight:650}
.promo-card__head span{padding:.22rem .45rem;background:var(--color-amber);color:var(--color-amber-ink);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.62rem;font-weight:700;border:1px solid var(--color-amber)}
.promo-card__body{padding:1.1rem}
.promo-card__price{
  display:flex;align-items:baseline;gap:.5rem;
  font-family:var(--font-mono);font-weight:800;letter-spacing:-0.04em;
}
.promo-card__price b{font-size:2.3rem;color:var(--color-ink)}
.promo-card__price s{color:var(--color-muted-2);font-size:.95rem}
.promo-card__price small{color:var(--color-muted);font-family:var(--font-body);font-size:.80rem;font-weight:600;letter-spacing:0}
.promo-card__meta{margin-top:.35rem;color:var(--color-muted);font-size:.80rem}
.promo-card__stock{
  margin-top:.85rem;
  display:flex;align-items:center;gap:.45rem;
  padding:.5rem .6rem;
  background:var(--color-amber-soft);
  border:1px solid var(--color-amber-border);
    border-radius:var(--radius-xs);
  color:var(--color-amber-ink);
  font-size:.76rem;
  font-weight:600;
}
:root[data-theme="dark"] .promo-card__stock{color:var(--color-amber)}
.promo-card__stock i{width:6px;height:6px;background:var(--color-danger);border-radius:50%;display:block}
.promo-card .btn{width:100%;margin-top:1rem;border-radius:var(--radius-btn-primary)}
.promo-card__foot{padding:.65rem 1rem;background:var(--color-paper-2);border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:.76rem;text-align:center;font-family:var(--font-mono)}


/* — Hero video badge corporativo — ticket/descuento, no genérico */
.hero__video-badge{position:absolute;left:1rem;top:1rem;z-index:2;display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .65rem;background:oklch(16% 0.02 240 / 0.72);color:white;border:1px solid oklch(99% 0.003 240 / 0.14);border-radius:var(--radius-pill);font-family:var(--font-kicker);font-size:.68rem;font-weight:600;letter-spacing:0.04em;line-height:1;backdrop-filter:blur(8px) saturate(1.1);box-shadow:0 2px 12px rgba(0,0,0,0.12);}
.hero__video-badge svg{width:14px;height:14px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;}
.hero__video-badge b{font-weight:700;letter-spacing:0.02em;}
:root[data-theme="dark"] .hero__video-badge{background:oklch(97% 0.005 240 / 0.92);color:var(--color-ink);border-color:var(--color-rule);}
@media (max-width: 46rem){.hero__video-badge{left:.75rem;top:.75rem;font-size:.62rem;padding:.36rem .55rem;}}

/* Reveal — sutil, solo hero con stagger leve */
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion: no-preference){
  .hero .reveal{opacity:0;transform:translateY(8px);transition:opacity var(--dur-medium) var(--ease-out), transform var(--dur-medium) var(--ease-out)}
  .hero .reveal.is-in{opacity:1;transform:none}
  .hero .reveal{transition-delay:calc(var(--i,0) * 80ms)}
}

@keyframes shake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-4px)}
  40%{transform:translateX(4px)}
  60%{transform:translateX(-3px)}
  80%{transform:translateX(3px)}
}
@keyframes pulse{
  0%,100%{opacity:1}
  50%{opacity:.55}
}

/* Responsive — 320 sin overflow */
@media (max-width: 62rem){
  .nav__links{display:none}
  .nav__hamburger{display:grid}
  .hero__inner{grid-template-columns:1fr;gap:1.5rem}
  .hero__visual{order:2}
  .trust__grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .trust__grid li:nth-child(2){border-left:1px solid var(--color-rule)}
  .trust__grid li:nth-child(3){border-left:0;border-top:1px solid var(--color-rule)}
  .trust__grid li:nth-child(4){border-top:1px solid var(--color-rule)}
  .providers__grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .bento{grid-template-columns:1fr;grid-template-areas:"lead" "side1" "side2" "side3"}
  .compare__grid{grid-template-columns:1fr}
  .pricing__grid{grid-template-columns:1fr;max-width:32rem}
  .price-card--pro{transform:none}
  .testis__grid{grid-template-columns:1fr}
  .faq__layout{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .final-cta__box{grid-template-columns:1fr}
  .promo-hero__inner{grid-template-columns:1fr}
  .hero__providers-mini{grid-template-columns:repeat(3, minmax(0,1fr))}
}

@media (max-width: 46rem){
  .nav{padding:0;gap:.6rem;min-height:60px}
  .nav__wordmark-main{font-size:.95rem}
  .providers__toolbar{flex-direction:column;align-items:stretch}
  .search{max-width:none}
  .providers__meta{margin-left:0}
  .providers__grid{grid-template-columns:1fr}
  .chips{gap:0}
  .bento__mini-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%}
  .trust__grid{grid-template-columns:1fr}
  .trust__grid li{border-left:0 !important;border-top:1px solid var(--color-rule)}
  .trust__grid li:first-child{border-top:0}
  .coupon__row{flex-direction:column}
  .coupon__row .btn{width:100%}
  .hero__trust span{border-right:0;padding-right:0;margin-right:1rem}
  .hero__trust{gap:.6rem}
  .hero__trust span + span{border-left:0;padding-left:0}
}

@media (hover:none){
  .card:hover{outline:none;border-color:var(--color-rule)}
  .chip:hover{border-bottom-color:transparent}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
}

/* Waitlist dialog — editorial 4px */
.waitlist-dialog{
  border:0;
  padding:0;
  background:transparent;
  width:min(560px, calc(100% - 2rem));
  max-width:560px;
  margin:auto;
  inset:0;
  height:fit-content;
  max-height:calc(100dvh - 2rem);
  overflow:visible;
}
.waitlist-dialog:not([open]){display:none}
.waitlist-dialog::backdrop{
  background:oklch(16% 0.02 240 / .52);
  backdrop-filter:blur(4px) saturate(1.02);
}
@supports not selector(::backdrop){
  .waitlist-dialog[open]{background:oklch(16% 0.02 240 / .52)}
}
.waitlist-dialog__form{
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-card-lg);
  box-shadow:var(--shadow-card);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  max-height:calc(100dvh - 2rem);
  overflow-y:auto;
}
.waitlist-dialog__head{
  position:relative;
  padding:1.3rem 1.3rem 1rem;
  border-bottom:1px solid var(--color-rule);
  background:var(--color-paper-2);
}
.waitlist-dialog__head h2{
  font-family:var(--font-body);
  font-size:clamp(1.1rem, 2.2vw, 1.35rem);
  line-height:1.15;
  letter-spacing:-0.02em;
  font-weight:700;
  padding-right:2rem;
}
.waitlist-dialog__head p{
  margin-top:.4rem;
  color:var(--color-muted);
  font-size:.86rem;
  line-height:1.5;
  max-width:48ch;
}
.waitlist-dialog__close{
  position:absolute;
  top:.9rem;
  right:.9rem;
  width:2.75rem;
  height:2.75rem;
  min-width:44px;min-height:44px;
  display:grid;
  place-items:center;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-ink-2);
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
}
.waitlist-dialog__close:hover{border-color:var(--color-rule-strong);color:var(--color-ink)}
.waitlist-dialog__fields{
  padding:1.1rem 1.3rem;
  display:grid;
  gap:.7rem;
}
.waitlist-label{
  font-size:.84rem;
  font-weight:600;
  color:var(--color-ink);
  margin-top:.2rem;
}
.waitlist-optional{font-weight:500;color:var(--color-muted);font-size:.76rem}
.waitlist-dialog__fields input,
.waitlist-dialog__fields select{
  min-height:2.6rem;
  padding:.6rem .8rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  color:var(--color-ink);
  font-size:.90rem;
  width:100%;
}
.waitlist-dialog__fields input::placeholder{color:var(--color-muted-2)}
.waitlist-dialog__fields input:focus,
.waitlist-dialog__fields select:focus{outline:2px solid var(--color-focus);outline-offset:0;border-color:transparent}
.waitlist-dialog__fields input.is-error,
.waitlist-dialog__fields select.is-error{border-color:var(--color-danger)}
.waitlist-hint{color:var(--color-muted);font-size:.76rem;margin-top:-.3rem;font-family:var(--font-mono)}
.waitlist-error{color:var(--color-danger);font-size:.80rem;font-weight:600;min-height:1.1rem}
.waitlist-error[hidden]{display:none}
.waitlist-consent{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  padding:.8rem;
  background:var(--color-paper-2);
  border:1px solid var(--color-rule);
    border-radius:var(--radius-xs);
  font-size:.82rem;
  line-height:1.45;
  color:var(--color-ink-2);
  cursor:pointer;
}
.waitlist-consent input{margin-top:.2rem;accent-color:var(--color-accent);flex-shrink:0;width:15px;height:15px}
.waitlist-dialog__actions{
  padding:1rem 1.3rem 1.1rem;
  border-top:1px solid var(--color-rule);
  background:var(--color-paper);
  display:grid;
  gap:.55rem;
}
.waitlist-submit{width:100%;border-radius:var(--radius-btn-primary)}
.waitlist-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.waitlist-status{
  min-height:1.2rem;
  font-size:.84rem;
  line-height:1.45;
  text-align:center;
}
.waitlist-status--success{color:var(--color-success);font-weight:650}
.waitlist-status--error{color:var(--color-danger);font-weight:600}
.waitlist-status--info{color:var(--color-accent);font-weight:600}
.waitlist-status--loading{color:var(--color-muted)}
.waitlist-fallback{color:var(--color-muted);font-size:.76rem;text-align:center;font-family:var(--font-mono)}
.waitlist-fallback a{color:var(--color-accent);font-weight:600}
.waitlist-legal{
  padding:0 1.3rem 1.1rem;
  color:var(--color-muted);
  font-size:.72rem;
  text-align:center;
  line-height:1.5;
  font-family:var(--font-mono);
}
.waitlist-legal a{color:var(--color-muted);text-decoration:underline;text-underline-offset:2px}
.hero__waitlist-count{
  margin-top:.6rem;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.78rem;
}
.hero__waitlist-count:not([hidden]){display:block}

@media (prefers-reduced-motion: reduce){
  .waitlist-dialog::backdrop{backdrop-filter:none}
}

/* Utility */
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* — Hero video premium editorial — cold tech neutral, no terracotta, no neón */
.hero{ position:relative; overflow:clip; background:var(--color-paper); border-bottom:1px solid var(--color-rule); isolation:isolate; }
.hero__media{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:var(--color-paper-2); }
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px, oklch(52% 0.14 265 / 0.04) 1px, transparent 0);background-size:20px 20px;opacity:0.55;mask-image:linear-gradient(180deg, black 40%, transparent 92%);}
.hero__video{ width:100%; height:100%; object-fit:cover; object-position:center 35%; filter:saturate(0.92) contrast(1.04) brightness(1); opacity:1; display:block; }
.hero__overlay{ position:absolute; inset:0; background:
  linear-gradient(180deg, oklch(16% 0.02 240 / 0.45) 0%, oklch(16% 0.02 240 / 0.22) 38%, oklch(16% 0.02 240 / 0.08) 62%, transparent 85%),
  linear-gradient(90deg, oklch(97% 0.005 240 / 0.88) 0%, oklch(97% 0.005 240 / 0.62) 42%, transparent 72%),
  linear-gradient(0deg, oklch(16% 0.02 240 / 0.06) 0%, transparent 28%); }
:root[data-theme="dark"] .hero__overlay{ background:
  linear-gradient(180deg, oklch(16% 0.02 240 / 0.62) 0%, oklch(16% 0.02 240 / 0.38) 52%, oklch(16% 0.02 240 / 0.85) 92%),
  linear-gradient(90deg, oklch(16% 0.02 240 / 0.55) 0%, transparent 62%); }
.hero__inner{ position:relative; z-index:1; }
.hero__badges{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.1rem; }
.hero__badges span{ display:inline-flex; align-items:center; padding:.35rem .6rem; background:var(--color-paper-elevated); border:1px solid var(--color-rule); border-radius:var(--radius-pill); font-family:var(--font-mono); font-size:.66rem; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--color-muted); }
.hero__badges span.is-pro{ background:var(--color-ink); color:var(--color-paper); border-color:var(--color-ink); }
:root[data-theme="dark"] .hero__badges span.is-pro{ background:var(--color-paper); color:var(--color-ink); border-color:var(--color-paper); }
.hero__meta{ margin-top:.7rem; color:var(--color-muted); font-size:.82rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.hero__meta a{ color:var(--color-muted); text-decoration:underline; text-underline-offset:3px; }
.hero__meta a:hover{ color:var(--color-accent); }
.hero__video-pause{
  position:absolute;right:.9rem;bottom:.9rem;z-index:2;
  width:44px;height:44px;min-width:44px;min-height:44px;
  display:grid;place-items:center;
  background:oklch(16% 0.02 240 / .62);
  color:white;
  border:1px solid oklch(99% 0.003 240 / .18);
  border-radius:var(--radius-nav);
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.hero__video-pause:hover{background:oklch(16% 0.02 240 / .78)}
.hero__video-pause svg{width:16px;height:16px;fill:currentColor}
.hero__video-pause[aria-pressed="true"] .icon-pause{display:none}
.hero__video-pause[aria-pressed="false"] .icon-play{display:none}
@media (prefers-reduced-motion: reduce){
  .hero__video{ display:none !important; }
  .hero__video-pause{display:none !important}
  .hero__media{ background:var(--color-paper-2); }
  .hero__overlay{ background: var(--color-paper); opacity:0.96; }
}
@media (prefers-reduced-motion: no-preference){
  .hero__video{ transition:opacity var(--dur-long) var(--ease-out); }
}

/* Providers proof — editorial banner con imagen real + nota de productos terceros */
.providers__proof{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,0.85fr); gap:1rem; align-items:stretch; margin-bottom:1.25rem; background:var(--color-paper-elevated); border:1px solid var(--color-rule); border-radius:var(--radius-card); overflow:hidden; }
.providers__proof-media{ margin:0; position:relative; min-width:0; overflow:hidden; background:var(--color-paper-2); }
.providers__proof-media img{ width:100%; height:100%; min-height:220px; aspect-ratio:16/10; object-fit:cover; display:block; filter:saturate(0.9) contrast(1.02); }
.providers__proof-media figcaption{ position:absolute; left:0; right:0; bottom:0; padding:.55rem .75rem; background:linear-gradient(180deg, transparent, oklch(16% 0.02 240 / 0.72)); color:white; font-family:var(--font-mono); font-size:.68rem; line-height:1.4; }
:root[data-theme="dark"] .providers__proof-media figcaption{ background:linear-gradient(180deg, transparent, oklch(16% 0.02 240 / 0.78)); }
.providers__note{ padding:1.15rem 1.15rem 1.15rem 1rem; display:flex; flex-direction:column; justify-content:center; gap:.6rem; min-width:0; }
.providers__note h3{ font-family:var(--font-body); font-size:1rem; font-weight:680; line-height:1.25; letter-spacing:-0.015em; color:var(--color-ink); }
.providers__note p{ color:var(--color-muted); font-size:.86rem; line-height:1.55; }
.providers__note ul{ display:grid; gap:.45rem; margin-top:.2rem; }
.providers__note li{ display:flex; gap:.5rem; font-size:.84rem; line-height:1.45; color:var(--color-ink-2); }
.providers__note li::before{ content:"—"; color:var(--color-accent); font-weight:700; flex-shrink:0; }
.providers__note li b{ color:var(--color-ink); font-weight:650; }
.providers__legal{ margin-top:1rem; color:var(--color-muted); font-size:.76rem; line-height:1.5; text-align:center; font-family:var(--font-mono); }
.providers__legal a{ color:var(--color-muted); text-decoration:underline; text-underline-offset:2px; }
.providers__legal a:hover{ color:var(--color-accent); }
@media (max-width: 62rem){
  .providers__proof{ grid-template-columns:1fr; }
  .providers__proof-media img{ min-height:180px; aspect-ratio:16/9; }
}

/* Bento media — imagen editorial dentro de lead */
.bento__media{ margin:1rem 0 0; border:1px solid var(--color-rule); border-radius:var(--radius-xs); overflow:hidden; background:var(--color-paper-2); }
.bento__media img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; filter:saturate(0.92) contrast(1.02); }
.bento__media figcaption{ padding:.5rem .7rem; background:var(--color-paper-elevated); border-top:1px solid var(--color-rule); color:var(--color-muted); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.04em; line-height:1.4; }

/* — Ajuste tipográfico tech frío — Space Grotesk + Instrument Sans — 2026 fix: tracking -0.02 solo h1 */
.hero__title{ font-family:var(--font-body); font-weight:600; letter-spacing:-0.02em; line-height:1.02; font-optical-sizing:auto; }
.section-title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.02em; }
.bento__cell--lead h3{ font-family:var(--font-display); }
.nav__wordmark-main{ font-family:var(--font-body); }