/* ╔══════════════════════════════════════════════════════════════╗
   ║  ABL · Caviar Editorial v3 — Tokens canónicos                 ║
   ╚══════════════════════════════════════════════════════════════╝ */
:root{
  /* Identidad ABL */
  --gold:        #ab8337;
  --gold-hover:  #c9a052;
  --black:       #1e1e1f;
  --marble:      #e5e4e4;
  --white:       #ffffff;

  /* Backgrounds por sección */
  --bg-hero:        #0e0e0f;
  --bg-problema:    #111112;
  --bg-servicios:   #0e0e0f;
  --bg-seal:        #111112;
  --bg-proceso:     #0e0e0f;
  --bg-stats:       #111112;
  --bg-equipo:      #0e0e0f;
  --bg-test:        #111112;
  --bg-blog:        #0e0e0f;
  --bg-cursos:      #111112;
  --bg-footer:      #0a0a0b;

  /* TXL acentos */
  --txl-olive:      #74715e;
  --txl-caviar:     #3d3836;
  --txl-cream:      #c3bfa3;

  --muted:          rgba(229,228,228,.62);
  --muted-2:        rgba(229,228,228,.42);
  --hairline:       rgba(171,131,55,.45);
  --hairline-soft:  rgba(229,228,228,.10);

  --ff: "Montserrat", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

  --display:     clamp(2.6rem, 6.4vw, 6rem);
  --h1:          clamp(2rem, 4.2vw, 3.6rem);
  --h2:          clamp(1.6rem, 2.8vw, 2.4rem);
  --eyebrow:     .72rem;
  --tracking:    .22em;
  --tracking-xl: .42em;

  --ease-hero:   cubic-bezier(0.77, 0, 0.175, 1);
  --ease-soft:   cubic-bezier(.4,0,.2,1);

  --bs-body-bg:      var(--bg-hero);
  --bs-body-color:   var(--marble);
  --bs-body-font-family: var(--ff);
}

