/* ════════════════════════════════════════════════════
   SCOPUS LANDING v2 — Editorial bold agency style
   Inspired by: nogood.io · momentumdesignlab.com · grafik.agency
   Palette grounded in SCOPUS brand logo
   ════════════════════════════════════════════════════ */

:root{
  /* ── Brand palette extracted from SCOPUS logo ─── */
  --cobalt:        #1d3ea0;   /* deep brand blue */
  --cobalt-deep:   #15287a;   /* deeper variant */
  --cobalt-bright: #2756d8;   /* brighter accent */
  --orange:        #ef6f29;   /* signature orange */
  --orange-bright: #ff7c33;
  --yellow:        #f5b400;   /* warm yellow */
  --cyan:          #34b9e0;   /* light blue */

  /* ── Neutrals ─── */
  --ink:           #0c1330;   /* near-black with navy undertone */
  --ink-2:         #1b223f;
  --ink-3:         #2c344f;
  --muted:         #5b6378;
  --line:          #d9d4c4;
  --cream:         #f3eee2;   /* warm paper */
  --cream-2:       #ece6d5;
  --cream-3:       #e2dbc6;
  --paper:         #faf6ed;   /* lighter paper */
  --white:         #ffffff;

  /* ── Type stack ─── */
  --f-display: 'Big Shoulders Display', 'Impact', 'Arial Narrow', sans-serif;
  --f-italic:  'Instrument Serif', 'Fraunces', serif;
  --f-sans:    'DM Sans', -apple-system, system-ui, sans-serif;
  --f-mono:    'JetBrains Mono', 'Courier New', monospace;

  --t-xs:   .68rem;
  --t-sm:   .78rem;
  --t-base: .92rem;
  --t-md:   1.1rem;
  --t-lg:   1.25rem;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--f-sans);
  font-weight:400;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:var(--ink); border-radius:0; }
::selection{ background:var(--orange); color:var(--cream); }
a{ color:inherit; text-decoration:none; }

/* ─── Type primitives ─────────────── */
.mono{
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
}
.eyebrow{
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:.7rem;
}
.eyebrow::before{
  content:'';
  width:24px; height:1px;
  background:var(--orange);
}
.eyebrow .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--orange);
  display:inline-block;
}
em.serif{
  font-family:var(--f-italic);
  font-style:italic;
  font-weight:400;
}

/* ════════════════════════════════════
   NAV
   ════════════════════════════════════ */
.nav{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  padding:1.2rem 2.4rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:2.5rem;
  background:rgba(243,238,226,.78);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid transparent;
  transition:padding .3s, border-color .3s;
}
.nav.scrolled{
  padding:.8rem 2.4rem;
  border-bottom-color:var(--ink);
}
.nav-logo{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--f-display);
  font-weight:500;
  font-size:1.05rem;
  letter-spacing:-.02em;
  color:var(--ink);
}
.nav-logo img{ height:36px; width:auto; display:block; }
.nav-logo .word{ position:relative; top:-1px; }
.nav-logo small{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
  line-height:1;
  margin-top:.25rem;
}

.nav-links{
  display:flex;
  justify-content:center;
  gap:2rem;
  list-style:none;
}
.nav-links a{
  font-family:var(--f-mono);
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  position:relative;
  padding:.25rem 0;
  font-weight:500;
}
.nav-links a::after{
  content:'';
  position:absolute;
  left:0; bottom:-2px;
  width:0; height:1px;
  background:var(--orange);
  transition:width .3s ease;
}
.nav-links a:hover::after{ width:100%; }

.nav-cta{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.7rem 1.2rem;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  transition:background .25s, transform .2s;
  border:1px solid var(--ink);
}
.nav-cta:hover{ background:var(--orange); border-color:var(--orange); transform:translateY(-1px); }
.nav-cta .arrow{
  display:inline-block;
  transition:transform .3s;
}
.nav-cta:hover .arrow{ transform:translate(3px,-3px); }

.hamburger{
  display:none;
  background:none; border:none; cursor:pointer;
  padding:.5rem;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.hamburger span{
  display:block;
  width:22px; height:1.5px;
  background:var(--ink);
}

/* ════════════════════════════════════
   HERO
   ════════════════════════════════════ */
.hero{
  position:relative;
  padding:7.5rem 2.4rem 3rem;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  background:var(--cream);
}
.hero-meta{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:2rem;
  align-items:start;
  padding:1.2rem 0 2rem;
  border-bottom:1px solid var(--ink);
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero-meta .live{
  color:var(--orange);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.hero-meta .live::before{
  content:'';
  width:7px; height:7px; border-radius:50%;
  background:var(--orange);
  animation:pulse 2s ease-in-out infinite;
  box-shadow:0 0 0 4px rgba(239,111,41,.18);
}
.hero-meta .col-c{ text-align:center; }
.hero-meta .col-r{ text-align:right; }
@keyframes pulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.3); opacity:.6; }
}

.hero-body{
  flex:1;
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:3rem;
  align-items:end;
  padding:2.5rem 0 3rem;
  position:relative;
}
.hero-headline-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.6rem;
  opacity:0;
  animation:fadeUp 1.2s .3s cubic-bezier(.2,.8,.2,1) forwards;
}
.hero-logo{
  width:clamp(140px, 16vw, 240px);
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 24px rgba(12,19,48,.12));
}
.hero-headline{
  font-family:var(--f-display);
  font-size:clamp(2.4rem, 9vw, 9rem);
  font-weight:800;
  line-height:.88;
  letter-spacing:-.025em;
  color:var(--ink);
  text-transform:uppercase;
}
.hero-headline em.serif{
  text-transform:none;
  font-weight:400;
  letter-spacing:-.015em;
  color:var(--orange);
}
.hero-headline .line{ display:block; }
.hero-headline .l-2{ padding-left:.8em; }
.hero-headline .l-3{ position:relative; }
.hero-headline em.serif{
  color:var(--orange);
  font-family:var(--f-italic);
}
.hero-headline .underline{
  position:relative;
  display:inline-block;
}
.hero-headline .underline::after{
  content:'';
  position:absolute;
  left:0; right:0;
  bottom:.08em;
  height:5px;
  background:var(--cobalt);
  transform:scaleX(0);
  transform-origin:left;
  animation:drawLine 1s 1.6s cubic-bezier(.6,.2,.2,1) forwards;
}
@keyframes drawLine{ to{ transform:scaleX(1); } }
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(40px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }

/* Hero visual — orbiting badge */
.hero-visual{
  position:relative;
  aspect-ratio:1;
  max-width:520px;
  width:100%;
  justify-self:end;
  align-self:end;
  opacity:0;
  animation:fadeIn 1.5s .8s forwards;
}
.orbit{
  position:absolute;
  inset:0;
  border:1px solid var(--ink);
  border-radius:50%;
  opacity:.2;
}
.orbit.o1{ animation:spin 30s linear infinite; }
.orbit.o2{ inset:8%; border-color:var(--cobalt); opacity:.3; animation:spin 22s linear infinite reverse; border-style:dashed; }
.orbit.o3{ inset:18%; border-color:var(--orange); opacity:.4; animation:spin 16s linear infinite; }
.orbit.o4{ inset:30%; border-color:var(--cobalt); opacity:.5; animation:spin 12s linear infinite reverse; }

@keyframes spin{ to{ transform:rotate(360deg); } }

.orbit-node{
  position:absolute;
  background:var(--ink);
  border-radius:50%;
  font-family:var(--f-mono);
  font-size:.58rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--cream);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.orbit-node.n1{ top:-12px; left:50%; transform:translateX(-50%); width:84px; height:84px; background:var(--cobalt); padding:.4rem; line-height:1.1; }
.orbit-node.n2{ top:24%; right:-8px; width:54px; height:54px; background:var(--orange); }
.orbit-node.n3{ bottom:18%; left:-12px; width:64px; height:64px; background:var(--yellow); color:var(--ink); }
.orbit-node.n4{ bottom:6%; right:18%; width:42px; height:42px; background:var(--cyan); }

/* ─── Icon nodes around the diana (social + capabilities) ─── */
.icon-node{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--cream);
  color:var(--ink);
  border:1px solid var(--ink);
  border-radius:50%;
  transition:transform .35s cubic-bezier(.4,0,.2,1), background .3s, color .3s, box-shadow .3s, border-color .3s;
  text-decoration:none;
  z-index:5;
  box-shadow:0 6px 18px -10px rgba(12,19,48,.35);
  cursor:pointer;
  opacity:0;
  animation:iconIn 700ms cubic-bezier(.2,.8,.3,1) forwards;
}
.icon-node svg{
  width:48%;
  height:48%;
  display:block;
}
.icon-node:hover{
  transform:scale(1.12) translateZ(0);
  box-shadow:0 14px 30px -10px rgba(12,19,48,.4);
  z-index:10;
}
/* Tooltip data-tip desactivado */
.icon-node::after{ display:none; }

/* Larger pill labels under the big capability icons */
.icon-label{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  margin-top:.5rem;
  font-family:var(--f-mono);
  font-size:.55rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink);
  background:var(--cream);
  padding:.25rem .6rem;
  border:1px solid var(--ink);
  white-space:nowrap;
  opacity:0;
  transition:opacity .3s;
}
.icon-node:hover .icon-label{ opacity:1; }

/* SCOPUS branded (bigger, brand colors) */
/* scopus-ai: 12:00 arriba — offset -36px para centrar 72px */
.icon-node.scopus-ai{
  top:calc(10% - 36px); left:calc(50% - 36px);
  width:72px; height:72px;
  background:var(--cobalt);
  border-color:var(--cobalt);
  color:var(--yellow);
  animation-delay:.9s;
}
/* scopus-cp: 10:20 — offset -36px para centrar 72px */
.icon-node.scopus-cp{
  top:calc(25.1% - 36px); left:calc(18.7% - 36px);
  width:72px; height:72px;
  background:var(--orange);
  border-color:var(--orange);
  color:var(--cream);
  animation-delay:1.05s;
  bottom:auto;
}

