/* ============================================================
   CREATIVOACEO.COM — EMERGENTE
   style-white.css — Variante clara (nav + footer negro)
   ============================================================ */

:root {
  --carbon:      #121212;
  --carbon-deep: #0A0A0A;
  --carbon-mid:  #1A1A1A;
  --carbon-soft: #222;
  --carbon-ui:   #2A2A2A;
  --optical:     #F2F2F2;
  --red:         #F43A1C;
  --cyan:        #00D1C1;
  --violet:      #8A5CF5;
  --gold:        #D4AF37;
  --dim:         rgba(242,242,242,.5);
  --fade:        rgba(242,242,242,.28);
  --ease:        cubic-bezier(.16,1,.3,1);

  /* White variant overrides */
  --bg-base:     #F7F7F5;
  --bg-section:  #FFFFFF;
  --bg-card:     #F0EFED;
  --bg-card-hov: #E8E7E4;
  --bg-card-act: #EAEAE8;
  --text-primary:#121212;
  --text-dim:    rgba(18,18,18,.55);
  --text-fade:   rgba(18,18,18,.35);
  --border:      rgba(18,18,18,.08);
  --border-mid:  rgba(18,18,18,.12);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter Tight', sans-serif;
  background: var(--bg-base);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  cursor: none;
}

/* Blueprint dot grid — dark dots on light bg */
body::before {
  content: '';
  position: fixed; inset: 0;
  background-image: radial-gradient(circle, rgba(18,18,18,.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  z-index: 0;
}

/* ── CURSOR ── */
#cd {
  position:fixed; top:0; left:0; width:8px; height:8px;
  background:var(--red); border-radius:50%;
  pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .2s, height .2s, background .2s;
}
#cr {
  position:fixed; top:0; left:0; width:36px; height:36px;
  border:1px solid rgba(244,58,28,.4); border-radius:50%;
  pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%);
  transition:width .35s var(--ease), height .35s var(--ease), border-color .3s;
}
#cd.hov { width:12px; height:12px; background:var(--cyan); }
#cr.hov { width:54px; height:54px; border-color:rgba(0,209,193,.4); }
body * { cursor: none !important; }

/* ── NAV — negro, sin cambios ── */
.nav {
  position:fixed; top:0; width:100%; height:64px;
  display:flex; align-items:center; padding:0 6vw;
  z-index:1000; background:transparent;
  border-bottom:1px solid transparent;
  transition:background .5s, backdrop-filter .5s, border-color .5s;
}
.nav.scrolled {
  background:rgba(10,10,10,.92);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-color:rgba(255,255,255,.05);
}
.nav-inner {
  max-width:1280px; width:100%; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
}
.nav-brand {
  display:flex; align-items:center; gap:14px;
  text-decoration:none;
  opacity:0; animation:fadeDown .8s var(--ease) .1s forwards;
}
.nav-logo { height:26px; }
.nav-vl { width:1px; height:18px; background:rgba(255,255,255,.12); }
.nav-t {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px; font-weight: 600; letter-spacing: .06em;
  color: var(--optical);
}
.nav-links {
  display:flex; align-items:center; gap:32px;
  opacity:0; animation:fadeDown .8s var(--ease) .2s forwards;
}
.nav-links a {
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:500;
  color:var(--fade); text-decoration:none; text-transform:uppercase;
  letter-spacing:.2em; transition:color .25s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1px; background:var(--red);
  transition:width .3s var(--ease);
}
.nav-links a:hover { color:var(--optical); }
.nav-links a:hover::after { width:100%; }
.nav-cta {
  background:var(--red) !important; color:var(--optical) !important;
  padding:9px 20px !important; border-radius:4px !important;
  font-weight:700 !important;
  transition:all .3s var(--ease) !important;
}
.nav-cta:hover {
  background:var(--optical) !important; color:var(--carbon) !important;
  box-shadow:0 0 30px rgba(244,58,28,.4) !important;
  transform:translateY(-1px) !important;
}
.nav-cta::after { display:none !important; }

