/* 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;font-feature-settings:"ss01" 1, "liga" 1, "calt" 1;letter-spacing:-0.02em}
p{text-wrap:initial}
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:11px;
  font-weight:600;
  letter-spacing:0.08em;
  line-height:1;
  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.85rem, 3.2vw, 2.65rem);
  font-weight:600;
  line-height:1.10;
  letter-spacing:-0.02em;
  color:var(--color-ink);
}
.section-lede{
  max-width:52ch;
  margin-top:.85rem;
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.70;
}
.section-head{position:relative;margin-bottom:3rem;padding-left:1.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-grad);background:linear-gradient(135deg, oklch(52% 0.14 265), oklch(48% 0.15 240));border-color:oklch(52% 0.14 265);border-radius:var(--radius-btn-primary);transition:transform 0.2s ease-out, box-shadow 0.2s ease-out, filter 0.2s ease-out, background 0.2s ease-out}
.btn--primary:hover{filter:brightness(1.06);transform:scale(1.02);box-shadow:0 4px 16px -6px oklch(52% 0.14 265 / 0.35)}
.btn--primary:active{transform:scale(0.98)}
.btn--primary-amber{color:var(--color-amber-ink);background:var(--color-amber);border-color:var(--color-amber);border-radius:var(--radius-btn-primary);transition:transform 0.2s ease-out, filter 0.2s ease-out}
.btn--primary-amber:hover{filter:brightness(0.97);border-color:color-mix(in oklch, var(--color-amber) 85%, black);transform:scale(1.02)}
.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 limpio 2026 — pattern globo 40px opacity 0.06 + overlay backdrop-blur premium — */
.hero{position:relative;overflow-x:clip;overflow-y:visible;
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cellipse cx='20' cy='20' rx='11' ry='11' stroke='%236366f1' stroke-width='0.6' opacity='0.18' stroke-dasharray='2 2'/%3E%3Cellipse cx='20' cy='20' rx='7.5' ry='4.2' stroke='%236366f1' stroke-width='0.55' opacity='0.14' stroke-dasharray='1.8 2.2'/%3E%3Cellipse cx='20' cy='20' rx='4' ry='7' stroke='%236366f1' stroke-width='0.5' opacity='0.12' stroke-dasharray='1.6 2'/%3E%3C/svg%3E");
  background-size:40px 40px;
  opacity:.06;
}
.hero::after{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(180deg, oklch(97% 0.005 240 / 0) 0%, oklch(97% 0.005 240 / 0.45) 100%),
    radial-gradient(ellipse 70% 55% at 72% 38%, oklch(52% 0.14 265 / 0.06) 0%, transparent 58%);
  backdrop-filter:blur(0.5px);
  -webkit-backdrop-filter:blur(0.5px);
}
.hero__inner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,0.95fr);
  gap:clamp(2.75rem, 5vw, 4.5rem);
  align-items:center;
  padding-block:clamp(5rem, 7vw, 7rem) clamp(4.5rem, 6vw, 6rem);
}
.hero__copy{width:100%;max-width:40rem;min-width:0;overflow-wrap:break-word;
  padding-top:0;
}
.hero__eyebrow{
  display:block;
  max-width:100%;
  width:100%;
  padding-bottom:.35rem;
  background:transparent;
  border-bottom:2px solid var(--color-accent);
  font-family:var(--font-kicker);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.08em;
  line-height:1.6;
  text-transform:uppercase;
  color:var(--color-accent);
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.hero__eyebrow i{display:none}
.hero__title{
  margin-top:1.15rem;
  font-family:var(--font-display);
  font-size:clamp(2.15rem, 3.9vw, 3rem);
  font-weight:600;
  line-height:1.05;
  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;
}
.hero__title span::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:.08em;
  height:2px;
  background:var(--color-accent);
  opacity:.9;
  border-radius:0;
  z-index:-1;
}
.hero__lede{width:100%;max-width:46ch;min-width:0;margin-top:1rem;white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:none;text-wrap:initial;letter-spacing:normal;font-variant-ligatures:none;text-rendering:auto;
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.7;
}
.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:.7rem;
  margin-top:1.6rem;
}
.hero__meta{
  margin-top:1rem;
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:.82rem;
  line-height:1.6;
  max-width:46ch;
  overflow-wrap:anywhere;
}
.hero__meta a{
  color:var(--color-muted);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:500;
  overflow-wrap:anywhere;
}
.hero__meta a:hover{color:var(--color-accent)}
.hero__trust{
  display:flex;flex-wrap:wrap;gap:.6rem 1.15rem;
  margin-top:1.5rem;
  padding-top:1.15rem;
  border-top:1px solid var(--color-rule);
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:.80rem;
  font-weight:500;
  letter-spacing:-0.01em;
}
.hero__trust span{
  display:inline-flex;align-items:center;gap:.45rem;
}
.hero__trust span:not(:last-child){
  padding-right:1.15rem;
  border-right:1px solid var(--color-rule);
}
.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 — editorial 16px, sin caption amontonado (Hallmark fix) */
.hero__visual{
  position:relative;
  min-width:0;
  align-self:center;
}
.hero__figure{
  margin:0;
  position:relative;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow-card);
  isolation:isolate;
}
.hero__figure::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 56%, oklch(16% 0.02 240 / 0.10) 100%), linear-gradient(135deg, oklch(52% 0.14 265 / 0.06) 0%, transparent 55%);
  backdrop-filter:blur(0.3px);
  -webkit-backdrop-filter:blur(0.3px);
  pointer-events:none;
  z-index:1;
}
.hero__figure img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  border:0;
  filter:saturate(0.92) contrast(1.02);
  transition:transform 0.6s cubic-bezier(0.16,1,0.3,1);
  will-change:transform;
}
@media (prefers-reduced-motion: no-preference){
  .hero__figure:hover img{transform:scale(1.02)}
}
.hero__figure figcaption{
  position:relative;z-index:2;
  display:block;
  text-align:center;
  padding:.6rem .75rem;
  background:color-mix(in oklch, var(--color-paper-elevated) 92%, transparent);
  border-top:1px solid var(--color-rule);
  backdrop-filter:blur(6px) saturate(1.05);
  -webkit-backdrop-filter:blur(6px) saturate(1.05);
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:0.01em;
  line-height:1.4;
}
@media (max-width: 46rem){.hero__eyebrow{font-size:7.5px;letter-spacing:0.03em;line-height:1.6;max-width:100%;width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:none;white-space:normal;}
}
/* Proveedores mini editorial — sans, no mono, aire */
.hero__providers-mini{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.6rem;
}
.hero__providers-mini span{
  display:flex;align-items:center;justify-content:center;
  padding:.6rem .4rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:12px;
  color:var(--color-ink-2);
  font-family:var(--font-body);
  font-size:.76rem;
  font-weight:600;
  letter-spacing:-0.01em;
  text-align:center;
  line-height:1.2;
}