/* Globos 180px — heptágono simétrico (offset -90px para centrar) */
/* social-yt: 1:40 */
.icon-node.social-yt{ top:calc(25.1% - 90px); left:calc(81.3% - 90px); width:180px; height:180px; animation-delay:1.2s; }
/* social-ig: 3:30 derecha */
.icon-node.social-ig{ top:calc(58.9% - 90px); left:calc(89.0% - 90px); width:180px; height:180px; animation-delay:1.3s; }
/* social-wa: 5:10 */
.icon-node.social-wa{ top:calc(86.0% - 90px); left:calc(67.4% - 90px); width:180px; height:180px; animation-delay:1.4s; }
/* social-tk: 6:50 abajo */
.icon-node.social-tk{ top:calc(86.0% - 90px); left:calc(32.6% - 90px); width:180px; height:180px; animation-delay:1.5s; }
/* social-fb: 8:30 izquierda */
.icon-node.social-fb{ top:calc(58.9% - 90px); left:calc(11.0% - 90px); width:180px; height:180px; animation-delay:1.6s; }

/* Globos no tienen hover de background */
.icon-node.social-fb:hover,
.icon-node.social-ig:hover,
.icon-node.social-wa:hover,
.icon-node.social-tk:hover,
.icon-node.social-yt:hover{ background:transparent; border-color:transparent; box-shadow:none; }

.icon-node.scopus-ai:hover{
  background:var(--yellow);
  color:var(--cobalt);
  border-color:var(--yellow);
}
.icon-node.scopus-cp:hover{
  background:var(--cream);
  color:var(--orange);
  border-color:var(--orange);
}

@keyframes iconIn{
  from{ opacity:0; transform:scale(.4) rotate(-12deg); }
  to{ opacity:1; transform:scale(1) rotate(0); }
}

.hero-center{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.6rem;
  text-align:center;
  padding:18% 18%;
}
.hero-center .h-label{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero-center .h-big{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1;
  color:var(--cobalt);
  letter-spacing:-.02em;
}
.hero-center .h-sub{
  font-family:var(--f-mono);
  font-size:.58rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--orange);
  display:flex;
  align-items:center;
  gap:.5rem;
}
.hero-center .h-sub::before,
.hero-center .h-sub::after{
  content:'';
  display:block;
  width:18px; height:1px;
  background:var(--orange);
}
/* Sigil image at center of hero visual */
.hero-sigil{
  width:38%;
  max-width:170px;
  height:auto;
  margin-bottom:1rem;
  filter:drop-shadow(0 10px 24px rgba(12,19,48,.18));
  animation:sigil-pulse 4.5s ease-in-out infinite;
}
@keyframes sigil-pulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.04); }
}
.hero-center .h-label{ margin-top:.2rem; }

.hero-footer{
  display:grid;
  grid-template-columns:1.3fr auto 1fr;
  gap:3rem;
  align-items:end;
  padding-top:2rem;
  border-top:1px solid var(--ink);
  opacity:0;
  animation:fadeUp 1s 1.1s forwards;
}
.hero-lead{
  font-family:var(--f-display);
  font-size:clamp(1.2rem, 1.6vw, 1.45rem);
  font-weight:400;
  line-height:1.5;
  max-width:520px;
  letter-spacing:-.005em;
  color:var(--ink);
}
.hero-lead em.serif{ color:var(--orange); }
.hero-numeral{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:3.5rem;
  line-height:1;
  color:var(--cobalt);
  align-self:start;
}
.hero-actions{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  align-items:flex-end;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:1.05rem 1.8rem;
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid;
  cursor:pointer;
  transition:background .25s, color .25s, border-color .25s, transform .2s, box-shadow .25s;
  white-space:nowrap;
}
.btn-primary{
  background:var(--ink);
  color:var(--cream);
  border-color:var(--ink);
  box-shadow:0 8px 24px -10px rgba(12,19,48,.4);
}
.btn-primary:hover{ background:var(--orange); border-color:var(--orange); transform:translateY(-2px); box-shadow:0 12px 28px -8px rgba(239,111,41,.45); }
.btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--ink);
}
.btn-ghost:hover{ background:var(--ink); color:var(--cream); }
.btn-arrow{ transition:transform .3s; }
.btn:hover .btn-arrow{ transform:translate(3px,-3px); }

/* ════════════════════════════════════
   MARQUEE / TICKER
   ════════════════════════════════════ */
.marquee{
  background:var(--ink);
  color:var(--cream);
  padding:1.4rem 0;
  overflow:hidden;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  position:relative;
}
.marquee-track{
  display:flex;
  gap:3rem;
  animation:scroll-x 45s linear infinite;
  white-space:nowrap;
  width:max-content;
}
.marquee-item{
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  font-family:var(--f-display);
  font-size:clamp(1.4rem, 3vw, 2.4rem);
  font-weight:300;
  letter-spacing:-.02em;
}
.marquee-item em.serif{ color:var(--orange); }
.marquee-item .star{
  color:var(--yellow);
  font-family:var(--f-italic);
  font-size:1.4em;
  line-height:0;
}
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes scroll-x{
  from{ transform:translateX(0); }
  to  { transform:translateX(-50%); }
}

/* ════════════════════════════════════
   MANIFIESTO 01
   ════════════════════════════════════ */
.manifesto{
  position:relative;
  padding:9rem 2.4rem;
  background:var(--cream);
  border-bottom:1px solid var(--ink);
}
.manifesto-inner{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:200px 1fr;
  gap:3rem;
  align-items:start;
}
.section-label{
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:500;
  padding-top:.4rem;
  position:sticky;
  top:6rem;
}
.section-label .mark{ color:var(--orange); margin-right:.4rem; }
.manifesto-text{
  font-family:var(--f-display);
  font-size:clamp(1.6rem, 2.8vw, 2.6rem);
  font-weight:300;
  line-height:1.22;
  letter-spacing:-.02em;
  color:var(--ink);
  max-width:1000px;
  font-variation-settings:"opsz" 144;
}
.manifesto-text::first-letter{
  font-family:var(--f-italic);
  font-size:3.8em;
  float:left;
  line-height:.85;
  margin:.06em .12em -.04em 0;
  color:var(--orange);
  font-style:italic;
  font-weight:400;
}
.manifesto-text em.serif{ color:var(--orange); }
.manifesto-text strong{
  color:var(--cobalt);
  font-weight:400;
  background:linear-gradient(transparent 65%, rgba(29,62,160,.14) 65%);
  padding:0 .12em;
}
.manifesto-signature{
  margin-top:3.5rem;
  display:flex;
  align-items:center;
  gap:1.5rem;
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cobalt);
  font-weight:500;
}
.manifesto-signature::before{
  content:'';
  width:50px; height:1px;
  background:var(--orange);
}
.manifesto-signature em.serif{
  text-transform:none;
  letter-spacing:0;
  color:var(--orange);
  font-size:1rem;
}

/* ────── Etymology card ────── */
.ety{
  margin-top:4rem;
  border:1px solid var(--ink);
  background:var(--paper);
  padding:2.5rem 2.6rem 2rem;
  max-width:720px;
  position:relative;
  box-shadow:10px 10px 0 var(--cobalt);
}
.ety-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:1rem;
  border-bottom:1px solid var(--cream-3);
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
}
.ety-head .tag{ color:var(--orange); }
.ety-head .lang{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:.95rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--cobalt);
}
.ety-word{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:1rem;
  padding:1.5rem 0 1.2rem;
  border-bottom:1px solid var(--cream-3);
}
.ety-word .main{
  font-family:var(--f-display);
  font-size:clamp(2.6rem, 5vw, 4rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  font-style:italic;
  color:var(--ink);
}
.ety-word .phon{
  font-family:var(--f-mono);
  font-size:.85rem;
  color:var(--muted);
}
.ety-word .type{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:1rem;
  color:var(--orange);
}
.ety-def{
  display:grid;
  grid-template-columns:2rem 1fr;
  gap:.7rem;
  padding:.9rem 0;
  font-family:var(--f-display);
  font-size:1.1rem;
  line-height:1.5;
}
.ety-def:first-of-type{ padding-top:1.3rem; }
.ety-def .n{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:1.4rem;
  color:var(--orange);
}
.ety-def strong{ color:var(--cobalt); font-weight:500; }
.ety-def em.serif{ color:var(--orange); }
.ety-def .greek{
  font-family:'Times New Roman', serif;
  font-size:1.3em;
  color:var(--cobalt);
  font-weight:500;
}
.ety-root{
  margin-top:1.2rem;
  padding-top:1.2rem;
  border-top:1px solid var(--cream-3);
  font-family:var(--f-mono);
  font-size:.78rem;
  letter-spacing:.06em;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:.6rem;
}
.ety-root em.serif{
  font-size:1.05rem;
  color:var(--cobalt);
  letter-spacing:0;
}
.ety-root .arrow{ color:var(--orange); font-size:1.2rem; }

/* ════════════════════════════════════
   CAPABILITIES — Bento grid
   ════════════════════════════════════ */
.caps{
  background:var(--ink);
  color:var(--cream);
  padding:8rem 2.4rem 7rem;
  position:relative;
  overflow:clip;
}
.caps::before{
  content:'';
  position:absolute;
  top:-15%; right:-10%;
  width:55vw; height:55vw;
  background:radial-gradient(circle, rgba(239,111,41,.35) 0%, transparent 65%);
  border-radius:50%;
  pointer-events:none;
}
.caps-header{
  max-width:1400px;
  margin:0 auto 4rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:end;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(243,238,226,.18);
  position:relative;
}
.caps-header .eyebrow{ color:var(--cream); }
.caps-header .eyebrow::before{ background:var(--orange); }
.caps-title{
  font-family:var(--f-display);
  font-size:clamp(2.6rem, 6vw, 5.5rem);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.035em;
  margin-top:1.2rem;
  font-variation-settings:"opsz" 144;
}
.caps-title em.serif{ color:var(--orange); }
.caps-lead{
  font-family:var(--f-display);
  font-size:1.15rem;
  line-height:1.5;
  font-weight:400;
  color:rgba(243,238,226,.7);
  max-width:440px;
  align-self:end;
}
.caps-tabs{
  max-width:1400px;
  margin:0 auto 2rem;
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.caps-tab{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(243,238,226,.72);
  padding:.55rem 1rem;
  border:1px solid rgba(243,238,226,.3);
  cursor:pointer;
  transition:color .25s, border-color .25s, background .25s;
  background:transparent;
}
.caps-tab:hover{ color:var(--cream); border-color:rgba(243,238,226,.6); }
.caps-tab.active{
  color:var(--ink);
  background:var(--cream);
  border-color:var(--cream);
}

.caps-grid{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:1.2rem;
}
.cap-card{
  background:rgba(243,238,226,.04);
  border:1px solid rgba(243,238,226,.14);
  padding:2.2rem 2rem 2rem;
  position:relative;
  overflow:hidden;
  transition:border-color .3s, background .3s, transform .3s;
  cursor:default;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  min-height:280px;
}
.cap-card:hover{
  border-color:rgba(239,111,41,.5);
  background:rgba(239,111,41,.05);
  transform:translateY(-3px);
}
.cap-card .num{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--orange);
  display:flex;
  align-items:center;
  gap:.6rem;
}
.cap-card .num::after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(239,111,41,.25);
}
.cap-card h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size:clamp(1.25rem, 1.8vw, 1.6rem);
  line-height:1.1;
  letter-spacing:-.02em;
  font-variation-settings:"opsz" 72;
}
.cap-card h3 em.serif{ color:var(--orange); }
.cap-card p{
  font-size:.92rem;
  line-height:1.65;
  color:rgba(243,238,226,.82);
  flex:1;
}
.cap-card .stack{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.2rem;
}
.cap-card .chip{
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(243,238,226,.82);
  border:1px solid rgba(243,238,226,.32);
  padding:.32rem .65rem;
}