/* ── HERO — fondo oscuro se mantiene para impacto ── */
.hero {
  position:relative; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding:120px 6vw 80px; overflow:hidden;
  background: var(--carbon-deep);
}
.orb1 {
  position:absolute; top:-30%; right:-15%;
  width:80vw; height:80vw; max-width:900px; border-radius:50%;
  background:radial-gradient(circle,rgba(244,58,28,.13) 0%,transparent 65%);
  animation:orbPulse 8s ease-in-out infinite; pointer-events:none; z-index:0;
}
.orb2 {
  position:absolute; bottom:-20%; left:-10%;
  width:60vw; height:60vw; max-width:700px; border-radius:50%;
  background:radial-gradient(circle,rgba(0,209,193,.05) 0%,transparent 65%);
  animation:orbPulse 12s ease-in-out 2s infinite; pointer-events:none; z-index:0;
}
.hero-inner { position:relative; z-index:2; max-width:1280px; margin:0 auto; width:100%; }

.hero-eyebrow {
  display:flex; align-items:center; gap:12px; margin-bottom:36px;
  opacity:0; animation:fadeUp .9s var(--ease) .3s forwards;
}
.eyetag {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--red); text-transform:uppercase; letter-spacing:.25em;
  border:1px solid rgba(244,58,28,.3); padding:6px 14px; border-radius:2px;
  position:relative; overflow:hidden;
}
.eyetag::before {
  content:''; position:absolute; inset:0; background:rgba(244,58,28,.07);
  transform:translateX(-100%); animation:tagSlide 3.5s ease-in-out 1.5s infinite;
}
.eyeline { width:36px; height:1px; background:rgba(244,58,28,.35); }
.eyelbl {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--fade); text-transform:uppercase; letter-spacing:.2em;
}

.hero-h1 {
  font-size:clamp(2.4rem,4.5vw,4.4rem);
  font-weight:800; line-height:1.05; letter-spacing:-.04em; margin-bottom:32px;
}
.hl { display:block; overflow:hidden; opacity:0; transform:translateY(100%); }
.hl:nth-child(1) { animation:lineReveal .9s var(--ease) .5s forwards; color:var(--optical); }
.hl:nth-child(2) { animation:lineReveal .9s var(--ease) .65s forwards; color:#3a3a3a; }
.hl:nth-child(3) {
  animation:lineReveal .9s var(--ease) .8s forwards, gradShift 5s ease 1.8s infinite;
  background:linear-gradient(90deg,var(--red) 0%,#ff7050 40%,var(--red) 80%);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-sub {
  font-size:clamp(.95rem,1.4vw,1.1rem); color:var(--dim);
  max-width:500px; line-height:1.75; margin-bottom:48px;
  opacity:0; animation:fadeUp .9s var(--ease) 1s forwards;
}
.hero-sub strong { color:var(--optical); font-weight:600; }
.hero-actions {
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  opacity:0; animation:fadeUp .9s var(--ease) 1.1s forwards;
}

/* Stats bar — sección independiente, visible al hacer scroll */
.hero-stats {
  position:relative;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(10,10,10,.92); backdrop-filter:blur(16px);
  padding:28px 6vw; z-index:2;
}
.stats-inner { max-width:1280px; margin:0 auto; display:flex; align-items:stretch; }
.stat { display:flex; flex-direction:column; gap:5px; flex:1; padding:0 32px; }
.stat:first-child { padding-left:0; }
.stat-n { font-size:26px; font-weight:700; letter-spacing:-.03em; color:var(--optical); }
.stat-l {
  font-family:'JetBrains Mono',monospace; font-size:9px;
  color:var(--fade); text-transform:uppercase; letter-spacing:.18em;
}
.stat-sep { width:1px; background:rgba(255,255,255,.08); }

/* ── BUTTONS ── */
.btn-red {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--red); color:var(--optical);
  padding:15px 32px; border-radius:4px;
  font-size:12px; font-weight:700; text-decoration:none;
  letter-spacing:.08em; text-transform:uppercase;
  position:relative; overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s;
}
.btn-red::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
  transform:translateX(-100%); transition:transform .6s;
}
.btn-red:hover::before { transform:translateX(100%); }
.btn-red:hover { transform:translateY(-3px); box-shadow:0 20px 50px rgba(244,58,28,.4); }