*{ -webkit-font-smoothing: antialiased; box-sizing: border-box; }
html,body{ background: var(--bg-hero); color: var(--marble); margin: 0; }
body{ font-family: var(--ff); font-weight: 400; cursor: none; }
::selection{ background: var(--gold); color: var(--bg-hero); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  GRAIN OVERLAY GLOBAL                                         ║
   ╚══════════════════════════════════════════════════════════════╝ */
body::after{
  content:""; position: fixed; inset: 0; pointer-events: none; z-index: 9999;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNDAnIGhlaWdodD0nMjQwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC42NScgbnVtT2N0YXZlcz0nMicgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjkgIDAgMCAwIDAgMC45ICAwIDAgMCAwIDAuOSAgMCAwIDAgMSAwJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzI0MCcgaGVpZ2h0PScyNDAnIGZpbHRlcj0ndXJsKCNuKScgb3BhY2l0eT0nMScvPjwvc3ZnPg==");
  background-size: 240px 240px;
  opacity: .055;
  mix-blend-mode: overlay;
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  SCROLL PROGRESS                                              ║
   ╚══════════════════════════════════════════════════════════════╝ */
#scroll-progress{
  position: fixed; top: 0; left: 0; right: 0;
  height: 2px; z-index: 10001; background: transparent;
}
#scroll-progress::after{
  content:""; display:block; height: 100%; width: var(--p, 0%);
  background: var(--gold); box-shadow: 0 0 12px rgba(171,131,55,.6);
  transition: width .08s linear;
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  CURSOR PERSONALIZADO                                         ║
   ╚══════════════════════════════════════════════════════════════╝ */
#cursor{
  position: fixed; top: 0; left: 0;
  width: 8px; height: 8px; background: var(--gold);
  border-radius: 50%; pointer-events: none; z-index: 10000;
  transform: translate(-50%,-50%);
  transition: width .25s var(--ease-soft), height .25s var(--ease-soft),
              background .2s var(--ease-soft), opacity .2s, mix-blend-mode .2s;
}
#cursor.lg{
  width: 40px; height: 40px; background: var(--gold-hover);
  opacity: .35; mix-blend-mode: difference;
}
@media (hover: none), (max-width: 768px){
  body{ cursor: auto; } #cursor{ display: none; }
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Tipografía                                                   ║
   ╚══════════════════════════════════════════════════════════════╝ */
.eyebrow{
  font-size: var(--eyebrow); font-weight: 500;
  letter-spacing: var(--tracking); text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: .8rem;
}
.eyebrow::before{ content: ""; width: 28px; height: 1px; background: var(--gold); }
.eyebrow-sm{
  font-size: .68rem; font-weight: 600; letter-spacing: var(--tracking-xl);
  text-transform: uppercase; color: var(--gold);
}

h1,h2,h3,h4{ font-family: var(--ff); color: var(--marble); margin: 0; }
.display{ font-weight: 900; font-size: var(--display); line-height: .96; letter-spacing: -.022em; }
.h-editorial{ font-weight: 900; font-size: var(--h1); line-height: 1.02; letter-spacing: -.018em; }
.h-section{ font-weight: 700; font-size: var(--h2); line-height: 1.08; letter-spacing: -.01em; }
.lede{ font-weight: 300; font-size: clamp(1.05rem, 1.3vw, 1.3rem); line-height: 1.55; color: var(--muted); max-width: 62ch; }
.gold-accent{ color: var(--gold); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Layout                                                       ║
   ╚══════════════════════════════════════════════════════════════╝ */
.section{ padding: clamp(96px, 12vw, 160px) 0; position: relative; overflow: hidden; }
.container{ max-width: 1320px; position: relative; z-index: 2; }

.bg-hero{      background: var(--bg-hero); }
.bg-problema{  background: var(--bg-problema); position: relative; }
.bg-problema::before{
  content:""; position:absolute; left:0; right:0; top:0; height: 320px;
  background: linear-gradient(180deg, rgba(171,131,55,.06), transparent);
  pointer-events:none;
}
.bg-servicios{ background: var(--bg-servicios); }
.bg-seal{      background: var(--bg-seal); }
.bg-proceso{   background: var(--bg-proceso); }
.bg-stats{
  background:
    radial-gradient(circle, rgba(229,228,228,.06) 1px, transparent 1px),
    var(--bg-stats);
  background-size: 28px 28px;
}
.bg-equipo{    background: var(--bg-equipo); }
.bg-test{      background: var(--bg-test); }
.bg-blog{      background: var(--bg-blog); }
.bg-cursos{
  background:
    radial-gradient(70% 50% at 50% 0%, rgba(171,131,55,.08), transparent 60%),
    var(--bg-cursos);
}

/* Sticky eyebrow */
@media(min-width: 992px){
  .sticky-eyebrow{ position: sticky; top: 96px; z-index: 3; align-self: flex-start; }
}

/* Leaf watermark */
@keyframes breathe {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50%       { transform: scale(1.04) rotate(2deg); }
}
.leaf-wm{
  position: absolute; pointer-events: none; opacity: .045;
  width: clamp(320px, 38vw, 560px); aspect-ratio: 1/1.4;
  animation: breathe 8s ease-in-out infinite; z-index: 0;
}
.leaf-wm svg{ width: 100%; height: 100%; }
.leaf-wm path{ fill: var(--gold); }
.leaf-wm.tr{ top: -8%; right: -6%; transform-origin: top right; }
.leaf-wm.bl{ bottom: -10%; left: -6%; transform-origin: bottom left; animation-delay: -3s; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Animaciones                                                  ║
   ╚══════════════════════════════════════════════════════════════╝ */
[data-anim]{ will-change: transform, opacity, clip-path; }

[data-anim="wipe"]{ clip-path: inset(0 100% 0 0); transition: clip-path .8s var(--ease-hero); }
[data-anim="wipe"].in{ clip-path: inset(0 0% 0 0); }

[data-anim="fade-up"]{ opacity: 0; transform: translateY(28px);
  transition: opacity .7s var(--ease-soft) .15s, transform .7s var(--ease-soft) .15s; }
[data-anim="fade-up"].in{ opacity: 1; transform: none; }

[data-anim="fade-up-late"]{ opacity: 0; transform: translateY(20px);
  transition: opacity .7s var(--ease-soft) .35s, transform .7s var(--ease-soft) .35s; }
[data-anim="fade-up-late"].in{ opacity: 1; transform: none; }

[data-anim="slide-left"]{ opacity: 0; transform: translateX(-40px);
  transition: opacity .7s var(--ease-soft), transform .8s var(--ease-hero); }
[data-anim="slide-left"].in{ opacity: 1; transform: none; }

[data-anim="slide-right"]{ opacity: 0; transform: translateX(40px);
  transition: opacity .7s var(--ease-soft), transform .8s var(--ease-hero); }
[data-anim="slide-right"].in{ opacity: 1; transform: none; }

[data-anim="scale"]{ opacity: 0; transform: scale(.92);
  transition: opacity .65s var(--ease-soft), transform .8s var(--ease-hero); }
[data-anim="scale"].in{ opacity: 1; transform: scale(1); }

[data-anim="rise"]{ opacity: 0; transform: translateY(20px);
  transition: opacity .6s var(--ease-soft), transform .6s var(--ease-hero); }
[data-anim="rise"].in{ opacity: 1; transform: none; }

.wipe-word{
  display: inline-block;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .8s var(--ease-hero) .4s;
  color: var(--gold);
}
.wipe-word.in{ clip-path: inset(0 0% 0 0); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  NAV con megamenu                                             ║
   ╚══════════════════════════════════════════════════════════════╝ */
.nav-abl{
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(18px);
  background: color-mix(in oklab, var(--bg-hero) 78%, transparent);
  border-bottom: 1px solid var(--hairline-soft);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding: 20px 0; gap: 24px; }

.brand{ display:flex; align-items:center; gap:14px; text-decoration:none; color: var(--marble); flex: 0 0 auto; }
.brand-logo{
  height: 42px; width: auto; display: block;
}
@media(max-width: 575px){ .brand-logo{ height: 36px; } }

.nav-links{ display:flex; gap: 36px; align-items: center; flex: 1; justify-content: center; }
.nav-links > a, .nav-links > .nav-dd > .nav-trigger{
  color: var(--marble); text-decoration:none; font-size:.8rem;
  font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  position: relative; padding: 6px 0; background: none; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: .35rem;
}
.nav-links > a::after, .nav-links > .nav-dd > .nav-trigger::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px;
  height:1px; background: var(--gold); transform-origin:left;
  transform: scaleX(0); transition: transform .35s ease;
}
.nav-links > a:hover::after, .nav-links > .nav-dd:hover > .nav-trigger::after,
.nav-links > .nav-dd.open > .nav-trigger::after{ transform: scaleX(1); }
.nav-trigger .chev{ font-size: .68rem; opacity: .8; transition: transform .25s; }
.nav-dd.open .nav-trigger .chev{ transform: rotate(180deg); }

/* Megamenu */
.megamenu{
  position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%) translateY(-6px);
  width: 640px; background: #0a0a0b;
  border-top: 2px solid var(--gold);
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.7), 0 0 0 1px var(--hairline-soft);
  padding: 30px; opacity: 0; pointer-events: none;
  transition: opacity .18s ease, transform .18s var(--ease-soft);
  z-index: 70;
}
.nav-dd{ position: relative; }
.nav-dd:hover > .megamenu, .nav-dd.open > .megamenu{
  opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto;
}
.mm-grid{
  display: grid; grid-template-columns: 1fr 1px 1fr; gap: 24px;
}
.mm-divider{ background: var(--hairline-soft); }
.mm-col h6{
  font-size: .66rem; letter-spacing: var(--tracking-xl); text-transform: uppercase;
  color: var(--gold); font-weight: 700; margin: 0 0 18px;
}
.mm-col.txl h6{ color: var(--txl-cream); }
.mm-item{
  display: block; text-decoration: none; padding: 10px 8px;
  border-radius: 0; transition: background .2s;
  margin: 0 -8px;
}
.mm-item:hover{ background: rgba(171,131,55,.06); }
.mm-col.txl .mm-item:hover{ background: rgba(116,113,94,.1); }
.mm-item .mm-name{
  display:block; font-weight: 500; font-size: .92rem; color: var(--marble);
  letter-spacing: .02em; margin-bottom: 4px;
}
.mm-item .mm-desc{
  display:block; font-size: 11px; color: var(--muted); font-weight: 300; line-height: 1.4;
}

.btn-acceder{
  border: 1px solid var(--gold); color: var(--gold);
  background: transparent; padding: 10px 18px; font-size:.78rem;
  letter-spacing: .18em; text-transform: uppercase; font-weight:500;
  text-decoration:none; transition: all .25s;
  display:inline-flex; align-items:center; gap:.6rem; flex: 0 0 auto;
}
.btn-acceder:hover{ background: var(--gold); color: var(--bg-hero); }

/* Mobile nav toggle */
.nav-toggle{
  display: none; background: none; border: 1px solid var(--hairline-soft);
  width: 42px; height: 42px; color: var(--marble); cursor: pointer;
  align-items: center; justify-content: center;
}
@media(max-width: 991px){
  .nav-toggle{ display: inline-flex; }
  .nav-links{
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch;
    background: #0a0a0b; border-top: 1px solid var(--hairline-soft);
    padding: 24px; gap: 0;
    transform: translateY(-10px); opacity: 0; pointer-events: none;
    transition: opacity .25s, transform .25s;
  }
  .nav-links.open{ transform: none; opacity: 1; pointer-events: auto; }
  .nav-links > a, .nav-links > .nav-dd > .nav-trigger{
    padding: 16px 0; border-bottom: 1px solid var(--hairline-soft); width: 100%;
    justify-content: space-between; font-size: .82rem;
  }
  .megamenu{
    position: static; transform: none; width: auto; box-shadow: none;
    border-top: 0; padding: 0 0 16px; opacity: 1; pointer-events: auto;
    max-height: 0; overflow: hidden; transition: max-height .3s ease;
  }
  .nav-dd.open > .megamenu{ max-height: 1200px; padding: 8px 0 16px; }
  /* Arreglado el 03-09-2026. El menu se salia 139 px por la izquierda de la
     pantalla en celular: los titulos quedaban cortados fuera de la vista y solo
     se leian los finales de las descripciones. Causa: la regla de escritorio
     `.nav-dd.open > .megamenu{ transform: translateX(-50%) }` es MAS ESPECIFICA
     que la de celular `.megamenu{ transform:none }`, asi que ganaba en cuanto el
     menu se abria. Se anula aqui con la misma especificidad. */
  .nav-dd:hover > .megamenu, .nav-dd.open > .megamenu{ transform: none; }

  .nav-dd:not(.open) > .megamenu{ opacity: 0; pointer-events: none; }
  .mm-grid{ grid-template-columns: 1fr; }
  .mm-divider{ display: none; }
  .btn-acceder{ width: 100%; justify-content: center; margin-top: 12px; }
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Botones                                                      ║
   ╚══════════════════════════════════════════════════════════════╝ */
.btn-abl{
  display:inline-flex; align-items:center; gap:.85rem;
  background: var(--gold); color: var(--bg-hero);
  padding: 17px 30px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; font-size:.82rem;
  border: 1px solid var(--gold); text-decoration:none;
  transition: background .25s, border-color .25s, transform .25s var(--ease-soft);
  will-change: transform;
}
.btn-abl:hover{ background: var(--gold-hover); border-color: var(--gold-hover); }
.btn-abl .arrow{ transition: transform .3s; display:inline-block; }
.btn-abl:hover .arrow{ transform: translateX(4px); }

.btn-ghost{
  display:inline-flex; align-items:center; gap:.6rem;
  color: var(--marble); text-decoration: none;
  font-size:.82rem; letter-spacing:.14em; text-transform: uppercase; font-weight: 500;
  border-bottom: 1px solid var(--hairline); padding-bottom: 4px;
}
.btn-ghost:hover{ color: var(--gold); border-color: var(--gold); }

.btn-link{
  display:inline-flex; align-items:center; gap:.5rem;
  color: var(--gold); text-decoration: none;
  font-size:.74rem; letter-spacing: var(--tracking); text-transform: uppercase; font-weight: 600;
  margin-top: 14px;
  transition: gap .25s ease;
}
.btn-link:hover{ gap: .8rem; color: var(--gold-hover); }
.btn-link.txl{ color: var(--txl-cream); }
.btn-link.txl:hover{ color: #d6d3ba; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  HERO                                                         ║
   ╚══════════════════════════════════════════════════════════════╝ */
.hero{
  position: relative; min-height: 100vh; display:flex; align-items: stretch;
  overflow: hidden; padding: 0;
}
.hero-bg{
  position: absolute; inset: -10% -2% -10% -2%;
  background:
    radial-gradient(60% 80% at 30% 40%, #25252a 0%, #131316 60%, #0d0d10 100%);
  z-index: 0; will-change: transform;
}
.hero-bg::before{
  content:""; position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 2px, transparent 2px 7px);
  pointer-events:none;
}
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(14,14,15,.45) 0%, rgba(14,14,15,.78) 60%, var(--bg-hero) 100%);
  pointer-events: none;
}
.hero::before, .hero::after{
  content:""; position:absolute; left: 0; right: 0; height: 1px;
  background: var(--gold); opacity: .15; pointer-events: none; z-index: 1;
}
.hero::before{ top: 35%; }
.hero::after{ top: 78%; }

.hero-meta{
  position: absolute; left: 0; right: 0; top: 28px;
  display:flex; justify-content: space-between; align-items: center;
  padding: 0 32px; font-size: .72rem; letter-spacing: var(--tracking-xl);
  text-transform: uppercase; color: var(--muted-2); z-index: 3;
}

.hero-inner{
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 55fr 45fr; gap: 60px;
  align-items: center; min-height: 100vh; padding: 14vh 0 12vh;
}
@media(max-width: 991px){ .hero-inner{ grid-template-columns: 1fr; padding: 16vh 0 10vh; } }

.hero-left .eyebrow{ margin-bottom: 32px; }
.hero-left h1{ margin-bottom: 30px; max-width: 20ch; }
.hero-left .lede{ margin-bottom: 48px; max-width: 50ch; }
.hero-ctas{ display:flex; align-items: center; gap: 32px; flex-wrap: wrap; }

.hero-right{
  position: relative; aspect-ratio: 1/1.15;
  border: 1px solid var(--hairline); padding: 40px;
  display: flex; flex-direction: column; justify-content: space-between;
  background:
    linear-gradient(160deg, rgba(171,131,55,.06), transparent 50%),
    rgba(14,14,15,.55);
  backdrop-filter: blur(4px);
}
@media(max-width: 991px){ .hero-right{ aspect-ratio: 16/10; } }
.hero-right .corner{
  position: absolute; width: 18px; height: 18px; border: 1px solid var(--gold);
}
.hero-right .corner.tl{ top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.hero-right .corner.tr{ top: -1px; right: -1px; border-left: 0; border-bottom: 0; }
.hero-right .corner.bl{ bottom: -1px; left: -1px; border-right: 0; border-top: 0; }
.hero-right .corner.br{ bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.hero-right .stamp-top{
  display: flex; justify-content: space-between; align-items: center;
  font-size:.66rem; letter-spacing: var(--tracking-xl); color: var(--gold);
  text-transform: uppercase; font-weight: 600;
}
.hero-right .stamp-top span:last-child{ color: var(--muted-2); }
.hero-mark{
  display: flex; align-items: center; justify-content: center;
  flex: 1; position: relative; padding: 8% 6%;
}
.hero-mark .hero-logo{
  width: 100%; max-width: 360px; height: auto; display: block;
  opacity: 0; transform: scale(.92);
  transition: opacity 1s var(--ease-soft) .3s, transform 1.2s var(--ease-hero) .3s;
  filter: drop-shadow(0 12px 30px rgba(171,131,55,.15));
}
.hero-mark.in .hero-logo{ opacity: 1; transform: scale(1); }
.hero-mark .glow{
  position: absolute; inset: 10%;
  background: radial-gradient(closest-side at 50% 50%, rgba(171,131,55,.18), transparent 70%);
  pointer-events: none; opacity: 0;
  transition: opacity 1.6s var(--ease-soft) .5s;
  z-index: 0;
}
.hero-mark.in .glow{ opacity: 1; }
.hero-right .stamp-bot{
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  padding-top: 20px; border-top: 1px solid var(--hairline-soft);
}
.hero-right .stamp-bot .kv .k{
  font-size:.62rem; letter-spacing: var(--tracking-xl); color: var(--muted);
  text-transform: uppercase; font-weight: 500; margin-bottom: 6px;
}
.hero-right .stamp-bot .kv .v{
  font-size: .9rem; color: var(--marble); font-weight: 600; letter-spacing: .02em;
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Marquee                                                      ║
   ╚══════════════════════════════════════════════════════════════╝ */
.marquee{
  height: 48px; background: #0a0a0b;
  overflow: hidden; position: relative;
  border-top: 1px solid var(--hairline-soft);
  border-bottom: 1px solid var(--hairline-soft);
  display: flex; align-items: center;
}
.marquee-track{
  display: flex; gap: 2.5rem; white-space: nowrap;
  animation: marquee 32s linear infinite; padding-right: 2.5rem;
}
.marquee-track span{
  color: var(--gold);
  font-weight: 700; font-size: 11px; letter-spacing: .15em;
  text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 2.5rem;
}
.marquee-track span::after{ content: "✦"; color: var(--hairline); font-size: 9px; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Section head 2-col                                           ║
   ╚══════════════════════════════════════════════════════════════╝ */
.section-head{
  display: grid; grid-template-columns: 240px 1fr; gap: 60px;
  margin-bottom: 80px; align-items: start;
}
@media(max-width: 991px){
  .section-head{ grid-template-columns: 1fr; gap: 30px; margin-bottom: 50px; }
}
.section-head .head-right{ max-width: 70ch; }
.section-head h2{ margin-bottom: 24px; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Problema                                                     ║
   ╚══════════════════════════════════════════════════════════════╝ */
.risk-card{
  padding: 44px 0 40px;
  border-top: 1px solid var(--hairline-soft);
  position: relative;
}
.risk-card .num{
  font-weight: 900; font-size: .78rem; color: var(--gold);
  letter-spacing: var(--tracking-xl); margin-bottom: 36px; display:block;
}
.risk-card h3{ font-weight: 700; font-size: 1.55rem; margin-bottom: 20px; letter-spacing: -.01em; }
.risk-card p{ color: var(--muted); font-weight: 300; line-height: 1.6; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  SERVICIOS — 2 columnas (Legal | Contable)                    ║
   ╚══════════════════════════════════════════════════════════════╝ */
.services-grid{
  display: grid; grid-template-columns: 1fr 1px 1fr; gap: 60px;
  align-items: start;
}
@media(max-width: 991px){
  .services-grid{ grid-template-columns: 1fr; gap: 40px; }
  .services-grid .v-divider{ display: none; }
}
.v-divider{ background: var(--hairline-soft); justify-self: center; align-self: stretch; }
.svc-col h3.col-title{
  font-weight: 900; font-size: 1.4rem; margin-bottom: 10px; letter-spacing: -.01em;
}
.svc-col .col-eyebrow{ margin-bottom: 14px; }
.svc-col p.col-intro{
  font-weight: 300; color: var(--muted); font-size: .96rem; line-height: 1.55;
  margin: 0 0 36px; max-width: 36ch;
}
.svc-col.txl{
  background:
    linear-gradient(180deg, rgba(116,113,94,.05), transparent 40%);
  padding: 28px 28px 32px;
  margin-left: 0;
}
@media(min-width: 992px){
  .svc-col.txl{ padding: 28px 0 32px 32px; background: linear-gradient(90deg, rgba(116,113,94,.05), transparent 30%); }
}
.svc-col.txl .col-eyebrow{ color: var(--txl-cream); }
.svc-col.txl .col-eyebrow::before{ background: var(--txl-cream); }
.svc-col.txl h3.col-title{ color: var(--txl-cream); }
.svc-col.txl .svc-item:hover{ border-color: var(--txl-cream); }
.svc-col.txl .svc-num{ color: var(--txl-cream); }

.svc-item{
  display: block; text-decoration: none;
  padding: 28px 0 30px; border-top: 1px solid var(--hairline-soft);
  position: relative; transition: padding-left .35s var(--ease-soft);
}
.svc-item:last-child{ border-bottom: 1px solid var(--hairline-soft); }
.svc-item:hover{ padding-left: 12px; }
.svc-item:hover h4{ color: var(--gold); }
.svc-col.txl .svc-item:hover h4{ color: var(--txl-cream); }
.svc-item h4{
  font-weight: 700; font-size: 1.18rem; margin: 0 0 12px;
  letter-spacing: -.005em; color: var(--marble);
  transition: color .25s;
  display: flex; align-items: baseline; gap: 14px;
}
.svc-num{
  font-size: .68rem; font-weight: 700; color: var(--gold);
  letter-spacing: var(--tracking); flex: 0 0 auto;
}
.svc-item p{ color: var(--muted); font-weight: 300; line-height: 1.55; font-size: .95rem; margin: 0; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Compliance Seal dedicada                                     ║
   ╚══════════════════════════════════════════════════════════════╝ */
.seal-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 991px){ .seal-grid{ grid-template-columns: 1fr; } }

.seal-card{
  position: relative; padding: 44px 32px 36px; min-height: 620px;
  display:flex; flex-direction: column;
  border: 1px solid #232325;
  overflow: hidden;
  transform-style: preserve-3d;
  transition: transform .12s ease, box-shadow .35s ease, border-color .35s;
}
.seal-card:hover{ border-color: var(--gold); }

.seal-card .badge{
  align-self: flex-start;
  display: inline-block; padding: 6px 14px;
  border: 1px solid currentColor;
  font-size: .62rem; letter-spacing: var(--tracking-xl); text-transform: uppercase; font-weight: 700;
  margin-bottom: 22px;
}
.seal-card h3{ font-weight: 900; font-size: 1.7rem; line-height: 1.05; margin-bottom: 28px; letter-spacing: -.012em; }

.seal-block{ margin-bottom: 22px; }
.seal-block .lbl{
  display:block; font-size: .62rem; letter-spacing: var(--tracking-xl);
  text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 10px;
}
.seal-block p{ font-weight: 300; line-height: 1.6; font-size: .92rem; margin: 0; color: var(--muted); }

.seal-foot{
  margin-top: auto; border-top: 1px solid var(--hairline-soft); padding-top: 18px;
  font-size: .72rem; letter-spacing: var(--tracking); text-transform: uppercase; color: var(--gold);
}
.seal-level-num{
  position: absolute; top: 16px; right: 20px;
  font-family: 'Montserrat', sans-serif; font-weight: 900;
  font-size: 4.5rem; line-height: 1; letter-spacing: -.04em;
  color: var(--gold); opacity: .13; user-select: none; pointer-events: none;
}

.seal-marble{
  background:
    radial-gradient(120% 60% at 20% 10%, rgba(229,228,228,.10), transparent 60%),
    radial-gradient(90% 70% at 80% 100%, rgba(229,228,228,.07), transparent 60%),
    linear-gradient(180deg, #1a1a1b 0%, #141415 100%);
}
.seal-marble::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    repeating-linear-gradient(115deg, rgba(229,228,228,.045) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(60deg,  rgba(229,228,228,.028) 0 1px, transparent 1px 18px);
}
.seal-marble .badge{ color: var(--muted); border-color: var(--hairline-soft); }

.seal-gold{
  background: linear-gradient(160deg, #2a1f10 0%, #1c160c 55%, #161108 100%);
  border-color: var(--gold);
  box-shadow: 0 30px 70px -40px rgba(171,131,55,.55);
}
.seal-gold::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(201,160,82,.22), transparent 65%),
    repeating-linear-gradient(125deg, rgba(171,131,55,.08) 0 1px, transparent 1px 9px);
}
.seal-gold .ribbon{
  position:absolute; top: 18px; right: -40px; transform: rotate(35deg);
  background: var(--gold); color: var(--bg-hero);
  font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 700;
  padding: 6px 44px; z-index: 3;
}
.seal-gold h3{ color: var(--gold); }
.seal-gold .badge{ color: var(--gold); border-color: var(--gold); }
.seal-gold .seal-block .lbl{ color: var(--gold-hover); }
.seal-gold .seal-block p{ color: rgba(229,228,228,.78); }
.seal-gold .seal-foot{ color: var(--gold-hover); border-top-color: rgba(171,131,55,.35); }

.seal-onyx{
  background: radial-gradient(80% 60% at 50% 0%, #1b1b1c, #0b0b0c 70%), #060607;
  border-color: var(--gold);
}
.seal-onyx::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(60% 60% at 70% 80%, rgba(255,255,255,.045), transparent 60%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.022) 0 1px, transparent 1px 14px);
}
.seal-onyx h3{ color: var(--gold); }
.seal-onyx .badge{ color: var(--gold); border-color: var(--gold); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Proceso                                                      ║
   ╚══════════════════════════════════════════════════════════════╝ */
.process{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 36px; }
@media(max-width: 991px){ .process{ grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 575px){ .process{ grid-template-columns: 1fr; } }
.proc-step{ position: relative; padding-top: 24px; border-top: 1px solid var(--gold); }
.proc-step .nm{ font-weight: 900; font-size: 2.6rem; color: var(--gold); line-height: 1; margin-bottom: 26px; letter-spacing: -.025em; }
.proc-step h4{ font-weight: 700; font-size: 1.12rem; margin-bottom: 14px; }
.proc-step p{ color: var(--muted); font-weight: 300; font-size: .94rem; line-height: 1.6; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Stats                                                        ║
   ╚══════════════════════════════════════════════════════════════╝ */
.stats{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
@media(max-width: 767px){ .stats{ grid-template-columns: repeat(2, 1fr); } }
.stat{
  padding: 36px 24px; border-left: 1px solid var(--hairline-soft);
  display:flex; flex-direction: column; gap: 10px;
}
.stat:first-child{ border-left: 0; }
.stat .n{ font-weight: 900; font-size: clamp(2.8rem, 5.2vw, 4.6rem); color: var(--marble); letter-spacing: -.03em; line-height: 1; }
.stat .n .suf{ color: var(--gold); font-size: .6em; vertical-align: top; margin-left: 2px; }
.stat .l{ font-size: .76rem; letter-spacing: var(--tracking); text-transform: uppercase; color: var(--muted); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Equipo                                                       ║
   ╚══════════════════════════════════════════════════════════════╝ */
.team-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr); gap: 28px;
}
@media(max-width: 991px){ .team-grid{ grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 575px){ .team-grid{ grid-template-columns: 1fr; } }

.team-card{
  background: #161617; border: 1px solid #1f1f20;
  transition: border-color .35s, transform .35s var(--ease-soft);
  display: flex; flex-direction: column;
  position: relative;
}
.team-card:hover{ border-color: var(--gold); transform: translateY(-4px); }
.team-photo{
  aspect-ratio: 1/1;
  background: #1a1a1b;
  position: relative; overflow: hidden;
}
.team-photo img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(.1) contrast(1.02);
  transition: transform .6s var(--ease-hero), filter .4s;
}
.team-card:hover .team-photo img{ transform: scale(1.04); filter: grayscale(0) contrast(1.04); }
.team-photo .photo-init{
  position: absolute; inset: 0; display: grid; place-items: center;
  background:
    radial-gradient(circle at 50% 35%, #25252a 0%, #131316 65%, #0d0d10 100%);
  color: var(--gold); font-weight: 900; font-size: 3rem; letter-spacing: -.02em;
  font-family: var(--ff);
}
.team-meta{ padding: 22px 24px 26px; border-top: 1px solid var(--hairline-soft); }
.team-meta .role{
  font-size:.7rem; letter-spacing: var(--tracking); text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px; padding-bottom: 10px;
  border-bottom: 1px solid var(--hairline);
  display: inline-block;
}
.team-meta .name{ font-weight: 700; font-size: 1.06rem; margin-top: 4px; letter-spacing: -.005em; }

/* Tarjeta destacada (Rafael) */
.team-card.featured{
  grid-column: span 2; grid-row: span 1;
  background:
    linear-gradient(135deg, rgba(171,131,55,.08), transparent 60%),
    #161617;
  border-color: var(--gold);
}
@media(max-width: 575px){ .team-card.featured{ grid-column: span 1; } }
.team-card.featured .team-inner{
  display: grid; grid-template-columns: 1fr 1.1fr; height: 100%;
}
@media(max-width: 575px){ .team-card.featured .team-inner{ grid-template-columns: 1fr; } }
.team-card.featured .team-photo{ aspect-ratio: auto; height: 100%; min-height: 360px; }
.team-card.featured .team-meta{
  border-top: 0; border-left: 1px solid var(--hairline-soft);
  padding: 36px 30px; display: flex; flex-direction: column; justify-content: center;
}
@media(max-width: 575px){
  .team-card.featured .team-meta{ border-left: 0; border-top: 1px solid var(--hairline-soft); padding: 22px 24px 26px; }
}
.team-card.featured .role{ font-size: .72rem; }
.team-card.featured .name{ font-weight: 900; font-size: 1.5rem; line-height: 1.1; letter-spacing: -.015em; }
.team-card.featured .featured-tag{
  font-size: .62rem; letter-spacing: var(--tracking-xl); color: var(--gold);
  text-transform: uppercase; font-weight: 700; margin-bottom: 18px;
}
.team-card.featured .bio{
  font-weight: 300; color: var(--muted); line-height: 1.55; font-size: .94rem; margin-top: 14px;
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Testimonios                                                  ║
   ╚══════════════════════════════════════════════════════════════╝ */
.test-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
@media(max-width: 991px){ .test-grid{ grid-template-columns: 1fr; } }
.test-card{
  padding: 34px 30px; border: 1px solid #1f1f20; background: #161617;
  display:flex; flex-direction: column; gap: 18px;
  transition: border-color .3s;
}
.test-card:hover{ border-color: var(--gold); }
.test-stars{ color: var(--gold); letter-spacing: .14em; }
.test-quote{ font-weight: 300; color: var(--marble); font-style: italic; line-height: 1.55; }
.test-meta{ border-top: 1px solid var(--hairline-soft); padding-top: 16px; display:flex; align-items:center; gap: 12px; }
.test-avatar{ width: 38px; height: 38px; border-radius: 50%; background: #1f1f20; border: 1px solid var(--gold); }
.test-author{ font-size:.88rem; }
.test-author .who{ font-weight: 600; }
.test-author .when{ font-size:.72rem; color: var(--muted); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Blog                                                         ║
   ╚══════════════════════════════════════════════════════════════╝ */
.blog-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
@media(max-width: 991px){ .blog-grid{ grid-template-columns: 1fr; } }
.blog-card{ display:flex; flex-direction: column; }
.blog-cover{
  aspect-ratio: 16/10;
  background:
    linear-gradient(160deg, #20201f, #0f0f10),
    repeating-linear-gradient(60deg, rgba(255,255,255,.04) 0 2px, transparent 2px 10px);
  background-blend-mode: overlay;
  position: relative; overflow: hidden;
}
.blog-cat{
  position:absolute; top:18px; left:18px;
  background: rgba(14,14,15,.85); color: var(--gold);
  font-size:.66rem; letter-spacing: var(--tracking); text-transform: uppercase; font-weight: 600;
  padding: 6px 12px; border: 1px solid var(--hairline);
}
.blog-body{ padding: 22px 0 0; }
.blog-body h4{ font-weight: 700; font-size: 1.16rem; line-height: 1.28; margin-bottom: 18px; letter-spacing:-.005em; }
.blog-author{ display:flex; align-items:center; gap: 12px; margin-bottom: 14px; }
.blog-avatar{ width: 32px; height: 32px; border-radius: 50%; background: #1f1f20; border: 1px solid var(--hairline); }
.blog-meta{ font-size:.78rem; color: var(--muted); }
.blog-meta .name{ font-weight: 600; color: var(--marble); }
.blog-more{ font-size:.78rem; color: var(--gold); text-decoration: none; letter-spacing: .14em; text-transform: uppercase; }
.blog-more:hover{ color: var(--gold-hover); }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Cursos                                                       ║
   ╚══════════════════════════════════════════════════════════════╝ */
.course-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: 32px; }
@media(max-width: 991px){ .course-grid{ grid-template-columns: 1fr; } }
.course-card{
  border: 1px solid #1f1f20; padding: 44px 38px; background: #161617;
  display:flex; flex-direction: column; gap: 20px; min-height: 380px;
  position: relative; overflow: hidden;
  transition: border-color .3s, transform .3s;
}
.course-card:hover{ border-color: var(--gold); transform: translateY(-3px); }
.course-card::before{
  content:""; position:absolute; top:0; left:0; width: 4px; height: 100%;
  background: var(--gold); transform: scaleY(0); transform-origin: top; transition: transform .35s ease;
}
.course-card:hover::before{ transform: scaleY(1); }
.course-card .badge-c{
  align-self: flex-start;
  font-size:.7rem; letter-spacing: var(--tracking); text-transform: uppercase; color: var(--gold);
  border: 1px solid var(--hairline); padding: 6px 12px;
}
.course-card h3{ font-weight: 900; font-size: 1.85rem; letter-spacing:-.012em; line-height: 1.05; }
.course-card .tag{ font-size:.82rem; color: var(--gold); font-weight: 500; }
.course-card p{ color: var(--muted); font-weight: 300; line-height: 1.55; flex-grow: 1; }

/* ╔══════════════════════════════════════════════════════════════╗
   ║  Footer                                                       ║
   ╚══════════════════════════════════════════════════════════════╝ */
.footer{ background: var(--bg-footer); padding: 90px 0 30px; }
.footer-top{ display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; margin-bottom: 60px; }
@media(max-width: 991px){ .footer-top{ grid-template-columns: 1fr 1fr; } }
@media(max-width: 575px){ .footer-top{ grid-template-columns: 1fr; } }
.footer h5{ font-size:.74rem; letter-spacing: var(--tracking); text-transform: uppercase; color: var(--gold); margin-bottom: 20px; font-weight: 600; }
.footer a{ display:block; color: var(--muted); text-decoration:none; padding: 6px 0; font-size:.92rem; }
.footer a:hover{ color: var(--gold); }
.footer-bottom{
  border-top: 1px solid var(--hairline-soft); padding-top: 24px;
  display:flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px;
  font-size: .76rem; color: var(--muted-2); letter-spacing: .08em;
}
.socials{ display:flex; gap: 14px; }
.socials a{ width: 36px; height: 36px; border: 1px solid var(--hairline-soft); display:grid; place-items:center; padding: 0; color: var(--marble); }
.socials a:hover{ border-color: var(--gold); color: var(--gold); }

.footer-brands{
  display: flex; align-items: center; gap: 32px; flex-wrap: wrap; margin-bottom: 22px;
}
.footer-brand-abl{ height: 56px; width: auto; display: block; }
.footer-brand-divider{
  width: 1px; height: 40px; background: var(--hairline-soft);
}
.footer-brand-txl{
  display: inline-flex; align-items: center; gap: 12px;
  background: transparent !important;
}
.footer-brand-txl-icon{
  height: 44px; width: auto;
  background: transparent !important;
  mix-blend-mode: luminosity;
}
.footer-brand-txl-wordmark{
  height: 22px; width: auto; opacity: .85;
  background: transparent !important;
  mix-blend-mode: luminosity;
}
/* Fallback de texto si las imágenes de TXL no cargan */
.footer-brand-txl-fallback{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; font-size: 1.1rem; letter-spacing: .08em;
  text-transform: uppercase; color: #74715e;
  display: none;
}
.footer-brand-txl:not(:has(img[src])) .footer-brand-txl-fallback{ display: inline; }
@media(max-width: 575px){ .footer-brand-divider{ display: none; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  [data-anim]{ opacity:1 !important; transform: none !important; clip-path: none !important; }
}

/* ━━━ HERO VARIANT ━━━ */
.hero-v0,.hero-v1,.hero-v2,.hero-v3{display:none}
html.hero-0 .hero-v0{display:block}html.hero-1 .hero-v1{display:block}
html.hero-2 .hero-v2{display:block}html.hero-3 .hero-v3{display:block}
html:not([class*="hero-"]) .hero-v0{display:block}

/* ━━━ PAGE HERO ━━━ */
.page-hero{background:var(--bg-hero);padding:clamp(120px,15vw,180px) 0 clamp(70px,8vw,100px);position:relative;overflow:hidden;border-bottom:1px solid var(--hairline-soft)}
.page-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(171,131,55,.08) 0%,transparent 70%)}
.page-hero .eyebrow{margin-bottom:20px}.page-hero h1{margin-bottom:20px}.page-hero .lede{max-width:60ch}

/* ━━━ SVC OVERVIEW ━━━ */
.svc-overview-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--hairline-soft)}
@media(max-width:767px){.svc-overview-grid{grid-template-columns:1fr}}
.svc-overview-col{padding:clamp(40px,6vw,72px) clamp(28px,4vw,56px)}
.svc-overview-col:first-child{border-right:1px solid var(--hairline-soft)}
@media(max-width:767px){.svc-overview-col:first-child{border-right:none;border-bottom:1px solid var(--hairline-soft)}}
.svc-ow-eyebrow{margin-bottom:12px;font-size:var(--eyebrow);font-weight:700;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--gold);display:block}
.svc-ow-title{display:block;font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;color:var(--marble);text-decoration:none;margin-bottom:20px;transition:color .3s;font-family:var(--ff)}
.svc-ow-title:hover{color:var(--gold)}
.svc-ow-desc{font-weight:300;font-size:clamp(.92rem,1.15vw,1rem);line-height:1.75;color:var(--muted);max-width:46ch;margin:0 0 32px}
.svc-overview-col.txl .svc-ow-eyebrow{color:var(--txl-olive)}
.svc-overview-col.txl .svc-ow-title:hover{color:var(--txl-olive)}

/* ━━━ SEAL CARDS — ultra compact ━━━ */
.seal-grid{align-items:start !important}
.seal-card{padding:18px 18px 14px !important;height:auto !important;min-height:0 !important}
.seal-level-num{display:none !important}
.seal-card .badge{margin-bottom:6px !important;display:inline-block;font-size:.62rem !important}
.seal-card h3{margin-bottom:8px !important;font-size:1rem !important}
.seal-block{margin-bottom:8px !important}
.seal-block .lbl{margin-bottom:3px !important;display:block !important;font-size:.63rem !important;letter-spacing:.1em}
.seal-block p{font-size:.78rem !important;line-height:1.48 !important;margin:0 !important}
.seal-foot{margin-top:10px !important;padding-top:8px !important;font-size:.63rem !important}
.seal-progress{display:none !important}

/* ━━━ TEAM TIERS ━━━ */
.team-tier-1{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.team-tier-2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
.team-tier-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:991px){.team-tier-2,.team-tier-3{grid-template-columns:1fr 1fr}}
@media(max-width:575px){.team-tier-1,.team-tier-2,.team-tier-3{grid-template-columns:1fr}}
/* override featured-card span so tier-1 shows 2 columns */
.team-tier-1 .team-card.featured{grid-column:auto !important;grid-row:auto !important}
.team-tier-1 .team-inner{flex-direction:column !important;gap:0 !important}
.team-tier-1 .team-photo{width:100% !important;height:clamp(260px,28vw,360px) !important;flex-shrink:0 !important}
.team-tier-1 .team-photo img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:top center !important}
.team-tier-1 .team-meta{padding:24px 24px 28px !important;width:100% !important}

/* ━━━ EDITORIAL BREAK ━━━ */
.editorial-break{padding:clamp(56px,7vw,96px) 0;text-align:center;background:var(--bg-hero);position:relative;overflow:hidden}
.editorial-break::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 50% 50%,rgba(171,131,55,.05) 0%,transparent 70%)}
.editorial-break-inner{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative}
.editorial-line{width:96px;height:1px;background:linear-gradient(90deg,transparent,rgba(171,131,55,.6),transparent)}
.editorial-quote{font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:300;font-style:italic;color:var(--marble-soft);max-width:54ch;line-height:1.7;letter-spacing:.01em;margin:0}
.editorial-attr{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.65}

/* ━━━ BLOG GRID ━━━ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:991px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.blog-grid{grid-template-columns:1fr}}
.blog-card{border:1px solid var(--hairline-soft);border-radius:2px;background:var(--bg-seal);overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .3s;text-decoration:none;color:inherit}
.blog-card:hover{border-color:var(--hairline);transform:translateY(-4px);color:inherit}
.blog-card-img-wrap{position:relative;padding-top:56.25%;overflow:hidden;background:var(--bg-hero)}
.blog-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .3s,transform .4s}
.blog-card:hover .blog-card-img{opacity:1;transform:scale(1.03)}
.blog-card-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card .blog-tag{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0}
.blog-card h3{font-size:.92rem;font-weight:700;line-height:1.35;color:var(--marble);margin:0}
.blog-card .blog-date{font-size:.68rem;color:var(--muted-2);font-weight:300;letter-spacing:.04em;margin-top:auto;padding-top:10px}
.blog-no-img{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0e0e0f 0%,#161616 100%)}
.blog-no-img-mark{font-size:2rem;font-weight:900;letter-spacing:-.05em;color:rgba(171,131,55,.15);font-family:var(--ff)}

/* ━━━ BLOG POST ARTICLE ━━━ */
.blog-article h1{font-size:clamp(1.4rem,3vw,2rem);font-weight:900;color:var(--marble);margin:0 0 20px;letter-spacing:-.02em;line-height:1.2}
.blog-article h2{font-size:1.15rem;font-weight:700;color:var(--marble);margin:32px 0 10px;letter-spacing:.01em;border-left:2px solid var(--gold);padding-left:12px}
.blog-article h3{font-size:.98rem;font-weight:700;color:var(--gold);margin:20px 0 8px}
.blog-article p{font-weight:300;font-size:.92rem;line-height:1.82;color:var(--muted);margin:0 0 14px}
.blog-article div{color:var(--muted);font-weight:300;font-size:.9rem;line-height:1.75}
.blog-article ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}
.blog-article ul li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;font-weight:300;color:var(--muted);line-height:1.65}
.blog-article ul li::before{content:'→';color:var(--gold);font-weight:700;flex-shrink:0;margin-top:2px}
.blog-article .back-link{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);text-decoration:none;padding:12px 0;transition:color .3s;border-top:1px solid var(--hairline-soft);margin-top:40px}
.blog-article .back-link:hover{color:var(--gold)}
.blog-article blockquote{background:var(--bg-seal) !important;border-left:2px solid var(--gold) !important;border-radius:0 2px 2px 0 !important;padding:14px 20px !important;margin:16px 0 !important;font-style:italic;font-weight:300;color:var(--marble-soft) !important;font-size:.9rem;line-height:1.75;border-top:none !important;border-right:none !important;border-bottom:none !important}
.blog-article hr{border:none;border-top:1px solid var(--hairline-soft);margin:28px 0;opacity:1}
.blog-article img{max-width:100%;height:auto;border-radius:2px;opacity:.88;display:block;margin:20px 0}
.blog-article a{color:var(--gold);text-decoration:none}.blog-article a:hover{text-decoration:underline}
.blog-article strong{color:var(--marble);font-weight:700}
/* comments */
.comment-section{margin-top:48px;padding-top:36px;border-top:1px solid var(--hairline-soft)}
.comment-section h3{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--marble);margin-bottom:24px}
.comment-form{display:flex;flex-direction:column;gap:12px;max-width:560px}
.comment-form input,.comment-form textarea{background:rgba(255,255,255,.04);border:1px solid var(--hairline-soft);border-radius:2px;padding:12px 16px;font-family:var(--ff);font-size:.88rem;font-weight:300;color:var(--marble);outline:none;transition:border-color .3s;width:100%;resize:vertical}
.comment-form input::placeholder,.comment-form textarea::placeholder{color:var(--muted-2)}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--hairline)}

/* ━━━ SUBSCRIBE FORM ━━━ */
.subscribe-form{display:flex;flex-direction:column;gap:12px;max-width:480px}
.subscribe-form input{background:rgba(255,255,255,.04);border:1px solid var(--hairline-soft);border-radius:2px;padding:13px 16px;font-family:var(--ff);font-size:.88rem;font-weight:300;color:var(--marble);outline:none;transition:border-color .3s;width:100%}
.subscribe-form input::placeholder{color:var(--muted-2)}
.subscribe-form input:focus{border-color:var(--hairline)}

/* ━━━ MARBLE BREAK ━━━ */
.marble-break{height:2px;border:none;margin:0;background:linear-gradient(90deg,transparent,rgba(171,131,55,.3),rgba(195,191,163,.15),rgba(171,131,55,.3),transparent)}

/* ━━━ COURSE BLOCKS ━━━ */
.course-block{border:1px solid var(--hairline-soft);border-radius:2px;padding:48px 48px 40px;margin-bottom:24px;background:var(--bg-seal);transition:border-color .3s;position:relative;overflow:hidden}
.course-block:hover{border-color:var(--hairline)}
.course-block .eyebrow{margin-bottom:16px}.course-block h2{margin-bottom:16px}
.course-block .lede{max-width:64ch;margin-bottom:24px;color:var(--muted)}
.course-block .course-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}
.course-block .course-meta-item{font-size:.78rem;color:var(--muted-2);font-weight:300;letter-spacing:.04em;display:flex;align-items:center;gap:6px}
.course-block .course-meta-item i{color:var(--gold);font-size:.85rem}