/* Trust — aireado, sin densidad (Hallmark P-H: gap 24px, padding 24-32px) */
.trust{
  background:var(--color-paper);
  border-bottom:1px solid var(--color-rule);
  padding-block:1.5rem;
}
.trust__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:2rem;
}
.trust__grid li{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  padding:1.5rem 1.25rem;
  min-width:0;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:16px;
}
.trust__grid li + li{border-left:0}
.trust__kicker{
  font-family:var(--font-kicker);
  font-size:11px;
  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 — centrados, más aire, sin scrollbar oculto (Hallmark fix) */
.banda{
  padding-block:2.2rem 1.2rem;
  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:0 0 .9rem;
  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:.5rem;
  justify-content:center;
  flex-wrap:wrap;
  overflow-x:visible;
  padding-bottom:.25rem;
  cursor:default;
  border-bottom:0;
  scroll-snap-type:none;
  mask-image:none;
}
.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:.65rem 1rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:999px;
  color:var(--color-muted);
  font-family:var(--font-body);
  font-size:.84rem;
  font-weight:500;
  white-space:nowrap;
  cursor:pointer;
  transition:all var(--dur-micro) var(--ease-out);
}
.chip:hover{color:var(--color-ink);border-color:var(--color-rule-strong);background:var(--color-paper-2);transform:none}
.chip.is-active{color:var(--color-accent-ink);background:var(--color-ink);border-color:var(--color-ink);font-weight:650}
.chip:focus-visible{outline-offset:-2px}

/* Providers · ritmo descomprimido 96-120px (hallmark H.E · desamontonar) + divider sutil */
.providers{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  background:var(--color-paper);
  border-top:1px solid var(--color-rule);
}
.section-divider{
  height:1px;
  background:var(--color-rule);
  border:0;
  margin:0;
}
.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)}
/* — Logo wall premium — reemplaza cards pesadas: solo logos 96x64, border 1px rule, radius 12, hover scale 1.03 + border accent — */
.providers__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.logo-wall{display:contents}
.provider-logo{
  position:relative;
  height:64px;
  min-height:64px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:8px 6px;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:12px;
  color:var(--color-ink-2);
  font-family:var(--font-body);
  cursor:pointer;
  transition:transform 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out, background 0.2s ease-out;
  will-change:transform;
  overflow:hidden;
}
.provider-logo:hover{
  transform:scale(1.03);
  border-color:var(--color-accent);
  box-shadow:0 4px 16px -8px oklch(52% 0.14 265 / 0.18);
  background:var(--color-paper);
  z-index:1;
}
.provider-logo:focus-visible{
  outline:2px solid var(--color-accent);
  outline-offset:2px;
  border-color:var(--color-accent);
}
.provider-logo.is-hidden{display:none !important}
.provider-logo__mark{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:8px;
  background:var(--color-paper-2);
  border:1px solid var(--color-rule);
  font-family:var(--font-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:-0.02em;
  line-height:1;
  color:var(--color-ink);
  flex-shrink:0;
}
.provider-logo__mark--grad{
  background:linear-gradient(135deg, oklch(52% 0.14 265 / 0.08), oklch(48% 0.15 240 / 0.10));
  border-color:oklch(52% 0.14 265 / 0.14);
  color:var(--color-accent);
}
.provider-logo__name{
  font-family:var(--font-body);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.02em;
  line-height:1;
  color:var(--color-muted);
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.provider-logo:hover .provider-logo__name{color:var(--color-ink)}
.provider-logo__dot{
  position:absolute;
  top:7px;right:7px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--color-accent);
  opacity:0.85;
  box-shadow:0 0 0 2px var(--color-paper-elevated);
}
.provider-logo__dot--amber{background:var(--color-amber)}
/* tooltip sutil (hover desktop) — no móvil */
.provider-logo__tooltip{
  position:absolute;
  left:50%;bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px);
  min-width:180px;
  max-width:220px;
  padding:10px 12px;
  background:var(--color-ink);
  color:var(--color-paper);
  border:1px solid var(--color-ink);
  border-radius:12px;
  font-family:var(--font-body);
  font-size:12.5px;
  line-height:1.45;
  text-align:left;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity 0.2s ease-out, transform 0.2s ease-out, visibility 0.2s;
  z-index:10;
  box-shadow:0 8px 24px rgba(0,0,0,0.16);
  white-space:normal;
}
.provider-logo__tooltip::after{
  content:"";
  position:absolute;
  top:100%;left:50%;transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:var(--color-ink);
}
.provider-logo__tooltip b{display:block;font-size:13px;font-weight:700;letter-spacing:-0.01em;margin-bottom:2px;color:var(--color-paper)}
.provider-logo__tooltip span{color:color-mix(in oklch, var(--color-paper) 72%, transparent);font-size:11.5px;display:block;margin-bottom:4px}
.provider-logo__tooltip em{display:block;font-style:normal;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:-0.01em;color:var(--color-paper);margin-top:4px}
.provider-logo__tooltip em s{font-weight:500;opacity:0.6;margin-left:4px;font-size:10px}
@media (hover:hover) and (pointer:fine){
  .provider-logo:hover .provider-logo__tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
}
/* grid responsive: 6 cols desktop, 4 tablet, 3 mobile */
@media (max-width: 72rem){.providers__grid{grid-template-columns:repeat(4, minmax(0,1fr))}}
@media (max-width: 46rem){.providers__grid{grid-template-columns:repeat(3, minmax(0,1fr));gap:10px}.provider-logo{height:64px}.provider-logo__tooltip{display:none}}
.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 — 96-120px, gap 32px, padding 32px + divider + ilustraciones premium */
.bento-section{
  padding-block:clamp(6rem, 8vw, 7.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:2rem;
  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:11px;
  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);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.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;-webkit-line-clamp:2}