/* Sized cells */
.cap-c-6{ grid-column:span 6; }
.cap-c-4{ grid-column:span 4; }
.cap-c-3{ grid-column:span 3; }
.cap-c-8{ grid-column:span 8; }
.cap-c-5{ grid-column:span 5; }
.cap-c-7{ grid-column:span 7; }
.cap-c-12{ grid-column:span 12; }

/* Featured AI card */
.cap-card.featured{
  background:linear-gradient(135deg, #2756d8 0%, #0e1f5e 100%);
  border-color:var(--cobalt);
  color:var(--cream);
}
.cap-card.featured .num{ color:var(--yellow); }
.cap-card.featured .num::after{ background:rgba(245,180,0,.3); }
.cap-card.featured h3{
  font-size:clamp(1.6rem, 2.4vw, 2.2rem);
}
.cap-card.featured h3 em.serif{ color:var(--yellow); }
.cap-card.featured p{ color:rgba(255,255,255,.88); font-size:1rem; }
.cap-card.featured .chip{ color:rgba(255,255,255,.9); border-color:rgba(255,255,255,.3); }
.cap-card.featured .badge-new{
  position:absolute;
  top:1.5rem; right:1.5rem;
  background:var(--orange);
  color:var(--cream);
  font-family:var(--f-mono);
  font-size:.65rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:.3rem .6rem;
  font-weight:500;
  animation:pulse-badge 2.5s ease-in-out infinite;
}
@keyframes pulse-badge{
  0%,100%{ box-shadow:0 0 0 0 rgba(239,111,41,.55); }
  70%{ box-shadow:0 0 0 10px rgba(239,111,41,0); }
}

/* Highlight cards (alternate) */
.cap-card.tint-orange{
  background:rgba(239,111,41,.07);
  border-color:rgba(239,111,41,.25);
}
.cap-card.tint-cyan{
  background:rgba(52,185,224,.06);
  border-color:rgba(52,185,224,.25);
}
.cap-card.tint-cyan .num{ color:var(--cyan); }
.cap-card.tint-cyan .num::after{ background:rgba(52,185,224,.3); }
.cap-card.tint-cyan h3 em.serif{ color:var(--cyan); }
.cap-card.tint-yellow{
  background:rgba(245,180,0,.07);
  border-color:rgba(245,180,0,.25);
}
.cap-card.tint-yellow .num{ color:var(--yellow); }
.cap-card.tint-yellow .num::after{ background:rgba(245,180,0,.3); }
.cap-card.tint-yellow h3 em.serif{ color:var(--yellow); }

/* Big editorial pull-quote card */
.cap-pull{
  grid-column:span 12;
  padding:3rem 3rem;
  background:transparent;
  border:1px solid rgba(243,238,226,.14);
  border-left:4px solid var(--orange);
  min-height:auto;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3rem;
  align-items:center;
}
.cap-pull .pull-label{
  font-family:var(--f-mono);
  font-size:.65rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--orange);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  align-self:center;
}
.cap-pull .pull-text{
  font-family:var(--f-display);
  font-size:clamp(1.4rem, 2.4vw, 2.2rem);
  font-weight:300;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--cream);
  font-variation-settings:"opsz" 144;
}
.cap-pull .pull-text em.serif{ color:var(--yellow); }
.cap-pull .pull-text strong{
  color:var(--cream);
  font-weight:400;
  border-bottom:2px solid var(--orange);
}

/* ════════════════════════════════════
   MANIFESTO CAROUSEL (M02 + M03)
   ════════════════════════════════════ */
.manifesto-carousel{
  background:var(--paper);
  padding:7rem 2.4rem 8rem;
  border-bottom:1px solid var(--ink);
  position:relative;
  overflow:hidden;
}
.mc-head{
  max-width:1400px;
  margin:0 auto 2.5rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}
.mc-head .section-label{ position:static; padding:0; }

.mc-controls{
  display:flex;
  align-items:center;
  gap:1.5rem;
}
.mc-indicator{
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.mc-indicator #mc-current{ color:var(--orange); font-weight:600; }
.mc-indicator .mc-sep{ margin:0 .3rem; opacity:.4; }
.mc-arrows{ display:flex; gap:0; }
.mc-arrow{
  width:46px; height:46px;
  background:var(--cream);
  border:1px solid var(--ink);
  color:var(--ink);
  font-family:var(--f-mono);
  font-size:1rem;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .25s, color .25s;
}
.mc-arrow:first-child{ border-right:none; }
.mc-arrow:hover{ background:var(--ink); color:var(--cream); }
.mc-arrow:focus-visible{ outline:2px solid var(--orange); outline-offset:2px; }

.mc-viewport{
  max-width:1400px;
  margin:0 auto;
  overflow:hidden;
  position:relative;
}
.mc-track{
  display:flex;
  width:100%;
  transition:transform .7s cubic-bezier(.4,0,.2,1);
}
.mc-slide{
  flex:0 0 100%;
  min-width:0;
  padding:0 .2rem;
}
.mc-card{
  background:var(--cream);
  border:1px solid var(--ink);
  padding:3.2rem 3rem 2.8rem;
  min-height:520px;
  display:flex;
  flex-direction:column;
  gap:1.8rem;
  position:relative;
  box-shadow:14px 14px 0 var(--cobalt);
}
.mc-card--dark{
  background:var(--ink);
  color:var(--cream);
  border-color:var(--ink);
  box-shadow:14px 14px 0 var(--orange);
}
.mc-card--editorial{
  background:var(--cream);
  box-shadow:14px 14px 0 var(--orange);
  display:flex;
  flex-direction:column;
  gap:1.6rem;
}

.mc-meta{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:1.2rem;
  border-bottom:1px solid rgba(12,19,48,.15);
  flex-wrap:wrap;
  gap:1rem;
}
.mc-card--dark .mc-meta{ border-bottom-color:rgba(243,238,226,.18); }
.mc-tag{
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--orange);
  font-weight:500;
}
.mc-lang{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:1rem;
  color:var(--cobalt);
}
.mc-card--dark .mc-lang em.serif{ color:var(--yellow); }

.mc-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  flex:1;
  align-items:start;
}
.mc-ety .ety{
  margin:0;
  max-width:none;
  box-shadow:6px 6px 0 var(--cobalt);
}

.mc-body{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.mc-text{
  font-family:var(--f-display);
  font-size:1.18rem;
  font-weight:300;
  line-height:1.55;
  letter-spacing:-.01em;
  color:var(--ink);
  font-variation-settings:"opsz" 72;
}
.mc-text em.serif{ color:var(--orange); }
.mc-text strong{
  color:var(--cobalt);
  font-weight:400;
  background:linear-gradient(transparent 65%, rgba(29,62,160,.13) 65%);
  padding:0 .12em;
}
.mc-text--dark{
  color:rgba(243,238,226,.85);
}
.mc-text--dark em.serif{ color:var(--yellow); }
.mc-text--dark strong{
  color:var(--cream);
  background:linear-gradient(transparent 65%, rgba(245,180,0,.22) 65%);
}

/* Editorial lead — Manifesto 01 first paragraph with drop cap */
.mc-text--lead{
  font-size:clamp(1.5rem, 2.4vw, 2.1rem);
  line-height:1.32;
  letter-spacing:-.02em;
  font-variation-settings:"opsz" 144;
}
.mc-text--lead::first-letter{
  font-family:var(--f-italic);
  font-size:3.5em;
  float:left;
  line-height:.85;
  margin:.06em .14em -.04em 0;
  color:var(--orange);
  font-style:italic;
  font-weight:400;
}

.mc-sig{
  margin-top:1.2rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(12,19,48,.12);
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cobalt);
  font-weight:500;
}
.mc-sig em.serif{
  font-family:var(--f-italic);
  text-transform:none;
  letter-spacing:0;
  color:var(--orange);
  font-size:1rem;
}

/* Card B (Fidelización) specifics */
.mc-hook{
  font-family:var(--f-display);
  font-size:clamp(1.6rem, 2.6vw, 2.4rem);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.025em;
  color:var(--cream);
  font-variation-settings:"opsz" 144;
}
.mc-hook em.serif{ color:var(--yellow); }
.mc-hook strong{
  font-weight:400;
  border-bottom:2px solid var(--orange);
  padding-bottom:1px;
}
.mc-hook--question{
  border-left:3px solid var(--orange);
  padding-left:1.4rem;
  font-size:clamp(1.4rem, 2.4vw, 2.2rem);
}