/* ━━━ SVC DETAIL ━━━ */
.svc-detail-section{border-bottom:1px solid var(--hairline-soft)}.svc-detail-section:last-child{border-bottom:none}
.svc-detail-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:64px;align-items:start}
@media(max-width:767px){.svc-detail-grid{grid-template-columns:1fr;gap:32px}}
.svc-detail-num{font-size:5rem;font-weight:900;line-height:1;color:var(--gold);opacity:.12;letter-spacing:-.04em;margin-bottom:4px;display:block}
.svc-detail-label{font-size:var(--eyebrow);font-weight:700;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:block}
.svc-feature-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px}
.svc-feature-list li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;font-weight:300;line-height:1.65;color:var(--muted)}
.svc-feature-list li::before{content:'→';color:var(--gold);font-weight:700;flex-shrink:0;margin-top:2px}

/* ━━━ VIABLE ━━━ */
.viable-badge{display:inline-block;border:1px solid rgba(171,131,55,.5);padding:8px 18px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;border-radius:2px}
.viable-price-box{border:1px solid var(--gold);border-radius:2px;padding:40px;text-align:center;background:var(--bg-seal);display:inline-block;max-width:440px;width:100%}
.viable-price-old{text-decoration:line-through;color:var(--muted-2);font-size:1rem;font-weight:300}
.viable-price-new{font-size:2.8rem;color:var(--gold);font-weight:900;line-height:1;display:block;margin:8px 0 4px;letter-spacing:-.03em}
.viable-price-currency{font-size:.85rem;font-weight:300;color:var(--muted);letter-spacing:.04em}
.viable-session{background:var(--bg-seal);border:1px solid var(--hairline-soft);border-left:2px solid var(--hairline-soft);margin-bottom:6px;overflow:hidden;border-radius:1px}
.viable-session[open]{border-left-color:var(--gold)}
.viable-session-summary{padding:16px 20px;font-weight:700;font-size:.88rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--marble)}
.viable-session-summary::-webkit-details-marker{display:none}
.viable-session-summary::after{content:'+';font-size:1.1rem;color:var(--gold);font-weight:300}
.viable-session[open] .viable-session-summary::after{content:'−'}
.viable-session-body{padding:0 20px 16px;font-size:.85rem;font-weight:300;color:var(--muted);line-height:1.65;border-top:1px solid var(--hairline-soft);padding-top:14px}
.viable-check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.viable-check-list li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;font-weight:300;color:var(--muted);line-height:1.65}
.viable-check-list li::before{content:'✓';color:var(--gold);font-weight:700;flex-shrink:0;margin-top:1px}
.viable-target-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:575px){.viable-target-grid{grid-template-columns:1fr}}
.viable-target-card{border:1px solid var(--hairline-soft);border-top:2px solid var(--gold);padding:28px 24px;background:var(--bg-seal)}
.viable-target-card h3{font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}