.bento__cell p{margin-top:.55rem;color:var(--color-muted);font-size:.88rem;line-height:1.65;max-width:44ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bento__cell--lead p{-webkit-line-clamp:3}
.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}
/* ilustraciones custom SVG fill accent — no línea fina genérica */
.bento__illust{
  margin-top:1rem;
  width:100%;
  height:84px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, oklch(52% 0.14 265 / 0.06), oklch(48% 0.15 240 / 0.05));
  border:1px solid oklch(52% 0.14 265 / 0.08);
  border-radius:12px;
  overflow:hidden;
}
.bento__illust svg{width:56px;height:56px;display:block}
.bento__illust--lead{height:96px}
.bento__illust--lead svg{width:64px;height:64px}

/* Comparativa · 96-120px + divider visual */
.compare{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  border-top:1px solid var(--color-rule);
  margin-top:0;
}
.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:.25rem .5rem;
  background:var(--color-amber);
  color:var(--color-amber-ink);
  border-radius:999px;
  font-family:var(--font-body);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-left:auto;
}

/* Pricing — 96-120px, sin neón, AA+ · gap descomprimido */
.pricing{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  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 · 96-120px + divider */
.testis{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  border-top:1px solid var(--color-rule);
}
.testis__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.5rem;
}
.testi{
  padding:1.75rem;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:16px;
}
.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 · 96-120px */
.faq{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  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 — 96-120px + divider */
.final-cta{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  border-top:1px solid var(--color-rule);
}
.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)}

/* — Últimas oportunidades — 3 posts horizontales con imagen, fecha, tag — contenido nuevo — */
.oportunidades{
  padding-block:clamp(6rem, 8vw, 7.5rem);
  background:var(--color-paper);
  border-top:1px solid var(--color-rule);
}
.oportunidades__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.5rem;
  margin-top:2rem;
}
.opp-card{
  display:flex;
  flex-direction:column;
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:16px;
  overflow:hidden;
  transition:transform 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}
.opp-card:hover{
  transform:translateY(-2px);
  border-color:oklch(52% 0.14 265 / 0.18);
  box-shadow:0 8px 24px -12px rgba(0,0,0,0.08);
}
.opp-card__media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--color-paper-2);
}
.opp-card__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(0.92) contrast(1.02);transition:transform 0.5s cubic-bezier(0.16,1,0.3,1)}
.opp-card:hover .opp-card__media img{transform:scale(1.03)}
.opp-card__tag{
  position:absolute;left:.65rem;top:.65rem;
  padding:.22rem .5rem;
  background:var(--color-ink);
  color:var(--color-paper);
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.opp-card__body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.opp-card__meta{
  display:flex;align-items:center;gap:.5rem;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.70rem;
  letter-spacing:.04em;
}
.opp-card__meta time{color:var(--color-muted)}
.opp-card__meta span{width:3px;height:3px;border-radius:50%;background:var(--color-rule-strong);display:block}
.opp-card__title{
  font-family:var(--font-body);
  font-size:.96rem;
  font-weight:650;
  line-height:1.25;
  letter-spacing:-0.015em;
  color:var(--color-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.opp-card__excerpt{
  color:var(--color-muted);
  font-size:.84rem;
  line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.opp-card__foot{
  margin-top:.6rem;
  display:flex;align-items:center;gap:.5rem;
  padding-top:.7rem;
  border-top:1px solid var(--color-rule);
}
.opp-card__cta{
  color:var(--color-accent);
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:600;
  text-decoration:none;
}
.opp-card__cta:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width: 62rem){.oportunidades__grid{grid-template-columns:1fr;gap:1rem}.opp-card{flex-direction:row;align-items:stretch}.opp-card__media{width:38%;flex-shrink:0;aspect-ratio:4/3}.opp-card__body{padding:.9rem}}
@media (max-width: 46rem){.opp-card{flex-direction:column}.opp-card__media{width:100%;aspect-ratio:16/9}}

/* — Provider modal premium — detalle con precio en tooltip/modal — */
.provider-modal{
  border:0;padding:0;background:transparent;
  width:min(480px, calc(100% - 2rem));
  max-width:480px;margin:auto;inset:0;height:fit-content;max-height:calc(100dvh - 2rem);overflow:visible;
}
.provider-modal:not([open]){display:none}
.provider-modal::backdrop{background:oklch(16% 0.02 240 / 0.52);backdrop-filter:blur(6px) saturate(1.02);-webkit-backdrop-filter:blur(6px) saturate(1.02)}
.provider-modal__card{
  background:var(--color-paper-elevated);
  border:1px solid var(--color-rule);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,0.14);
}
.provider-modal__head{
  display:flex;align-items:center;gap:.85rem;
  padding:1.2rem 1.25rem;
  border-bottom:1px solid var(--color-rule);
  background:var(--color-paper-2);
}
.provider-modal__logo{
  width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:var(--color-paper-elevated);border:1px solid var(--color-rule);font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--color-accent);flex-shrink:0;
}
.provider-modal__head h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700;letter-spacing:-0.015em;line-height:1.1;color:var(--color-ink)}
.provider-modal__head p{color:var(--color-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
.provider-modal__close{margin-left:auto;width:36px;height:36px;display:grid;place-items:center;background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:10px;color:var(--color-muted);cursor:pointer;font-size:18px;line-height:1}
.provider-modal__close:hover{border-color:var(--color-rule-strong);color:var(--color-ink)}
.provider-modal__body{padding:1.15rem 1.25rem;display:grid;gap:.85rem}
.provider-modal__benefit{color:var(--color-ink-2);font-size:.90rem;line-height:1.6}
.provider-modal__price{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-mono)}
.provider-modal__price b{font-size:1.35rem;letter-spacing:-0.03em;color:var(--color-ink)}
.provider-modal__price s{font-size:.82rem;color:var(--color-muted-2)}
.provider-modal__price span{font-family:var(--font-body);font-size:.76rem;color:var(--color-muted);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:999px;padding:.18rem .45rem}
.provider-modal__actions{display:flex;gap:.6rem;padding:1rem 1.25rem;border-top:1px solid var(--color-rule);background:var(--color-paper)}
.provider-modal__actions .btn{flex:1}

/* Footer editorial — pattern globo 40px opacity 0.06 para identidad */
.footer{
  position:relative;
  padding-block:2.2rem 1.4rem;
  border-top:1px solid var(--color-rule);
  background-color:var(--color-paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cellipse cx='20' cy='20' rx='11' ry='11' stroke='%236366f1' stroke-width='0.6' opacity='0.18' stroke-dasharray='2 2'/%3E%3Cellipse cx='20' cy='20' rx='7.5' ry='4.2' stroke='%236366f1' stroke-width='0.55' opacity='0.14' stroke-dasharray='1.8 2.2'/%3E%3Cellipse cx='20' cy='20' rx='4' ry='7' stroke='%236366f1' stroke-width='0.5' opacity='0.12' stroke-dasharray='1.6 2'/%3E%3C/svg%3E");
  background-size:40px 40px;
  background-position:0 0;
  background-repeat:repeat;
}
.footer::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:var(--color-paper);
  opacity:0.94;
  z-index:0;
}
.footer .container{position:relative;z-index:1}
.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 — elegante translateY(8px) 500ms ease-out, visible sin JS (fix wash + invisible) */
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion: no-preference){
  .js .reveal{opacity:0;transform:translateY(8px);transition:opacity 500ms cubic-bezier(0.16,1,0.3,1), transform 500ms cubic-bezier(0.16,1,0.3,1);transition-delay:calc(var(--i,0) * 70ms)}
  .js .reveal.is-in{opacity:1;transform:none}
  .hero .reveal{transition-duration:500ms}
  html:not(.js) .reveal{opacity:1;transform:none}
}