.mc-text--lead-dark{
  font-size:clamp(1.3rem, 2vw, 1.8rem);
  line-height:1.35;
  letter-spacing:-.015em;
}

/* Benefits sub-grid inside a slide */
.mc-benefits{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
  margin-top:.5rem;
}
.mc-benefit{
  border:1px solid rgba(243,238,226,.14);
  background:rgba(243,238,226,.04);
  padding:1.5rem 1.3rem;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  transition:border-color .3s, background .3s, transform .25s;
}
.mc-benefit:hover{
  border-color:rgba(245,180,0,.4);
  background:rgba(245,180,0,.05);
  transform:translateY(-3px);
}
.mc-bn-num{
  font-family:var(--f-mono);
  font-size:.55rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--orange);
  display:flex;
  align-items:center;
  gap:.5rem;
}
.mc-bn-num::after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(239,111,41,.25);
}
.mc-bn-title{
  font-family:var(--f-display);
  font-size:1.1rem;
  font-weight:400;
  line-height:1.18;
  color:var(--cream);
  font-variation-settings:"opsz" 72;
}
.mc-bn-title em.serif{ color:var(--yellow); }
.mc-bn-desc{
  font-family:var(--f-sans);
  font-size:.82rem;
  line-height:1.6;
  color:rgba(243,238,226,.55);
  flex:1;
}
.mc-bn-tag{
  align-self:flex-start;
  font-family:var(--f-mono);
  font-size:.54rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--yellow);
  border:1px solid rgba(245,180,0,.32);
  padding:.22rem .55rem;
}

.mc-disclaimer{
  margin-top:1rem;
  font-family:var(--f-mono);
  font-size:.58rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(243,238,226,.32);
  display:flex;
  align-items:center;
  gap:1rem;
}
.mc-disclaimer::before{
  content:'';
  width:22px; height:1px;
  background:rgba(243,238,226,.2);
}

@media (max-width:1100px){
  .mc-benefits{ grid-template-columns:1fr 1fr; }
}
@media (max-width:780px){
  .mc-benefits{ grid-template-columns:1fr; }
  .mc-hook--question{ padding-left:1rem; }
}

.mc-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.5rem;
  padding:1.6rem 0;
  border-top:1px solid rgba(243,238,226,.18);
  border-bottom:1px solid rgba(243,238,226,.18);
}
.mc-stat .n{
  display:block;
  font-family:var(--f-display);
  font-size:clamp(1.8rem, 3.4vw, 2.8rem);
  font-weight:300;
  color:var(--yellow);
  line-height:1;
  letter-spacing:-.03em;
  font-variation-settings:"opsz" 144;
}
.mc-stat .l{
  font-family:var(--f-mono);
  font-size:.58rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(243,238,226,.55);
  margin-top:.4rem;
  display:block;
  line-height:1.35;
}

.mc-cta-row{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  margin-top:auto;
}
.mc-cta-primary, .mc-cta-ghost{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.95rem 1.7rem;
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  transition:background .25s, color .25s, border-color .25s, transform .2s;
  border:1px solid;
}
.mc-cta-primary{
  background:var(--yellow);
  color:var(--ink);
  border-color:var(--yellow);
}
.mc-cta-primary:hover{ background:var(--cream); border-color:var(--cream); transform:translateY(-2px); }
.mc-cta-ghost{
  background:transparent;
  color:var(--cream);
  border-color:rgba(243,238,226,.3);
}
.mc-cta-ghost:hover{ border-color:var(--orange); color:var(--orange); transform:translateY(-2px); }

.mc-dots{
  max-width:1400px;
  margin:2rem auto 0;
  display:flex;
  justify-content:center;
  gap:.6rem;
}
.mc-dot{
  width:36px; height:3px;
  background:rgba(12,19,48,.18);
  border:none;
  cursor:pointer;
  padding:0;
  transition:background .3s, transform .3s;
}
.mc-dot.active{ background:var(--orange); transform:scaleY(2); }
.mc-dot:hover{ background:var(--cobalt); }
.mc-dot:focus-visible{ outline:2px solid var(--orange); outline-offset:4px; }

/* Responsive carousel */
@media (max-width:1100px){
  .mc-grid{ grid-template-columns:1fr; gap:2rem; }
  .mc-stats{ grid-template-columns:1fr 1fr; gap:1rem; }
  .mc-card{ padding:2.4rem 2rem 2rem; }
}
@media (max-width:780px){
  .manifesto-carousel{ padding:5rem 1.5rem 6rem; }
  .mc-card{ padding:2rem 1.6rem 1.8rem; box-shadow:6px 6px 0 var(--cobalt); }
  .mc-card--dark{ box-shadow:6px 6px 0 var(--orange); }
  .mc-stats{ grid-template-columns:1fr 1fr; }
  .mc-head{ flex-direction:column; align-items:flex-start; gap:1rem; }
}
.process{
  background:var(--cream);
  padding:8rem 2.4rem 7rem;
  border-bottom:1px solid var(--ink);
}
.process-header{
  max-width:1400px;
  margin:0 auto 4rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:end;
}
.process-title{
  font-family:var(--f-display);
  font-size:clamp(2.6rem, 5.5vw, 5rem);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.035em;
  margin-top:1.2rem;
}
.process-title em.serif{ color:var(--orange); }
.process-lead{
  font-family:var(--f-display);
  font-size:1.1rem;
  line-height:1.5;
  font-weight:300;
  color:var(--muted);
  max-width:420px;
  align-self:end;
}

.process-steps{
  max-width:1400px;
  margin:0 auto;
}
.process-step{
  display:grid;
  grid-template-columns:140px 1fr 1.5fr auto;
  gap:3rem;
  padding:2.6rem 1rem;
  border-top:1px solid var(--ink);
  align-items:start;
  transition:padding-left .35s, background .35s;
  position:relative;
}
.process-step:last-child{ border-bottom:1px solid var(--ink); }
.process-step:hover{
  padding-left:2.5rem;
  background:rgba(29,62,160,.03);
}
.process-step:hover .ps-num{ color:var(--orange); }
.process-step:hover .ps-cta{ transform:translateX(8px); color:var(--orange); }
.ps-num{
  font-family:var(--f-display);
  font-size:clamp(3rem, 5vw, 5rem);
  font-weight:300;
  line-height:.85;
  letter-spacing:-.04em;
  color:var(--ink);
  transition:color .35s;
  font-variation-settings:"opsz" 144;
}
.ps-title{
  font-family:var(--f-display);
  font-size:clamp(1.5rem, 2.4vw, 2.2rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.02em;
}
.ps-title em.serif{ color:var(--orange); }
.ps-desc{
  color:var(--muted);
  font-size:.95rem;
  line-height:1.6;
  padding-top:.4rem;
}
.ps-cta{
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--ink);
  transition:transform .35s, color .35s;
  padding-top:1.4rem;
}

/* ════════════════════════════════════
   DATA / RESULTS
   ════════════════════════════════════ */
.data{
  background:var(--paper);
  padding:8rem 2.4rem;
  border-bottom:1px solid var(--ink);
}
.data-header{
  max-width:1400px;
  margin:0 auto 4rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:end;
}
.data-title{
  font-family:var(--f-display);
  font-size:clamp(2.6rem, 5.5vw, 5rem);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.035em;
  margin-top:1.2rem;
}
.data-title em.serif{ color:var(--orange); }
.data-lead{
  font-family:var(--f-display);
  font-size:1.1rem;
  line-height:1.5;
  font-weight:300;
  color:var(--muted);
  max-width:420px;
}

.data-grid{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:1.2rem;
}
.data-main{
  background:var(--cream);
  border:1px solid var(--ink);
  padding:2.5rem;
  position:relative;
}
.data-main-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:1.2rem;
  margin-bottom:1.4rem;
  border-bottom:1px solid var(--cream-3);
}
.data-main-head .left{
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.data-main-head .right{
  font-family:var(--f-display);
  font-size:1.4rem;
  color:var(--orange);
  font-weight:400;
  font-style:italic;
  font-family:var(--f-italic);
}
.chart{
  position:relative;
  height:280px;
  margin-bottom:.8rem;
}
.chart svg{ display:block; width:100%; height:100%; }
.chart-line{
  fill:none;
  stroke:var(--muted);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.4;
}
.chart-accent{
  fill:none;
  stroke:var(--cobalt);
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:2000;
  stroke-dashoffset:2000;
  transition:stroke-dashoffset 2.5s .3s cubic-bezier(.4,0,.2,1);
}
.chart-accent.drawn{ stroke-dashoffset:0; }
.chart-area{
  fill:url(#aGrad);
  opacity:0;
  transition:opacity 1s 2s;
}
.chart-area.drawn{ opacity:1; }
.chart-grid line{ stroke:var(--cream-3); stroke-width:1; }
.chart-dot{
  fill:var(--orange);
  opacity:0;
  transition:opacity .3s;
}
.chart-dot.drawn{ opacity:1; }
.chart-labels{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:.5rem;
  padding-top:.7rem;
  border-top:1px solid var(--cream-3);
}
.chart-labels span{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.1em;
  color:var(--muted);
  text-align:center;
  text-transform:uppercase;
}

.kpis{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.kpi{
  background:var(--cream);
  border:1px solid var(--ink);
  padding:1.8rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:180px;
  transition:transform .25s, box-shadow .25s;
  position:relative;
  overflow:hidden;
}
.kpi:hover{ transform:translateY(-3px); box-shadow:0 14px 30px -14px rgba(12,19,48,.22); }
.kpi:nth-child(1){ background:var(--cobalt); color:var(--cream); border-color:var(--cobalt); }
.kpi:nth-child(1) .kpi-label{ color:rgba(255,255,255,.65); }
.kpi:nth-child(1) .kpi-trend{ color:var(--yellow); }
.kpi:nth-child(4){ background:var(--orange); color:var(--cream); border-color:var(--orange); }
.kpi:nth-child(4) .kpi-label{ color:rgba(255,255,255,.78); }
.kpi:nth-child(4) .kpi-trend{ color:var(--cream); }
.kpi-label{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.5rem;
}
.kpi-value{
  font-family:var(--f-display);
  font-size:clamp(2.2rem, 3.8vw, 3.4rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
}
.kpi-value sup{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:.5em;
  color:var(--orange);
  vertical-align:super;
}
.kpi:nth-child(1) .kpi-value sup,
.kpi:nth-child(4) .kpi-value sup{ color:var(--yellow); }
.kpi-trend{
  font-family:var(--f-mono);
  font-size:.66rem;
  letter-spacing:.14em;
  color:var(--cobalt);
  margin-top:.4rem;
  font-weight:500;
}

/* ════════════════════════════════════
   SHOWCASE / CASE
   ════════════════════════════════════ */
.showcase{
  background:var(--ink);
  color:var(--cream);
  padding:8rem 2.4rem;
  position:relative;
  overflow:clip;
}
.showcase::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 60% at 85% 25%, rgba(239,111,41,.4) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 8% 80%, rgba(29,62,160,.65) 0%, transparent 60%);
  pointer-events:none;
}
.showcase-inner{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:5rem;
  align-items:center;
  position:relative;
}
.showcase-content .eyebrow{ color:var(--cream); }
.showcase-content .eyebrow::before{ background:var(--orange); }
.showcase-title{
  font-family:var(--f-display);
  font-size:clamp(2.4rem, 4.5vw, 4rem);
  font-weight:300;
  line-height:1;
  letter-spacing:-.03em;
  margin:1rem 0 1.5rem;
}
.showcase-title em.serif{ color:var(--orange); }
.showcase-desc{
  color:rgba(243,238,226,.72);
  font-size:1rem;
  line-height:1.7;
  max-width:460px;
  margin-bottom:2.2rem;
}
.showcase-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  margin-top:2.4rem;
  padding-top:2.4rem;
  border-top:1px solid rgba(243,238,226,.18);
}
.showcase-stat .v{
  font-family:var(--f-display);
  font-size:clamp(2rem, 3.4vw, 3rem);
  font-weight:400;
  line-height:1;
  color:var(--orange);
  letter-spacing:-.025em;
}
.showcase-stat .l{
  font-family:var(--f-mono);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(243,238,226,.72);
  margin-top:.5rem;
}

/* Phone */
/* ── Vignette en bordes laterales de la página ── */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  background:
    radial-gradient(ellipse 18% 100% at 0% 50%, rgba(12,19,48,.22) 0%, transparent 100%),
    radial-gradient(ellipse 18% 100% at 100% 50%, rgba(12,19,48,.22) 0%, transparent 100%);
}