.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--fade); font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:500; text-decoration:none;
  text-transform:uppercase; letter-spacing:.15em;
  transition:color .3s, gap .3s;
}
.btn-ghost:hover { color:var(--optical); gap:14px; }

/* ── TICKER — transición de negro a blanco ── */
.ticker-wrap {
  position:relative; overflow:hidden; z-index:1;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--bg-section); padding:16px 0;
}
.ticker-track {
  display:flex; gap:3rem;
  animation:ticker 50s linear infinite; width:max-content;
}
.ticker-item {
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:500;
  text-transform:uppercase; letter-spacing:.25em; color:var(--text-fade);
  white-space:nowrap; display:flex; align-items:center; gap:3rem;
}
.ticker-item span { color:var(--red); font-size:14px; }

/* ── SECTION EYEBROW ── */
.s-eye {
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:500;
  color:var(--red); text-transform:uppercase; letter-spacing:.3em;
  display:flex; align-items:center; gap:12px; margin-bottom:28px;
}
.s-eye::before { content:''; width:20px; height:1px; background:var(--red); flex-shrink:0; }

/* ── PROBLEM ── */
.problem { position:relative; padding:120px 6vw; z-index:1; background:var(--bg-section); }
.problem-inner { max-width:1280px; margin:0 auto; }
.problem-hl {
  font-size:clamp(2rem,3.8vw,3.2rem); font-weight:700;
  letter-spacing:-.035em; line-height:1.12; max-width:820px; margin-bottom:72px;
  color:var(--text-primary);
}
.problem-hl em { font-style:normal; color:var(--text-fade); }
.p-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
@media(max-width:768px) { .p-cards { grid-template-columns:1fr; } }

.p-card {
  background:var(--bg-card); padding:48px 40px;
  position:relative; overflow:hidden; transition:background .4s;
}
.p-card-tl {
  position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--red); transform:scaleX(0); transform-origin:left;
  transition:transform .6s var(--ease);
}
.p-card:hover .p-card-tl { transform:scaleX(1); }
.p-card:hover { background:var(--bg-card-hov); }
.p-card::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(244,58,28,.06) 0%,transparent 60%);
  opacity:0; transition:opacity .4s; pointer-events:none;
}
.p-card:hover::after { opacity:1; }
.p-code {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--red); letter-spacing:.2em; margin-bottom:24px; display:block;
}
.p-card h3 { font-size:17px; font-weight:600; letter-spacing:-.02em; margin-bottom:12px; color:var(--text-primary); }
.p-card p { font-size:14px; line-height:1.7; color:var(--text-dim); }

/* ── TRILOGY ── */
.trilogy { position:relative; padding:120px 6vw; z-index:1; background:var(--bg-base); overflow:hidden; }
.trilogy-inner { max-width:1280px; margin:0 auto; }
.trilogy-head { margin-bottom:56px; }
.trilogy-hl { font-size:clamp(2rem,3.8vw,3.2rem); font-weight:700; letter-spacing:-.035em; line-height:1.1; color:var(--text-primary); }
.trilogy-hl span { display:block; color:var(--text-fade); font-weight:400; }

.t-tabs { display:flex; gap:2px; margin-bottom:2px; }
.t-tab {
  flex:1; padding:16px 24px; background:var(--bg-card); border:none;
  display:flex; align-items:center; gap:12px; text-align:left;
  transition:background .4s; position:relative;
}
.t-tab::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:0; transition:height .3s; pointer-events:none;
}
.t-tab:hover { background:var(--bg-card-hov); }
.t-tab.a1 { background:rgba(0,209,193,.08); }
.t-tab.a1::after { height:2px; background:var(--cyan); }
.t-tab.a2 { background:rgba(138,92,245,.08); }
.t-tab.a2::after { height:2px; background:var(--violet); }
.t-tab.a3 { background:rgba(212,175,55,.08); }
.t-tab.a3::after { height:2px; background:var(--gold); }
.tdot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.dc { background:var(--cyan); } .dv { background:var(--violet); } .dg { background:var(--gold); }
.tlbl {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  text-transform:uppercase; letter-spacing:.18em; color:var(--text-fade); transition:color .3s;
}
.t-tab.a1 .tlbl, .t-tab.a2 .tlbl, .t-tab.a3 .tlbl { color:var(--text-primary); }