@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 — 2026 fix: sin overflow, gap 24px, sin bordes duplicados */
@media (max-width: 62rem){
  .nav__links{display:none}
  .nav__hamburger{display:grid}
  .hero__inner{grid-template-columns:minmax(0,1fr);gap:2rem;min-width:0}
  .hero__visual{order:2}
  .trust__grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:1rem}
  .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:.5rem;justify-content:flex-start}
  .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;gap:1rem}
  .trust__grid li{border:1px solid var(--color-rule) !important}
  .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){
  .provider-logo:hover{transform:none;border-color:var(--color-rule);box-shadow:none}
  .chip:hover{border-color:var(--color-rule)}
  .opp-card:hover{transform:none;box-shadow:none}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none;transition:none !important}
  .provider-logo{transition:none !important}
  .provider-logo:hover{transform:none !important}
  .opp-card:hover{transform:none !important}
  .hero__figure img{transform:none !important}
  .btn--primary:hover{transform:none !important}
}

/* 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__media{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:var(--color-paper-2); }
.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 con aire (gap 32px, 1 frase) */
.providers__proof{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,0.85fr); gap:2rem; align-items:stretch; margin-bottom:2rem; background:var(--color-paper-elevated); border:1px solid var(--color-rule); border-radius:16px; 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:.6rem .75rem; background:var(--color-paper-elevated); border-top:1px solid var(--color-rule); color:var(--color-muted); font-family:var(--font-body); font-size:.75rem; letter-spacing:0.01em; line-height:1.4; text-align:center; }

/* — Sistema tipográfico único — Display Space Grotesk 600 / Body Instrument Sans — mono 11px 0.08em solo kicker */

/* ==========================================================
   RETRO-ELEGANTE PATCH — Pixel 2D × Premium Editorial
   — Mezcla videojuego 2D retro con elegancia (no kitsch)
   — Paleta navy #0F1B2E + off-white #F8F9FC + gold #FFC857 + mint #00D9A5 + pink #FF6B9D (tokens oklch)
   — Tipografía: Silkscreen solo pixel labels (8-10px), Space Grotesk display, Instrument Sans body
   — Bordes pixel 2px + box-shadow 4×4, padding generoso, ritmo 88-112px, stagger 100ms steps(4)
   ========================================================== */

/* — Base: image-rendering pixelado solo en iconos pixel — */
.pixel-label{
  font-family: var(--font-pixel);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1;
  image-rendering: pixelated;
}

/* — Nav: borde pixel inferior elegante — */
.nav-wrap{
  border-bottom: 2px solid var(--color-ink);
}
.nav__logo-mark{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink);
  box-shadow: 3px 3px 0 var(--color-ink);
}

