/* =========================================================
   Enrique Escandón — Marketing Educativo & Admisiones
   Sistema visual: editorial sobrio · azul marino · champagne
   ========================================================= */

:root {
  --navy:#0c1a2b;
  --navy-700:#11233a;
  --navy-600:#16314f;
  --navy-deep:#08131f;
  --ink:#13171c;
  --champagne:#c9a86a;
  --champagne-soft:#d8c4a0;
  --paper:#f6f2ea;
  --paper-2:#efe8da;
  --paper-line:#e0d8c6;
  --gray:#9aa3ad;
  --gray-d:#5b6470;
  --gray-paper:#6a6358;

  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
  --sans:'Hanken Grotesk', system-ui, -apple-system, sans-serif;

  --maxw:1240px;
  --pad:clamp(22px, 5vw, 72px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; }
body {
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }

/* ---------- type helpers ---------- */
.eyebrow {
  font-family:var(--sans); font-weight:600; font-size:12px;
  letter-spacing:.28em; text-transform:uppercase; color:var(--champagne);
  display:inline-block;
}
.eyebrow.on-paper { color:#a9863f; }
h1,h2,h3 { font-weight:300; letter-spacing:-.015em; margin:0; }
.display { font-family:var(--serif); }

/* ---------- layout ---------- */
.section { padding:clamp(72px,9vw,140px) var(--pad); position:relative; }
.wrap { max-width:var(--maxw); margin:0 auto; }
.navy-sec { background:var(--navy); color:var(--paper); }
.paper-sec { background:var(--paper); color:var(--ink); }
.paper2-sec { background:var(--paper-2); color:var(--ink); }
.sec-head { max-width:760px; }
.sec-head h2 { font-family:var(--serif); font-size:clamp(28px,4vw,46px); line-height:1.1; margin-top:22px; }
.sec-head h2 em { font-style:italic; color:var(--champagne-soft); }
.paper-sec .sec-head h2 em, .paper2-sec .sec-head h2 em { color:#b08a3e; }
.lead { font-size:clamp(17px,1.5vw,19px); line-height:1.7; color:var(--gray-d); margin-top:22px; }
.navy-sec .lead { color:#c3cbd4; }

/* ---------- buttons ---------- */
.btn {
  font-family:var(--sans); font-weight:600; font-size:14px; letter-spacing:.02em;
  padding:16px 28px; border-radius:2px; cursor:pointer; border:1px solid transparent;
  display:inline-flex; align-items:center; gap:10px;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.btn svg { width:15px; height:15px; transition:transform .3s var(--ease); }
.btn:hover svg { transform:translateX(4px); }
.btn-gold { background:var(--champagne); color:var(--navy); border-color:var(--champagne); }
.btn-gold:hover { background:transparent; color:var(--champagne); }
.paper-sec .btn-gold:hover, .paper2-sec .btn-gold:hover { color:#a9863f; border-color:#c9a86a; }
.btn-ghost { background:transparent; color:var(--paper); border-color:rgba(246,242,234,.28); }
.btn-ghost:hover { border-color:var(--champagne); color:var(--champagne); }
.btn-ghost.on-paper { color:var(--ink); border-color:rgba(19,23,28,.22); }
.btn-ghost.on-paper:hover { border-color:#c9a86a; color:#a9863f; }

/* =========================================================
   INTRO ANIMATION (V2 — monograma → nombre → línea → subtítulo)
   ========================================================= */
#intro {
  position:fixed; inset:0; z-index:9999; background:var(--navy);
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:24px; overflow:hidden;
}
/* halo de luz sutil tipo consultoría premium */
#intro::before {
  content:''; position:absolute; left:50%; top:46%; width:120vmin; height:120vmin;
  transform:translate(-50%,-50%) scale(.6); opacity:0;
  background:radial-gradient(circle, rgba(201,168,106,.16), rgba(201,168,106,0) 60%);
  pointer-events:none;
}
#intro .intro-stage { position:relative; display:flex; flex-direction:column; align-items:center; }

#intro .intro-mono {
  display:flex; gap:.04em; font-family:var(--serif); font-weight:400; line-height:1;
  font-size:clamp(56px,11vw,104px); color:var(--champagne); letter-spacing:.02em;
  margin-bottom:clamp(20px,3vw,30px);
}
#intro .intro-mono span { display:inline-block; opacity:0; transform:translateY(14px) scale(.86); }
#intro .intro-mono span:nth-child(2) { color:var(--champagne-soft); }

#intro .intro-name {
  font-family:var(--serif); font-weight:300; color:var(--paper);
  font-size:clamp(28px,6vw,58px); letter-spacing:.01em; white-space:nowrap;
  opacity:0; transform:translateY(12px); filter:blur(5px);
}
#intro .intro-name b { color:var(--champagne); font-weight:400; }
#intro .intro-line { width:0; height:1px; background:var(--champagne); margin:clamp(20px,3vw,28px) 0 clamp(18px,2.5vw,24px); }
#intro .intro-sub {
  font-family:var(--sans); font-weight:500; font-size:clamp(10.5px,1.5vw,13.5px);
  letter-spacing:.24em; text-transform:uppercase; color:var(--gray);
  opacity:0; transform:translateY(8px); max-width:90vw;
}

/* secuencia completa ~2.7s */
#intro.play::before { animation:introHalo 2.4s var(--ease) .2s forwards; }
#intro.play .intro-mono span:nth-child(1) { animation:introMono .9s var(--ease) .15s forwards; }
#intro.play .intro-mono span:nth-child(2) { animation:introMono .9s var(--ease) .32s forwards; }
#intro.play .intro-name { animation:introName 1s var(--ease) .95s forwards; }
#intro.play .intro-line { animation:introLine 1s var(--ease) 1.45s forwards; }
#intro.play .intro-sub  { animation:introSub  .9s var(--ease) 1.85s forwards; }

#intro.done { opacity:0; visibility:hidden; transition:opacity .8s ease, visibility .8s ease; }

/* versión rápida (ya vista en la sesión) — estado final inmediato */
#intro.quick .intro-mono span,
#intro.quick .intro-name,
#intro.quick .intro-sub { opacity:1; transform:none; filter:none; }
#intro.quick .intro-line { width:120px; }
#intro.quick::before { opacity:.7; transform:translate(-50%,-50%) scale(1); }

@keyframes introHalo { 0%{opacity:0;transform:translate(-50%,-50%) scale(.6);} 55%{opacity:1;} 100%{opacity:.7;transform:translate(-50%,-50%) scale(1);} }
@keyframes introMono { to { opacity:1; transform:none; } }
@keyframes introName { to { opacity:1; transform:none; filter:blur(0); } }
@keyframes introLine { to { width:120px; } }
@keyframes introSub  { to { opacity:1; transform:none; } }

/* =========================================================
   NAVBAR
   ========================================================= */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:900;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--pad); height:84px;
  transition:background .4s var(--ease), height .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.scrolled {
  height:68px; background:rgba(10,21,35,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(201,168,106,.18); box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.nav-brand { font-family:var(--serif); font-size:21px; color:var(--paper); letter-spacing:.02em; white-space:nowrap; }
.nav-brand b { color:var(--champagne); font-weight:500; }
.nav-links { display:flex; align-items:center; gap:34px; }
.nav-links a { font-size:13.5px; letter-spacing:.03em; color:#c8cfd6; position:relative; padding:6px 0; transition:color .25s; }
.nav-links a::after { content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--champagne); transition:width .3s var(--ease); }
.nav-links a:hover { color:#fff; }
.nav-links a:hover::after { width:100%; }
.nav-cta { padding:11px 20px; font-size:13px; }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.nav-burger span { width:24px; height:1.5px; background:var(--paper); transition:.3s var(--ease); }
.nav-burger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-burger.open span:nth-child(2){ opacity:0; }
.nav-burger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* mobile drawer */
.mobile-menu {
  position:fixed; inset:0 0 0 auto; width:min(82vw,360px); z-index:899;
  background:var(--navy-deep); transform:translateX(100%); transition:transform .42s var(--ease);
  display:flex; flex-direction:column; padding:120px 40px 40px; gap:6px;
  border-left:1px solid rgba(201,168,106,.2);
}
.mobile-menu.open { transform:translateX(0); }
.mobile-menu a { font-family:var(--serif); font-size:26px; color:var(--paper); padding:14px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.mobile-menu a:hover { color:var(--champagne); }
.mobile-menu .mm-meta { margin-top:auto; font-size:13px; color:var(--gray); line-height:1.9; }
.mobile-menu .mm-meta a { font-family:var(--sans); font-size:14px; color:var(--champagne-soft); border:0; padding:2px 0; display:block; }
.scrim { position:fixed; inset:0; background:rgba(4,10,18,.5); z-index:898; opacity:0; visibility:hidden; transition:.4s; }
.scrim.open { opacity:1; visibility:visible; }

/* =========================================================
   HERO (split B)
   ========================================================= */
.hero { background:var(--navy); color:var(--paper); position:relative; overflow:hidden; padding-top:84px; }
.hero-grain { position:absolute; inset:0; opacity:.04; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.9) 1px, transparent 1px); background-size:4px 4px; }
.hero-glow { position:absolute; top:-20%; right:-10%; width:60vw; height:60vw; pointer-events:none;
  background:radial-gradient(circle, rgba(201,168,106,.10), transparent 62%); }
.hero-inner {
  max-width:var(--maxw); margin:0 auto; min-height:calc(100vh - 84px);
  display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:clamp(40px,5vw,80px);
  padding:clamp(60px,8vh,110px) var(--pad);
}
.hero-eyebrow { margin-bottom:30px; }
.hero h1 { font-family:var(--serif); font-size:clamp(38px,5vw,68px); line-height:1.04; }
.hero h1 em { font-style:italic; color:var(--champagne-soft); }
.hero-line { width:0; height:1px; background:var(--champagne); margin:34px 0 30px; }
.hero-sub { font-size:clamp(16px,1.4vw,19px); line-height:1.65; color:#c3cbd4; max-width:520px; }
.hero-cta { display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.hero-foot { margin-top:42px; padding-top:24px; border-top:1px solid rgba(246,242,234,.13);
  font-family:var(--serif); font-style:italic; font-size:16px; color:var(--gray); max-width:440px; line-height:1.5; }

.hero-photo { position:relative; align-self:center; width:100%; }
.hero-photo::before { content:''; position:absolute; inset:-7% -9% -5% 2%; background:
  radial-gradient(120% 90% at 70% 30%, rgba(201,168,106,.12), transparent 60%),
  linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)); pointer-events:none; }
.hero-frame { position:relative; border:1px solid rgba(201,168,106,.55); padding:13px;
  background:linear-gradient(180deg, rgba(22,49,79,.55), rgba(8,19,31,.65));
  box-shadow:0 48px 90px -34px rgba(0,0,0,.75), inset 0 0 0 1px rgba(246,242,234,.04); }
.hero-frame::before { content:''; position:absolute; top:-8px; left:-8px; width:42px; height:42px; border-top:1px solid var(--champagne); border-left:1px solid var(--champagne); }
.hero-frame::after { content:''; position:absolute; bottom:-8px; right:-8px; width:42px; height:42px; border-bottom:1px solid var(--champagne); border-right:1px solid var(--champagne); }
.hero-frame .hero-img { position:relative; aspect-ratio:4/5; overflow:hidden; }
.hero-frame .hero-img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(8,19,31,.45)); pointer-events:none; }
.hero-frame img { width:100%; height:100%; object-fit:cover; object-position:center 10%; filter:grayscale(.12) contrast(1.03); }
.hero-badge {
  position:absolute; left:-14px; bottom:34px; background:var(--champagne); color:var(--navy);
  padding:14px 20px; text-align:center; box-shadow:0 18px 40px rgba(0,0,0,.3);
}
.hero-badge .n { font-family:var(--serif); font-size:30px; line-height:1; }
.hero-badge .t { font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; margin-top:5px; }

.hero-scroll { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:9px; color:var(--gray); font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; }
.hero-scroll .ln { width:1px; height:34px; background:linear-gradient(var(--champagne), transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{ opacity:.3; transform:scaleY(.6);} 50%{ opacity:1; transform:scaleY(1);} }

/* =========================================================
   AUTHORITY BAND
   ========================================================= */
.authority { background:var(--navy-700); color:var(--paper); padding:0 var(--pad); border-top:1px solid rgba(201,168,106,.16); }
.authority-grid { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.authority { background:var(--navy-700); color:var(--paper); padding:0 var(--pad); border-top:1px solid rgba(201,168,106,.16); }
.authority-grid { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.auth-item { padding:52px 38px; border-left:1px solid rgba(246,242,234,.10); position:relative; }
.auth-item:first-child { border-left:0; }
.auth-item .ai-mark { width:30px; height:1px; background:var(--champagne); margin-bottom:20px; }
.auth-item .ai-claim { font-family:var(--serif); font-weight:400; font-size:clamp(19px,1.85vw,24px); line-height:1.24; color:var(--paper); }

/* =========================================================
   PROBLEMA
   ========================================================= */
.problema .wrap { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,80px); align-items:start; }
.problema h2 { font-family:var(--serif); font-size:clamp(30px,4.2vw,52px); line-height:1.08; }
.problema h2 em { font-style:italic; color:#b08a3e; }
.problema .p-body p { font-size:clamp(16px,1.4vw,18.5px); line-height:1.8; color:var(--gray-d); margin:0 0 20px; }
.problema .p-mark { font-family:var(--serif); font-size:80px; color:var(--paper-line); line-height:.6; height:34px; display:block; }

/* =========================================================
   MÉTODO (index list from option C)
   ========================================================= */
.metodo .sec-head { margin-bottom:18px; }
.metodo-list { max-width:var(--maxw); margin:46px auto 0; }
.metodo-row {
  display:grid; grid-template-columns:120px 1fr 1.1fr; gap:clamp(20px,3vw,56px); align-items:baseline;
  padding:34px 0; border-top:1px solid rgba(246,242,234,.13);
  transition:background .35s var(--ease), padding-left .35s var(--ease);
}
.metodo-row:last-child { border-bottom:1px solid rgba(246,242,234,.13); }
.metodo-row:hover { background:linear-gradient(90deg, rgba(201,168,106,.07), transparent 70%); padding-left:14px; }
.metodo-row .m-n { font-family:var(--serif); font-size:clamp(24px,2.4vw,32px); color:var(--champagne); }
.metodo-row .m-t { font-family:var(--serif); font-size:clamp(22px,2.4vw,30px); color:var(--paper); }
.metodo-row .m-d { font-size:15.5px; line-height:1.65; color:#aeb7c1; }

/* =========================================================
   SERVICIOS
   ========================================================= */
.serv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:54px; }
.serv-card {
  background:#fff; border:1px solid var(--paper-line); padding:40px 34px 36px;
  position:relative; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  overflow:hidden;
}
.serv-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:2px; background:var(--champagne); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.serv-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(12,26,43,.28); border-color:#d8c9a8; }
.serv-card:hover::before { transform:scaleX(1); }
.serv-card .s-n { font-family:var(--serif); font-size:16px; color:#b08a3e; letter-spacing:.04em; }
.serv-card h3 { font-family:var(--serif); font-size:23px; line-height:1.2; margin:18px 0 14px; color:var(--ink); }
.serv-card p { font-size:15px; line-height:1.65; color:var(--gray-d); margin:0; }

/* =========================================================
   SOBRE ENRIQUE
   ========================================================= */
.sobre .wrap { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,72px); align-items:center; }
.sobre-photo { position:relative; }
.sobre-frame { position:relative; border:1px solid var(--paper-line); padding:12px; background:#fff; box-shadow:0 30px 60px -34px rgba(12,26,43,.4); }
.sobre-frame::after { content:''; position:absolute; right:-12px; bottom:-12px; width:60px; height:60px; border-right:1px solid var(--champagne); border-bottom:1px solid var(--champagne); }
.sobre-frame .sobre-img-wrap { position:relative; background:linear-gradient(180deg, #f3eee4, #e9e2d4); overflow:hidden; }
.sobre-frame picture { display:block; width:100%; }
.sobre-frame img { width:100%; height:auto; object-fit:contain; aspect-ratio:auto; display:block; }
.sobre-caption { margin-top:18px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gray-paper); font-weight:600; text-align:center; }
.sobre-quote { position:absolute; left:18px; bottom:18px; right:18px; }
.sobre h2 { font-family:var(--serif); font-size:clamp(27px,3.5vw,42px); line-height:1.14; }
.sobre h2 em { font-style:italic; color:#b08a3e; }
.sobre p { font-size:clamp(16px,1.4vw,18px); line-height:1.78; color:var(--gray-d); margin:24px 0 0; }
.sobre-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.sobre-tags span { font-size:12.5px; letter-spacing:.04em; color:var(--gray-paper); border:1px solid var(--paper-line); padding:8px 15px; border-radius:40px; background:#fff; }

/* =========================================================
   IDEAS / INSIGHTS
   ========================================================= */
.ideas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:54px; }
.idea-card {
  border:1px solid rgba(246,242,234,.14); padding:40px 34px 38px; position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
  transition:border-color .4s var(--ease), transform .4s var(--ease), background .4s var(--ease);
}
.idea-card:hover { border-color:rgba(201,168,106,.5); transform:translateY(-5px); background:linear-gradient(180deg, rgba(201,168,106,.06), transparent); }
.idea-card .q { font-family:var(--serif); font-size:60px; line-height:.5; height:30px; color:var(--champagne); display:block; }
.idea-card h3 { font-family:var(--serif); font-style:italic; font-size:26px; line-height:1.25; color:var(--paper); margin:18px 0 16px; }
.idea-card p { font-size:14.5px; line-height:1.6; color:#aeb7c1; margin:0; }
.idea-card .idx { position:absolute; top:34px; right:34px; font-size:12px; letter-spacing:.2em; color:var(--gray); }

/* =========================================================
   FORMULARIO
   ========================================================= */
.contacto .wrap { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,5vw,80px); align-items:start; }
.contacto h2 { font-family:var(--serif); font-size:clamp(28px,3.6vw,46px); line-height:1.1; }
.contacto h2 em { font-style:italic; color:#b08a3e; }
.contacto-info { font-size:16px; line-height:1.75; color:var(--gray-d); margin-top:22px; }
.contacto-direct { margin-top:36px; display:flex; flex-direction:column; gap:2px; }
.cd-row { display:flex; align-items:center; gap:14px; padding:15px 0; border-top:1px solid var(--paper-line); min-width:0; }
.cd-row:last-child { border-bottom:1px solid var(--paper-line); }
.cd-row .cd-l { font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gray-paper); width:92px; flex-shrink:0; }
.cd-row a, .cd-row span { font-family:var(--serif); font-size:clamp(15px,2.4vw,18px); color:var(--ink); transition:color .25s; min-width:0; white-space:nowrap; }
.cd-row a.cd-email { overflow-wrap:anywhere; white-space:normal; }
.cd-row .cd-l { white-space:normal; overflow-wrap:normal; }
.cd-row a:hover { color:#a9863f; }

form.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:20px 22px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:1 / -1; }
.field label { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gray-paper); font-weight:600; }
.field input, .field textarea {
  font-family:var(--sans); font-size:16px; color:var(--ink); background:#fff;
  border:1px solid var(--paper-line); border-radius:2px; padding:14px 16px; width:100%;
  transition:border-color .25s, box-shadow .25s; resize:vertical;
}
.field input:focus, .field textarea:focus { outline:none; border-color:var(--champagne); box-shadow:0 0 0 3px rgba(201,168,106,.16); }
.field textarea { min-height:130px; }
.form-foot { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:4px; }
.form-foot .note { font-size:12.5px; color:var(--gray-paper); max-width:340px; line-height:1.5; }
.hp { position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }

/* =========================================================
   CTA FINAL
   ========================================================= */
.cta-final { text-align:center; position:relative; overflow:hidden; }
.cta-final .hero-glow { top:auto; bottom:-30%; left:50%; transform:translateX(-50%); right:auto; width:80vw; height:60vw; }
.cta-final .eyebrow { margin-bottom:26px; }
.cta-final h2 { font-family:var(--serif); font-size:clamp(30px,4.4vw,56px); line-height:1.1; max-width:980px; margin:0 auto; }
.cta-final h2 em { font-style:italic; color:var(--champagne-soft); }
.cta-final p { font-size:clamp(16px,1.4vw,18.5px); line-height:1.7; color:#c3cbd4; max-width:660px; margin:28px auto 40px; }
.cta-line { width:120px; height:1px; background:var(--champagne); margin:0 auto 40px; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer { background:var(--navy-deep); color:var(--paper); padding:80px var(--pad) 38px; }
.footer-top { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgba(246,242,234,.1); }
.footer-brand .fb-name { font-family:var(--serif); font-size:30px; }
.footer-brand .fb-name b { color:var(--champagne); font-weight:400; }
.footer-brand .fb-tag { font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--gray); margin-top:12px; }
.footer-brand .fb-line { font-family:var(--serif); font-style:italic; font-size:17px; line-height:1.5; color:var(--champagne-soft); margin:20px 0 0; max-width:380px; }
.footer-col h4 { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--champagne); font-weight:600; margin:0 0 18px; }
.footer-col a { display:block; font-size:15px; color:#c3cbd4; padding:7px 0; transition:color .25s, padding-left .25s; }
.footer-col a:hover { color:#fff; padding-left:5px; }
.footer-bottom { max-width:var(--maxw); margin:0 auto; padding-top:28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12.5px; color:var(--gray); }
.footer-legal { display:flex; gap:22px; flex-wrap:wrap; }
.footer-legal a { color:var(--gray); transition:color .25s; }
.footer-legal a:hover { color:var(--champagne-soft); }

/* firma de estudio (Pichon Labs) */
.footer-signature { max-width:var(--maxw); margin:42px auto 0; padding-top:30px; position:relative;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px 28px; }
.footer-signature::before { content:''; position:absolute; top:0; left:0; width:46px; height:1px; background:var(--champagne); opacity:.65; }
.footer-signature::after { content:''; position:absolute; top:0; left:46px; right:0; height:1px; background:rgba(246,242,234,.08); }
.footer-signature .sig-info { display:flex; flex-direction:column; gap:5px; }
.footer-signature .sig-text { font-family:var(--serif); font-size:15px; letter-spacing:.01em; color:#aeb7c1; }
.footer-signature .sig-text a { color:var(--champagne-soft); transition:color .25s; }
.footer-signature .sig-text a:hover { color:var(--champagne); }
.footer-signature .sig-sub { font-size:11.5px; letter-spacing:.06em; color:#6e7783; }
.footer-signature .sig-btns { display:flex; gap:8px; flex-wrap:wrap; }
.footer .footer-signature .sig-btns a.sig-pill {
  display:inline-flex; align-items:center; gap:6px; height:32px; box-sizing:border-box;
  font-size:12px; font-weight:500; letter-spacing:.03em; line-height:1;
  color:rgba(245,239,226,.82);
  border:1px solid rgba(214,176,107,.28); border-radius:999px; padding:0 14px;
  background:transparent; box-shadow:none;
  transition:border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease; }
.footer .footer-signature .sig-btns a.sig-pill svg {
  width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:1.5; }
.footer .footer-signature .sig-btns a.sig-pill:hover {
  border-color:rgba(214,176,107,.65); color:#d6b06b; background:rgba(214,176,107,.06);
  transform:translateY(-1px); }

/* =========================================================
   IMAGE PLACEHOLDER
   ========================================================= */
.ph {
  position:relative; background:
    repeating-linear-gradient(135deg, rgba(12,26,43,.05) 0 1px, transparent 1px 9px),
    var(--paper-2);
  border:1px solid var(--paper-line); display:flex; align-items:center; justify-content:center; text-align:center;
}
.ph span { font-family:'SFMono-Regular', ui-monospace, Menlo, monospace; font-size:11.5px; letter-spacing:.04em; color:var(--gray-paper); padding:18px; max-width:240px; line-height:1.6; }

/* =========================================================
   SCROLL REVEAL  (progressive enhancement: hidden sólo con JS)
   ========================================================= */
html.js .reveal { opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
html.js .reveal.in { opacity:1; transform:none; }
.reveal.d1 { transition-delay:.08s; } .reveal.d2 { transition-delay:.16s; }
.reveal.d3 { transition-delay:.24s; } .reveal.d4 { transition-delay:.32s; } .reveal.d5 { transition-delay:.40s; }
.hero-line.in, .cta-line.in { width:120px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1000px) {
  .hero-inner { grid-template-columns:1fr; min-height:auto; gap:48px; padding-top:120px; padding-bottom:80px; }
  .hero-photo { max-width:420px; }
  .hero-scroll { display:none; }
  .authority-grid { grid-template-columns:1fr 1fr; }
  .auth-item:nth-child(3) { border-left:0; }
  .auth-item { border-top:1px solid rgba(246,242,234,.10); }
  .auth-item:nth-child(1), .auth-item:nth-child(2) { border-top:0; }
  .problema .wrap { grid-template-columns:1fr; gap:28px; }
  .metodo-row { grid-template-columns:64px 1fr; gap:16px 24px; }
  .metodo-row .m-d { grid-column:2; }
  .serv-grid, .ideas-grid { grid-template-columns:1fr 1fr; }
  .sobre .wrap { grid-template-columns:1fr; gap:40px; }
  .sobre-photo { max-width:520px; margin:0 auto; }
  .contacto .wrap { grid-template-columns:1fr; gap:40px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:36px; }
  .footer-brand { grid-column:1/-1; }
}
@media (max-width:680px) {
  .nav-links { display:none; }
  .nav-cta.desktop { display:none; }
  .nav-burger { display:flex; }
  .authority-grid { grid-template-columns:1fr; }
  .auth-item { padding:30px 4px; border-left:0; }
  .auth-item:nth-child(3) { border-top:1px solid rgba(246,242,234,.10); }
  .serv-grid, .ideas-grid { grid-template-columns:1fr; }
  form.contact-form { grid-template-columns:1fr; }
  .hero-cta .btn { flex:1; justify-content:center; }
  .hero-badge { left:0; }
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .footer-signature { flex-direction:column; align-items:center; text-align:center; gap:18px; }
  .footer-signature::before { left:50%; transform:translateX(-50%); width:46px; }
  .footer-signature::after { display:none; }
  .footer-signature .sig-info { align-items:center; }
  .footer-signature .sig-btns { justify-content:center; gap:12px; }
}

@media (prefers-reduced-motion:reduce) {
  * { animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; }
  html.js .reveal { opacity:1; transform:none; }
}

/* =========================================================
   PARA QUIÉN ES  (navy)
   ========================================================= */
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:54px;
  border-top:1px solid rgba(246,242,234,.13); border-left:1px solid rgba(246,242,234,.13); }
.audience-item { padding:34px 30px; border-right:1px solid rgba(246,242,234,.13); border-bottom:1px solid rgba(246,242,234,.13);
  display:flex; gap:16px; align-items:flex-start; transition:background .35s var(--ease); }
.audience-item:hover { background:linear-gradient(120deg, rgba(201,168,106,.07), transparent 70%); }
.audience-item .ai-dot { flex-shrink:0; width:7px; height:7px; margin-top:9px; background:var(--champagne); transform:rotate(45deg); }
.audience-item p { margin:0; font-size:16.5px; line-height:1.5; color:#d3dae1; font-family:var(--serif); }

/* =========================================================
   SITUACIONES  (paper)
   ========================================================= */
.situ-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(36px,5vw,72px); margin-top:50px; }
.situ-item { display:flex; gap:20px; align-items:baseline; padding:26px 0; border-top:1px solid var(--paper-line); }
.situ-item .si-n { font-family:var(--serif); font-size:18px; color:#b08a3e; flex-shrink:0; width:30px; }
.situ-item p { margin:0; font-size:clamp(16px,1.4vw,18px); line-height:1.5; color:var(--ink); font-family:var(--serif); font-weight:400; }

/* =========================================================
   RESULTADOS  (navy)
   ========================================================= */
.resultados .sec-head { margin-bottom:8px; }
.res-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:50px; }
.res-item { padding:30px 28px; border:1px solid rgba(246,242,234,.13); position:relative; transition:border-color .4s var(--ease), background .4s var(--ease); }
.res-item:hover { border-color:rgba(201,168,106,.45); background:linear-gradient(180deg, rgba(201,168,106,.05), transparent); }
.res-item .check { width:26px; height:26px; border:1px solid var(--champagne); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.res-item .check svg { width:13px; height:13px; stroke:var(--champagne); }
.res-item p { margin:0; font-size:16px; line-height:1.5; color:#d3dae1; }

/* =========================================================
   TESTIMONIOS (placeholder elegante)
   ========================================================= */
.testi { text-align:center; }
.testi .testi-box { max-width:760px; margin:0 auto; border:1px solid var(--paper-line); padding:clamp(40px,6vw,72px) clamp(28px,5vw,60px); background:#fff; position:relative; }
.testi .testi-box::before, .testi .testi-box::after { content:''; position:absolute; width:34px; height:34px; }
.testi .testi-box::before { top:-1px; left:-1px; border-top:2px solid var(--champagne); border-left:2px solid var(--champagne); }
.testi .testi-box::after { bottom:-1px; right:-1px; border-bottom:2px solid var(--champagne); border-right:2px solid var(--champagne); }
.testi h3 { font-family:var(--serif); font-size:clamp(24px,3vw,34px); line-height:1.18; color:var(--ink); margin:18px 0 0; }
.testi h3 em { font-style:italic; color:#b08a3e; }
.testi p { font-size:16px; line-height:1.7; color:var(--gray-d); margin:18px auto 0; max-width:520px; }
.testi .pill { display:inline-block; margin-top:24px; font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:#a9863f; border:1px solid #e0d2b0; border-radius:40px; padding:8px 18px; }

/* =========================================================
   FAQ (navy accordion)
   ========================================================= */
.faq-list { max-width:880px; margin:48px auto 0; }
.faq-item { border-top:1px solid rgba(246,242,234,.13); }
.faq-item:last-child { border-bottom:1px solid rgba(246,242,234,.13); }
.faq-q { width:100%; background:none; border:0; cursor:pointer; color:var(--paper);
  display:flex; align-items:center; justify-content:space-between; gap:24px; text-align:left;
  font-family:var(--serif); font-weight:400; font-size:clamp(18px,1.9vw,23px); padding:28px 0; transition:color .25s; }
.faq-q:hover { color:var(--champagne-soft); }
.faq-q .ic { position:relative; flex-shrink:0; width:18px; height:18px; }
.faq-q .ic::before, .faq-q .ic::after { content:''; position:absolute; background:var(--champagne); transition:transform .35s var(--ease), opacity .35s var(--ease); }
.faq-q .ic::before { top:50%; left:0; width:100%; height:1.5px; transform:translateY(-50%); }
.faq-q .ic::after { left:50%; top:0; height:100%; width:1.5px; transform:translateX(-50%); }
.faq-item.open .faq-q .ic::after { transform:translateX(-50%) scaleY(0); opacity:0; }
.faq-item.open .faq-q { color:var(--champagne); }
.faq-a { display:grid; grid-template-rows:1fr; transition:grid-template-rows .42s var(--ease); }
html.js .faq-a { grid-template-rows:0fr; }
.faq-item.open .faq-a { grid-template-rows:1fr; }
.faq-a > div { overflow:hidden; }
.faq-a p { margin:0; padding:0 60px 30px 0; font-size:15.5px; line-height:1.72; color:#aeb7c1; max-width:720px; }

/* =========================================================
   FORM — select & checkbox
   ========================================================= */
.field select {
  font-family:var(--sans); font-size:16px; color:var(--ink); background:#fff;
  border:1px solid var(--paper-line); border-radius:2px; padding:14px 42px 14px 16px; width:100%;
  appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23b08a3e' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center;
  transition:border-color .25s, box-shadow .25s;
}
.field select:focus { outline:none; border-color:var(--champagne); box-shadow:0 0 0 3px rgba(201,168,106,.16); }
.field-check { grid-column:1/-1; display:flex; gap:13px; align-items:flex-start; cursor:pointer; }
.field-check input { appearance:none; -webkit-appearance:none; flex-shrink:0; width:20px; height:20px; margin:1px 0 0; border:1px solid var(--paper-line); border-radius:3px; background:#fff; cursor:pointer; position:relative; transition:border-color .2s, background .2s; }
.field-check input:checked { background:var(--champagne); border-color:var(--champagne); }
.field-check input:checked::after { content:''; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid var(--navy); border-width:0 2px 2px 0; transform:rotate(45deg); }
.field-check input:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(201,168,106,.2); }
.field-check span { font-size:14px; line-height:1.5; color:var(--gray-d); }

/* =========================================================
   RESPONSIVE — nuevas secciones
   ========================================================= */
@media (max-width:1000px) {
  .audience-grid { grid-template-columns:1fr 1fr; }
  .res-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
  .audience-grid { grid-template-columns:1fr; }
  .situ-grid { grid-template-columns:1fr; gap:0; }
  .res-grid { grid-template-columns:1fr; }
  .testi .testi-box { padding:38px 24px; }
  .faq-a p { padding-right:24px; }
}

/* =========================================================
   LEGAL PAGES (aviso legal / privacidad)
   ========================================================= */
.legal { background:var(--paper); color:var(--ink); min-height:100vh; }
.legal-nav { display:flex; align-items:center; justify-content:space-between; padding:26px var(--pad); border-bottom:1px solid var(--paper-line); }
.legal-nav .nav-brand { font-family:var(--serif); font-size:21px; color:var(--ink); letter-spacing:.02em; }
.legal-nav .nav-brand b { color:#b08a3e; font-weight:500; }
.legal-nav a.back { font-size:13.5px; letter-spacing:.03em; color:var(--gray-d); display:inline-flex; align-items:center; gap:8px; }
.legal-nav a.back:hover { color:#a9863f; }
.legal-wrap { max-width:760px; margin:0 auto; padding:clamp(50px,8vw,96px) var(--pad) clamp(70px,9vw,120px); }
.legal-wrap .eyebrow { color:#a9863f; }
.legal-wrap h1 { font-family:var(--serif); font-weight:300; font-size:clamp(32px,5vw,48px); line-height:1.1; margin:18px 0 10px; }
.legal-wrap .updated { font-size:13px; color:var(--gray-paper); letter-spacing:.04em; }
.legal-wrap .legal-rule { width:70px; height:1px; background:var(--champagne); margin:30px 0 40px; }
.legal-wrap h2 { font-family:var(--serif); font-weight:400; font-size:clamp(21px,2.6vw,27px); line-height:1.2; margin:46px 0 14px; }
.legal-wrap p, .legal-wrap li { font-size:16px; line-height:1.78; color:var(--gray-d); }
.legal-wrap p { margin:0 0 16px; }
.legal-wrap ul { margin:0 0 16px; padding-left:22px; }
.legal-wrap li { margin-bottom:8px; }
.legal-wrap a { color:#a9863f; text-decoration:underline; text-underline-offset:2px; }
.legal-note { margin-top:48px; padding:22px 26px; background:var(--paper-2); border:1px solid var(--paper-line); font-size:14px; line-height:1.6; color:var(--gray-paper); }
.legal-note strong { color:var(--gray-d); }
.legal-link-btn { background:none; border:0; padding:0; font:inherit; color:#a9863f; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.legal-link-btn:hover { color:#8c6c2f; }

/* =========================================================
   COOKIES — banner + modal de configuración
   ========================================================= */
.cookie-banner {
  position:fixed; left:0; right:0; bottom:0; z-index:1200;
  background:var(--navy-deep); color:var(--paper);
  border-top:1px solid rgba(201,168,106,.4);
  box-shadow:0 -18px 50px rgba(4,10,18,.45);
  padding:22px var(--pad);
  transform:translateY(120%); transition:transform .5s var(--ease);
}
.cookie-banner.show { transform:translateY(0); }
.cookie-banner-inner {
  max-width:var(--maxw); margin:0 auto;
  display:flex; align-items:center; gap:clamp(18px,3vw,46px); flex-wrap:wrap;
}
.cookie-banner .cb-text { flex:1 1 420px; min-width:0; }
.cookie-banner .cb-title { font-family:var(--serif); font-size:18px; color:var(--paper); margin:0 0 6px; }
.cookie-banner p { margin:0; font-size:14px; line-height:1.6; color:#c3cbd4; max-width:680px; }
.cookie-banner p a { color:var(--champagne-soft); text-decoration:underline; text-underline-offset:2px; }
.cookie-actions { display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0; }
.cookie-actions .btn { padding:13px 22px; font-size:13.5px; }
.btn-mini { font-family:var(--sans); font-weight:600; font-size:13.5px; letter-spacing:.02em; padding:13px 22px; border-radius:2px; cursor:pointer; border:1px solid transparent; transition:all .25s var(--ease); }
.btn-mini.gold { background:var(--champagne); color:var(--navy); border-color:var(--champagne); }
.btn-mini.gold:hover { background:transparent; color:var(--champagne); }
.btn-mini.ghost { background:transparent; color:var(--paper); border-color:rgba(246,242,234,.3); }
.btn-mini.ghost:hover { border-color:var(--champagne); color:var(--champagne); }

/* Modal */
.cookie-modal { position:fixed; inset:0; z-index:1300; display:flex; align-items:center; justify-content:center; padding:24px;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s var(--ease); }
.cookie-modal.show { opacity:1; visibility:visible; }
.cookie-modal-scrim { position:absolute; inset:0; background:rgba(4,10,18,.62); backdrop-filter:blur(3px); }
.cookie-modal-card {
  position:relative; width:100%; max-width:560px; max-height:88vh; overflow-y:auto;
  background:var(--paper); color:var(--ink); border:1px solid var(--paper-line);
  box-shadow:0 40px 90px -30px rgba(4,10,18,.6); padding:clamp(26px,4vw,40px);
  transform:translateY(16px) scale(.98); transition:transform .4s var(--ease);
}
.cookie-modal.show .cookie-modal-card { transform:none; }
.cookie-modal-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--champagne); }
.cm-close { position:absolute; top:16px; right:16px; width:34px; height:34px; border:1px solid var(--paper-line); background:#fff; border-radius:50%; cursor:pointer; color:var(--gray-d); font-size:18px; line-height:1; display:flex; align-items:center; justify-content:center; transition:all .25s; }
.cm-close:hover { border-color:var(--champagne); color:#a9863f; }
.cookie-modal-card .eyebrow { color:#a9863f; }
.cookie-modal-card h2 { font-family:var(--serif); font-weight:400; font-size:clamp(22px,3.2vw,28px); margin:14px 0 12px; }
.cookie-modal-card .cm-intro { font-size:14.5px; line-height:1.65; color:var(--gray-d); margin:0 0 26px; }
.cm-option { display:flex; gap:18px; align-items:flex-start; padding:20px 0; border-top:1px solid var(--paper-line); }
.cm-option:last-of-type { border-bottom:1px solid var(--paper-line); margin-bottom:26px; }
.cm-option .cm-info { flex:1; min-width:0; }
.cm-option h3 { font-family:var(--serif); font-size:18px; margin:0 0 6px; color:var(--ink); }
.cm-option p { margin:0; font-size:13.5px; line-height:1.55; color:var(--gray-d); }
.cm-option .cm-fixed { font-size:12px; letter-spacing:.04em; color:#a9863f; font-weight:600; white-space:nowrap; padding-top:3px; }

/* toggle */
.cm-toggle { flex-shrink:0; }
.cm-switch { position:relative; display:inline-block; width:48px; height:27px; cursor:pointer; }
.cm-switch input { position:absolute; opacity:0; width:0; height:0; }
.cm-track { position:absolute; inset:0; background:#d2c8b4; border-radius:30px; transition:background .25s var(--ease); }
.cm-track::before { content:''; position:absolute; height:21px; width:21px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .25s var(--ease); box-shadow:0 1px 3px rgba(0,0,0,.25); }
.cm-switch input:checked + .cm-track { background:var(--champagne); }
.cm-switch input:checked + .cm-track::before { transform:translateX(21px); }
.cm-switch input:focus-visible + .cm-track { box-shadow:0 0 0 3px rgba(201,168,106,.35); }
.cm-actions { display:flex; gap:12px; flex-wrap:wrap; }
.cm-actions .btn-mini.gold { color:var(--navy); }
.cm-actions .btn-mini.ghost { color:var(--ink); border-color:rgba(19,23,28,.22); }
.cm-actions .btn-mini.ghost:hover { border-color:#c9a86a; color:#a9863f; }

/* footer cookie/legal nav */
.footer-legal a.as-btn { background:none; border:0; cursor:pointer; font:inherit; color:var(--gray); padding:0; }
.footer-legal a.as-btn:hover { color:var(--champagne-soft); }

@media (max-width:680px) {
  .cookie-banner { padding:18px var(--pad) calc(18px + env(safe-area-inset-bottom)); }
  .cookie-actions { width:100%; }
  .cookie-actions .btn-mini { flex:1 1 auto; text-align:center; }
  .cm-option .cm-fixed { white-space:normal; }
  .cm-actions .btn-mini { flex:1 1 100%; }
}

/* =========================================================
   ============  V3 · CONVERSIÓN Y AUTORIDAD  ==============
   ========================================================= */

/* ---------- Resultados y experiencia acumulada (métricas) ---------- */
.metrics-grid { display:grid; grid-template-columns:repeat(5,1fr); margin-top:50px;
  border-top:1px solid var(--paper-line); }
.metric { padding:34px 26px 30px; border-left:1px solid var(--paper-line);
  display:flex; flex-direction:column; gap:12px; }
.metric:first-child { border-left:0; }
.metric .m-num { font-family:var(--serif); font-weight:400; line-height:1; color:var(--ink);
  font-size:clamp(38px,4vw,52px); letter-spacing:-.01em; }
.metric .m-num.text { font-size:clamp(21px,2.1vw,26px); line-height:1.15; color:#1d2b3c; }
.metric .m-rule { width:26px; height:1px; background:var(--champagne); }
.metric .m-lab { font-size:14px; line-height:1.5; color:var(--gray-d); max-width:190px; }

/* ---------- Vídeo de presentación ---------- */
.video-block { background:var(--navy-deep); color:var(--paper); }
.video-block .wrap { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(36px,5vw,72px); align-items:center; }
.video-block h2 { font-family:var(--serif); font-size:clamp(28px,3.6vw,44px); line-height:1.12; margin-top:20px; }
.video-block h2 em { font-style:italic; color:var(--champagne-soft); }
.video-block .v-text { font-size:clamp(16px,1.4vw,18px); line-height:1.7; color:#c3cbd4; margin:22px 0 0; max-width:440px; }
.video-frame { position:relative; aspect-ratio:16/9; width:100%; border:1px solid rgba(201,168,106,.4);
  background:linear-gradient(150deg, #11233a, #0a1623); overflow:hidden; cursor:pointer;
  display:flex; align-items:center; justify-content:center; }
.video-frame::before { content:''; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 11px); }
.video-frame .v-play { position:relative; width:84px; height:84px; border-radius:50%;
  background:rgba(246,242,234,.06); border:1px solid var(--champagne);
  display:flex; align-items:center; justify-content:center; transition:transform .35s var(--ease), background .35s var(--ease); }
.video-frame .v-play::after { content:''; width:0; height:0; margin-left:5px;
  border-left:20px solid var(--champagne); border-top:13px solid transparent; border-bottom:13px solid transparent;
  transition:border-left-color .35s var(--ease); }
.video-frame:hover .v-play { transform:scale(1.07); background:var(--champagne); }
.video-frame:hover .v-play::after { border-left-color:var(--navy); }
.video-frame .v-ring { position:absolute; width:84px; height:84px; border-radius:50%; border:1px solid rgba(201,168,106,.5);
  animation:vpulse 2.6s ease-out infinite; }
@keyframes vpulse { 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.9); opacity:0; } }
.video-frame .v-tag { position:absolute; bottom:16px; left:18px; font-size:11.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--champagne-soft); }
.video-frame .v-dur { position:absolute; top:16px; right:18px; font-family:var(--serif); font-size:15px; color:#aeb7c1; }

/* ---------- Logos / instituciones (cards premium, imágenes reales) ---------- */
.logos .sec-head { max-width:720px; }
.logos-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:48px; }
.logo-cell { flex:0 1 calc(25% - 14px); background:#fff; border:1px solid var(--paper-line); border-radius:3px;
  min-height:150px; display:flex; align-items:center; justify-content:center; padding:24px 30px;
  box-shadow:0 1px 2px rgba(12,26,43,.04);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.logo-cell:hover { transform:translateY(-5px); box-shadow:0 22px 44px -24px rgba(12,26,43,.22); border-color:#dcd0b4; }
.logo-img { display:block; width:auto; height:auto; max-height:82px; max-width:78%; object-fit:contain; }
.logo-img.wide { max-height:62px; max-width:94%; }
.logo-img.tall { max-height:104px; max-width:70%; }
/* respaldo de texto SOLO si una imagen fallara (se inyecta vía onerror) */
.logo-word { font-family:var(--serif); font-size:clamp(18px,2vw,23px); letter-spacing:.02em; color:#33414f;
  text-align:center; line-height:1.1; }

/* ---------- He estado dentro ---------- */
.inside { text-align:center; }
.inside .inside-mark { font-family:var(--serif); font-size:64px; line-height:.5; height:30px;
  display:block; color:var(--champagne); margin:0 auto; }
.inside .eyebrow { margin:30px 0 26px; }
.inside .inside-h { font-family:var(--serif); font-weight:300; font-size:clamp(28px,4.4vw,52px);
  line-height:1.18; letter-spacing:-.015em; max-width:1000px; margin:0 auto; color:var(--ink); }
.inside .inside-h em { font-style:italic; color:#b08a3e; }
.inside .inside-rule { width:0; height:1px; background:var(--champagne); margin:38px auto 0; }
.inside .inside-rule.in { width:130px; }

/* ---------- Auditoría estratégica (oferta) ---------- */
.auditoria .audit-panel { display:grid; grid-template-columns:1fr 1px 1.05fr; gap:0;
  background:#fff; border:1px solid var(--paper-line); box-shadow:0 30px 70px -38px rgba(12,26,43,.4); }
.audit-left { padding:clamp(32px,4vw,52px); }
.audit-left .a-badge { display:inline-flex; align-items:center; gap:9px; font-size:11.5px; letter-spacing:.2em;
  text-transform:uppercase; color:#a9863f; font-weight:600; }
.audit-left .a-badge::before { content:''; width:7px; height:7px; background:var(--champagne); transform:rotate(45deg); }
.audit-left h2 { font-family:var(--serif); font-size:clamp(26px,3.2vw,40px); line-height:1.12; margin:18px 0 0; }
.audit-left .a-desc { font-size:clamp(15px,1.4vw,17px); line-height:1.7; color:var(--gray-d); margin:18px 0 28px; }
.audit-meta { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:30px; }
.audit-dur { display:flex; flex-direction:column; gap:3px; padding-right:20px; border-right:1px solid var(--paper-line); }
.audit-dur .ad-n { font-family:var(--serif); font-size:24px; color:var(--ink); }
.audit-dur .ad-l { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gray-paper); }
.audit-divider { background:var(--paper-line); }
.audit-right { padding:clamp(32px,4vw,52px); background:var(--paper); }
.audit-right .ar-title { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray-paper);
  font-weight:600; margin-bottom:8px; }
.audit-list { list-style:none; padding:0; margin:0; }
.audit-list li { display:flex; gap:14px; align-items:flex-start; padding:15px 0; border-top:1px solid var(--paper-line);
  font-size:15.5px; line-height:1.45; color:var(--ink); }
.audit-list li:first-child { border-top:0; }
.audit-list li .tick { flex-shrink:0; width:20px; height:20px; margin-top:1px; border:1px solid var(--champagne);
  border-radius:50%; display:flex; align-items:center; justify-content:center; }
.audit-list li .tick svg { width:10px; height:10px; stroke:#a9863f; }

/* ---------- Casos reales anónimos ---------- */
.casos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:50px; }
.caso-card { background:#fff; border:1px solid var(--paper-line); padding:34px 30px 32px;
  display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.caso-card:hover { transform:translateY(-5px); box-shadow:0 26px 50px -26px rgba(12,26,43,.26); border-color:#d8c9a8; }
.caso-card .caso-type { font-family:var(--serif); font-size:21px; color:var(--ink); padding-bottom:18px;
  margin-bottom:4px; border-bottom:1px solid var(--paper-line); }
.caso-card .caso-type::before { content:''; display:inline-block; width:8px; height:8px; background:var(--champagne);
  transform:rotate(45deg); margin-right:11px; vertical-align:middle; }
.caso-row { padding:16px 0 0; }
.caso-row .cr-l { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#a9863f; font-weight:600; display:block; margin-bottom:6px; }
.caso-row p { margin:0; font-size:14.5px; line-height:1.6; color:var(--gray-d); }
.caso-row.result p { color:var(--ink); font-family:var(--serif); font-size:16px; line-height:1.5; }

/* ---------- Newsletter ---------- */
.newsletter { text-align:center; position:relative; overflow:hidden; }
.newsletter .hero-glow { top:auto; bottom:-40%; left:50%; transform:translateX(-50%); right:auto; width:80vw; height:60vw; }
.newsletter .wrap { position:relative; }
.newsletter .nl-eyebrow { margin-bottom:22px; }
.newsletter h2 { font-family:var(--serif); font-weight:300; font-size:clamp(30px,4.4vw,54px); line-height:1.1; }
.newsletter h2 em { font-style:italic; color:var(--champagne-soft); }
.newsletter p { font-size:clamp(16px,1.4vw,18.5px); line-height:1.7; color:#c3cbd4; max-width:600px; margin:24px auto 36px; }
.newsletter .nl-meta { display:inline-flex; align-items:center; gap:10px; margin-bottom:34px; font-size:13px;
  letter-spacing:.04em; color:var(--gray); }
.newsletter .nl-meta b { color:var(--champagne-soft); font-weight:600; }
.newsletter .nl-dot { width:5px; height:5px; border-radius:50%; background:var(--champagne); }

/* ---------- Conferencias ---------- */
.conferencias .wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(36px,5vw,72px); align-items:start; }
.conf-intro p { font-size:clamp(16px,1.4vw,18px); line-height:1.75; color:var(--gray-d); margin:22px 0 0; }
.conf-auth { margin-top:30px; padding-top:22px; border-top:1px solid var(--paper-line);
  font-family:var(--serif); font-style:italic; font-size:16px; line-height:1.5; color:#5b5446; }
.conf-auth b { font-style:normal; color:#a9863f; font-weight:600; }
.conf-list { list-style:none; padding:0; margin:0; }
.conf-list li { display:grid; grid-template-columns:44px 1fr; gap:20px; align-items:baseline;
  padding:24px 0; border-top:1px solid var(--paper-line); transition:padding-left .35s var(--ease); }
.conf-list li:first-child { border-top:0; }
.conf-list li:hover { padding-left:10px; }
.conf-list li .cl-n { font-family:var(--serif); font-size:18px; color:#b08a3e; }
.conf-list li .cl-t { font-family:var(--serif); font-size:clamp(18px,1.9vw,22px); line-height:1.3; color:var(--ink); }

/* ---------- Biblioteca de ideas (4 cards) ---------- */
.ideas-grid.lib { grid-template-columns:repeat(4,1fr); }
.idea-card .soon { position:absolute; top:34px; right:34px; font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--champagne); border:1px solid rgba(201,168,106,.4); padding:5px 10px; border-radius:30px; }
.idea-card.lib h3 { font-style:normal; font-size:23px; }
.idea-card.lib .il-num { font-family:var(--serif); font-size:14px; color:var(--champagne); }

/* ---------- responsive V3 ---------- */
@media (max-width:1000px) {
  .metrics-grid { grid-template-columns:repeat(3,1fr); }
  .metric:nth-child(1), .metric:nth-child(2), .metric:nth-child(3) { border-top:0; }
  .metric:nth-child(4) { border-left:0; }
  .metric:nth-child(n+4) { border-top:1px solid var(--paper-line); }
  .video-block .wrap { grid-template-columns:1fr; gap:30px; }
  .logos-grid { gap:16px; }
  .logo-cell { flex:0 1 calc(33.333% - 11px); }
  .auditoria .audit-panel { grid-template-columns:1fr; }
  .audit-divider { display:none; }
  .audit-right { border-top:1px solid var(--paper-line); }
  .casos-grid { grid-template-columns:1fr; max-width:560px; }
  .conferencias .wrap { grid-template-columns:1fr; gap:30px; }
  .ideas-grid.lib { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px) {
  .metrics-grid { grid-template-columns:1fr 1fr; }
  .metric { border-left:1px solid var(--paper-line); border-top:1px solid var(--paper-line); padding:24px 18px; }
  .metric:nth-child(1), .metric:nth-child(2) { border-top:0; }
  .metric:nth-child(odd) { border-left:0; }
  .metric .m-lab { max-width:none; }
  .logo-cell { flex:0 1 calc(50% - 8px); min-height:128px; padding:22px 22px; }
  .logo-img { max-height:66px; max-width:84%; }
  .logo-img.wide { max-height:52px; max-width:96%; }
  .logo-img.tall { max-height:84px; }
  .ideas-grid.lib { grid-template-columns:1fr; }
  .idea-card .soon { top:28px; right:28px; }
  .audit-meta { gap:14px; }
}
@media (max-width:380px) {
  .metrics-grid { grid-template-columns:1fr; }
  .metric { border-left:0 !important; }
  .metric:nth-child(1) { border-top:0; }
  .metric:nth-child(n+2) { border-top:1px solid var(--paper-line); }
}

/* =========================================================
   ============  V4 · ACABADO VISUAL PREMIUM  =============
   ========================================================= */

/* línea champagne que se dibuja al entrar (separador de sección) */
.gold-rule { width:0; height:1px; background:var(--champagne); margin:0 0 4px; transition:width 1s var(--ease); }
.gold-rule.in { width:120px; }
.gold-rule.center { margin-left:auto; margin-right:auto; }

/* ---------- Por qué Enrique ---------- */
.porque { position:relative; }
.porque .porque-head { max-width:780px; margin-bottom:50px; }
.porque .porque-lead { font-family:var(--serif); font-weight:300; font-size:clamp(24px,3vw,38px);
  line-height:1.22; letter-spacing:-.01em; color:var(--paper); margin:22px 0 0; }
.porque .porque-lead em { font-style:italic; color:var(--champagne-soft); }
.porque-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.porque-card { border:1px solid rgba(246,242,234,.14); padding:34px 28px 30px; position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
  transition:border-color .4s var(--ease), transform .4s var(--ease), background .4s var(--ease); }
.porque-card:hover { border-color:rgba(201,168,106,.5); transform:translateY(-5px);
  background:linear-gradient(180deg, rgba(201,168,106,.06), transparent); }
.porque-card .pc-ico { width:44px; height:44px; color:var(--champagne); margin-bottom:22px; }
.porque-card .pc-ico svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.porque-card h3 { font-family:var(--serif); font-size:21px; color:var(--paper); margin:0 0 9px; font-weight:400; }
.porque-card p { font-size:14px; line-height:1.55; color:#aeb7c1; margin:0; }
.porque-card .pc-n { position:absolute; top:30px; right:28px; font-size:12px; letter-spacing:.18em; color:var(--gray); }

/* ---------- Decisiones que impactan en la matrícula · framework de palancas ---------- */
.decisiones .dec-head { max-width:820px; margin-bottom:18px; }
.decisiones .dec-text { max-width:700px; }

.lever-fw { margin-top:52px; display:grid; grid-template-columns:minmax(300px,400px) 1fr; gap:26px; align-items:start; }
.lever-rail { display:flex; flex-direction:column; gap:12px; }
.lever-item { position:relative; }

/* botón cabecera de palanca */
.lever-head { width:100%; display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:16px;
  background:rgba(246,242,234,.035); border:1px solid rgba(246,242,234,.12); border-radius:4px;
  padding:18px 20px; cursor:pointer; text-align:left; color:var(--paper);
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease); }
.lever-head:hover { background:rgba(201,168,106,.08); border-color:rgba(201,168,106,.4); }
.lever-head:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(201,168,106,.4); }
.lever-item.active .lever-head { background:linear-gradient(100deg, rgba(201,168,106,.16), rgba(201,168,106,.05));
  border-color:var(--champagne); }
.lever-item.active .lever-head::before { content:''; position:absolute; left:0; top:14px; bottom:14px; width:3px; background:var(--champagne); border-radius:3px; }
.lever-head .lh-num { font-family:var(--serif); font-size:15px; color:var(--champagne); width:24px; }
.lever-head .lh-ico { width:30px; height:30px; display:flex; align-items:center; justify-content:center; }
.lever-head .lh-ico svg { width:23px; height:23px; stroke:var(--champagne); fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .35s var(--ease); }
.lever-item.active .lever-head .lh-ico svg { transform:scale(1.08); }
.lever-head .lh-title { font-family:var(--serif); font-size:clamp(17px,1.7vw,20px); font-weight:400; line-height:1.2; color:var(--paper); }
.lever-head .lh-chev { width:18px; height:18px; display:none; }
.lever-head .lh-chev svg { width:18px; height:18px; stroke:var(--champagne); fill:none; stroke-width:1.6; transition:transform .35s var(--ease); }

/* cuerpo inline (acordeón móvil) */
.lever-inline { display:none; }
.lever-inline > div { overflow:hidden; }
.li-desc { margin:0; font-size:15.5px; line-height:1.6; color:#c9d1d9; }
.li-impact { margin-top:14px; padding-left:14px; border-left:1px solid rgba(201,168,106,.45); }
.li-impact .li-il { display:block; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--champagne); font-weight:600; margin-bottom:6px; }
.li-impact p { margin:0; font-size:14.5px; line-height:1.55; color:#aeb7c1; }

/* panel grande (escritorio) */
.lever-detail { position:relative; align-self:stretch; min-height:340px; overflow:hidden;
  background:linear-gradient(165deg, rgba(22,49,79,.6), rgba(8,19,31,.55));
  border:1px solid rgba(201,168,106,.28); border-radius:5px; padding:clamp(30px,3.4vw,46px);
  box-shadow:inset 0 0 0 1px rgba(246,242,234,.03), 0 30px 60px -36px rgba(0,0,0,.6); }
.lever-detail .ld-watermark { position:absolute; top:14px; right:26px; font-family:var(--serif); font-size:120px; line-height:1; color:rgba(201,168,106,.10); pointer-events:none; }
.lever-detail .ld-ico { width:52px; height:52px; border:1px solid rgba(201,168,106,.5); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:26px; }
.lever-detail .ld-ico svg { width:26px; height:26px; stroke:var(--champagne); fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.lever-detail .ld-eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--champagne); font-weight:600; }
.lever-detail .ld-title { font-family:var(--serif); font-weight:300; font-size:clamp(26px,3vw,36px); line-height:1.1; color:var(--paper); margin:10px 0 0; }
.lever-detail .ld-desc { font-size:clamp(16px,1.4vw,18px); line-height:1.65; color:#c9d1d9; margin:20px 0 0; max-width:54ch; }
.lever-detail .ld-impact { margin-top:26px; padding:20px 22px; background:rgba(201,168,106,.07); border-left:2px solid var(--champagne); border-radius:0 3px 3px 0; }
.lever-detail .ld-impact .ld-il { display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--champagne); font-weight:600; margin-bottom:8px; }
.lever-detail .ld-impact .ld-impact-text { margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.5vw,19px); line-height:1.5; color:#e7e0d2; }
.lever-detail .ld-fade { animation:leverFade .45s var(--ease); }
@keyframes leverFade { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }

/* CTA interno */
.lever-cta { margin-top:44px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;
  padding-top:32px; border-top:1px solid rgba(246,242,234,.13); }
.lever-cta p { margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(18px,2vw,23px); line-height:1.4; color:var(--paper); max-width:560px; }

/* sin JS: mostrar bodies inline como fallback legible */
html:not(.js) .lever-detail { display:none; }
html:not(.js) .lever-inline { display:block; margin:10px 0 4px; padding:0 4px; }
html:not(.js) .lever-inline > div { overflow:visible; }

/* móvil/tablet: acordeón vertical */
@media (max-width:1000px) {
  html.js .lever-detail { display:none; }
  html.js .lever-head .lh-chev { display:flex; align-items:center; justify-content:center; }
  html.js .lever-item.active .lever-head .lh-chev svg { transform:rotate(180deg); }
  html.js .lever-inline { display:grid; grid-template-rows:0fr; transition:grid-template-rows .42s var(--ease); }
  html.js .lever-item.active .lever-inline { grid-template-rows:1fr; }
  html.js .lever-inline > .li-wrap { overflow:hidden; }
  html.js .lever-inline .li-pad { padding:16px 6px 8px; }
  .lever-head { grid-template-columns:auto auto 1fr auto; }
}

/* ---------- Auditoría: resultado esperado ---------- */
.audit-result { margin-top:22px; padding:20px 0 0; border-top:1px solid var(--paper-line); display:flex; gap:14px; align-items:flex-start; }
.audit-result .ar-ico { flex-shrink:0; width:24px; height:24px; color:#a9863f; }
.audit-result .ar-ico svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.audit-result .ar-txt { font-size:14.5px; line-height:1.55; color:var(--gray-d); }
.audit-result .ar-txt b { color:var(--ink); font-weight:600; }

/* ---------- Casos: etiquetas Reto/Intervención/Impacto ---------- */
.caso-card .caso-row .cr-l { display:inline-flex; align-items:center; gap:7px; }
.caso-card .caso-row .cr-l::before { content:''; width:14px; height:1px; background:var(--champagne); }

/* ---------- Newsletter editorial ---------- */
.newsletter .wrap { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,5vw,72px); align-items:center; text-align:left; }
.newsletter.nl-v4 { text-align:left; }
.nl-copy h2 { font-family:var(--serif); font-weight:300; font-size:clamp(30px,4vw,50px); line-height:1.1; }
.nl-copy h2 em { font-style:italic; color:var(--champagne-soft); }
.nl-copy p { color:#c3cbd4; max-width:460px; margin:22px 0 30px; font-size:clamp(16px,1.4vw,18px); line-height:1.7; }
.nl-copy .nl-cta { display:flex; }
.nl-card { position:relative; }
.nl-letter { background:var(--paper); color:var(--ink); padding:34px 34px 30px; position:relative;
  box-shadow:0 40px 80px -34px rgba(0,0,0,.6); transform:rotate(-1.4deg); transition:transform .5s var(--ease); }
.newsletter:hover .nl-letter { transform:rotate(0); }
.nl-letter::before { content:''; position:absolute; inset:9px; border:1px solid var(--paper-line); pointer-events:none; }
.nl-letter .nll-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--paper-line); }
.nl-letter .nll-mono { font-family:var(--serif); font-size:18px; letter-spacing:.12em; color:var(--navy); }
.nl-letter .nll-mono b { color:#a9863f; }
.nl-letter .nll-tag { font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--gray-paper); }
.nl-letter h4 { font-family:var(--serif); font-weight:400; font-size:23px; line-height:1.2; margin:20px 0 10px; color:var(--ink); }
.nl-letter .nll-ex { font-size:13.5px; line-height:1.6; color:var(--gray-d); margin:0; }
.nl-letter .nll-lines { margin-top:18px; display:flex; flex-direction:column; gap:8px; }
.nl-letter .nll-lines span { height:1px; background:var(--paper-line); }
.nl-letter .nll-lines span:nth-child(2){ width:88%; } .nl-letter .nll-lines span:nth-child(3){ width:72%; }
.nl-seal { position:absolute; bottom:-22px; right:-14px; width:96px; height:96px; border-radius:50%;
  background:var(--champagne); color:var(--navy); display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; box-shadow:0 16px 36px rgba(0,0,0,.34); transform:rotate(6deg); }
.nl-seal .ns-n { font-family:var(--serif); font-size:22px; line-height:1; }
.nl-seal .ns-l { font-size:8.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; margin-top:3px; }

/* ---------- Conferencias: grid de temas ---------- */
.conf-temas { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; }
.conf-tema { background:#fff; border:1px solid var(--paper-line); padding:26px 24px; position:relative;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.conf-tema:hover { transform:translateY(-4px); box-shadow:0 22px 44px -26px rgba(12,26,43,.24); border-color:#d8c9a8; }
.conf-tema .ct-n { font-family:var(--serif); font-size:14px; color:#b08a3e; }
.conf-tema h3 { font-family:var(--serif); font-weight:400; font-size:19px; line-height:1.25; color:var(--ink); margin:10px 0 0; }
.conf-v4 .conf-head { max-width:760px; margin-bottom:8px; }
.conf-stage { display:flex; align-items:center; gap:13px; margin-top:26px; padding-top:22px; border-top:1px solid var(--paper-line); }
.conf-stage .cs-ico { width:30px; height:30px; color:#a9863f; flex-shrink:0; }
.conf-stage .cs-ico svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.conf-stage .cs-txt { font-family:var(--serif); font-style:italic; font-size:15.5px; line-height:1.45; color:#5b5446; }
.conf-stage .cs-txt b { font-style:normal; color:#a9863f; font-weight:600; }

/* ---------- Biblioteca: link card ---------- */
a.idea-card { text-decoration:none; display:block; }
.idea-card .il-go { display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-family:var(--sans);
  font-size:12.5px; letter-spacing:.04em; color:var(--champagne); font-weight:600; opacity:.85; transition:gap .3s var(--ease), opacity .3s var(--ease); }
.idea-card .il-go svg { width:13px; height:13px; }
a.idea-card:hover .il-go { gap:13px; opacity:1; }

/* ---------- Form: estados de error + loading ---------- */
.field.error input, .field.error select, .field.error textarea { border-color:#b4452f; box-shadow:0 0 0 3px rgba(180,69,47,.12); }
.field .err-msg { display:none; font-size:12px; color:#b4452f; margin-top:2px; }
.field.error .err-msg { display:block; }
.field-check.error span { color:#b4452f; }
.field-check.error input { border-color:#b4452f; }
.btn-gold.loading { pointer-events:none; opacity:.85; }
.btn-gold.loading svg { display:none; }
.btn-spin { width:15px; height:15px; border:2px solid rgba(12,26,43,.3); border-top-color:var(--navy); border-radius:50%;
  animation:btnspin .7s linear infinite; }
@keyframes btnspin { to { transform:rotate(360deg); } }

/* ---------- responsive V4 ---------- */
@media (max-width:1000px) {
  .porque-grid { grid-template-columns:1fr 1fr; }
  .lever-fw { grid-template-columns:1fr; gap:0; }
  .newsletter .wrap { grid-template-columns:1fr; gap:54px; }
  .nl-card { max-width:420px; }
  .conf-temas { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
  .porque-grid { grid-template-columns:1fr; }
  .conf-temas { grid-template-columns:1fr; }
  .newsletter.nl-v4 { text-align:left; }
  .lever-cta { flex-direction:column; align-items:flex-start; }
  .lever-cta .btn { width:100%; justify-content:center; }
}

/* =========================================================
   ============  V9 · IMPACTO Y CONVERSIÓN  ===========
   ========================================================= */
/* hero: panel estratégico de diagnóstico */
.hero .hero-scroll { display:none; }
.hero-diag { position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) clamp(40px,6vh,72px); }
.hd-inner { display:grid; grid-template-columns:1.3fr 1.2fr auto; align-items:center; gap:clamp(20px,3vw,40px);
  background:linear-gradient(120deg, rgba(22,49,79,.55), rgba(8,19,31,.5)); border:1px solid rgba(201,168,106,.32);
  border-radius:6px; padding:24px clamp(22px,3vw,34px); box-shadow:0 30px 60px -38px rgba(0,0,0,.6); }
.hd-q { display:flex; flex-direction:column; gap:8px; }
.hd-eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--champagne); font-weight:600; }
.hd-title { font-family:var(--serif); font-weight:400; font-size:clamp(18px,1.9vw,22px); line-height:1.25; color:var(--paper); }
.hd-points { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; }
.hd-points li { display:flex; align-items:center; gap:11px; font-size:14.5px; color:#c9d1d9; }
.hd-dot { width:7px; height:7px; flex-shrink:0; background:var(--champagne); transform:rotate(45deg); }
.hd-cta { white-space:nowrap; }

/* caja de confianza sobre el formulario */
.trust-box { display:flex; align-items:flex-start; gap:14px; margin-top:26px; padding:18px 20px;
  background:#fff; border:1px solid var(--paper-line); border-left:3px solid var(--champagne); border-radius:0 4px 4px 0; }
.trust-box .tb-ico { flex-shrink:0; width:26px; height:26px; }
.trust-box .tb-ico svg { width:26px; height:26px; stroke:#a9863f; }
.trust-box span:last-child { font-size:14.5px; line-height:1.55; color:var(--gray-d); }

/* barra sticky de conversión */
.cta-sticky { position:fixed; left:0; right:0; bottom:0; z-index:1150; transform:translateY(120%);
  transition:transform .45s var(--ease); pointer-events:none; }
.cta-sticky.show { transform:translateY(0); pointer-events:auto; }
.cs-inner { max-width:var(--maxw); margin:0 auto; display:flex; align-items:center; gap:18px;
  background:var(--navy-deep); border:1px solid rgba(201,168,106,.4); border-bottom:0; border-radius:8px 8px 0 0;
  padding:14px 20px; box-shadow:0 -16px 44px rgba(4,10,18,.4); }
.cs-text { flex:1; font-size:14.5px; line-height:1.4; color:var(--paper); min-width:0; }
.cs-btn { flex-shrink:0; padding:12px 22px; font-size:13.5px; }
.cs-close { flex-shrink:0; width:32px; height:32px; border-radius:50%; border:1px solid rgba(246,242,234,.25);
  background:transparent; color:var(--gray); font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:border-color .25s, color .25s; }
.cs-close:hover { border-color:var(--champagne); color:var(--champagne); }

@media (max-width:760px) {
  .hd-inner { grid-template-columns:1fr; gap:18px; text-align:left; }
  .hd-cta { width:100%; justify-content:center; }
  .cs-inner { gap:12px; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); border-radius:0; }
  .cs-text { display:none; }
  .cs-btn { flex:1; justify-content:center; }
}

/* =========================================================
   ============  V6 · VÍDEOS  ===========
   ========================================================= */
.videos .videos-micro { margin:18px 0 0; font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.6vw,19px); color:#a9863f; }

/* grid compacto 4×2 */
.videos-grid { margin-top:48px; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.video-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--paper-line); border-radius:5px;
  overflow:hidden; text-decoration:none; color:inherit;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease); }
.video-card:hover { transform:translateY(-5px); box-shadow:0 22px 42px -26px rgba(12,26,43,.28); border-color:#d8c9a8; }
.video-card:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(201,168,106,.45); }
.vc-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--navy); }
.vc-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.video-card:hover .vc-thumb img { transform:scale(1.05); }
.vc-cat { position:absolute; left:10px; bottom:10px; z-index:2; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--paper); font-weight:600; background:rgba(8,19,31,.7); backdrop-filter:blur(3px); padding:5px 10px; border-radius:30px; }
.vc-body { display:flex; flex-direction:column; gap:10px; padding:16px 16px 16px; flex:1; }
.vc-title { font-family:var(--serif); font-weight:400; font-size:15.5px; line-height:1.32; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vc-go { margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.03em; color:#a9863f; font-weight:600; }
.vc-go svg { width:12px; height:12px; transition:transform .3s var(--ease); }
.video-card:hover .vc-go svg { transform:translate(2px,-2px); }

/* botón play */
.play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:46px; height:46px; z-index:2;
  border-radius:50%; background:rgba(12,26,43,.55); backdrop-filter:blur(3px); border:1px solid rgba(246,242,234,.5);
  display:flex; align-items:center; justify-content:center; transition:background .3s var(--ease), transform .3s var(--ease); }
.play-btn svg { width:19px; height:19px; fill:var(--paper); margin-left:2px; }
.video-card:hover .play-btn { background:var(--champagne); transform:translate(-50%,-50%) scale(1.08); }
.video-card:hover .play-btn svg { fill:var(--navy); }

.videos-cta { margin-top:38px; display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.videos-cta-note { margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.6vw,19px); color:var(--gray-d); max-width:520px; }

@media (max-width:1080px) {
  .videos-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px) {
  .videos-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:460px) {
  .videos-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .vc-thumb img, .play-btn { transition:none !important; }
}

/* =========================================================
   ============  V5 · CONVERSIÓN  ===========
   ========================================================= */
/* hero microfrase */
.hero-micro { margin:22px 0 0; font-size:14.5px; line-height:1.55; color:var(--champagne-soft);
  padding-left:16px; border-left:2px solid rgba(201,168,106,.5); max-width:440px; }

/* auditoría: para quién + qué recibe */
.audit-forwhom { margin:26px 0 4px; }
.audit-forwhom .afw-title { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#a9863f; font-weight:600; margin-bottom:14px; }
.audit-forwhom .afw-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.audit-forwhom .afw-list li { position:relative; padding-left:22px; font-size:14.5px; line-height:1.5; color:var(--gray-d); }
.audit-forwhom .afw-list li::before { content:''; position:absolute; left:0; top:8px; width:7px; height:7px; background:var(--champagne); transform:rotate(45deg); }
.ar-title-2 { margin-top:30px; }
.audit-deliver { list-style:none; padding:0; margin:0 0 6px; display:flex; flex-wrap:wrap; gap:8px; }
.audit-deliver li { font-size:13px; letter-spacing:.01em; color:var(--ink); background:#fff; border:1px solid var(--paper-line);
  border-radius:40px; padding:8px 15px; }

/* CTA contextual */
.ctx-cta { margin-top:50px; padding-top:34px; border-top:1px solid rgba(246,242,234,.13);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ctx-cta.on-paper { border-top-color:var(--paper-line); }
.ctx-cta p { margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(18px,2vw,23px); line-height:1.4; color:var(--paper); max-width:560px; }
.ctx-cta.on-paper p { color:var(--ink); }

/* proceso: qué ocurre después */
.proceso-steps { margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.proceso-step { position:relative; padding:30px 28px; background:rgba(246,242,234,.035);
  border:1px solid rgba(246,242,234,.12); border-radius:5px; transition:border-color .4s var(--ease), background .4s var(--ease); }
.proceso-step:hover { border-color:rgba(201,168,106,.4); background:rgba(201,168,106,.05); }
.proceso-step .ps-line { position:absolute; top:46px; right:-24px; width:24px; height:1px; background:linear-gradient(90deg, var(--champagne), transparent); }
.proceso-step .ps-num { font-family:var(--serif); font-size:34px; color:var(--champagne); line-height:1; }
.proceso-step h3 { font-family:var(--serif); font-weight:400; font-size:21px; color:var(--paper); margin:16px 0 12px; }
.proceso-step p { margin:0; font-size:15px; line-height:1.6; color:#aeb7c1; }
.proceso-cta { margin-top:40px; display:flex; justify-content:center; }

/* recursos / linktree */
.recursos-grid { margin-top:52px; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.recurso-card { background:#fff; border:1px solid var(--paper-line); border-radius:4px; padding:28px 26px 26px;
  position:relative; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.recurso-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:2px; background:var(--champagne); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.recurso-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(12,26,43,.26); border-color:#d8c9a8; }
.recurso-card:hover::before { transform:scaleX(1); }
.recurso-card .rc-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.recurso-card .rc-badge { font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:#a9863f; font-weight:600;
  border:1px solid #e0d2b0; border-radius:40px; padding:5px 12px; }
.recurso-card .rc-ico { width:34px; height:34px; display:flex; align-items:center; justify-content:center; }
.recurso-card .rc-ico svg { width:24px; height:24px; stroke:#b08a3e; fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.recurso-card h3 { font-family:var(--serif); font-weight:400; font-size:20px; line-height:1.2; color:var(--ink); margin:0 0 12px; }
.recurso-card p { margin:0; font-size:14px; line-height:1.6; color:var(--gray-d); }
.recursos-cta { margin-top:42px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.recursos-cta .recursos-note { margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.6vw,19px); color:var(--gray-d); max-width:440px; }
.recursos-btns { display:flex; gap:13px; flex-wrap:wrap; }

/* etiqueta opcional en form */
.field label .opt { font-weight:400; text-transform:none; letter-spacing:0; color:var(--gray-paper); font-size:11px; }

@media (max-width:1000px) {
  .recursos-grid { grid-template-columns:1fr 1fr; }
  .proceso-steps { grid-template-columns:1fr; gap:16px; }
  .proceso-step .ps-line { display:none; }
}
@media (max-width:680px) {
  .recursos-grid { grid-template-columns:1fr; }
  .ctx-cta, .recursos-cta { flex-direction:column; align-items:flex-start; }
  .ctx-cta .btn, .recursos-cta .btn { width:100%; justify-content:center; }
  .recursos-btns { width:100%; }
  .hero-micro { max-width:none; }
}
.subhero { background:var(--navy); color:var(--paper); position:relative; overflow:hidden;
  padding:clamp(120px,16vh,170px) var(--pad) clamp(56px,8vh,84px); }
.subhero .hero-grain { position:absolute; inset:0; opacity:.04; background-image:radial-gradient(rgba(255,255,255,.9) 1px, transparent 1px); background-size:4px 4px; pointer-events:none; }
.subhero .hero-glow { position:absolute; top:-30%; right:-10%; width:60vw; height:60vw; background:radial-gradient(circle, rgba(201,168,106,.10), transparent 62%); pointer-events:none; }
.subhero .wrap { position:relative; max-width:var(--maxw); margin:0 auto; }
.breadcrumb { font-family:var(--sans); font-size:12.5px; letter-spacing:.04em; color:var(--gray); margin-bottom:26px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.breadcrumb a { color:var(--champagne-soft); }
.breadcrumb a:hover { color:#fff; }
.breadcrumb span { opacity:.5; }
.subhero h1 { font-family:var(--serif); font-weight:300; font-size:clamp(32px,5vw,58px); line-height:1.08; letter-spacing:-.015em; max-width:15ch; }
.subhero h1 em { font-style:italic; color:var(--champagne-soft); }
.subhero .sub-rule { width:120px; height:1px; background:var(--champagne); margin:30px 0 26px; }
.subhero .sub-lead { font-size:clamp(16px,1.5vw,20px); line-height:1.65; color:#c3cbd4; max-width:620px; }
.subhero .sub-cta { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }

/* prosa editorial */
.prose { max-width:760px; }
.prose > .eyebrow { display:inline-block; margin-bottom:18px; }
.prose h2 { font-family:var(--serif); font-weight:400; font-size:clamp(24px,3vw,34px); line-height:1.18; color:var(--ink); margin:48px 0 0; letter-spacing:-.01em; }
.prose h2:first-child { margin-top:0; }
.prose h2 em { font-style:italic; color:#b08a3e; }
.prose h3 { font-family:var(--serif); font-weight:500; font-size:clamp(19px,2vw,23px); color:var(--ink); margin:32px 0 0; }
.prose p { font-size:clamp(16px,1.35vw,18px); line-height:1.8; color:var(--gray-d); margin:18px 0 0; }
.prose p a, .prose li a { color:#a9863f; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; transition:color .25s; }
.prose p a:hover, .prose li a:hover { color:#8c6c2f; }
.prose strong { color:var(--ink); font-weight:600; }
.prose ul { list-style:none; padding:0; margin:22px 0 0; }
.prose ul li { position:relative; padding:0 0 0 26px; margin:0 0 14px; font-size:clamp(15.5px,1.3vw,17.5px); line-height:1.65; color:var(--gray-d); }
.prose ul li::before { content:''; position:absolute; left:0; top:11px; width:8px; height:8px; background:var(--champagne); transform:rotate(45deg); }
.prose .lead-p { font-family:var(--serif); font-size:clamp(19px,2.2vw,25px); line-height:1.5; color:var(--ink); font-weight:300; }
.prose blockquote { margin:38px 0 0; padding:8px 0 8px 28px; border-left:2px solid var(--champagne);
  font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.2vw,24px); line-height:1.45; color:var(--ink); }
.prose .meta-line { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13px; color:var(--gray-paper); margin-bottom:30px; letter-spacing:.02em; }
.prose .meta-line b { color:#a9863f; font-weight:600; }

/* layout artículo con aside */
.article-wrap { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 300px; gap:clamp(36px,5vw,72px); align-items:start; }
.aside-card { position:sticky; top:100px; background:#fff; border:1px solid var(--paper-line); padding:30px 28px; border-radius:3px; box-shadow:0 18px 40px -28px rgba(12,26,43,.3); }
.aside-card .ac-eyebrow { font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:#a9863f; font-weight:600; }
.aside-card h3 { font-family:var(--serif); font-weight:400; font-size:21px; line-height:1.2; color:var(--ink); margin:12px 0 10px; }
.aside-card p { font-size:14px; line-height:1.6; color:var(--gray-d); margin:0 0 20px; }
.aside-links { margin-top:8px; }
.aside-links a { display:flex; align-items:center; gap:10px; padding:12px 0; border-top:1px solid var(--paper-line); font-size:14.5px; color:var(--ink); transition:color .25s, padding-left .25s; }
.aside-links a:hover { color:#a9863f; padding-left:5px; }
.aside-links a::before { content:'›'; color:var(--champagne); font-size:18px; }

/* grid de cards de servicio (hub interno) */
.link-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:50px; }
.link-card { display:block; background:#fff; border:1px solid var(--paper-line); border-radius:3px; padding:32px 30px 28px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); position:relative; overflow:hidden; }
.link-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:2px; background:var(--champagne); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.link-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(12,26,43,.28); border-color:#d8c9a8; }
.link-card:hover::before { transform:scaleX(1); }
.link-card .lc-n { font-family:var(--serif); font-size:15px; color:#b08a3e; }
.link-card h3 { font-family:var(--serif); font-weight:400; font-size:22px; line-height:1.22; color:var(--ink); margin:14px 0 12px; }
.link-card p { font-size:14.5px; line-height:1.6; color:var(--gray-d); margin:0 0 18px; }
.link-card .lc-go { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:.04em; color:#a9863f; font-weight:600; }
.link-card .lc-go svg { width:13px; height:13px; }

/* footer: columna servicios (4 columnas) */
.footer-top.cols4 { grid-template-columns:1.5fr 1fr 1fr 1fr; }
.serv-card .lc-go { display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-size:12.5px; letter-spacing:.04em; color:#a9863f; font-weight:600; transition:gap .3s var(--ease); }
.serv-card .lc-go svg { width:13px; height:13px; }
.serv-card:hover .lc-go { gap:13px; }

@media (max-width:1000px) {
  .article-wrap { grid-template-columns:1fr; }
  .aside-card { position:static; max-width:520px; }
  .link-grid { grid-template-columns:1fr 1fr; }
  .footer-top.cols4 { grid-template-columns:1fr 1fr; }
  .footer-top.cols4 .footer-brand { grid-column:1/-1; }
}
@media (max-width:680px) {
  .link-grid { grid-template-columns:1fr; }
  .footer-top.cols4 { grid-template-columns:1fr; }
}