.phone-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  min-height:580px;
  perspective:1200px;
}
/* ── Teléfono 3D ── */
.phone{
  width:300px;
  aspect-ratio:9/19;
  background:linear-gradient(145deg, #1a1b22 0%, #0c0d12 60%, #1a1b22 100%);
  border-radius:38px;
  padding:10px;
  position:relative;
  transform:rotate(-6deg) rotateY(12deg) rotateX(4deg);
  transform-style:preserve-3d;
  box-shadow:
    0 80px 120px -30px rgba(0,0,0,.85),
    0 30px 60px -20px rgba(0,0,0,.6),
    20px 20px 60px -10px rgba(0,0,0,.5),
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 1px 1px 0 rgba(255,255,255,.08),
    -4px 0 20px rgba(239,111,41,.15);
  transition:transform .6s ease;
}
.phone:hover{
  transform:rotate(-3deg) rotateY(6deg) rotateX(2deg);
}
/* Borde lateral del teléfono para efecto 3D */
.phone::before{
  content:'';
  position:absolute;
  top:0; right:-12px;
  width:12px; height:100%;
  background:linear-gradient(to right, #1a1b22, #0a0b10);
  border-radius:0 38px 38px 0;
  transform:rotateY(90deg);
  transform-origin:left center;
}
/* Reflejo de luz en el borde izquierdo */
.phone::after{
  content:'';
  position:absolute;
  top:15%; left:0; bottom:15%;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.25) 40%, rgba(255,255,255,.25) 60%, transparent);
  border-radius:1px;
}
.phone-screen{
  width:100%; height:100%;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  position:relative;
}
.notch{
  position:absolute;
  top:9px; left:50%; transform:translateX(-50%);
  width:90px; height:22px;
  background:#0c0d12; border-radius:12px;
  z-index:10;
}

/* ── Instagram Feed animado ── */
.ig-feed{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:28px;
  background:#fafafa;
}
.ig-topbar{
  position:sticky;
  top:0; z-index:5;
  background:#fff;
  padding:42px 12px 8px;
  border-bottom:1px solid #efefef;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.ig-topbar .ig-logo{
  font-family:'Big Shoulders Display', sans-serif;
  font-size:1.3rem;
  font-weight:700;
  color:#000;
  letter-spacing:-.02em;
}
.ig-topbar .ig-icons{
  display:flex; gap:10px;
}
.ig-topbar .ig-icons span{
  width:20px; height:20px;
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem;
}

/* Stories row */
.ig-stories{
  display:flex;
  gap:8px;
  padding:10px 12px;
  overflow:hidden;
  border-bottom:1px solid #efefef;
}
.ig-story{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  flex-shrink:0;
}
.ig-story-ring{
  width:42px; height:42px;
  border-radius:50%;
  background:linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  padding:2px;
  display:flex; align-items:center; justify-content:center;
}
.ig-story-ring.seen{
  background:linear-gradient(45deg, #ccc, #999);
}
.ig-story-avatar{
  width:100%; height:100%;
  border-radius:50%;
  background:#eee;
  border:2px solid #fff;
  display:flex; align-items:center; justify-content:center;
  font-size:.5rem;
  font-weight:700;
  color:#666;
  overflow:hidden;
}
.ig-story-name{
  font-size:.38rem;
  color:#262626;
  text-align:center;
  max-width:44px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Posts scroll animado */
.ig-scroll{
  animation:igScroll 12s linear infinite;
}
@keyframes igScroll{
  0%   { transform:translateY(0); }
  40%  { transform:translateY(-38%); }
  45%  { transform:translateY(-38%); }
  85%  { transform:translateY(-70%); }
  90%  { transform:translateY(-70%); }
  100% { transform:translateY(0); }
}

.ig-post{
  border-bottom:1px solid #efefef;
  background:#fff;
}
.ig-post-head{
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:7px;
}
.ig-post-av{
  width:26px; height:26px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--cobalt), var(--orange));
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.5rem;
  font-weight:700;
  color:#fff;
}
.ig-post-av.av2{ background:linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); }
.ig-post-av.av3{ background:linear-gradient(135deg, #0f9b58, #00d2ff); }
.ig-post-user{
  flex:1;
}
.ig-post-user .un{
  font-size:.52rem;
  font-weight:600;
  color:#262626;
  display:block;
}
.ig-post-user .sp{
  font-size:.42rem;
  color:#8e8e8e;
}
.ig-post-sp{
  font-size:.4rem;
  color:#0095f6;
  font-weight:600;
}

/* Post images simuladas */
.ig-post-img{
  width:100%;
  aspect-ratio:1;
  position:relative;
  overflow:hidden;
}
.ig-post-img.p1{
  background:linear-gradient(135deg, var(--cobalt) 0%, var(--cobalt-deep) 40%, #0a0b10 100%);
}
.ig-post-img.p2{
  background:linear-gradient(160deg, #1a1a2e 0%, var(--orange) 60%, var(--yellow) 100%);
}
.ig-post-img.p3{
  background:linear-gradient(135deg, #0f2027, #203a43, #2c5364);
}
.ig-post-img .ig-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:8px;
  background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.6) 100%);
}
.ig-overlay .ig-cta{
  background:var(--orange);
  color:#fff;
  font-size:.38rem;
  font-weight:600;
  padding:3px 7px;
  border-radius:3px;
  align-self:flex-start;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ig-overlay .ig-caption{
  font-size:.42rem;
  color:#fff;
  font-weight:600;
  margin-bottom:3px;
  line-height:1.3;
}
.ig-overlay .ig-sp-label{
  font-size:.38rem;
  color:rgba(255,255,255,.7);
  margin-bottom:4px;
}
.ig-post-actions{
  padding:6px 10px 4px;
  display:flex;
  gap:10px;
  align-items:center;
}
.ig-post-actions span{
  font-size:.75rem;
  display:flex; align-items:center; gap:3px;
}
.ig-post-likes{
  padding:0 10px 3px;
  font-size:.44rem;
  font-weight:600;
  color:#262626;
}
.ig-post-text{
  padding:0 10px 8px;
  font-size:.42rem;
  color:#262626;
  line-height:1.4;
}
.ig-post-text b{ font-weight:600; }
.ig-post-time{
  padding:0 10px 8px;
  font-size:.38rem;
  color:#8e8e8e;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Anuncio patrocinado especial */
.ig-post-img.p1::before{
  content:'SCOPUS';
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  font-family:'Big Shoulders Display', sans-serif;
  font-size:2rem;
  font-weight:900;
  color:rgba(255,255,255,.15);
  letter-spacing:-.05em;
  white-space:nowrap;
}

/* Cursor de scroll animado */
.ig-cursor{
  position:absolute;
  right:8px;
  width:3px;
  border-radius:2px;
  background:rgba(0,0,0,.3);
  animation:cursorMove 12s linear infinite;
  z-index:10;
}
@keyframes cursorMove{
  0%   { top:10%; height:30%; }
  40%  { top:40%; height:20%; }
  85%  { top:65%; height:15%; }
  100% { top:10%; height:30%; }
}

.ph-head{
  padding:38px 16px 12px;
  display:flex;
  align-items:center;
  gap:8px;
  border-bottom:1px solid rgba(12,19,48,.08);
}
.ph-avatar{
  width:30px; height:30px;
  background:var(--cobalt);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--yellow);
  font-family:var(--f-display);
  font-weight:600;
  font-size:.9rem;
}
.ph-user{ flex:1; }
.ph-user .n{ font-size:.74rem; font-weight:600; color:var(--ink); }
.ph-user .m{ font-family:var(--f-mono); font-size:.55rem; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; }
.ph-media{
  aspect-ratio:1;
  background:
    radial-gradient(circle at 30% 30%, var(--orange) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, var(--cobalt) 0%, transparent 55%),
    radial-gradient(circle at 50% 50%, var(--yellow) 0%, transparent 40%),
    var(--cobalt-deep);
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.2rem;
}
.ph-media::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.5) 100%);
}
.ph-media-tag{
  position:relative;
  z-index:1;
  font-family:var(--f-mono);
  font-size:.52rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cream);
  margin-bottom:.4rem;
  opacity:.85;
}
.ph-media-title{
  position:relative;
  z-index:1;
  font-family:var(--f-display);
  font-weight:400;
  font-size:1.4rem;
  line-height:1.05;
  color:var(--cream);
  letter-spacing:-.02em;
}
.ph-media-title em.serif{ color:var(--yellow); }
.ph-media-cta{
  position:relative;
  z-index:1;
  margin-top:.7rem;
  font-family:var(--f-mono);
  font-size:.55rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cream);
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  background:rgba(255,255,255,.18);
  padding:.4rem .7rem;
  align-self:flex-start;
  backdrop-filter:blur(8px);
}
.ph-actions{
  display:flex;
  gap:.7rem;
  padding:.8rem 1rem .3rem;
  font-size:1rem;
  color:var(--ink);
}
.ph-stats{
  padding:.2rem 1rem;
  font-size:.7rem;
  font-weight:600;
  color:var(--ink);
}
.ph-caption{
  padding:.3rem 1rem 1rem;
  font-size:.66rem;
  line-height:1.4;
  color:var(--ink);
}
.ph-caption b{ font-weight:600; }