/* — Buttons pixel: shadow 4×4 estilo 8-bit con elegancia — */
.btn{
  border-radius: 0 !important;
  border-width: 2px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.btn--primary{
  background: var(--color-accent) !important;
  background-image: none !important;
  color: var(--color-accent-ink) !important;
  border-color: var(--color-ink) !important;
  border-width: 2px !important;
  box-shadow: var(--shadow-pixel) !important;
  border-radius: 0 !important;
}
.btn--primary:hover{
  background: var(--color-accent-hover) !important;
  transform: translate(-1px, -1px);
  box-shadow: 5px 5px 0 var(--color-ink) !important;
  filter: none !important;
}
.btn--primary:active{
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--color-ink) !important;
}
.btn--primary-amber{
  background: var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
  border: 2px solid var(--color-ink) !important;
  box-shadow: var(--shadow-pixel) !important;
  border-radius: 0 !important;
}
.btn--primary-amber:hover{
  transform: translate(-1px,-1px);
  box-shadow: 5px 5px 0 var(--color-ink) !important;
}
.btn--ghost{
  background: var(--color-paper-elevated) !important;
  border: 2px solid var(--color-ink) !important;
  box-shadow: 3px 3px 0 var(--color-ink);
  border-radius: 0 !important;
}
.btn--ghost:hover{
  background: var(--color-paper) !important;
  transform: translate(-1px,-1px);
  box-shadow: 4px 4px 0 var(--color-ink);
  border-color: var(--color-ink) !important;
}
.btn--sm{ min-height: 44px; }
.btn--lg{ min-height: 48px; }

/* — Hero: sólido paper + patrón sutil 4% — FIX wash 2026-08-22 (contraste AA) — */
.hero{
  border-bottom: 2px solid var(--color-ink);
  background: var(--color-paper);
}
.hero::before{
  background-image:
    radial-gradient(circle at 1px 1px, color-mix(in oklch, var(--color-ink) 7%, transparent) 1px, transparent 0);
  background-size: 22px 22px;
  opacity: 1;
}
.hero::after{
  background:
    radial-gradient(ellipse 68% 52% at 74% 36%, oklch(84% 0.14 75 / 0.04) 0%, transparent 60%);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hero__pixel-grid{
  display: none !important;
}
.hero__pixel-badge{
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.42rem 0.65rem 0.38rem;
  background: var(--color-ink);
  color: var(--color-paper);
  border: 2px solid var(--color-ink);
  box-shadow: 3px 3px 0 var(--color-accent);
  font-family: var(--font-pixel);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.10em;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.hero__pixel-badge span:nth-child(2){ color: var(--color-accent); }
.hero__pixel-badge-dot{
  width: 7px; height: 7px; background: var(--color-mint); border-radius: 0; display: inline-block;
  box-shadow: 0 0 0 2px color-mix(in oklch, var(--color-mint) 22%, transparent);
  animation: pixel-blink 1.6s ease-in-out infinite;
}
.hero__pixel-badge-blink{
  color: var(--color-accent);
  animation: pixel-blink 1.4s ease-in-out infinite;
  margin-left: 0.15rem;
}
@keyframes pixel-blink{ 0%, 100%{opacity:1} 50%{opacity:0.35} }

/* — Hero title: elegante, sin glitch brusco (500ms ease-out) — */
.hero__title{
  font-family: var(--font-display);
  letter-spacing: -0.03em;
}
@media (prefers-reduced-motion: no-preference){
  .hero__title:hover{
    animation: hero-glitch 320ms cubic-bezier(0.16,1,0.3,1);
    text-shadow: 0.9px 0 color-mix(in oklch, var(--color-pink) 55%, transparent), -0.9px 0 color-mix(in oklch, var(--color-mint) 55%, transparent);
  }
}
@keyframes hero-glitch{
  0%{ transform: translate(0); }
  25%{ transform: translate(-0.4px, 0.3px); }
  50%{ transform: translate(0.4px, -0.3px); }
  100%{ transform: translate(0); }
}
.hero__eyebrow{
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  letter-spacing: 0.13em !important;
  font-weight: 400 !important;
  color: var(--color-ink-2) !important;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-left: 3px solid var(--color-accent);
  padding-left: 0.6rem;
  line-height: 1.6 !important;
  max-width: 42ch;
}
.hero__eyebrow::before{ display:none; }
.hero__figure--pixel{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 var(--color-ink) !important;
  overflow: hidden;
}
.hero__figure--pixel::after{ display: none !important; }
.hero__figure--pixel img:not(.pixelated){
  filter: none !important;
  image-rendering: auto;
  opacity: 1 !important;
}
.hero__figure--pixel img.pixelated{
  filter: contrast(1.08) saturate(0.82) hue-rotate(-3deg) brightness(1.02) !important;
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
  opacity: 1 !important;
}
.hero__figure-frame{
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
}
.hero__figure-frame span{
  position: absolute; width: 10px; height: 10px; background: var(--color-accent);
  border: 2px solid var(--color-ink);
}
.hero__figure-frame span:nth-child(1){ left: -2px; top: -2px; }
.hero__figure-frame span:nth-child(2){ right: -2px; top: -2px; background: var(--color-mint); }
.hero__figure-frame span:nth-child(3){ left: -2px; bottom: -2px; background: var(--color-pink); }
.hero__figure-frame span:nth-child(4){ right: -2px; bottom: -2px; }
.hero__figure--pixel figcaption{
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
  border-top: 2px solid var(--color-ink) !important;
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  backdrop-filter: none !important;
}
.hero__figure--pixel figcaption .pixel-label{
  font-family: var(--font-pixel);
  color: var(--color-accent);
  margin-right: 0.35rem;
}
.hero__providers-mini span{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 var(--color-ink);
  font-family: var(--font-pixel) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  font-weight: 400 !important;
  background: var(--color-paper-elevated) !important;
}
.hero__providers-mini span i{
  font-style: normal;
  color: var(--color-accent);
  font-size: 12px;
  line-height: 1;
}

/* — Trust: cajas pixel con padding generoso — */
.trust{
  padding-block: clamp(88px, 8vw, 112px) !important;
}
.trust__grid li{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel-sm);
  padding: 1.75rem 1.4rem !important;
  background: var(--color-paper-elevated);
}
.trust__grid li:hover{
  transform: translate(-1px,-1px);
  box-shadow: 4px 4px 0 var(--color-ink);
}
.trust__kicker{
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  color: var(--color-ink) !important;
  background: var(--color-accent);
  padding: 0.28rem 0.4rem;
  border: 1px solid var(--color-ink);
  width: fit-content;
}

/* — Banda chips: pixel badges centrados — */
.chip{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 var(--color-ink);
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  font-weight: 400 !important;
  padding: 0.6rem 0.9rem !important;
  min-height: 44px;
}
.chip:hover{
  transform: translate(-1px,-1px);
  box-shadow: 3px 3px 0 var(--color-ink);
}
.chip.is-active{
  background: var(--color-ink) !important;
  color: var(--color-accent) !important;
  border-color: var(--color-ink) !important;
  box-shadow: 3px 3px 0 var(--color-accent) !important;
}

/* — Providers wall: cajas pixeladas 2D retro — */
.providers{
  padding-block: clamp(88px, 8vw, 112px) !important;
}
.providers__grid{
  gap: 16px !important;
}
.provider-logo{
  height: 64px !important;
  min-height: 64px !important;
  min-width: 96px;
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 var(--color-ink) !important;
  background: var(--color-paper-elevated) !important;
  gap: 6px !important;
  padding: 8px 6px !important;
  image-rendering: pixelated;
}
.provider-logo:hover{
  transform: translate(-2px,-2px) scale(1.03) !important;
  box-shadow: 6px 6px 0 var(--color-ink) !important;
  background: var(--color-paper) !important;
  border-color: var(--color-ink) !important;
}
.provider-logo:active{
  transform: translate(2px,2px) !important;
  box-shadow: 2px 2px 0 var(--color-ink) !important;
}
.provider-logo__mark{
  width: 38px !important; height: 38px !important;
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  background: var(--color-paper) !important;
  font-family: var(--font-pixel) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: var(--color-ink) !important;
  image-rendering: pixelated;
}
.provider-logo__mark--grad{
  background: var(--color-accent) !important;
  color: var(--color-ink) !important;
  border-color: var(--color-ink) !important;
}
.provider-logo__name{
  font-family: var(--font-pixel) !important;
  font-size: 8.5px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  font-weight: 400 !important;
  color: var(--color-ink-2) !important;
}
.provider-logo__dot{
  width: 8px !important; height: 8px !important;
  border-radius: 0 !important;
  border: 1px solid var(--color-ink);
  top: 6px !important; right: 6px !important;
  box-shadow: none !important;
}
.provider-logo__dot--amber{ background: var(--color-accent) !important; }
.provider-logo__tooltip{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  box-shadow: 4px 4px 0 var(--color-ink) !important;
  font-family: var(--font-body) !important;
}
.providers__toolbar .search input{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 var(--color-ink);
  font-family: var(--font-body);
}
.providers__toolbar .search input:focus{
  outline: none !important;
  border-color: var(--color-ink) !important;
  box-shadow: 4px 4px 0 var(--color-accent) !important;
}

/* — Providers proof — */
.providers__proof{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel);
  overflow: hidden;
}
.providers__proof-media img:not(.pixelated){
  filter: contrast(1.08) saturate(0.90) !important;
}
.providers__proof-media img.pixelated{
  filter: contrast(1.08) saturate(0.82) hue-rotate(-3deg) brightness(1.02) !important;
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
}
.providers__proof-media figcaption{
  background: oklch(18% 0.022 250 / 0.78) !important;
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
}