.t-panel { display:none; background:var(--bg-card); }
.t-panel.on { display:grid; grid-template-columns:1.1fr .9fr; min-height:480px; animation:panelIn .5s var(--ease); }
@media(max-width:900px) { .t-panel.on { grid-template-columns:1fr; } .p-vis { display:none; } }

.p-cnt { padding:56px 52px; display:flex; flex-direction:column; justify-content:space-between; }
.p-vol {
  font-family:'JetBrains Mono',monospace; font-size:10px; text-transform:uppercase;
  letter-spacing:.25em; margin-bottom:18px; display:flex; align-items:center; gap:8px;
}
.vc { color:var(--cyan); } .vv { color:var(--violet); } .vg { color:var(--gold); }
.p-title { font-size:clamp(1.9rem,3.2vw,2.6rem); font-weight:700; letter-spacing:-.035em; line-height:1.05; margin-bottom:8px; color:var(--text-primary); }
.p-sub { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text-fade); margin-bottom:24px; font-style:italic; }
.p-desc { font-size:15px; line-height:1.72; color:var(--text-dim); margin-bottom:32px; max-width:480px; }
.p-mods { list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:44px; }
.p-mods li { display:flex; align-items:flex-start; gap:12px; font-size:13px; color:var(--text-dim); line-height:1.5; transition:color .3s; }
.p-mods li:hover { color:var(--text-primary); }
.mdot { width:5px; height:5px; border-radius:50%; margin-top:7px; flex-shrink:0; }
.p-foot { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.p-price-block { display:flex; flex-direction:column; gap:4px; }
.p-price-from { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--text-fade); text-transform:uppercase; letter-spacing:.2em; }
.p-price-range { font-size:18px; font-weight:700; letter-spacing:-.02em; }
.pc { color:var(--cyan); } .pv { color:var(--violet); } .pg { color:var(--gold); }

.btn-panel {
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 28px; border-radius:4px; font-size:11.5px; font-weight:700;
  text-decoration:none; text-transform:uppercase; letter-spacing:.1em;
  transition:all .4s var(--ease); position:relative; overflow:hidden;
}
.btn-panel::before {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.12); transform:translateX(-100%); transition:transform .5s;
}
.btn-panel:hover::before { transform:translateX(100%); }
.btn-c { background:var(--cyan); color:var(--carbon-deep); }
.btn-c:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,209,193,.3); }
.btn-soon { background:var(--border); color:var(--text-fade); border:1px solid var(--border-mid); cursor:not-allowed !important; }

/* Panel visual */
.p-vis { position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:40px; }
.p-glyph {
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-family:'Inter Tight',sans-serif; font-weight:900;
  font-size:clamp(180px,20vw,280px);
  line-height:1; letter-spacing:-.08em;
  pointer-events:none; user-select:none;
}
.g1 { color:rgba(0,209,193,.1); } .g2 { color:rgba(138,92,245,.1); } .g3 { color:rgba(212,175,55,.1); }
.p-vis-info { position:relative; z-index:2; }
.vbar { height:3px; width:52px; border-radius:2px; margin-bottom:14px; }
.bc { background:var(--cyan); } .bv { background:var(--violet); } .bg { background:var(--gold); }
.vlbl { font-family:'JetBrains Mono',monospace; font-size:9px; text-transform:uppercase; letter-spacing:.28em; margin-bottom:5px; opacity:.45; color:var(--text-primary); }
.vname { font-size:14px; font-weight:600; opacity:.22; color:var(--text-primary); }

/* ── PRICING ── */
.pricing { position:relative; padding:120px 6vw; z-index:1; background:var(--bg-section); }
.pricing-inner { max-width:1280px; margin:0 auto; }
.pr-hd { text-align:center; margin-bottom:72px; }
.pr-hd h2 { font-size:clamp(2rem,3.8vw,3.2rem); font-weight:700; letter-spacing:-.035em; margin-bottom:14px; color:var(--text-primary); }
.pr-hd p { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text-fade); letter-spacing:.18em; text-transform:uppercase; }
.pr-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:2px; }
@media(max-width:900px) { .pr-grid { grid-template-columns:1fr; } }