.floating-metric{
  position:absolute;
  background:var(--cream);
  color:var(--ink);
  padding:1rem 1.3rem;
  border:1px solid var(--ink);
  box-shadow:0 16px 40px -10px rgba(0,0,0,.4);
  z-index:3;
}
.floating-metric.top{ top:5%; right:0%; animation:float-y 4s ease-in-out infinite; }
.floating-metric.bottom{ bottom:5%; left:0%; animation:float-y 4s ease-in-out infinite reverse; }
@keyframes float-y{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.fm-label{
  font-family:var(--f-mono);
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.3rem;
}
.fm-value{
  font-family:var(--f-display);
  font-size:1.4rem;
  font-weight:400;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:.3rem;
}
.fm-value .up{ color:var(--cobalt); font-size:.9rem; }
.fm-value .down{ color:var(--orange); font-size:.9rem; }

/* ════════════════════════════════════
   FIDELIZACIÓN
   ════════════════════════════════════ */
.fidel{
  background:var(--ink);
  color:var(--cream);
  padding:9rem 2.4rem 8rem;
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--ink);
}
.fidel::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:linear-gradient(90deg, var(--orange), var(--yellow), var(--cyan), var(--cobalt));
}
.fidel::after{
  content:'∞';
  position:absolute;
  bottom:-7rem; right:1vw;
  font-family:var(--f-display);
  font-size:30rem;
  color:rgba(245,180,0,.04);
  line-height:1;
  pointer-events:none;
  font-style:italic;
}
.fidel-inner{
  max-width:1400px;
  margin:0 auto;
  position:relative;
}
.fidel-head{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:3rem;
  margin-bottom:3rem;
}
.fidel-head .eyebrow{ color:var(--yellow); }
.fidel-head .eyebrow::before{ background:var(--yellow); }
.fidel-hook{
  font-family:var(--f-display);
  font-size:clamp(2rem, 4vw, 3.5rem);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--cream);
  font-variation-settings:"opsz" 144;
}
.fidel-hook em.serif{ color:var(--yellow); }
.fidel-hook strong{
  font-weight:400;
  border-bottom:3px solid var(--orange);
  padding-bottom:2px;
}

.fidel-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:2rem;
  padding:2.4rem 0;
  margin:2rem 0 3rem;
  border-top:1px solid rgba(243,238,226,.14);
  border-bottom:1px solid rgba(243,238,226,.14);
}
.fidel-stat .n{
  font-family:var(--f-display);
  font-size:clamp(2rem, 3.6vw, 3.4rem);
  font-weight:300;
  color:var(--yellow);
  line-height:1;
  letter-spacing:-.03em;
  font-variation-settings:"opsz" 144;
}
.fidel-stat .l{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(243,238,226,.5);
  margin-top:.5rem;
  line-height:1.4;
}

.fidel-body{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:3rem;
}
.fidel-text{
  font-family:var(--f-display);
  color:rgba(243,238,226,.85);
  font-size:1.05rem;
  line-height:1.75;
  margin-bottom:1.4rem;
  font-weight:400;
  max-width:900px;
}
.fidel-text em.serif{ color:var(--yellow); }
.fidel-text strong{
  color:var(--cream);
  background:linear-gradient(transparent 65%, rgba(245,180,0,.2) 65%);
  font-weight:400;
}

.fidel-benefits{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
  margin:3rem 0;
}
.benefit{
  border:1px solid rgba(243,238,226,.1);
  background:rgba(243,238,226,.025);
  padding:1.8rem 1.5rem;
  transition:border-color .35s, background .35s, transform .25s;
}
.benefit:hover{
  border-color:rgba(245,180,0,.45);
  background:rgba(245,180,0,.05);
  transform:translateY(-3px);
}
.benefit .num{
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:1.2rem;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.benefit .num::after{
  content:'';
  flex:1;
  height:1px;
  background:rgba(239,111,41,.25);
}
.benefit h4{
  font-family:var(--f-display);
  font-size:clamp(1.05rem, 1.3vw, 1.25rem);
  font-weight:400;
  line-height:1.2;
  color:var(--cream);
  margin-bottom:.8rem;
  font-variation-settings:"opsz" 72;
}
.benefit h4 em.serif{ color:var(--yellow); }
.benefit p{
  font-size:.9rem;
  line-height:1.65;
  color:rgba(243,238,226,.68);
}
.benefit .tag{
  display:inline-block;
  margin-top:1rem;
  font-family:var(--f-mono);
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--yellow);
  border:1px solid rgba(245,180,0,.32);
  padding:.2rem .55rem;
}

.fidel-question{
  font-family:var(--f-display);
  font-size:clamp(1.4rem, 2.5vw, 2.2rem);
  font-weight:300;
  line-height:1.2;
  color:var(--cream);
  max-width:850px;
  margin:2rem 0 2rem;
  border-left:3px solid var(--orange);
  padding-left:1.8rem;
  font-variation-settings:"opsz" 144;
}
.fidel-question em.serif{ color:var(--yellow); }

.fidel-cta{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  align-items:center;
}
.btn-fidel{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:1rem 2rem;
  background:var(--yellow);
  color:var(--ink);
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  border:2px solid var(--yellow);
  transition:background .25s, color .25s, transform .2s;
  position:relative;
  overflow:hidden;
}
.btn-fidel::before{
  content:'';
  position:absolute; inset:0;
  background:var(--ink);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.btn-fidel:hover::before{ transform:scaleX(1); }
.btn-fidel:hover{ color:var(--yellow); transform:translateY(-2px); }
.btn-fidel span,
.btn-fidel svg{ position:relative; z-index:1; }
.btn-fidel-wa{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:1rem 2rem;
  border:2px solid rgba(243,238,226,.2);
  color:var(--cream);
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  transition:border-color .25s, color .25s, background .25s, transform .2s;
}
.btn-fidel-wa:hover{
  border-color:#25d366;
  color:#25d366;
  background:rgba(37,211,102,.06);
  transform:translateY(-2px);
}
.btn-fidel svg, .btn-fidel-wa svg{ width:16px; height:16px; flex-shrink:0; }
.fidel-disclaimer{
  margin-top:2.2rem;
  font-family:var(--f-mono);
  font-size:.58rem;
  letter-spacing:.12em;
  color:rgba(243,238,226,.3);
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:1rem;
}
.fidel-disclaimer::before{
  content:'';
  width:22px; height:1px;
  background:rgba(243,238,226,.2);
}

/* ════════════════════════════════════
   PRICING
   ════════════════════════════════════ */
.pricing{
  background:var(--cream);
  padding:8rem 2.4rem;
  border-bottom:1px solid var(--ink);
}
.pricing-header{
  max-width:1400px;
  margin:0 auto 4rem;
  text-align:center;
}
.pricing-header .eyebrow{ justify-content:center; display:inline-flex; }
.pricing-title{
  font-family:var(--f-display);
  font-size:clamp(2.6rem, 5.5vw, 5rem);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.035em;
  margin-top:1.2rem;
}
.pricing-title em.serif{ color:var(--orange); }
.pricing-lead{
  font-family:var(--f-display);
  font-size:1.1rem;
  line-height:1.5;
  color:var(--muted);
  max-width:560px;
  margin:1.4rem auto 0;
  font-weight:300;
}

.pricing-grid{
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.2rem;
}
.price-card{
  background:var(--paper);
  border:1px solid var(--ink);
  padding:2.5rem 2.2rem;
  display:flex;
  flex-direction:column;
  gap:1.4rem;
  transition:transform .25s, box-shadow .25s;
}
.price-card:hover{ transform:translateY(-4px); box-shadow:0 22px 50px -22px rgba(12,19,48,.25); }
.price-card.featured{
  background:var(--cobalt);
  color:var(--cream);
  border-color:var(--cobalt);
}
.price-card .plan{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--orange);
}
.price-card.featured .plan{ color:var(--yellow); }
.price-card h3{
  font-family:var(--f-display);
  font-size:clamp(1.8rem, 2.6vw, 2.4rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.025em;
}
.price-card h3 em.serif{ color:var(--orange); }
.price-card.featured h3 em.serif{ color:var(--yellow); }
.price-card .pc-contact{
  padding:1.2rem 0;
  border-top:1px solid var(--cream-3);
  border-bottom:1px solid var(--cream-3);
}
.price-card.featured .pc-contact{
  border-color:rgba(255,255,255,.18);
}
.pc-contact .lab{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.4rem;
}
.price-card.featured .pc-contact .lab{ color:rgba(255,255,255,.6); }
.pc-contact .msg{
  font-family:var(--f-display);
  font-size:1.1rem;
  line-height:1.4;
  font-weight:400;
}
.pc-contact .msg em.serif{ color:var(--orange); }
.price-card.featured .pc-contact .msg em.serif{ color:var(--yellow); }
.price-card ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.65rem;
  font-size:.92rem;
  line-height:1.5;
  flex:1;
}
.price-card ul li{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
}
.price-card ul li::before{
  content:'—';
  color:var(--orange);
  flex-shrink:0;
  font-weight:500;
  margin-top:.1rem;
}
.price-card.featured ul li::before{ color:var(--yellow); }
.price-card .pc-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.4rem;
  border:1px solid currentColor;
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  transition:background .25s, color .25s;
}
.price-card .pc-cta:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.price-card.featured .pc-cta{ background:var(--yellow); color:var(--ink); border-color:var(--yellow); }
.price-card.featured .pc-cta:hover{ background:var(--cream); border-color:var(--cream); }