/* — Bento: pixel corners + padding generoso — */
.bento-section{
  padding-block: clamp(88px, 8vw, 112px) !important;
  background: var(--color-paper-2) !important;
  border-block: 3px solid var(--color-ink) !important;
}
.bento{
  gap: 1.75rem !important;
}
.bento__cell{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
  padding: 2rem !important;
  background: var(--color-paper-elevated) !important;
}
.bento__cell:hover{
  transform: translate(-1px, -1px);
  box-shadow: 5px 5px 0 var(--color-ink) !important;
}
.bento__kicker{
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  letter-spacing: 0.11em !important;
  color: var(--color-ink) !important;
  background: var(--color-accent);
  border: 1px solid var(--color-ink);
  padding: 0.28rem 0.45rem;
  width: fit-content;
}
.bento__cell--lead .bento__kicker{ background: var(--color-accent); }
.bento__cell h3{
  font-family: var(--font-display) !important;
  letter-spacing: -0.02em !important;
}
.bento__illust{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 var(--color-ink);
  background: var(--color-paper) !important;
  image-rendering: pixelated;
}
.bento__illust svg{ image-rendering: pixelated; }
.bento__mini{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.bento__media{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 var(--color-ink);
}
.bento__media img:not(.pixelated){ filter: contrast(1.08) saturate(0.90) !important; }
.bento__media img.pixelated{
  filter: contrast(1.08) saturate(0.82) hue-rotate(-3deg) brightness(1.02) !important;
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
}
.bento__media figcaption{
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  border-top: 2px solid var(--color-ink) !important;
}

/* — Oportunidades: thumbnails pixel art simulados — */
.oportunidades{
  padding-block: clamp(88px, 8vw, 112px) !important;
  border-top: 3px solid var(--color-ink) !important;
}
.opp-card{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
  overflow: hidden;
}
.opp-card:hover{
  transform: translate(-2px,-2px) !important;
  box-shadow: 6px 6px 0 var(--color-ink) !important;
}
.opp-card__media{
  border-bottom: 2px solid var(--color-ink);
  background: var(--color-paper-2);
}
.opp-card__media img{
  filter: contrast(1.10) saturate(0.90) !important;
  image-rendering: auto;
}
.opp-card__tag{
  border-radius: 0 !important;
  border: 1.5px solid var(--color-ink);
  background: var(--color-accent) !important;
  color: var(--color-ink) !important;
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.opp-card__meta{
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
}
.opp-card__title{ font-family: var(--font-display) !important; }
.opp-card__foot{ border-top: 2px solid var(--color-ink) !important; }
.opp-card__cta{
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  font-weight: 400 !important;
}

/* — Compare & Pricing pixel — */
.compare{
  padding-block: clamp(88px, 8vw, 112px) !important;
  border-top: 3px solid var(--color-ink) !important;
}
.compare__col{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
}
.compare__col--pro{
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
  border-color: var(--color-ink) !important;
  box-shadow: 4px 4px 0 var(--color-accent) !important;
}
.compare__badge{
  border-radius: 0 !important;
  background: var(--color-accent) !important;
  color: var(--color-ink) !important;
  border: 1.5px solid var(--color-ink);
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.pricing{
  padding-block: clamp(88px, 8vw, 112px) !important;
  border-top: 3px solid var(--color-ink) !important;
}
.price-card{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
}
.price-card--pro{
  background: var(--color-ink) !important;
  border-color: var(--color-ink) !important;
  box-shadow: 6px 6px 0 var(--color-accent) !important;
}
.price-card--free::before,
.price-card--pro::before{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  box-shadow: 2px 2px 0 var(--color-ink);
  top: -10px !important;
}
.price-card__eyebrow{
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
}

/* — Testis / FAQ / Final CTA pixel — */
.testis{
  padding-block: clamp(88px, 8vw, 112px) !important;
  border-top: 3px solid var(--color-ink) !important;
}
.testi{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
}
.testi__quote::before{ color: var(--color-accent) !important; }
.testi__avatar{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  background: var(--color-accent) !important;
  color: var(--color-ink) !important;
}
.testi__who span{ font-family: var(--font-pixel) !important; font-size: 9px !important; letter-spacing: 0.06em !important; text-transform: uppercase; }
.faq{
  padding-block: clamp(88px, 8vw, 112px) !important;
  border-block: 3px solid var(--color-ink) !important;
}
.faq__list summary::after{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  font-family: var(--font-pixel) !important;
}
.faq__list details[open] summary::after{
  background: var(--color-accent) !important;
  color: var(--color-ink) !important;
  border-color: var(--color-ink) !important;
}
.final-cta{
  padding-block: clamp(88px, 8vw, 112px) !important;
  border-top: 3px solid var(--color-ink) !important;
}
.final-cta__box{
  border: 3px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
  background: var(--color-ink) !important;
}
:root[data-theme="dark"] .final-cta__box{
  background: var(--color-paper-3) !important;
  border-color: var(--color-ink) !important;
}
.footer{
  border-top: 3px solid var(--color-ink) !important;
  background-color: var(--color-paper) !important;
}
.footer__bottom{ border-top: 2px solid var(--color-ink) !important; }

/* — Provider modal pixel — */
.provider-modal__card{
  border: 3px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel) !important;
}
.provider-modal__head{
  border-bottom: 2px solid var(--color-ink) !important;
}
.provider-modal__logo{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  font-family: var(--font-pixel) !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.provider-modal__close{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.provider-modal__actions{
  border-top: 2px solid var(--color-ink) !important;
}

/* — Waitlist dialog pixel — */
.waitlist-dialog__form{
  border: 3px solid var(--color-ink) !important;
  border-radius: var(--radius-dialog) !important;
  box-shadow: var(--shadow-pixel) !important;
}
.waitlist-dialog__head{
  border-bottom: 2px solid var(--color-ink) !important;
}
.waitlist-dialog__close{
  border-radius: 0 !important;
  border: 2px solid var(--color-ink) !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.waitlist-dialog__fields input,
.waitlist-dialog__fields select{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.waitlist-dialog__fields input:focus,
.waitlist-dialog__fields select:focus{
  border-color: var(--color-ink) !important;
  box-shadow: 3px 3px 0 var(--color-accent) !important;
  outline: none !important;
}
.waitlist-consent{
  border: 2px solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.waitlist-dialog__actions{
  border-top: 2px solid var(--color-ink) !important;
}

/* — Eyebrow global pixel — */
.eyebrow{
  font-family: var(--font-pixel) !important;
  font-size: 10px !important;
  letter-spacing: 0.11em !important;
  font-weight: 400 !important;
  color: var(--color-ink) !important;
  background: var(--color-accent);
  border: 1px solid var(--color-ink);
  padding: 0.28rem 0.45rem;
  box-shadow: 2px 2px 0 var(--color-ink);
}
.eyebrow::before{ display: none !important; }
.section-head{
  border-left: 0 !important;
  padding-left: 0 !important;
  margin-bottom: 2.5rem !important;
}
.section-title{
  font-family: var(--font-display) !important;
  letter-spacing: -0.03em !important;
}
.section-lede{ font-family: var(--font-body) !important; }

/* — Reveal elegante: 8px + 500ms ease-out (no steps bruscos) — */
@media (prefers-reduced-motion: no-preference){
  .js .reveal{
    transition: opacity 500ms cubic-bezier(0.16,1,0.3,1), transform 500ms cubic-bezier(0.16,1,0.3,1) !important;
    transition-delay: calc(var(--i,0) * 70ms) !important;
  }
  html:not(.js) .reveal{opacity:1 !important;transform:none !important}
}

/* — Shadows pixel hover refinement — */
@media (hover:none){
  .btn--primary:hover, .btn--ghost:hover, .provider-logo:hover, .bento__cell:hover, .opp-card:hover{
    transform: none !important;
    box-shadow: var(--shadow-pixel) !important;
  }
}

/* — Dark mode: hero adjustments — */
:root[data-theme="dark"] .hero{ border-bottom-color: var(--color-ink) !important; }
:root[data-theme="dark"] .hero__pixel-badge{ background: var(--color-paper) !important; color: var(--color-ink) !important; border-color: var(--color-ink) !important; box-shadow: 3px 3px 0 var(--color-accent) !important; }
:root[data-theme="dark"] .hero__figure--pixel{ border-color: var(--color-ink) !important; }
:root[data-theme="dark"] .provider-logo{ border-color: var(--color-ink) !important; }

/* — Touch targets 44px guaranteed — */
.btn, .chip, .provider-logo, .theme-toggle, .nav__hamburger{ min-height: 44px; min-width: 44px; }

/* — TechPartners LATAM — fix final urgente 2026-08-22: prefers-reduced-motion + polish — */
@media (prefers-reduced-motion: reduce){
  .provider-logo:hover{ transform:none !important; box-shadow: 4px 4px 0 var(--color-ink) !important; }
  .hero__figure--pixel:hover img, .opp-card:hover .opp-card__media img, .bento__media img{ transform:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}
@media (prefers-reduced-motion: no-preference){
  .provider-logo{ will-change: transform; }
  .providers__proof-media img, .bento__media img{ transition: transform 0.5s cubic-bezier(0.16,1,0.3,1); }
  .providers__proof:hover .providers__proof-media img{ transform: scale(1.02); }
}

/* — Image pixel hint for bento icons: image-rendering — */
.bento__illust, .bento__illust svg{ image-rendering: pixelated; }

/* ==========================================================
   RETRO PIXEL PHOTOS — 2026-08-22
   Coherencia retro gaming elegante para las 3 fotos principales.
   Reemplazo Unsplash corporativo → pixel art isométrico con misma
   paleta (ink/gold/mint/pink/paper), mismo nivel de pixelado,
   mismo borde 2px + shadow 4px, sin kitsch, nítido crisp-edges.
   ========================================================== */

/* — Clase .pixelated: tratamiento compartido — */
.pixelated{
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
  /* filtro elegante contenido: contraste leve + saturación baja para no kitsch */
  filter: contrast(1.15) saturate(0.7) hue-rotate(-5deg) brightness(1.05) !important;
}

/* SVG pixel art ya es nítido: mantenemos filtro pero levemente suavizado para no deslavar gold/mint */
img.pixelated[src$=".svg"]{
  /* SVG vectorial mantiene nitidez incluso con filtro; si se percibe muy apagado, baja a saturate 0.85 */
  filter: contrast(1.08) saturate(0.82) hue-rotate(-3deg) brightness(1.02) !important;
}

/* — Contenedores: mismo borde 2px + shadow 4px, coherente con sistema retro — */
.hero__figure--pixel,
.providers__proof,
.bento__media{
  border: 2px solid var(--color-ink) !important;
  box-shadow: 4px 4px 0 var(--color-ink) !important;
  border-radius: 0 !important;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

/* — Overlay grid pixel 4px — sutil, elegante, no ensucia — */
.hero__figure--pixel::after,
.providers__proof-media::after,
.bento__media::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  /* se activa solo para fotos raster; para SVG lo dejamos desactivado por nitidez */
  background-image:
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(15,27,46,0.035) 3px 4px),
    repeating-linear-gradient(90deg, transparent 0 3px, rgba(15,27,46,0.035) 3px 4px);
  background-size: 4px 4px;
  image-rendering: pixelated;
}

/* Si la imagen es raster (no SVG), muestra el grid */
.hero__figure--pixel:has(img:not([src$=".svg"]))::after,
.providers__proof-media:has(img:not([src$=".svg"]))::after,
.bento__media:has(img:not([src$=".svg"]))::after{
  opacity: 1;
}

/* Fallback para browsers sin :has — activa grid por defecto con opacidad baja */
@supports not selector(:has(*)){
  .hero__figure--pixel::after,
  .providers__proof-media::after,
  .bento__media::after{
    opacity: 0.22;
  }
  /* pero ocúltalo cuando es SVG mediante clase auxiliar */
  .hero__figure--pixel:has-svg::after,
  .providers__proof-media:has-svg::after,
  .bento__media:has-svg::after{ opacity:0; }
}

/* — Imágenes: nítidas, sin blur ni estirado — */
.hero__figure--pixel img,
.providers__proof-media img,
.bento__media img{
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: cover;
  display: block;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  /* evita que el navegador suavice al escalar */
  -ms-interpolation-mode: nearest-neighbor;
}

/* Mantener aspect ratios originales pero sin estirar */
.hero__figure--pixel img{ aspect-ratio: 4 / 3; }
.providers__proof-media img:not(.pixelated){ aspect-ratio: 16 / 10; min-height: 220px; }
.providers__proof-media img.pixelated{ aspect-ratio: 16 / 9; min-height: 220px; }
.bento__media img{ aspect-ratio: 4 / 3; }

/* — Figcaptions coherentes: Silkscreen 9px uppercase, ink sobre paper, 2px top border — */
.hero__figure--pixel figcaption,
.providers__proof-media figcaption,
.bento__media figcaption{
  font-family: var(--font-pixel) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  border-top: 2px solid var(--color-ink) !important;
}

.hero__figure--pixel figcaption{
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
}

.providers__proof-media figcaption{
  background: linear-gradient(180deg, transparent, oklch(18% 0.022 250 / 0.78)) !important;
  color: white !important;
  /* sobre oscuro mantiene legibilidad, pero también soporta modo pixel */
  font-size: 8.5px !important;
}

.bento__media figcaption{
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
  text-align: center !important;
}

/* — Esquinas pixel 8px (detalle retro-elegante compartido) — */
.hero__figure--pixel,
.providers__proof-media,
.bento__media{
  /* corner accents via box-shadow ya existe; añadimos pseudo esquinas si se quiere reforzar con G */
}

/* — Hover: leve scale sin perder pixelado — */
@media (prefers-reduced-motion: no-preference){
  .hero__figure--pixel img,
  .providers__proof-media img,
  .bento__media img{
    transition: transform 500ms cubic-bezier(0.16,1,0.3,1), filter 300ms ease-out;
    will-change: transform;
  }
  .hero__figure--pixel:hover img{ transform: scale(1.015); }
  .providers__proof:hover .providers__proof-media img{ transform: scale(1.015); }
  .bento__media:hover img{ transform: scale(1.015); }
}

@media (prefers-reduced-motion: reduce){
  .pixelated{ filter: none !important; }
  .hero__figure--pixel::after,
  .providers__proof-media::after,
  .bento__media::after{ display: none !important; }
}

/* — Fallback raster: si alguien restaura Unsplash, el filtro pixelated + grid se activa automático — */
img.pixelated:not([src$=".svg"]){
  filter: contrast(1.15) saturate(0.7) hue-rotate(-5deg) brightness(1.05) !important;
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
}