.pc-card {
  background:#FAFAF8; padding:44px 40px;
  display:flex; flex-direction:column; justify-content:space-between;
  position:relative; overflow:hidden; transition:background .35s;
}
.pc-card:hover { background:#F3F2EF; }
.pc-card.star { background:#F2F1EF; border-left:2px solid rgba(0,209,193,.4); }
.pc-sl { position:absolute; top:0; left:0; right:0; height:2px; overflow:hidden; }
.pc-sl::after { content:''; position:absolute; inset:0; animation:scanLine 3s linear infinite; opacity:.7; }
.pc-card:nth-child(1) .pc-sl::after { background:linear-gradient(90deg,transparent,var(--cyan),transparent); }
.pc-card:nth-child(2) .pc-sl::after { background:linear-gradient(90deg,transparent,var(--violet),transparent); animation-delay:.8s; }
.pc-card:nth-child(3) .pc-sl::after { background:linear-gradient(90deg,transparent,var(--gold),transparent); animation-delay:1.6s; }
.pc-tag { font-family:'JetBrains Mono',monospace; font-size:9px; text-transform:uppercase; letter-spacing:.22em; padding:5px 10px; border-radius:2px; display:inline-block; width:fit-content; margin-bottom:18px; }
.tc { color:var(--cyan); background:rgba(0,209,193,.1); border:1px solid rgba(0,209,193,.25); }
.tv { color:var(--violet); background:rgba(138,92,245,.1); border:1px solid rgba(138,92,245,.25); }
.tg { color:var(--gold); background:rgba(212,175,55,.1); border:1px solid rgba(212,175,55,.25); }
.pc-name { font-size:19px; font-weight:600; letter-spacing:-.02em; margin-bottom:6px; color:var(--text-primary); }
.pc-tag2 { font-size:13px; color:rgba(18,18,18,.6); margin-bottom:28px; line-height:1.5; }
.pr-tiers { display:flex; flex-direction:column; gap:10px; margin-bottom:10px; }
.pr-tier {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 16px; border-radius:3px;
  background:rgba(18,18,18,.04); border:1px solid var(--border);
  transition:border-color .3s;
}
.pr-tier:hover { border-color:rgba(0,209,193,.35); }
.pr-tier-name { font-size:12px; font-weight:600; color:var(--text-primary); }
.pr-tier-sub { font-size:10px; color:var(--text-fade); margin-top:2px; }
.pr-tier-price { font-family:'Inter Tight',sans-serif; font-size:22px; font-weight:700; letter-spacing:-.03em; color:var(--cyan); }
.pr-tier-price .cur { font-size:13px; vertical-align:super; font-weight:500; }
.pc-note { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--text-fade); letter-spacing:.15em; text-transform:uppercase; margin:14px 0 28px; }
.pc-price-soon { font-size:15px; font-weight:600; color:var(--text-fade); margin-bottom:10px; }
.pc-feats { list-style:none; margin-bottom:36px; display:flex; flex-direction:column; gap:11px; }
.pc-feats li { font-size:13px; color:rgba(18,18,18,.7); display:flex; align-items:flex-start; gap:10px; line-height:1.5; }
.fc { color:var(--cyan); font-size:10px; margin-top:2px; }
.fv { color:var(--violet); font-size:10px; margin-top:2px; }
.fg { color:var(--gold); font-size:10px; margin-top:2px; }
.btn-pc {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 20px; border-radius:4px; font-size:11px; font-weight:700;
  text-decoration:none; text-transform:uppercase; letter-spacing:.1em;
  transition:all .4s var(--ease); position:relative; overflow:hidden;
}
.btn-pc::before { content:''; position:absolute; inset:0; background:rgba(255,255,255,.1); transform:translateX(-100%); transition:transform .5s; }
.btn-pc:hover::before { transform:translateX(100%); }
.btn-pc-c { background:var(--cyan); color:var(--carbon-deep); }
.btn-pc-c:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(0,209,193,.3); }
.btn-pc-off { background:var(--border); color:var(--text-fade); border:1px solid var(--border-mid); cursor:not-allowed !important; }