/* ════════════════════════════════════
   TESTIMONIALS
   ════════════════════════════════════ */
.testim{
  background:var(--paper);
  padding:8rem 2.4rem;
  border-bottom:1px solid var(--ink);
}
.testim-header{
  max-width:1400px;
  margin:0 auto 4rem;
  text-align:center;
}
.testim-header .eyebrow{ justify-content:center; display:inline-flex; }
.testim-title{
  font-family:var(--f-display);
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.035em;
  margin-top:1.2rem;
}
.testim-title em.serif{ color:var(--orange); }
.testim-grid{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(320px,1fr));
  gap:2rem;
}
.testim-card{
  padding:2.4rem 0;
  border-top:1px solid var(--ink);
  display:flex;
  flex-direction:column;
}
.testim-stars{
  font-family:var(--f-mono);
  font-size:.72rem;
  color:var(--orange);
  letter-spacing:.22em;
  margin-bottom:1.4rem;
}
.testim-text{
  font-family:var(--f-display);
  font-size:1.3rem;
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.012em;
  flex:1;
  font-style:italic;
  margin-bottom:1.5rem;
}
.testim-text::before{
  content:'\201C';
  font-family:var(--f-italic);
  font-size:3rem;
  line-height:0;
  color:var(--orange);
  vertical-align:-.32em;
  margin-right:.05em;
}
.testim-author{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.testim-avatar{
  width:44px; height:44px;
  background:var(--cobalt);
  color:var(--yellow);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--f-display);
  font-size:1rem;
  flex-shrink:0;
}
.testim-name{ font-size:.9rem; font-weight:500; }
.testim-role{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.2rem;
}

/* ════════════════════════════════════
   CONTACT
   ════════════════════════════════════ */