/* ━━━ AVISO PRIVACIDAD ━━━ */
.aviso-content h2{font-size:1.05rem;font-weight:700;color:var(--marble);margin:0 0 10px;letter-spacing:.01em}
.aviso-content h3{font-size:.95rem;font-weight:700;color:var(--gold);margin:24px 0 8px;letter-spacing:.02em}
.aviso-content p{font-weight:300;font-size:.9rem;line-height:1.8;color:var(--muted);margin:0 0 12px}
.aviso-content ul{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}
.aviso-content ul li{display:flex;align-items:flex-start;gap:10px;font-size:.87rem;font-weight:300;color:var(--muted);line-height:1.65}
.aviso-content ul li::before{content:'—';color:var(--gold);font-weight:700;flex-shrink:0}
.aviso-content a{color:var(--gold);text-decoration:none}.aviso-content a:hover{text-decoration:underline}
.aviso-section-block{padding:32px 0;border-bottom:1px solid var(--hairline-soft)}.aviso-section-block:last-child{border-bottom:none}
.lang-toggle{display:inline-flex;gap:6px;padding:5px;background:rgba(255,255,255,.04);border:1px solid var(--hairline-soft);border-radius:2px}
.lang-btn{font-family:var(--ff);font-size:.73rem;font-weight:700;letter-spacing:.1em;padding:8px 20px;text-transform:uppercase;cursor:pointer;border:none;background:transparent;color:var(--muted-2);transition:all .25s;border-radius:1px}
.lang-btn.active{background:var(--gold);color:#000}
.footer-brand-txl{gap:4px !important}

/* ━━━ ELFSIGHT DARK OVERRIDE ━━━ */
.eapps-google-reviews-widget,
.eapps-widget-holder,
.eapps-google-reviews-wrapper{background:transparent !important}
.eapps-google-reviews-list-item{background:var(--bg-seal) !important;border:1px solid var(--hairline-soft) !important;border-radius:2px !important}
.eapps-google-reviews-list-item-body-reviewer-name,
.eapps-google-reviews-header-summary-rating-value,
.eapps-google-reviews-header-company-info-name{color:var(--marble) !important}
.eapps-google-reviews-list-item-body-review-text,
.eapps-google-reviews-header-summary-rating-count{color:var(--muted) !important}
.eapps-google-reviews-list-item-body-review-date{color:var(--muted-2) !important}
.eapps-google-reviews-list-item-body-review-rating-star svg path,
.eapps-google-reviews-header-summary-rating-stars .eapps-google-reviews-list-item-body-review-rating-star{fill:var(--gold) !important;color:var(--gold) !important}
.eapps-google-reviews-header{background:transparent !important;border-bottom:1px solid var(--hairline-soft) !important}
.eapps-google-reviews-footer{background:transparent !important;border-top:1px solid var(--hairline-soft) !important}
.eapps-google-reviews-list-item-body-reviewer-image{filter:grayscale(20%)}