/* ── AUTHORITY ── */
.authority { position:relative; padding:120px 6vw; z-index:1; background:var(--bg-base); overflow:hidden; }
.auth-orb {
  position:absolute; bottom:-15%; left:-10%; width:70vw; height:70vw; max-width:800px;
  border-radius:50%; background:radial-gradient(circle,rgba(244,58,28,.04) 0%,transparent 65%);
  pointer-events:none; animation:orbPulse 10s ease-in-out 1s infinite;
}
.authority-inner {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.3fr; gap:88px; align-items:center;
}
@media(max-width:900px) { .authority-inner { grid-template-columns:1fr; gap:52px; } }

.auth-frame-wrap { position:relative; }
.auth-frame {
  aspect-ratio:3/4; background:var(--bg-card); border-radius:2px;
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; transition:box-shadow .5s;
}
.auth-frame:hover { box-shadow:0 40px 80px rgba(0,0,0,.12); }
.auth-frame::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--red); }
.auth-scan {
  position:absolute; inset:0; pointer-events:none; z-index:3;
  background:linear-gradient(180deg,transparent 0%,rgba(244,58,28,.03) 50%,transparent 100%);
  background-size:100% 200%; animation:scanPhoto 4s linear infinite;
}
.auth-photo { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.auth-badge {
  position:absolute; bottom:-18px; right:-18px;
  background:var(--bg-section); border:1px solid var(--border-mid);
  padding:20px 24px; border-radius:2px; transition:transform .4s var(--ease); max-width:210px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.auth-frame-wrap:hover .auth-badge { transform:translate(-4px,-4px); }
.badge-s { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--red); text-transform:uppercase; letter-spacing:.2em; margin-bottom:6px; }
.badge-t { font-size:13px; font-weight:600; line-height:1.4; color:var(--text-primary); }
.auth-q { font-size:clamp(1.6rem,2.6vw,2.2rem); font-weight:700; line-height:1.2; letter-spacing:-.03em; margin-bottom:40px; color:var(--text-primary); }
.auth-q em { font-style:normal; color:var(--red); }
.auth-body p { font-size:15.5px; line-height:1.78; color:var(--text-dim); margin-bottom:20px; }
.auth-body strong { color:var(--text-primary); font-weight:500; }
.auth-sig { margin-top:44px; padding-top:28px; border-top:1px solid var(--border); display:flex; align-items:center; gap:20px; }
.sig-n { font-size:18px; font-weight:700; letter-spacing:-.02em; color:var(--text-primary); }
.sig-r { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--text-fade); text-transform:uppercase; letter-spacing:.18em; margin-top:4px; }
.sig-vl { width:1px; height:32px; background:var(--border-mid); }
.sig-certs { font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--text-fade); text-transform:uppercase; letter-spacing:.18em; line-height:1.9; }

/* ── PHILOSOPHY ── */
.philosophy { position:relative; padding:120px 6vw; z-index:1; background:var(--bg-section); }
.phil-inner { max-width:1280px; margin:0 auto; }
.phil-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:52px; }
@media(max-width:768px) { .phil-grid { grid-template-columns:1fr; } }
.phil-card {
  background:var(--bg-card); padding:52px 48px;
  position:relative; transition:background .35s, box-shadow .4s;
}
.phil-card:hover { background:var(--bg-card-hov); box-shadow:inset 0 0 0 1px rgba(244,58,28,.12); }
.phil-num { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--red); letter-spacing:.2em; margin-bottom:22px; }
.phil-card blockquote { font-size:clamp(1.05rem,1.7vw,1.35rem); font-weight:700; line-height:1.35; letter-spacing:-.025em; margin-bottom:16px; color:var(--text-primary); }
.phil-card p { font-size:13.5px; line-height:1.65; color:var(--text-dim); }

/* ── FINAL CTA — negro para contraste fuerte ── */
.final {
  position:relative; padding:140px 6vw 120px; z-index:1;
  text-align:center; overflow:hidden; background:var(--carbon-deep);
}
.final-orb {
  position:absolute; top:0; left:0; right:0; bottom:0;
  background:radial-gradient(ellipse 60% 50% at 50% 0%, rgba(244,58,28,.14) 0%, transparent 100%);
  pointer-events:none;
}
.final-inner { position:relative; z-index:2; max-width:700px; margin:0 auto; }
.final-hl { font-size:clamp(2.4rem,5vw,4.6rem); font-weight:800; letter-spacing:-.045em; line-height:1.01; margin-bottom:22px; color:var(--optical); }
.final-sub { font-size:16px; color:var(--dim); margin-bottom:48px; line-height:1.65; }
.final-note { font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--fade); text-transform:uppercase; letter-spacing:.18em; margin-top:28px; }
.final-actions { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; }