.contact{
  background:var(--ink);
  color:var(--cream);
  padding:8rem 2.4rem;
  position:relative;
  overflow:clip;
}
.contact::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 50% 50% at 85% 15%, rgba(239,111,41,.42) 0%, transparent 65%),
    radial-gradient(ellipse 50% 50% at 5% 80%, rgba(29,62,160,.65) 0%, transparent 65%);
  pointer-events:none;
}
.contact-inner{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:5rem;
  position:relative;
}
.contact-content .eyebrow{ color:var(--cream); }
.contact-content .eyebrow::before{ background:var(--orange); }
.contact-title{
  font-family:var(--f-display);
  font-size:clamp(2.6rem, 5.5vw, 5rem);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.035em;
  margin:1rem 0 1.5rem;
}
.contact-title em.serif{ color:var(--orange); }
.contact-lead{
  color:rgba(243,238,226,.7);
  font-family:var(--f-display);
  font-size:1.1rem;
  line-height:1.55;
  max-width:480px;
  margin-bottom:2.5rem;
}
.contact-methods{ display:flex; flex-direction:column; }
.cm{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1.2rem;
  align-items:center;
  padding:1.4rem 0;
  border-top:1px solid rgba(243,238,226,.18);
  transition:padding-left .3s;
}
.cm:last-child{ border-bottom:1px solid rgba(243,238,226,.18); }
.cm:hover{ padding-left:1rem; }
.cm:hover .cm-val{ color:var(--orange); }
.cm:hover .cm-arrow{ transform:translateX(6px); color:var(--orange); }
.cm-num{
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  color:rgba(243,238,226,.4);
}
.cm-lab{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(243,238,226,.55);
  margin-bottom:.25rem;
}
.cm-val{
  font-family:var(--f-display);
  font-size:1.25rem;
  font-weight:400;
  letter-spacing:-.012em;
  transition:color .25s;
}
.cm-arrow{
  color:rgba(243,238,226,.4);
  transition:transform .3s, color .3s;
}
.wa-cta{
  margin-top:2.5rem;
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  padding:1.1rem 2rem;
  background:#25d366;
  color:#fff;
  font-family:var(--f-mono);
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  transition:background .25s, transform .2s;
}
.wa-cta:hover{ background:#1da851; transform:translateY(-2px); }

.contact-form{
  background:var(--cream);
  color:var(--ink);
  padding:2.5rem;
  border:1px solid var(--cream);
  align-self:start;
}
.cf-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:1.2rem;
  border-bottom:1px solid var(--cream-3);
  margin-bottom:1.5rem;
}
.cf-title{
  font-family:var(--f-display);
  font-size:1.6rem;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.02em;
}
.cf-title em.serif{ color:var(--orange); }
.cf-code{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.cf-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.fg{ display:flex; flex-direction:column; gap:.4rem; }
.fg.full{ grid-column:1/-1; }
.fl{
  font-family:var(--f-mono);
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.fi, .ft{
  background:transparent;
  border:none;
  border-bottom:1px solid var(--ink);
  padding:.6rem 0;
  font-family:var(--f-sans);
  font-size:.95rem;
  color:var(--ink);
  outline:none;
  transition:border-color .25s;
}
.fi:focus, .ft:focus{ border-color:var(--orange); }
.ft{ resize:vertical; min-height:80px; }
.cf-submit{
  grid-column:1/-1;
  background:var(--cobalt);
  color:var(--cream);
  border:1px solid var(--cobalt);
  cursor:pointer;
  font-family:var(--f-mono);
  font-size:.76rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:500;
  padding:1.1rem 1.4rem;
  margin-top:1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:background .25s, border-color .25s;
}
.cf-submit:hover{ background:var(--orange); border-color:var(--orange); }
.cf-success{
  text-align:center;
  padding:2.5rem 1.4rem;
  display:none;
}
.cf-success.show{ display:block; }
.cf-success .icon{
  font-family:var(--f-italic);
  font-style:italic;
  font-size:3.4rem;
  color:var(--orange);
  line-height:1;
}
.cf-success h4{
  font-family:var(--f-display);
  font-size:1.6rem;
  font-weight:400;
  margin:.8rem 0 .3rem;
}
.cf-success p{ color:var(--muted); font-size:.9rem; }

/* ════════════════════════════════════
   FOOTER
   ════════════════════════════════════ */
footer{
  background:var(--cream);
  padding:5rem 2.4rem 2rem;
  border-top:1px solid var(--ink);
}
.foot-mark{
  max-width:1400px;
  margin:0 auto 4rem;
  font-family:var(--f-display);
  font-size:clamp(4rem, 18vw, 18rem);
  font-weight:300;
  line-height:.85;
  letter-spacing:-.06em;
  color:var(--ink);
  font-variation-settings:"opsz" 144, "SOFT" 80;
  position:relative;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.foot-mark em.serif{ color:var(--orange); font-style:italic; }
.foot-mark .meta{
  font-family:var(--f-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
  align-self:end;
  padding-bottom:1.5rem;
}
.foot-inner{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:3rem;
  padding-top:3rem;
  border-top:1px solid var(--ink);
}
.foot-brand img{ height:36px; margin-bottom:1rem; display:block; }
.foot-tag{
  font-family:var(--f-display);
  font-size:1rem;
  font-style:italic;
  color:var(--muted);
  max-width:280px;
  margin-bottom:1.6rem;
}
.foot-tag em.serif{ color:var(--orange); }

/* Footer social icons */
.foot-socials{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.foot-socials a{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ink);
  color:var(--ink);
  transition:background .25s, color .25s, border-color .25s, transform .2s;
}
.foot-socials a svg{ width:50%; height:50%; }
.foot-socials a:hover{
  background:var(--ink);
  color:var(--cream);
  transform:translateY(-2px);
}
.foot-socials a[aria-label="Facebook"]:hover{   background:#1877F2; border-color:#1877F2; }
.foot-socials a[aria-label="Instagram"]:hover{  background:linear-gradient(135deg,#FEDA75 0%,#FA7E1E 30%,#D62976 60%,#962FBF 90%); border-color:#D62976; }
.foot-socials a[aria-label="WhatsApp"]:hover{   background:#25D366; border-color:#25D366; }
.foot-socials a[aria-label="TikTok"]:hover{     background:#0c1330; border-color:#0c1330; }
.foot-socials a[aria-label="YouTube"]:hover{    background:#FF0000; border-color:#FF0000; }
.foot-socials a[aria-label="LinkedIn"]:hover{   background:#0A66C2; border-color:#0A66C2; }
.foot-col h5{
  font-family:var(--f-mono);
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cobalt);
  margin-bottom:1rem;
  font-weight:500;
}
.foot-col ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.foot-col a{
  font-size:.88rem;
  transition:color .25s;
  color:var(--ink);
}
.foot-col a:hover{ color:var(--orange); }
.foot-bottom{
  max-width:1400px;
  margin:3rem auto 0;
  padding-top:1.5rem;
  border-top:1px solid var(--cream-3);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
  font-family:var(--f-mono);
  font-size:.65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.foot-legal{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
}
.foot-legal a{
  color:var(--ink);
  transition:color .25s;
}
.foot-legal a:hover{ color:var(--orange); }
.foot-legal .sep{ opacity:.4; }
.foot-legal em.serif{
  font-family:var(--f-italic);
  font-style:italic;
  text-transform:none;
  letter-spacing:0;
  font-size:.95rem;
}

/* ════════════════════════════════════
   WhatsApp FAB
   ════════════════════════════════════ */
.wa-fab{
  position:fixed;
  bottom:1.6rem; right:1.6rem;
  z-index:200;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:#25d366;
  color:#fff;
  padding:.8rem 1.3rem .8rem .95rem;
  border-radius:50px;
  font-family:var(--f-mono);
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  box-shadow:0 8px 30px rgba(37,211,102,.4);
  transition:transform .25s, box-shadow .25s;
}
.wa-fab:hover{ transform:translateY(-3px); box-shadow:0 14px 40px rgba(37,211,102,.55); }
.wa-fab svg{ width:18px; height:18px; }

/* ════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════ */
@media (max-width:1100px){
  .caps-grid{ grid-template-columns:repeat(6, 1fr); }
  .cap-c-6, .cap-c-4, .cap-c-3, .cap-c-5, .cap-c-7, .cap-c-8{ grid-column:span 6; }
  .cap-pull{ grid-column:span 6; grid-template-columns:1fr; padding:2rem; }
  .cap-pull .pull-label{ writing-mode:horizontal-tb; transform:none; }
  .data-grid, .showcase-inner, .contact-inner, .caps-header, .process-header, .data-header{ grid-template-columns:1fr; gap:2.5rem; }
  .pricing-grid{ grid-template-columns:1fr; }
  .fidel-benefits{ grid-template-columns:1fr 1fr; }
  .fidel-stats{ grid-template-columns:1fr 1fr; }
  .process-step{ grid-template-columns:80px 1fr 1.5fr; gap:1.5rem; }
  .ps-cta{ display:none; }
  .floating-metric{ display:none; }
  .foot-inner{ grid-template-columns:1fr 1fr; }
  .hero-body{ grid-template-columns:1fr; }
  .hero-visual{
    max-width:340px;
    margin:2rem auto 0;
    justify-self:center;
  }
  .icon-node.scopus-ai,
  .icon-node.scopus-cp{ width:56px; height:56px; }
  .icon-node.scopus-ai .icon-label,
  .icon-node.scopus-cp .icon-label{ display:none; }
  .hero-footer{ grid-template-columns:1fr; gap:1.5rem; }
  .hero-actions{ align-items:flex-start; }
  .hero-numeral{ display:none; }
}
@media (max-width:780px){
  .nav{ padding:1rem 1.5rem; grid-template-columns:auto auto; gap:1rem; }
  .nav-links{ display:none; position:fixed; inset:60px 0 0 0; background:var(--cream); flex-direction:column; justify-content:center; align-items:center; gap:2rem; z-index:99; }
  .nav-links.open{ display:flex; }
  .nav-cta{ display:none; }
  .hamburger{ display:flex; }
  .hero{ padding:7rem 1.5rem 3rem; }
  .hero-visual{ display:none; }
  .hero-meta{ grid-template-columns:1fr; gap:.4rem; }
  .hero-meta .col-c, .hero-meta .col-r{ text-align:left; }
  .hero-headline .l-2{ padding-left:0; }
  .manifesto, .caps, .process, .data, .showcase, .fidel, .pricing, .testim, .contact, footer{
    padding-left:1.5rem; padding-right:1.5rem; padding-top:5rem; padding-bottom:5rem;
  }
  .manifesto-inner, .fidel-head, .fidel-body{ grid-template-columns:1fr; gap:1.5rem; }
  .section-label{ position:static; }
  .caps-grid{ grid-template-columns:1fr; }
  .cap-c-6,.cap-c-4,.cap-c-3,.cap-c-5,.cap-c-7,.cap-c-8,.cap-c-12{ grid-column:span 1; }
  .fidel-stats{ grid-template-columns:1fr 1fr; gap:1rem; }
  .fidel-benefits{ grid-template-columns:1fr; }
  .process-step{ grid-template-columns:60px 1fr; }
  .ps-desc{ grid-column:1/-1; }
  .cf-grid{ grid-template-columns:1fr; }
  .foot-inner{ grid-template-columns:1fr; }
  .testim-grid{ grid-template-columns:1fr; }
  .contact-form{ padding:1.6rem; }
  .wa-fab span{ display:none; }
  .wa-fab{ padding:.9rem; border-radius:50%; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
:focus-visible{ outline:2px solid var(--orange); outline-offset:3px; }

/* ── Nuevas clases v3 ── */
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.mc-cta-inline{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--f-mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); border-bottom:1px solid var(--orange); padding-bottom:2px; margin-top:.6rem; align-self:flex-start; transition:opacity .25s; }
.mc-cta-inline:hover{ opacity:.65; }
.cap-card{ opacity:0; transform:translateY(18px); animation:cardIn .55s ease forwards; }
.cap-card:nth-child(1){ animation-delay:.04s; }
.cap-card:nth-child(2){ animation-delay:.1s; }
.cap-card:nth-child(3){ animation-delay:.16s; }
.cap-card:nth-child(4){ animation-delay:.22s; }
.cap-card:nth-child(n+5){ animation-delay:.28s; }
@keyframes cardIn{ to{ opacity:1; transform:translateY(0); } }
.kpi-note{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.1em; color:rgba(12,19,48,.38); margin-top:1.4rem; padding-top:1rem; border-top:1px solid var(--cream-3); grid-column:1/-1; }
.process-cta{ max-width:1400px; margin:4rem auto 0; padding-top:3rem; border-top:1px solid var(--cream-3); display:flex; justify-content:center; }
.pc-range{ font-family:var(--f-display); font-size:clamp(1.8rem, 3vw, 2.4rem); font-weight:300; line-height:1; letter-spacing:-.02em; }
.pc-range span{ display:block; font-family:var(--f-mono); font-size:.7rem; color:var(--muted); margin-top:.3rem; }
.price-card.featured .pc-range span{ color:rgba(255,255,255,.6); }
.testim-cta{ max-width:1400px; margin:4rem auto 0; padding-top:3rem; border-top:1px solid var(--line); display:flex; justify-content:center; }

/* ════════════════════════════════════
   GLOBOS 3D — Diana de redes sociales
   ════════════════════════════════════ */

.balloon-node{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  width:180px !important;
  height:180px !important;
  overflow:visible !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:0 !important;
  transform:none !important;
}
.balloon-node:hover{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  transform:none !important;
}
.balloon-img{
  width:180px;
  height:180px;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.3));
  transition:filter .3s;
  will-change:transform;
}
.balloon-node:hover .balloon-img{
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.5));
}

/* Flotación suave por globo — delays distintos para naturalidad */
.social-yt .balloon-img{ animation:float1 4.2s ease-in-out infinite; }
.social-ig .balloon-img{ animation:float2 3.8s ease-in-out 0.6s infinite; }
.social-wa .balloon-img{ animation:float3 4.6s ease-in-out 1.2s infinite; }
.social-tk .balloon-img{ animation:float4 3.5s ease-in-out 0.3s infinite; }
.social-fb .balloon-img{ animation:float5 4.9s ease-in-out 0.9s infinite; }

@keyframes float1{
  0%,100%{ transform:translateY(0) rotate(-1.5deg); }
  50%    { transform:translateY(-12px) rotate(1.5deg); }
}
@keyframes float2{
  0%,100%{ transform:translateY(-5px) rotate(1deg); }
  50%    { transform:translateY(7px) rotate(-1.5deg); }
}
@keyframes float3{
  0%,100%{ transform:translateY(0) rotate(2deg); }
  35%    { transform:translateY(-10px) rotate(-1deg); }
  70%    { transform:translateY(5px) rotate(2.5deg); }
}
@keyframes float4{
  0%,100%{ transform:translateY(-3px) rotate(-1deg); }
  50%    { transform:translateY(9px) rotate(1.5deg); }
}
@keyframes float5{
  0%,100%{ transform:translateY(0) rotate(1deg); }
  40%    { transform:translateY(-14px) rotate(-2deg); }
  80%    { transform:translateY(4px) rotate(1deg); }
}

/* Label solo abajo, sin tooltip negro */
.balloon-label{
  font-family:var(--f-mono);
  font-size:.6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  background:rgba(243,238,226,.92);
  padding:.25rem .6rem;
  border:1px solid var(--ink);
  border-radius:2px;
  white-space:nowrap;
  opacity:0;
  transition:opacity .25s;
  pointer-events:none;
  position:absolute;
  bottom:-20px;
  left:50%;
  transform:translateX(-50%);
  z-index:10;
}
.balloon-node:hover .balloon-label{ opacity:1; }
.balloon-node{ position:absolute; }

/* ════════════════════════════════════
   PRICING — 4 columnas
   ════════════════════════════════════ */
.pricing-grid-4{
  grid-template-columns:repeat(4, 1fr);
  gap:.9rem;
}
@media(max-width:1200px){
  .pricing-grid-4{
    grid-template-columns:repeat(2,1fr);
    gap:1rem;
  }
}
@media(max-width:780px){
  .pricing-grid-4{
    grid-template-columns:1fr;
  }
}

/* Plan ad rem — color especial naranja */
.price-card-adrem{
  background:var(--orange);
  border-color:var(--orange);
  color:var(--cream);
}
.price-card-adrem .plan{ color:var(--yellow); }
.price-card-adrem h3{ color:var(--cream); }
.price-card-adrem h3 em.serif{ color:var(--yellow); }
.price-card-adrem .pc-range{ color:var(--cream); }
.price-card-adrem .pc-range span{ color:rgba(255,255,255,.7); }
.price-card-adrem ul li{ color:var(--cream); }
.price-card-adrem ul li::before{ color:var(--yellow); }
.price-card-adrem .pc-cta{
  color:var(--orange);
  background:var(--cream);
  border-color:var(--cream);
}
.price-card-adrem .pc-cta:hover{
  background:var(--ink);
  color:var(--cream);
  border-color:var(--ink);
}

/* Setup line */
.pc-setup{
  font-family:var(--f-mono);
  font-size:.62rem;
  letter-spacing:.1em;
  color:var(--muted);
  padding:.4rem 0;
  border-bottom:1px solid var(--cream-3);
  margin-bottom:.2rem;
}
.price-card.featured .pc-setup{ color:rgba(255,255,255,.5); border-color:rgba(255,255,255,.15); }