/* btn-ghost en final oscuro — mantiene color claro */
.final .btn-ghost { color:var(--fade); }
.final .btn-ghost:hover { color:var(--optical); }

/* ── FOOTER — negro, sin cambios ── */
.footer { position:relative; padding:64px 6vw 40px; z-index:1; border-top:1px solid rgba(255,255,255,.05); background:var(--carbon-deep); }
.footer-inner { max-width:1280px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:56px; margin-bottom:48px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.04); }
@media(max-width:768px) { .footer-top { grid-template-columns:1fr; gap:36px; } }
.f-logo { height:28px; margin-bottom:18px; }
.f-tagline { font-size:13px; color:rgba(242,242,242,.28); line-height:1.7; max-width:250px; margin-bottom:20px; }
.f-motto { font-family:'JetBrains Mono',monospace; font-size:9px; color:rgba(242,242,242,.16); text-transform:uppercase; letter-spacing:.28em; }
.f-col h5 { font-family:'JetBrains Mono',monospace; font-size:9px; text-transform:uppercase; letter-spacing:.25em; color:rgba(242,242,242,.2); margin-bottom:18px; }
.f-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.f-col ul li a { font-size:13px; color:rgba(242,242,242,.35); text-decoration:none; transition:color .3s; }
.f-col ul li a:hover { color:var(--red); }
.footer-bot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.f-copy { font-family:'JetBrains Mono',monospace; font-size:10px; color:rgba(242,242,242,.16); text-transform:uppercase; letter-spacing:.14em; }
.f-legal { display:flex; gap:22px; }
.f-legal a { font-family:'JetBrains Mono',monospace; font-size:10px; color:rgba(242,242,242,.16); text-decoration:none; text-transform:uppercase; letter-spacing:.14em; transition:color .3s; }
.f-legal a:hover { color:var(--red); }

/* ── SCROLL REVEAL ── */
.rv { opacity:0; transform:translateY(32px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.rv.v { opacity:1; transform:none; }
.rv.d1 { transition-delay:.1s; }
.rv.d2 { transition-delay:.2s; }
.rv.d3 { transition-delay:.3s; }

/* ── KEYFRAMES ── */
@keyframes fadeUp    { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeDown  { from{opacity:0;transform:translateY(-14px)} to{opacity:1;transform:translateY(0)} }
@keyframes lineReveal{ from{opacity:0;transform:translateY(100%)} to{opacity:1;transform:translateY(0)} }
@keyframes gradShift { 0%,100%{background-position:0% center} 50%{background-position:200% center} }
@keyframes orbPulse  { 0%,100%{transform:scale(1)} 50%{transform:scale(1.07);opacity:.7} }
@keyframes tagSlide  { 0%{transform:translateX(-100%)} 50%{transform:translateX(100%)} 100%{transform:translateX(100%)} }
@keyframes panelIn   { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes ticker    { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scanLine  { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }
@keyframes scanPhoto { 0%{background-position:50% -100%} 100%{background-position:50% 300%} }
@keyframes subtleFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

/* ── PARALLAX BOOKS ── */
.parallax-books {
  position: relative;
  height: 70vh;
  min-height: 480px;
  max-height: 680px;
  overflow: hidden;
  background-attachment: fixed;
  background-image: url('img/ebooks-mock.webp');
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
}
/* Overlay — suave para que los libros sean protagonistas */
.parallax-books::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,10,10,.55) 0%,
    rgba(10,10,10,.30) 50%,
    rgba(10,10,10,.60) 100%
  );
  z-index: 1;
}
.parallax-inner {
  position: relative; z-index: 2;
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding: 0 6vw 56px;
  max-width: calc(1280px + 12vw);
  margin: 0 auto;
}
.parallax-copy h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.12;
  color: var(--optical);
  margin-bottom: 12px;
}
.parallax-copy h2 em {
  font-style: normal;
  color: var(--cyan);
}
.parallax-copy p {
  font-size: 15px;
  color: rgba(242,242,242,.6);
  line-height: 1.65;
}
.parallax-copy .s-eye {
  color: var(--cyan);
}
.parallax-copy .s-eye::before {
  background: var(--cyan);
}

/* Fallback para mobile — background-attachment:fixed no funciona en iOS */
/* ── RESPONSIVE MOBILE ── */
@media(max-width:768px) {

  /* Cursor — desactivar en touch */
  body { cursor:auto !important; }
  body * { cursor:auto !important; }
  #cd, #cr { display:none; }

  /* Nav */
  .nav-links { display:none; }

  /* Hero — restaurar orb visible en mobile */
  .orb1 {
    width:140vw; height:140vw;
    top:-20%; right:-40%;
    opacity:.8;
  }
  .orb2 {
    width:100vw; height:100vw;
    bottom:-10%; left:-30%;
  }

  /* Hero H1 — forzar quiebre en 4 líneas */
  .hero-h1 {
    font-size: clamp(2.6rem, 12vw, 3.4rem);
    letter-spacing: -.03em;
  }
  .hero-h1 .hl {
    max-width: 8ch;
  }

  /* Stats — carrusel swipe, 2 por pantalla */
  .hero-stats { padding:0; overflow:hidden; }
  .stats-inner {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:0;
  }
  .stats-inner::-webkit-scrollbar { display:none; }
  .stat {
    flex:0 0 50%;
    min-width:50%;
    scroll-snap-align:start;
    padding:20px 20px 20px 24px;
    border-right:1px solid rgba(255,255,255,.06);
  }
  .stat:first-child { padding-left:24px; }
  .stat:last-child { border-right:none; }
  .stat-n { font-size:20px; }
  .stat-sep { display:none; }

  /* Tabs trilogía — apilados limpios */
  .t-tabs {
    flex-direction:column;
    gap:2px;
  }
  .t-tab {
    width:100%;
    min-width:unset;
    flex:unset;
    padding:14px 20px;
  }
  .tlbl { font-size:11px; }

  /* Panel trilogía */
  .t-panel.on { grid-template-columns:1fr; }
  .p-vis { display:none; }
  .p-cnt { padding:32px 24px; }
  .p-mods { margin-bottom:28px; }

  /* Secciones — padding reducido en mobile */
  .problem   { padding: 64px 6vw; }
  .trilogy   { padding: 64px 6vw; }
  .pricing   { padding: 64px 6vw; }
  .authority { padding: 64px 6vw; }
  .philosophy{ padding: 64px 6vw; }
  .final     { padding: 80px 6vw 64px; }

  /* Cards problema */
  .p-cards { grid-template-columns:1fr; gap:2px; }
  .p-card { padding:36px 28px; }

  /* Pricing */
  .pr-grid { grid-template-columns:1fr; gap:2px; }
  .pc-card { padding:36px 28px; }

  /* Authority */
  .authority-inner { grid-template-columns:1fr; gap:40px; }
  .auth-badge { right:0; bottom:-12px; max-width:180px; padding:14px 16px; }

  /* Philosophy */
  .phil-grid { grid-template-columns:1fr; gap:2px; }
  .phil-card { padding:40px 28px; }

  /* Footer */
  .footer-top { grid-template-columns:1fr; gap:32px; }

  /* Parallax mobile — imagen full ancho, texto con padding */
  .parallax-books {
    height:auto;
    min-height:unset;
    max-height:unset;
    background:none;
    display:flex;
    flex-direction:column;
    padding:0;
  }
  .parallax-books::before { display:none; }

  .parallax-books::after {
    content:'';
    display:block;
    order:-1;
    width:100%;
    height:60vw;
    min-height:240px;
    background-image: url('img/ebooks-mock.webp');
    background-size:cover;
    background-position:center 30%;
  }

  .parallax-inner {
    order:1;
    height:auto;
    align-items:flex-start;
    padding:32px 6vw 40px;
    background:var(--carbon-deep);
    width:100%;
  }
  .parallax-copy h2 { font-size:clamp(1.5rem,6vw,2rem); }
}
