/* ==========================================================================
   EDV · Capa de diseño editorial (v5)
   Se carga después de styles.css. No contiene texto: solo presentación.
   ========================================================================== */
:root{
  --navy-deep:#0B1B2B;
  --gold-soft:#C9A96A;
  --cream:#F7F6F2;
  --hair:rgba(21,40,58,.14);
  --hair-light:rgba(247,246,242,.16);
  --section:clamp(72px,10vw,136px);
  --display:"Bricolage Grotesque","Bricolage Fallback","Bricolage Fallback R",Arial,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- Global polish ---------- */
::selection{background:var(--navy);color:var(--cream)}
.btn{position:relative;letter-spacing:.005em;transition:transform .35s var(--ease-out),background .25s,color .25s,border-color .25s,box-shadow .35s var(--ease-out)}
.btn .arr{display:inline-block;margin-left:.35em;transition:transform .35s var(--ease-out)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary:hover{box-shadow:0 10px 24px -12px rgba(11,27,43,.55)}
.desktop-nav a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.desktop-nav a:not(.btn):hover:after,.desktop-nav a[aria-current="page"]:after{transform:scaleX(1)}
.text-link-gold{display:inline-flex;align-items:center;gap:.4em;font:600 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:6px;transition:gap .35s var(--ease-out),color .2s}
.text-link-gold:hover{gap:.8em}

/* Footer: cierre en navy en todo el sitio */
.footer{background:var(--navy-deep);border-top:0;padding:64px 0 56px;color:rgba(247,246,242,.62)}
.footer .footer-brand{color:var(--cream);font-family:var(--display);font-size:20px;letter-spacing:-.01em}
.footer a{color:rgba(247,246,242,.72);transition:color .2s}
.footer a:hover{color:var(--gold-soft)}
.footer .footer-meta{color:rgba(247,246,242,.5)}
.footer-grid{padding-top:32px;border-top:1px solid var(--hair-light)}

/* Reveal escalonado */
.js .reveal{transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--i,0)*90ms);transform:translateY(18px)}

/* ==========================================================================
   HOME
   ========================================================================== */
.hx{padding:clamp(48px,7vw,104px) 0 clamp(56px,7vw,96px);overflow:hidden}
.hx .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.hx .view-label{display:inline-flex;align-items:center;gap:12px;margin-bottom:28px}
.hx .view-label:before{content:"";width:36px;height:1px;background:var(--gold)}
.hx h1{font-size:clamp(42px,5.6vw,80px);line-height:.98;letter-spacing:-.042em;max-width:none;text-wrap:balance}
.hx .hero-sub{margin-top:32px;max-width:600px;font-size:16px;line-height:1.65;color:var(--muted)}
.hx .hero-sub span{display:block}
.hx .hero-sub .s-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--text)}
.hx .hero-sub .s-body{margin-top:16px}
.hx .hero-sub .s-tag{margin-top:20px;font:600 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);display:inline-flex;align-items:center;gap:10px}
.hx .hero-sub .s-tag:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none}
.hx .hero-actions{margin-top:36px;gap:14px}
.hx .hero-actions .btn{min-height:54px;padding:0 26px;font-size:15px}
.hx .hero-object{min-height:0;position:relative;justify-content:flex-end}
.hx .hero-art-frame{position:relative;width:100%;max-width:520px;overflow:visible;background:none}
.hx .hero-art-frame picture{overflow:hidden;display:block}
.hx .hero-art-frame:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);opacity:.55;pointer-events:none}
.hx .hero-art-frame picture,.hx .hero-art-frame img{position:relative}
.js .hx .hero-art-frame picture{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease-out) .15s}
.js .hx .hero-object.is-visible .hero-art-frame picture{clip-path:inset(0 0 0 0)}
.js .hx .hero-art{transform:scale(1.08);transition:transform 1.8s var(--ease-out) .15s}
.js .hx .hero-object.is-visible .hero-art{transform:none}

/* Franja de cifras */
.proof{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.proof-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch}
.proof-item{padding:36px 40px 36px 0;border-right:1px solid var(--hair)}
.proof-item + .proof-item{padding-left:40px}
.proof-num{font-family:var(--display);font-weight:600;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.035em;color:var(--navy);white-space:nowrap}
.proof-cap{margin-top:12px;font-size:14px;line-height:1.45;color:var(--muted);max-width:30ch}
.proof-link{display:flex;align-items:center;padding-left:40px}

/* Método 01–03: pilares sin caja */
.method{padding:var(--section) 0 clamp(56px,7vw,96px)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--navy)}
.pillar{position:relative;padding:32px 36px 8px 0;border-right:1px solid var(--hair);display:flex;flex-direction:column}
.pillar + .pillar{padding-left:36px}
.pillar:last-child{border-right:0;padding-right:0}
.pillar-viz{height:132px;margin-bottom:28px;display:flex;align-items:center}
.pillar-viz svg{display:block;height:100%;width:auto;max-width:100%}
.pillar .label{font:600 12px/1.4 var(--mono);letter-spacing:.08em;color:var(--gold);text-transform:uppercase}
.pillar .minor{display:inline-block;align-self:flex-start;margin-top:14px;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border:1px solid var(--hair);border-radius:999px;padding:7px 12px;background:var(--surface)}
.pillar h3,
.pillar h2.as-h3{margin-top:18px;font-size:clamp(22px,2vw,28px);line-height:1.1;letter-spacing:-.02em}
.pillar p{margin:14px 0 0;color:var(--muted);font-size:15.5px;line-height:1.65}
.pillar:before{content:"";position:absolute;top:-1px;left:0;width:0;height:3px;background:var(--gold);transition:width .6s var(--ease-out)}
.pillar + .pillar:before{left:36px}
.pillar:hover:before{width:56px}

/* viz genérico */
.viz-stroke{fill:none;stroke:var(--navy);stroke-width:1.25;opacity:.35}
.viz-dot{fill:var(--navy);opacity:.22}
.viz-dot.on{fill:var(--gold);opacity:1}
.viz-node{fill:var(--surface);stroke:var(--navy);stroke-width:1.25}
.viz-ico{fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.viz-link{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 5;fill:none}
@keyframes edvPulse{0%{r:4;opacity:.9}100%{r:22;opacity:0}}
@keyframes edvDash{to{stroke-dashoffset:-18}}
@keyframes edvBlink{0%,100%{opacity:1}50%{opacity:.25}}
.viz-pulse{fill:none;stroke:var(--gold);stroke-width:1.5;animation:edvPulse 2.6s var(--ease-out) infinite}
.viz-link{animation:edvDash 1.6s linear infinite}
.viz-dot.on{animation:edvBlink 3.2s ease-in-out infinite;animation-delay:calc(var(--d,0)*1s)}

/* 04 Infraestructura: banda pálida, acordeón */
.infra{background:var(--pale);padding:var(--section) 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.infra-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.infra-head{position:sticky;top:96px}
.infra .label{font:600 12px/1.4 var(--mono);letter-spacing:.08em;color:var(--gold);text-transform:uppercase}
.infra .minor{display:inline-block;margin-top:14px;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border:1px solid var(--hair);border-radius:999px;padding:7px 12px;background:var(--surface)}
.infra h3,
.infra h2.as-h3{margin-top:20px;font-size:clamp(30px,3.4vw,46px);line-height:1.02;letter-spacing:-.032em}
.layers{margin-top:36px;display:grid;gap:0;max-width:420px}
.layer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--hair);font:600 12px/1.2 var(--mono);letter-spacing:.07em;color:var(--navy)}
.layer:last-child{border-bottom:1px solid var(--hair)}
.layer span:last-child{color:var(--gold)}
.layer i{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--hair) 0 4px,transparent 4px 8px)}
.acc{border-top:1px solid var(--navy)}
.acc details{border-bottom:1px solid var(--hair)}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;font-family:var(--display);font-weight:600;font-size:clamp(19px,1.7vw,23px);line-height:1.2;letter-spacing:-.015em;color:var(--navy);transition:color .2s}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:#0B1B2B}
.acc summary .plus{flex:none;position:relative;width:34px;height:34px;border:1px solid var(--hair);border-radius:50%;transition:background .25s,border-color .25s,transform .45s var(--ease-out)}
.acc summary .plus:before,.acc summary .plus:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--navy);transform:translate(-50%,-50%);transition:transform .45s var(--ease-out),background .25s}
.acc summary .plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.acc details[open] summary .plus{background:var(--navy);border-color:var(--navy)}
.acc details[open] summary .plus:before,.acc details[open] summary .plus:after{background:var(--cream)}
.acc details[open] summary .plus:after{transform:translate(-50%,-50%) rotate(0)}
.acc summary:hover .plus{border-color:var(--navy)}
.acc .acc-body{padding:0 58px 28px 0;color:var(--muted);font-size:16px;line-height:1.7;margin:0}
.acc details[open] .acc-body{animation:edvAcc .5s var(--ease-out)}
@keyframes edvAcc{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* 05 Ciclo completo: banda navy */
.cycle{background:var(--navy-deep);color:var(--cream);padding:var(--section) 0;position:relative;overflow:hidden}
.cycle:before{content:"";position:absolute;right:-12%;top:-40%;width:60%;aspect-ratio:1;border:1px solid rgba(201,169,106,.16);border-radius:50%;pointer-events:none}
.cycle:after{content:"";position:absolute;right:-2%;top:-18%;width:40%;aspect-ratio:1;border:1px solid rgba(201,169,106,.1);border-radius:50%;pointer-events:none}
.cycle .container{position:relative;z-index:1}
.cycle-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:end}
.cycle .label{font:600 12px/1.4 var(--mono);letter-spacing:.08em;color:var(--gold-soft);text-transform:uppercase}
.cycle .minor{display:inline-block;margin-top:14px;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cream);border:1px solid var(--hair-light);border-radius:999px;padding:7px 12px}
.cycle h3,
.cycle h2.as-h3{margin-top:20px;color:var(--cream);font-size:clamp(32px,3.8vw,54px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
.cycle p{margin:0;color:rgba(247,246,242,.74);font-size:17px;line-height:1.7}
.stepper{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.stepper:before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--hair-light)}
.stepper:after{content:"";position:absolute;left:0;top:9px;height:1px;width:100%;background:var(--gold-soft);transform-origin:left;transform:scaleX(0);transition:transform 2s var(--ease-out) .2s}
.stepper.is-visible:after{transform:scaleX(1)}
html:not(.js) .stepper:after{transform:scaleX(1)}
.step-n{position:relative;padding-top:34px;font:600 12px/1.3 var(--mono);letter-spacing:.07em;color:var(--cream)}
.step-n:before{content:"";position:absolute;left:0;top:3px;width:13px;height:13px;border-radius:50%;background:var(--navy-deep);border:1px solid var(--gold-soft);z-index:1;transition:background .4s var(--ease-out);transition-delay:calc(var(--i)*300ms + 300ms)}
.stepper.is-visible .step-n:before{background:var(--gold-soft)}
.step-n small{display:block;margin-bottom:6px;font:500 11px/1 var(--mono);color:var(--gold-soft);letter-spacing:.08em}
.step-n:last-child{color:var(--gold-soft)}

/* Cierre */
.closing{padding:var(--section) 0;text-align:center}
.closing .view-label{display:inline-block;margin-bottom:24px}
.closing h2{margin:0 auto;max-width:18ch;font-size:clamp(34px,4.6vw,64px);line-height:1;letter-spacing:-.04em;text-wrap:balance}
.closing-actions{margin-top:40px;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap}
.closing-actions .btn{min-height:56px;padding:0 30px;font-size:15px}
.closing-mail{font-size:15px;font-weight:500;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:4px}

/* ---------- Responsive ---------- */
@media(max-width:1023px){
  .hx .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px}
  .proof-grid{grid-template-columns:1fr 1fr}
  .proof-link{grid-column:1/-1;padding:0 0 28px}
  .pillars{grid-template-columns:1fr 1fr}
  .pillar:nth-child(2){border-right:0;padding-right:0}
  .pillar:nth-child(3){grid-column:1/-1;border-top:1px solid var(--hair);padding-left:0;margin-top:32px}
  .pillar:nth-child(3):before{left:0}
  .infra-grid,.cycle-head{grid-template-columns:1fr}
  .infra-head{position:static}
  .stepper{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
  .stepper:before,.stepper:after{display:none}
  .step-n{border-top:1px solid var(--hair-light);padding-top:26px}
  .step-n:before{top:-7px}
}
@media(max-width:767px){
  .hx .hero-grid{grid-template-columns:1fr}
  .hx .hero-object{order:-1;justify-content:flex-start}
  .hx .hero-art-frame{max-width:none;width:calc(100% - 18px)}
  .hx .hero-art{aspect-ratio:5/4;object-position:center 38%}
  .hx .hero-actions .btn{width:100%}
  .proof-grid{grid-template-columns:1fr}
  .proof-item{padding:28px 0;border-right:0;border-bottom:1px solid var(--hair)}
  .proof-item + .proof-item{padding-left:0}
  .proof-link{padding:24px 0 28px}
  .pillars{grid-template-columns:1fr}
  .pillar,.pillar + .pillar{padding:28px 0 8px;border-right:0}
  .pillar + .pillar{border-top:1px solid var(--hair);margin-top:32px}
  .pillar + .pillar:before{left:0}
  .pillar:nth-child(3){margin-top:32px}
  .pillar-viz{height:104px;margin-bottom:22px}
  .acc .acc-body{padding-right:0}
  .stepper{grid-template-columns:1fr 1fr}
  .closing-actions{flex-direction:column;gap:22px}
  .closing-actions .btn{width:100%}
  .footer{padding:48px 0 44px}
}
@media(prefers-reduced-motion:reduce){
  .js .reveal{transform:none;transition:none}
  .js .hx .hero-art-frame picture{clip-path:none;transition:none}
  .js .hx .hero-art{transform:none;transition:none}
  .viz-pulse,.viz-link,.viz-dot.on{animation:none}
  .stepper:after{transform:scaleX(1);transition:none}
  .step-n:before{transition:none}
  .acc details[open] .acc-body{animation:none}
  .btn .arr,.text-link-gold{transition:none}
}

/* ==========================================================================
   HOME · Hero inmersivo (D1)
   ========================================================================== */
.brand-logo--light{display:none}
.site-header.over-dark{background:transparent;border-bottom-color:transparent}
.site-header.over-dark.is-scrolled{background:rgba(11,27,43,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--hair-light)}
html:not(.js) .has-dark-hero .site-header{background:var(--navy-deep)}
.site-header.over-dark .brand-logo{display:none}
.site-header.over-dark .brand-logo--light{display:block}
.site-header.over-dark .desktop-nav a:not(.btn){color:rgba(247,246,242,.72)}
.site-header.over-dark .desktop-nav a:not(.btn):hover,.site-header.over-dark .desktop-nav a[aria-current="page"]{color:var(--cream)}
.site-header.over-dark .desktop-nav a:not(.btn):after{background:var(--gold-soft)}
.site-header.over-dark .desktop-nav a.btn-primary{background:var(--cream);color:var(--navy-deep)}
.site-header.over-dark .menu-toggle{color:var(--cream)}
.has-dark-hero.menu-open .site-header{background:var(--bg)}
.has-dark-hero.menu-open .site-header .brand-logo{display:block}.has-dark-hero.menu-open .site-header .brand-logo--light{display:none}
.has-dark-hero.menu-open .site-header .menu-toggle{color:var(--navy)}
.has-dark-hero .site-header{transition:background .35s var(--ease-out),border-color .35s,backdrop-filter .35s}

.hD{background:var(--navy-deep);color:var(--cream);padding:0;position:relative;overflow:hidden;margin-top:-64px;isolation:isolate}
.hD:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hD-top{position:relative;padding:calc(64px + clamp(40px,5vw,80px)) 0 clamp(56px,6vw,88px);min-height:min(860px,100vh);display:flex;align-items:center}
.hD-top>.container{position:relative;z-index:3}
.hD-glow{position:absolute;z-index:0;left:-10%;top:-20%;width:75%;height:140%;background:radial-gradient(closest-side,rgba(40,72,104,.55),rgba(11,27,43,0) 70%);pointer-events:none}
.hD .hero-copy{max-width:min(660px,54%)}
.hD h1{color:var(--cream)}
.hD h1 .hl{color:var(--gold-soft)}
.hD .view-label{color:var(--gold-soft)}.hD .view-label:before{background:var(--gold-soft)}
.hD .hero-sub{color:rgba(247,246,242,.66)}.hD .hero-sub .s-lead,.hD .hero-sub .s-tag{color:var(--cream)}
.hD .btn-primary{background:var(--cream);color:var(--navy-deep)}.hD .btn-primary:hover{background:#fff;box-shadow:0 14px 30px -14px rgba(0,0,0,.7)}
.hD .btn-secondary{border-color:rgba(247,246,242,.4);color:var(--cream)}.hD .btn-secondary:hover{background:var(--cream);color:var(--navy-deep)}
.hD-art{position:absolute;top:64px;right:0;bottom:0;width:46%;z-index:1;clip-path:polygon(34% 0,100% 0,100% 100%,0 100%)}
.hD-art picture,.hD-art img{display:block;width:100%;height:100%}
.hD-art img{object-fit:cover;object-position:62% center}
.hD-edge{position:absolute;top:64px;right:0;bottom:0;width:46%;z-index:2;pointer-events:none}
.hD-edge:before{content:"";position:absolute;inset:0;background:var(--gold-soft);clip-path:polygon(34% 0,34.4% 0,.4% 100%,0 100%)}
.hD-person{position:absolute;margin:0;z-index:3;right:17%;bottom:0;width:min(28%,410px)}
.hD-person .cut{display:block;width:100%;height:auto;filter:drop-shadow(30px 14px 28px rgba(6,15,25,.42)) drop-shadow(4px 2px 6px rgba(6,15,25,.25))}
.hD-person figcaption{position:absolute;left:calc(100% - 6px);bottom:40px;display:grid;gap:5px;white-space:nowrap;color:var(--navy-deep)}
.hD-person figcaption strong{font:600 18px/1.15 var(--display);letter-spacing:-.01em}
.hD-person figcaption span{font:600 10.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8A6B2E}

/* franja de credenciales */
.creds{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hair-light)}
.cred{display:grid;gap:8px;align-content:start;padding:28px 28px 34px 0;border-right:1px solid var(--hair-light);color:var(--cream);transition:background .3s}
.cred + .cred{padding-left:28px}.cred:last-child{border-right:0}
.cred-n{font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--gold-soft)}
.cred-t{font:600 18px/1.15 var(--display);letter-spacing:-.01em;margin-top:6px}
.cred-s{font-size:13px;line-height:1.45;color:rgba(247,246,242,.58)}
.cred:hover .cred-t{color:var(--gold-soft)}

@media(max-width:1023px){.hD .hero-copy{max-width:58%}.hD-person{right:5%;width:36%}.creds{grid-template-columns:1fr 1fr}.cred:nth-child(2){border-right:0}.cred:nth-child(n+3){border-top:1px solid var(--hair-light)}.cred:nth-child(3){padding-left:0}}
@media(max-width:767px){
  .hD-top{display:block;padding:64px 0 56px;min-height:0}
  .hD-art,.hD-edge{position:relative;top:0;width:100%;height:320px}
  
  .hD-art{border-bottom:1px solid var(--gold-soft)}.hD-art img{object-position:18% center}
  .hD-edge{display:none}
  .hD-person{top:auto;bottom:calc(100% - 384px);right:3%;width:52%}
  .hD-person .cut{filter:drop-shadow(10px 8px 18px rgba(6,15,25,.45))}
  .hD .hero-copy{max-width:none;padding-top:36px}
  .creds{grid-template-columns:1fr 1fr}.cred,.cred + .cred{padding:20px 14px 22px 0;border-right:0}.cred:nth-child(even){padding-left:14px;border-left:1px solid var(--hair-light)}.cred:nth-child(n+3){border-top:1px solid var(--hair-light)}.cred-t{font-size:16px}
}

/* ==========================================================================
   HOME · Pilares 01–03 (v7): ilustraciones con peso, en placa navy
   ========================================================================== */
.method{padding-top:clamp(64px,8vw,112px)}
.pillars{border-top:0;gap:clamp(20px,2.4vw,36px)}
.pillar,.pillar + .pillar{padding:0 0 8px;border-right:0}
.pillar:before,.pillar + .pillar:before{display:none}
.pillar-viz{position:relative;height:auto;aspect-ratio:9/5;margin-bottom:30px;background:var(--navy-deep);border-radius:4px;overflow:hidden;isolation:isolate;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.pillar-viz:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 15% 0%,rgba(40,72,104,.6),rgba(11,27,43,0) 60%)}
.pillar-viz:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--gold-soft);transition:width .7s var(--ease-out)}
.pillar-viz svg{width:100%;height:100%;max-width:none}
.v-ring{fill:none;stroke:rgba(247,246,242,.2);stroke-width:1}
.v-blip{fill:var(--gold-soft)}.v-blip.dim{fill:rgba(247,246,242,.42)}
.v-pulse{fill:none;stroke:var(--gold-soft);stroke-width:1.5}
@keyframes edvPulse2{0%{r:5;opacity:.9}100%{r:26;opacity:0}}
.v-gold-line{stroke:var(--gold-soft);stroke-width:1.25;fill:none}
.v-sweep{transform-origin:0 0}
@keyframes edvSweep{to{transform:rotate(-360deg)}}
.v-card{fill:rgba(247,246,242,.06);stroke:rgba(247,246,242,.28);stroke-width:1}
.v-bar{fill:rgba(247,246,242,.3)}.v-bar.gold{fill:var(--gold-soft)}
.v-dot{fill:rgba(247,246,242,.22)}
.v-dot.on{fill:var(--gold-soft)}
.v-focus-ring{fill:none;stroke:var(--gold-soft);stroke-width:1.25; transform-box:fill-box;transform-origin:center}
@keyframes edvFocus{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.5}}
.v-flow{stroke:rgba(201,169,106,.55);stroke-width:1.5;stroke-dasharray:3 6;fill:none}
.v-runner{fill:var(--gold-soft)}
.v-node{fill:var(--navy-deep);stroke:rgba(247,246,242,.55);stroke-width:1.25}
.v-ico{fill:none;stroke:var(--cream);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pillar .label{display:flex;align-items:center;gap:12px}
.pillar .label:before{content:"";width:22px;height:1px;background:var(--gold)}
@media(max-width:1023px){.pillar:nth-child(3){border-top:0;margin-top:0;padding-left:0}}
@media(max-width:767px){.pillars{gap:48px}.pillar,.pillar + .pillar{padding:0;border-top:0;margin-top:0}.pillar:nth-child(3){margin-top:0}.pillar-viz{height:auto;margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.v-pulse,.v-sweep,.v-dot.on,.v-focus-ring{animation:none}.v-runner{display:none}}


/* ==========================================================================
   v8 · Resultado de la auditoría sénior (estrategia, arte, UX/UI, neuro, CRO)
   ========================================================================== */
:root{--gold-ink:#836428;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* 6 · Oro tinta (texto sobre claro, 5,09:1) frente a oro material; foco visible */
.pillar .label,.infra .label,.view-label,.eyebrow,.master-card .label,.phase-number,.step .num,.flow-kicker,.tv-num,.map-kicker,.pain-map-node .n,.av-num,.cr-num,.article-kicker{color:var(--gold-ink)}
.hD .view-label,.cycle .label{color:var(--gold-soft)}
.pain-map-node.center .n,.pain-map-row.center-row .pain-map-node .n{color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:2px}
.hD :focus-visible,.cycle :focus-visible,.footer :focus-visible,.site-header.over-dark :focus-visible{outline-color:var(--gold-soft)}
.acc summary:focus-visible{outline-offset:-2px}
@media(max-width:767px){.footer-nav a,.footer-meta a{display:inline-block;padding:6px 0}}

/* 2 · Hero que cabe en el primer pantallazo */
@media(min-width:768px){
  .hD h1 .l{display:block;white-space:nowrap}
  .hD h1{font-size:clamp(42px,min(5.2vw,8.4vh),76px);max-width:none;text-wrap:initial}
  .hD-top{padding:calc(64px + clamp(28px,4.5vh,72px)) 0 clamp(36px,5vh,72px);min-height:min(860px,100vh);min-height:min(860px,100svh)}
  .hD .view-label{margin-bottom:clamp(16px,2.6vh,28px)}
  .hD .hero-sub{margin-top:clamp(20px,3vh,32px);max-width:560px}
  .hD .hero-sub .s-lead{font-size:clamp(17px,2.1vh,20px)}
  .hD .hero-sub .s-body{font-size:15px;line-height:1.6;margin-top:12px}
  .hD .hero-sub .s-tag{margin-top:16px}
  .hD .hero-actions{margin-top:clamp(22px,3.2vh,36px)}
  .hD-person figcaption{bottom:clamp(28px,4vh,44px)}
  .hD-art img{width:110%;max-width:none;object-position:0% center}
}
@media(min-width:1024px){.hD .hero-copy{max-width:min(700px,56%)}}
.hD-person figcaption span{color:var(--gold-ink)}
@media(max-width:1279px){
  .hD-person figcaption{display:grid;left:auto;padding:10px 14px 11px;background:rgba(11,27,43,.88);border-left:2px solid var(--gold-soft);color:var(--cream)}
  .hD-person figcaption strong{font-size:15px}
  .hD-person figcaption span{font-size:10px;color:#C9A96A}
}
@media(min-width:1024px) and (max-width:1279px){.hD-person figcaption{right:calc(24px - 17vw);bottom:24px}}
@media(min-width:768px) and (max-width:1023px){.hD-person figcaption{right:calc(20px - 5vw);bottom:24px}}
@media(max-width:767px){.hD-person figcaption{right:auto;left:calc(20px - 45vw);bottom:14px}.hD-art{overflow:hidden}.hD-art img{width:120%;max-width:none;margin-left:-17%}}
.hD-person .cut{filter:drop-shadow(10px 6px 10px rgba(6,15,25,.35))}

/* 11 · Entrada del hero por CSS: visible sin JS, más corta, una vez por sesión */
@keyframes hUp{from{opacity:0;transform:translateY(14px)}}
@keyframes hRise{from{transform:translateY(14px)}}
@keyframes hWipe{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(34% 0,100% 0,100% 100%,0 100%)}}
@keyframes hWipeM{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes hZoom{from{transform:scale(1.08)}}
@keyframes hFade{from{opacity:0}}
.hD-art{animation:hWipe 1.1s var(--ease-out) both}
.hD-art img{animation:hZoom 1.6s var(--ease-out) both}
.hD .hero-copy>*{animation:hUp .8s var(--ease-out) both}
.hD .hero-copy>*:nth-child(2){animation-delay:.08s}.hD .hero-copy>*:nth-child(3){animation-delay:.16s}.hD .hero-copy>*:nth-child(4){animation-delay:.24s}
.hD h1{animation-name:hRise}
.hD-person{animation:hUp .9s var(--ease-out) .25s both}
.hD-edge:before{animation:hFade .5s .6s both}
@media(max-width:767px){.hD-art{clip-path:none;animation-name:hWipeM}}
.no-intro .hD *,.no-intro .hD *:before{animation:none!important}

/* 14 · Rango de botones, hover y pulsación */
.hD .btn-secondary{border:0;border-radius:0;background:none;padding:14px 2px;min-height:44px;box-shadow:inset 0 -1px 0 rgba(247,246,242,.45)}
.hD .btn-secondary:hover{background:none;color:var(--gold-soft);box-shadow:inset 0 -1px 0 var(--gold-soft)}
@media(max-width:767px){.hx .hero-actions .btn-secondary{width:auto;align-self:center}}
.hD .btn-primary:hover,.site-header.over-dark .desktop-nav a.btn-primary:hover{background:var(--gold-soft);color:var(--navy-deep);box-shadow:none}
.btn-primary{position:relative;overflow:hidden}
.btn-primary:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold-soft);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.btn-primary:hover:after,.btn-primary:focus-visible:after{transform:scaleX(1)}
.hD .btn-primary:after,.site-header.over-dark .btn-primary:after{display:none}
.btn:hover .arr{transform:translateX(6px)}
.btn:active{transform:scale(.98);transition-duration:.08s}
.pillar .minor,.infra .minor,.cycle .minor{border-radius:4px;padding:6px 10px;margin-top:12px}
.acc summary .plus{border-radius:4px}
.pillar .minor{min-height:42px;display:inline-flex;align-items:flex-end;box-sizing:border-box}
.pillar .minor:not(.fig){min-height:0;margin-top:30px}
.pillar .minor.fig{display:flex;align-items:baseline;gap:10px;border:0;background:none;padding:0;min-height:42px;font:600 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.pillar .minor.fig b{font:500 clamp(34px,3.2vw,46px)/.9 var(--display);letter-spacing:-.04em}

/* 4 · CTA al alcance en móvil */
.nav-cta-m{display:none}
@media(min-width:375px) and (max-width:767px){
  .nav-wrap{gap:8px}.menu-toggle{flex:none}
  .nav-cta-m{display:inline-flex;margin-left:auto;width:auto;min-height:36px;padding:0 10px;font:600 12px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  .nav-cta-m .arr{display:none}
  .site-header.is-scrolled .nav-cta-m{opacity:1;visibility:visible}
  .site-header.over-dark .nav-cta-m{background:var(--cream);color:var(--navy-deep)}
  .menu-open .nav-cta-m{display:none}
}
.cycle-cta{display:none}
@media(max-width:767px){.cycle-cta{display:block;margin-top:40px}.cycle-cta .btn{width:100%;min-height:54px;background:var(--cream);color:var(--navy-deep)}}

/* 12 · Credenciales sin enlaces falsos + una salida verificable */
.cred{transition:none}
.cred:before{content:"";width:22px;height:1px;background:var(--gold-soft);margin-bottom:6px}
.cred-t{margin-top:0}
.cred-s{font-size:14px;color:rgba(247,246,242,.72)}
.creds-verify{position:relative;z-index:3;margin:0;padding:6px 0 22px;text-align:right;border-top:1px solid var(--hair-light)}
.creds-verify a{display:inline-flex;align-items:center;min-height:44px;font:600 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);transition:color .2s}
.creds-verify a:hover{color:var(--cream)}
@media(min-width:1024px){.cred:last-child .cred-t{font-weight:500;opacity:.8}}
@media(max-width:767px){.creds-verify{text-align:left}}

/* 7 · Entradilla editorial y capítulo 01–04 */
.statement{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end;margin:0 0 clamp(56px,7vw,96px);padding-top:28px;border-top:1px solid var(--navy)}
.st-a{font:500 clamp(34px,4.2vw,60px)/1.02 var(--display);letter-spacing:-.035em;color:var(--navy);text-wrap:balance}
.st-b{font-size:17px;line-height:1.65;color:var(--muted);max-width:44ch}
@media(max-width:767px){.statement{grid-template-columns:1fr;gap:20px}}
.method{padding-bottom:clamp(40px,5vw,72px)}
.infra{padding-top:clamp(64px,8vw,112px);border-top:0}
.pillars-more{margin:clamp(36px,4vw,56px) 0 0}

/* 8 · Ilustraciones: animan al entrar y se asientan */
@keyframes edvPulse2{from{transform:scale(1);opacity:.9}to{transform:scale(5);opacity:0}}
.v-pulse{transform-box:fill-box;transform-origin:center;vector-effect:non-scaling-stroke;opacity:0}
.is-live .v-sweep{animation:edvSweep 5s linear 1}
.is-live .v-pulse{animation:edvPulse2 2.5s var(--ease-out) 2 forwards}
.is-live .v-focus-ring{animation:edvFocus 2.5s ease-in-out 2}
.is-live .v-dot.on{animation:edvBlink 2.4s ease-in-out 1;animation-delay:calc(var(--d,0)*.9s)}
.v-runner{transform:translate(-20px,100px);opacity:0}
@keyframes edvRun{from{transform:translate(-20px,100px);opacity:1}to{transform:translate(250px,100px);opacity:0}}
.is-live .v-runner{animation:edvRun 2.5s linear 2 both}
.v-band{fill:#F3EEE2}.v-band.b2{fill:#15283A;stroke:rgba(247,246,242,.22);stroke-width:1}.v-band.b3{fill:#E4DCCB}
.pillar-viz:after{width:100%;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out) calc(var(--i,0)*90ms + .3s)}
.pillar.is-visible .pillar-viz:after{transform:scaleX(1)}
html:not(.js) .pillar-viz:after{transform:none}

/* 13 · Un solo material: grano en todo el navy */
.pillar-viz>svg{position:relative;z-index:1}
.pillar-viz .grain,.cycle:before,.footer:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.4}
.cycle:before{right:0;top:0;width:auto;aspect-ratio:auto;border:0;border-radius:0}
.cycle:after{display:none}
.footer{position:relative;isolation:isolate}.footer>.container{position:relative;z-index:1}

/* 10 · Bloque 04: garantías visibles y frase del dominio con jerarquía */
.acc details:first-child .acc-body{font:500 clamp(18px,1.35vw,20px)/1.5 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;color:var(--navy);border-left:2px solid var(--gold);padding-left:18px;margin-bottom:28px;padding-bottom:0}
.layer{justify-content:flex-start}
@media(max-width:767px){.layers{display:none}}
@supports selector(::details-content) and (interpolate-size:allow-keywords){.acc details{interpolate-size:allow-keywords}.acc details::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease-out),content-visibility .45s allow-discrete}.acc details[open]::details-content{block-size:auto}}

/* 9 · Stepper que culmina en FIRMA */
.stepper{list-style:none;padding:0;margin-bottom:0}
@media(min-width:1024px){
  .stepper:before{right:calc(100%/6 - 7px)}
  .stepper:after{width:calc(100%/6*5 + 7px);transition:transform 1.5s linear .2s}
  .step-n:before{transition-delay:calc(var(--i)*300ms + 200ms)}
}
.step-n:last-child{color:var(--cream);transition:color .5s var(--ease-out) 1.75s}
.stepper.is-visible .step-n:last-child{color:var(--gold-soft)}
.stepper.is-visible .step-n:last-child:before{width:21px;height:21px;top:-1px;left:-4px;border:0;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26);transition:all .5s var(--ease-out) 1.7s}
.step-n:last-child:after{content:"";position:absolute;left:0;top:3px;width:13px;height:13px;border-radius:50%;border:1px solid var(--gold-soft);opacity:0;pointer-events:none}
.stepper.is-visible .step-n:last-child:after{animation:edvSeal .9s var(--ease-out) 1.75s 1 both}
@keyframes edvSeal{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}
@media(max-width:1023px){.step-n:last-child:after{top:-7px}.stepper.is-visible .step-n:last-child:before{top:-11px}}
@media(max-width:767px){
  .stepper{grid-template-columns:1fr;row-gap:0;padding-left:30px}
  .stepper:before,.stepper:after{display:block;left:6px;top:8px;bottom:8px;right:auto;width:1px;height:auto}
  .stepper:after{transform:scaleY(0);transform-origin:top;transition:transform 1.5s linear .2s}
  .stepper.is-visible:after{transform:scaleY(1)}
  .step-n{border-top:0;padding:0 0 22px}
  .step-n:before{left:-30px;top:-1px}
  .step-n small{display:inline;margin:0 10px 0 0}
  .step-n:last-child:after{left:-30px;top:-1px}
  .stepper.is-visible .step-n:last-child:before{left:-34px;top:-5px}
}
html:not(.js) .step-n:before{background:var(--gold-soft)}
html:not(.js) .step-n:last-child{color:var(--gold-soft)}

/* 5 · Banda Mi Modelo vs. Alternativas */
.model{background:var(--pale);border-bottom:1px solid var(--hair);padding:clamp(56px,7vw,96px) 0}
.model-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.model h2{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.03em}
.model-legend{margin-top:28px;display:flex;gap:20px;font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
.model-legend span:first-child{color:var(--gold-ink)}
.model-legend span:first-child:before{content:"✓ "}
.model-legend span:last-child:before{content:"✕ "}
.model-grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,80px)}
.model-grid li{padding:24px 0;border-top:1px solid var(--hair)}
.m-yes{margin:0;font:500 16.5px/1.5 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;color:var(--navy)}
.m-yes span{color:var(--gold-ink);margin-right:4px}
.m-yes strong{font:600 18px/1.3 var(--display);letter-spacing:-.01em}
.m-no{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.m-no strong{font-weight:600}
@media(max-width:767px){.model-grid{grid-template-columns:1fr}}

/* 3 · Cierre diseñado: eje izquierdo, pieza EDV de vuelta */
.closing{text-align:left;padding:var(--section) 0 0;overflow:hidden}
.closing-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end}
.closing-left{padding-bottom:var(--section)}
.closing h2{margin:0;max-width:16ch;font-size:clamp(36px,5vw,72px);line-height:1;text-wrap:balance}
.closing-note{margin:24px 0 0;max-width:52ch;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--muted)}
.closing-actions{margin-top:32px;justify-content:flex-start}
.closing-agenda{margin-top:44px;padding-top:18px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;font:600 11.5px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--navy)}
.closing-agenda .ca-k{color:var(--gold-ink)}
.closing-agenda ol{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none}
.closing-agenda b{font-weight:600;color:var(--gold-ink);margin-right:6px}
.closing-art{margin:0;align-self:end;height:clamp(380px,40vw,560px);clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);margin-right:calc(50% - 50vw)}
.closing-art picture,.closing-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:40% 58%}
@media(max-width:767px){
  .closing{padding-top:0}
  .closing-grid{grid-template-columns:1fr;gap:0}
  .closing-art{order:-1;height:240px;clip-path:none;margin:0 -20px 40px;border-bottom:1px solid var(--gold-soft)}
  .closing-left{padding-bottom:72px}
  .closing-actions{align-items:stretch}
  .closing-agenda ol{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .hD-art,.hD-art img,.hD-person,.hD .hero-copy>*,.hD-edge:before{animation:none}
  .is-live .v-sweep,.is-live .v-pulse,.is-live .v-focus-ring,.is-live .v-dot.on,.is-live .v-runner{animation:none}
  .pillar-viz:after{transition:none;transform:none}
  .stepper:after{transform:none;transition:none}.step-n:last-child{color:var(--gold-soft);transition:none}.step-n:last-child:after{animation:none}
  .btn-primary:after,.nav-cta-m,.btn:active{transition:none}
  .acc details::details-content{transition:none}
}
/* Cierre: calibrado de la pieza (se lee la D, la V y la esfera) y filete dorado en la diagonal, como en el hero */
.closing-art{position:relative;height:clamp(460px,46vw,680px);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
.closing-art picture,.closing-art img{object-position:70% 42%}
.closing-art:after{content:"";position:absolute;inset:0;background:var(--gold-soft);clip-path:polygon(30% 0,30.45% 0,.45% 100%,0 100%)}
@media(max-width:767px){.closing-art{height:260px;clip-path:none}.closing-art:after{display:none}.closing-art picture,.closing-art img{object-position:30% 40%}}
@media(max-width:767px){.stepper:before,.stepper:after{bottom:30px}.step-n:last-child{padding-bottom:0}.closing-mail{align-self:flex-start}}


/* ==========================================================================
   v9 · Ajustes tras la revisión de Edu
   ========================================================================== */
/* Mi Modelo: de banda extensa a franja compacta (la matriz completa vive en su página) */
.model{padding:clamp(40px,4.5vw,64px) 0}
.model-row{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--navy)}
.model-row li{padding:22px 24px 4px 0;border-right:1px solid var(--hair);font:600 clamp(17px,1.5vw,21px)/1.2 var(--display);letter-spacing:-.015em;color:var(--navy);display:flex;gap:10px;align-items:baseline}
.model-row li + li{padding-left:24px}.model-row li:last-child{border-right:0;padding-right:0}
.model-row li span{color:var(--gold-ink);font:600 15px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif}
@media(max-width:1023px){.model-row{grid-template-columns:1fr 1fr}.model-row li:nth-child(2){border-right:0}.model-row li:nth-child(3){padding-left:0}.model-row li:nth-child(n+3){border-top:1px solid var(--hair)}.model-row li{padding-bottom:20px}}
@media(max-width:767px){.model-row li,.model-row li + li{padding:16px 10px 16px 0}.model-row li:nth-child(even){padding-left:12px}}

/* Bloque 04: placa de capas con los materiales del hero (papel, sombra proyectada, latón) */
.infra-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start}
.infra-plate{position:relative;margin-top:36px;background:var(--navy-deep);border-radius:4px;overflow:hidden;isolation:isolate;aspect-ratio:560/500}
.infra-plate:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(110% 80% at 12% 0%,rgba(40,72,104,.6),rgba(11,27,43,0) 62%)}
.infra-plate svg{position:relative;z-index:1;display:block;width:100%;height:100%}
.infra-plate .grain{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.4}
.slab.l .s-t{fill:#F3EEE2}.slab.l .s-l{fill:#D8CFBB}.slab.l .s-r{fill:#C4B99F}
.slab.d .s-t{fill:#1C3957}.slab.d .s-l{fill:#132840}.slab.d .s-r{fill:#0E2034}
.slab .s-t{stroke:rgba(201,169,106,.75);stroke-width:1}
.slab-tag text{font:600 11px/1 "JetBrains Mono","JetBrains Fallback",monospace;letter-spacing:.09em;fill:rgba(247,246,242,.9)}
.slab,.slab-tag,.infra-plate .orb,.infra-plate .axis{transition:opacity .4s var(--ease-out),transform .6s var(--ease-out)}
.slab{transform-box:fill-box}
.js .infra-plate:not(.is-live) .slab{opacity:0;transform:translateY(-22px)}
.js .infra-plate:not(.is-live) .slab-tag,.js .infra-plate:not(.is-live) .orb,.js .infra-plate:not(.is-live) .axis{opacity:0}
.infra-plate.is-live .slab{transition-delay:calc((3 - var(--i))*140ms)}
.infra-plate.is-live .slab-tag{transition-delay:calc((3 - var(--i))*140ms + 350ms)}
.infra-plate.is-live .orb,.infra-plate.is-live .axis{transition-delay:950ms}
/* la garantía que se mira enciende su capa */
.infra:has(.acc details:nth-of-type(1):hover) .slab:not(.slab-1),.infra:has(.acc details:nth-of-type(1):focus-within) .slab:not(.slab-1),
.infra:has(.acc details:nth-of-type(2):hover) .slab:not(.slab-2):not(.slab-3),.infra:has(.acc details:nth-of-type(2):focus-within) .slab:not(.slab-2):not(.slab-3),
.infra:has(.acc details:nth-of-type(3):hover) .slab:not(.slab-4),.infra:has(.acc details:nth-of-type(3):focus-within) .slab:not(.slab-4){opacity:.28;transition-delay:0s}
.infra:has(.acc details:nth-of-type(1):hover) .slab-tag:not(.slab-tag-1),.infra:has(.acc details:nth-of-type(2):hover) .slab-tag:not(.slab-tag-2):not(.slab-tag-3),.infra:has(.acc details:nth-of-type(3):hover) .slab-tag:not(.slab-tag-4){opacity:.3;transition-delay:0s}
/* garantías: en escritorio son una lista editorial, no un acordeón con botones */
@media(min-width:768px){
  .acc summary{cursor:default;padding:30px 0 14px;pointer-events:none;font-size:clamp(21px,1.9vw,26px)}
  .acc summary .plus{display:none}
  .acc .acc-body{padding-right:0;padding-bottom:30px}
  .acc details:first-child .acc-body{margin-bottom:30px}
  .acc details{position:relative}
  .acc details:before{content:"";position:absolute;left:0;top:-1px;width:0;height:2px;background:var(--gold);transition:width .6s var(--ease-out)}
  .acc details:hover:before{width:64px}
}
@media(max-width:1023px){.infra-grid{grid-template-columns:1fr}}
@media(max-width:767px){.infra-plate{margin-top:28px}.slab-tag text{font-size:15.5px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.slab,.slab-tag,.infra-plate .orb,.infra-plate .axis{transition:none}.js .infra-plate:not(.is-live) .slab,.js .infra-plate:not(.is-live) .slab-tag,.js .infra-plate:not(.is-live) .orb,.js .infra-plate:not(.is-live) .axis{opacity:1;transform:none}}
.infra-grid{align-items:center}.infra-head{position:static}
@media(min-width:1024px){.acc{margin-top:clamp(40px,8vw,120px)}}

/* v10 · Mi Modelo en la home: el gancho es el dolor (titulares literales de mi-modelo.html) y debajo, la respuesta */
.model-pairs{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--navy)}
.model-pairs li{display:flex;flex-direction:column;padding:26px 26px 6px 0;border-right:1px solid var(--hair)}
.model-pairs li + li{padding-left:26px}.model-pairs li:last-child{border-right:0;padding-right:0}
.mp-pain{position:relative;margin:0;padding-top:30px;font:600 clamp(19px,1.55vw,23px)/1.18 var(--display);letter-spacing:-.02em;color:var(--navy);text-wrap:balance;flex:1}
.mp-x{position:absolute;left:0;top:0;width:20px;height:20px;border:1px solid rgba(21,40,58,.35);border-radius:50%;display:grid;place-items:center;font:600 10px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;color:var(--muted)}
.mp-fix{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--hair);font-size:13.5px;line-height:1.55;color:var(--muted)}
.mp-fix span{color:var(--gold-ink);font-weight:600;margin-right:2px}
.mp-fix strong{display:block;margin:-20px 0 4px 20px;font:600 15px/1.35 var(--display);letter-spacing:-.005em;color:var(--navy)}
@media(max-width:1023px){.model-pairs{grid-template-columns:1fr 1fr}.model-pairs li:nth-child(2){border-right:0}.model-pairs li:nth-child(3){padding-left:0}.model-pairs li:nth-child(n+3){border-top:1px solid var(--hair)}.model-pairs li{padding-bottom:26px}}
@media(max-width:767px){.model-pairs{grid-template-columns:1fr}.model-pairs li,.model-pairs li + li{padding:22px 0;border-right:0;border-top:1px solid var(--hair)}.model-pairs li:first-child{border-top:0}.mp-pain{padding-top:0;padding-left:32px}.mp-x{top:3px}.mp-fix{margin-top:14px}}
@media(min-width:1024px){.model-pairs{grid-template-rows:auto auto}.model-pairs li{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}.mp-fix{margin-top:24px}}

/* v11 · Mi Modelo en la home: tres tarjetas dolor -> respuesta. Cifra como ancla visual, contraste claro/oscuro = problema/solución */
.model{padding:clamp(64px,8vw,112px) 0;border-bottom:0}
.vs-grid{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;gap:0 clamp(20px,2.4vw,36px)}
.vs{display:grid;grid-template-rows:subgrid;grid-row:span 3;position:relative}
.vs-pain{background:var(--surface);border:1px solid var(--hair);border-bottom:0;border-radius:4px 4px 0 0;padding:26px 28px 30px}
.vs-k{display:flex;align-items:center;gap:10px;font:600 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.vs-x,.vs-c{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font:600 10px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif}
.vs-x{border:1px solid rgba(21,40,58,.3);color:var(--muted)}
.vs-c{background:var(--gold-soft);color:var(--navy-deep)}
.vs-num{margin-top:26px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;color:var(--navy)}
.vs-num b{font:500 clamp(56px,6.2vw,92px)/.86 var(--display);letter-spacing:-.055em;white-space:nowrap}
.vs-num span{font:600 11.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.vs-h{margin:22px 0 0;font:500 clamp(17px,1.35vw,19.5px)/1.35 var(--display);letter-spacing:-.012em;color:var(--navy);text-wrap:pretty}
.vs-link{position:relative;height:0;z-index:2}
.vs-link:before{content:"";position:absolute;left:28px;top:-14px;width:28px;height:28px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 0 5px var(--pale)}
.vs-link:after{content:"";position:absolute;left:38px;top:-6px;width:8px;height:8px;border-right:1.5px solid var(--navy-deep);border-bottom:1.5px solid var(--navy-deep);transform:rotate(45deg)}
.vs-fix{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:var(--cream);border-radius:0 0 4px 4px;padding:34px 28px 30px}
.vs-fix:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 100% at 0% 0%,rgba(40,72,104,.6),rgba(11,27,43,0) 65%)}
.vs-fix .grain{position:absolute;inset:0;pointer-events:none;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.4}
.vs-fix .vs-k{color:var(--gold-soft)}
.vs-fix p{position:relative;margin:16px 0 0;font-size:14.5px;line-height:1.6;color:rgba(247,246,242,.72)}
.vs-fix strong{display:block;margin-bottom:6px;font:600 clamp(20px,1.7vw,24px)/1.15 var(--display);letter-spacing:-.02em;color:var(--cream)}
/* secuencia temporal: primero el problema, después el alivio */
.js .vs-grid.reveal .vs-fix{clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-out);transition-delay:calc(var(--i)*140ms + 450ms)}
.js .vs-grid.reveal.is-visible .vs-fix{clip-path:inset(0)}
.js .vs-grid.reveal .vs-link:before,.js .vs-grid.reveal .vs-link:after{opacity:0;transition:opacity .4s ease;transition-delay:calc(var(--i)*140ms + 350ms)}
.js .vs-grid.reveal.is-visible .vs-link:before,.js .vs-grid.reveal.is-visible .vs-link:after{opacity:1}
@media(max-width:1023px){.vs-grid{grid-template-columns:1fr;grid-template-rows:none;gap:24px}.vs{display:block}.vs-pain{display:grid;grid-template-columns:auto 1fr;column-gap:24px;align-items:end}.vs-pain .vs-k{grid-column:1/-1}.vs-h{margin-top:0}}
@media(max-width:767px){.vs-pain{display:block;padding:22px 22px 28px}.vs-h{margin-top:18px}.vs-fix{padding:32px 22px 26px}.vs-link:before{left:22px}.vs-link:after{left:32px}}
@media(prefers-reduced-motion:reduce){.js .vs-grid.reveal .vs-fix{clip-path:none;transition:none}.js .vs-grid.reveal .vs-link:before,.js .vs-grid.reveal .vs-link:after{opacity:1;transition:none}}
.vs-num{flex-direction:column;align-items:flex-start;gap:12px;flex-wrap:nowrap}
.vs-link:before{box-shadow:0 0 0 5px var(--surface)}

/* v12 · Dolor nº 1: el coste real de la nómina. Tarjeta destacada con iceberg (sueldo bruto visible, costes ocultos bajo la línea) */
.vs-feat{margin-top:clamp(32px,4vw,52px);position:relative}
.vs-feat-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);gap:clamp(24px,3vw,48px);align-items:center;background:var(--surface);border:1px solid var(--hair);border-bottom:0;border-radius:4px 4px 0 0;padding:clamp(24px,2.6vw,36px)}
.vf-eyebrow{margin:26px 0 0;font:600 11.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.vf-h{margin:14px 0 0;font:500 clamp(30px,3.5vw,52px)/1.02 var(--display);letter-spacing:-.038em;color:var(--navy);text-wrap:balance}
.vf-ice{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);border-radius:4px;aspect-ratio:360/400}
.vf-ice:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(40,72,104,.75) 0,rgba(40,72,104,.75) 28%,rgba(11,27,43,0) 28.2%)}
.vf-ice .grain{position:absolute;inset:0;pointer-events:none;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.4}
.vf-ice svg{position:relative;z-index:1;display:block;width:100%;height:100%}
.vf-ice text{font:600 11px/1 "JetBrains Mono","JetBrains Fallback",monospace;letter-spacing:.09em;fill:var(--cream)}
.vf-ice text.dim{fill:var(--gold-soft)}
.vf-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy)}
.vf-list li{position:relative;padding:15px 0 15px 26px;border-bottom:1px solid var(--hair);font-size:14.5px;line-height:1.5;color:var(--text)}
.vf-list li:before{content:"+";position:absolute;left:0;top:13px;font:600 16px/1.3 var(--display);color:var(--gold-ink)}
.vf-fix{border-radius:0 0 4px 4px}
.vf-answers{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.vf-answers p{margin-top:16px}
.vs-feat .vs-link:before{left:clamp(24px,2.6vw,36px)}.vs-feat .vs-link:after{left:calc(clamp(24px,2.6vw,36px) + 10px)}
/* el iceberg emerge: primero la punta (lo que se ve), luego la masa oculta */
.js .vs-feat .ice-mass{opacity:0;transform:translateY(-18px);transition:opacity .9s var(--ease-out) .5s,transform 1.1s var(--ease-out) .5s}
.js .vs-feat.is-visible .ice-mass{opacity:1;transform:none}
.js .vs-feat .vf-list li{opacity:0;transform:translateX(-8px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.js .vs-feat.is-visible .vf-list li{opacity:1;transform:none}
.js .vs-feat .vf-list li:nth-child(1){transition-delay:.7s}.js .vs-feat .vf-list li:nth-child(2){transition-delay:.85s}.js .vs-feat .vf-list li:nth-child(3){transition-delay:1s}.js .vs-feat .vf-list li:nth-child(4){transition-delay:1.15s}
.js .vs-feat .vf-fix{clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-out) 1.3s}
.js .vs-feat.is-visible .vf-fix{clip-path:inset(0)}
.vs-grid{margin-top:clamp(20px,2.4vw,36px)}
.vs-num b{font-size:clamp(48px,5vw,72px)}
@media(max-width:1023px){.vs-feat-top{grid-template-columns:minmax(0,1fr) minmax(0,220px)}.vf-list{grid-column:1/-1}}
@media(max-width:767px){.vs-feat-top{grid-template-columns:1fr;padding:22px}.vf-ice{max-width:260px}.vf-answers{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){.js .vs-feat .ice-mass,.js .vs-feat .vf-list li{opacity:1;transform:none;transition:none}.js .vs-feat .vf-fix{clip-path:none;transition:none}}


/* ==========================================================================
   v13 · Pasada de detalle
   ========================================================================== */
/* Tipografía: sin viudas ni líneas descompensadas */
p,li,figcaption{text-wrap:pretty}
h1,h2,h3,h2.as-h3,.st-a,.vf-h,.vs-h{text-wrap:balance}
/* Hero: el subrayado del enlace secundario mide lo que mide su texto */
.hx .hero-actions .btn-secondary{padding:14px 2px;margin-left:14px}
@media(max-width:767px){.hx .hero-actions{flex-direction:column;align-items:stretch}.hx .hero-actions .btn-secondary{margin:4px auto 0;align-self:center}}
/* Credenciales: mismas líneas de base y mismo rango para las cuatro */
@media(min-width:1024px){.cred:last-child .cred-t{font-weight:600;opacity:1}.cred-t{min-height:2.3em;display:flex;align-items:flex-start}}
/* Etiquetas de sección: el mismo filete delante en 01–05 */
.infra .label,.cycle .label{display:flex;align-items:center;gap:12px}
.infra .label:before,.cycle .label:before{content:"";width:22px;height:1px;background:var(--gold)}
.cycle .label:before{background:var(--gold-soft)}
/* Pilares: etiqueta, cifra, titular y párrafo alineados entre columnas */
@media(min-width:1024px){
  .pillars{grid-template-rows:auto auto auto auto auto}
  .pillar,.pillar + .pillar{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
  .pillar .minor,.pillar .minor.fig,.pillar .minor:not(.fig){align-self:end;margin-top:22px;min-height:0}
  .pillar .minor:not(.fig){justify-self:start}
}
.v-tile{fill:rgba(247,246,242,.14)}
.v-tile.on{fill:#F3EEE2}
.is-live .v-tile.on{animation:edvBlink 2.4s ease-in-out 1;animation-delay:calc(var(--d,0)*.9s)}
.v-focus-ring{stroke-width:1}
/* Ciclo completo: la línea llega hasta el borde derecho y FIRMA la remata */
@media(min-width:1024px){
  .stepper{grid-template-columns:repeat(5,minmax(0,1fr)) max-content}
  .stepper:before{right:calc(100% - (100% - var(--last,44px)) - 7px)}
  .stepper:before,.stepper:after{right:auto;width:calc(100% - var(--last,44px) + 7px)}
}
/* Footer: logotipo y jerarquía */
.footer{padding:72px 0 56px}
.footer-grid{padding-top:0;border-top:0;align-items:flex-end}
.footer-logo{display:block;width:150px;height:auto;margin-bottom:28px;opacity:.95}
.footer .footer-brand{font-size:17px}
.footer .footer-meta{margin-top:10px}
.footer-grid>div:last-child{text-align:right}
.footer-nav{justify-content:flex-end}
@media(max-width:767px){.footer-grid{align-items:flex-start}.footer-grid>div:last-child{text-align:left}.footer-nav{justify-content:flex-start}.footer-logo{width:132px}}
@media(prefers-reduced-motion:reduce){.is-live .v-tile.on{animation:none}}

/* detalle · tarjeta destacada: mismo margen interior arriba y abajo; rótulos del iceberg legibles */
.vf-fix{padding-left:clamp(24px,2.6vw,36px);padding-right:clamp(24px,2.6vw,36px)}
.vf-ice text{font-size:14.5px;letter-spacing:.07em}
.vs-pain,.vs-fix{padding-left:28px;padding-right:28px}
@media(max-width:767px){.vs-pain,.vs-fix,.vf-fix{padding-left:22px;padding-right:22px}.footer-nav{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 22px}}
.vs-fix.vf-fix{padding-left:clamp(24px,2.6vw,36px);padding-right:clamp(24px,2.6vw,36px)}
@media(max-width:767px){.vs-fix.vf-fix{padding-left:22px;padding-right:22px}}


/* ==========================================================================
   v14 · QA
   ========================================================================== */
/* Contraste AA: estos selectores de styles.css ganaban por especificidad al oro tinta */
.contact-rail .cr-num,.pain-map .map-kicker,.pain-map-node .n,.timeline-visual .tv-num,.authority-visual .av-num,.flow-visual .flow-kicker,.step .num,.phase-number,.master-card .label,.service-card .eyebrow,.pain .eyebrow,.authority .eyebrow,.channels .eyebrow{color:var(--gold-ink)}
.pain-map-node.center .n,.pain-map-row.center-row .pain-map-node .n{color:#fff}
/* Enlace de salto para teclado y lectores de pantalla */
.skip-link{position:absolute;left:16px;top:-64px;z-index:100;background:var(--navy-deep);color:var(--cream);padding:12px 16px;border-radius:4px;font:600 14px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;transition:top .2s}
.skip-link:focus{top:12px}
/* El foco nunca queda tapado por la cabecera fija */
html{scroll-padding-top:88px}
/* Áreas táctiles de al menos 24 px (WCAG 2.2 · 2.5.8) */
.text-link-gold{min-height:28px;padding-top:6px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:28px}
/* Menú móvil: icono de cierre y fondo atenuado de verdad */
.menu-toggle[aria-expanded="true"]{font-size:0}
.menu-toggle[aria-expanded="true"]:before{content:"✕";font-size:20px;line-height:1}
@media(max-width:767px){.mobile-overlay{background:rgba(11,27,43,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.mobile-menu{box-shadow:0 24px 40px -20px rgba(11,27,43,.45)}.mobile-menu a:not(.btn){border-bottom:1px solid var(--hair)}}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}
.breadcrumbs a{min-width:28px}
/* Tarjeta del coste: secuencia más ágil (antes la respuesta tardaba 2,2 s en aparecer) */
.js .vs-feat .ice-mass{transition-delay:.25s}
.js .vs-feat .vf-list li:nth-child(1){transition-delay:.35s}.js .vs-feat .vf-list li:nth-child(2){transition-delay:.45s}.js .vs-feat .vf-list li:nth-child(3){transition-delay:.55s}.js .vs-feat .vf-list li:nth-child(4){transition-delay:.65s}
.js .vs-feat .vf-fix{transition-delay:.8s}
/* LCP: el retrato entra sin opacidad 0 (así el navegador lo cuenta como pintado desde el primer fotograma) */
@keyframes hRiseP{from{transform:translateY(26px)}}
.hD-person{animation:hRiseP 1s var(--ease-out) both}

/* v15 · jerarquía de encabezados: los H3 que colgaban directamente del H1 son ahora H2 con el mismo aspecto */
h2.as-h3{letter-spacing:normal}

/* ==========================================================================
   v16 · SERVICIOS
   ========================================================================== */
/* Cabecera de página interior en navy (misma familia que el hero de la home) */
.ph{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:var(--cream);margin-top:-64px;padding:calc(64px + clamp(56px,7vw,112px)) 0 clamp(56px,7vw,104px)}
.ph:before{content:"";position:absolute;z-index:-1;left:-10%;top:-30%;width:75%;height:160%;background:radial-gradient(closest-side,rgba(40,72,104,.55),rgba(11,27,43,0) 70%)}
.ph:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.5}
.ph-copy{max-width:min(820px,64%)}
.ph .view-label{display:inline-flex;align-items:center;gap:12px;margin-bottom:26px;color:var(--gold-soft)}
.ph .view-label:before{content:"";width:36px;height:1px;background:var(--gold-soft)}
.ph .page-title{color:var(--cream);font-size:clamp(34px,4.3vw,62px);line-height:1.02;letter-spacing:-.038em;text-wrap:balance}
.ph-intro{margin:28px 0 0;max-width:60ch;font-size:clamp(17px,1.35vw,19.5px);line-height:1.6;color:rgba(247,246,242,.74)}
.ph-art{position:absolute;top:64px;right:0;bottom:0;width:30%;z-index:0;clip-path:polygon(38% 0,100% 0,100% 100%,0 100%);animation:hWipe30 1.1s var(--ease-out) both}
@keyframes hWipe30{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(38% 0,100% 0,100% 100%,0 100%)}}
.ph-art picture,.ph-art img{display:block;width:100%;height:100%}.ph-art img{object-fit:cover;object-position:68% 40%}
.ph-edge{position:absolute;top:64px;right:0;bottom:0;width:30%;pointer-events:none}
.ph-edge:before{content:"";position:absolute;inset:0;background:var(--gold-soft);clip-path:polygon(38% 0,38.6% 0,.6% 100%,0 100%)}
.ph-copy>*{animation:hUp .8s var(--ease-out) both}.ph-copy>*:nth-child(2){animation-delay:.08s}.ph-copy>*:nth-child(3){animation-delay:.16s}.ph .page-title{animation-name:hRise}
.ph :focus-visible{outline-color:var(--gold-soft)}
.no-intro .ph *,.no-intro .ph *:before{animation:none!important}

/* Modalidades */
.svc{padding:var(--section) 0}
.svc--alt{background:var(--pale);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.svc-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center}
.svc--alt .svc-head{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.svc--alt .svc-plate{order:-1}
.svc-eb{display:flex;align-items:center;gap:12px;color:var(--gold-ink)}
.svc-eb:before{content:"";width:22px;height:1px;background:var(--gold)}
.svc-h{margin-top:20px;font-size:clamp(32px,3.8vw,54px);line-height:1;letter-spacing:-.036em;text-wrap:balance}
.svc-for{margin:28px 0 0;padding-left:20px;border-left:2px solid var(--gold);font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--text);max-width:58ch}
.svc-for strong{display:block;margin-bottom:8px;font:600 11.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink)}
.svc-plate .infra-plate{margin-top:0}
.plate text.strip{font:600 11px/1 "JetBrains Mono","JetBrains Fallback",monospace;letter-spacing:.12em;fill:var(--gold-soft);white-space:pre}
.infra-plate.is-live .slab{transition-delay:calc((5 - var(--i))*110ms)}
.infra-plate.is-live .slab-tag{transition-delay:calc((5 - var(--i))*110ms + 300ms)}
.svc-body{margin-top:clamp(48px,6vw,88px)}
.svc-ent{display:flex;align-items:center;gap:16px;font:600 12px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--navy)}
.svc-ent:after{content:"";flex:1;height:1px;background:var(--navy)}
.dl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,80px)}
.dl li{padding:22px 0;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.6;color:var(--muted)}
.dl .dl-k{display:block;margin-bottom:6px;font:600 17.5px/1.25 var(--display);letter-spacing:-.012em;color:var(--navy)}
.dl .dl-lead{grid-column:1/-1;padding:30px 0 26px;font:500 clamp(22px,2.3vw,32px)/1.12 var(--display);letter-spacing:-.025em;color:var(--navy)}
.dl .dl-lead strong{font-weight:500}

/* Ejecución: línea de tiempo vertical sobre navy */
.exec{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:var(--cream);padding:var(--section) 0}
.exec:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.4}
.exec .view-label{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--gold-soft)}
.exec .view-label:before{content:"";width:22px;height:1px;background:var(--gold-soft)}
.exec-head h2{color:var(--cream);max-width:20ch;font-size:clamp(32px,3.8vw,54px);line-height:1;letter-spacing:-.036em;text-wrap:balance}
.pz-list{margin-top:clamp(40px,5vw,72px);position:relative}
.pz{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,64px);padding:clamp(32px,3.6vw,52px) 0;border-top:1px solid var(--hair-light)}
.pz-side{display:flex;flex-direction:column;gap:10px;padding-left:34px;position:relative}
.pz-side:before{content:"";position:absolute;left:0;top:6px;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26)}
.pz-side:after{content:"";position:absolute;left:7px;top:30px;bottom:calc(-1*clamp(32px,3.6vw,52px) - 6px);width:1px;background:linear-gradient(var(--gold-soft),rgba(201,169,106,.15))}
.pz:last-child .pz-side:after{display:none}
.pz-n{font:600 12px/1 var(--mono);letter-spacing:.09em;color:var(--gold-soft)}
.pz-name{font:500 clamp(26px,2.6vw,38px)/1 var(--display);letter-spacing:-.03em;color:var(--cream)}
.pz-main h3{color:var(--cream);font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.015em}
.pz-main .period{display:inline-block;margin:14px 0 0;padding:6px 10px;border:1px solid var(--hair-light);border-radius:4px;font:600 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--gold-soft)}
.pz-p{margin:26px 0 0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:clamp(20px,2.6vw,40px);font-size:14.5px;line-height:1.65;color:rgba(247,246,242,.7)}
.ph-b{display:block;padding-top:16px;border-top:1px solid var(--hair-light)}
.ph-b strong{display:block;margin-bottom:8px;font:600 15.5px/1.3 var(--display);letter-spacing:-.005em;color:var(--cream)}
.exec + .closing{border-top:0}
@media(max-width:1023px){.ph-copy{max-width:72%}.svc-head,.svc--alt .svc-head{grid-template-columns:1fr}.svc--alt .svc-plate{order:0}.svc-plate{max-width:520px}.pz{grid-template-columns:1fr;gap:20px}.pz-side{flex-direction:row;align-items:baseline;gap:14px}.pz-side:after{display:none}}
@media(max-width:767px){.ph{padding:calc(64px + 40px) 0 48px}.ph-copy{max-width:none}.ph-art,.ph-edge{display:none}.dl{grid-template-columns:1fr}.pz-p{grid-template-columns:1fr;gap:0}.ph-b{padding:16px 0}.ph-b + .ph-b{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ph-art,.ph-copy>*{animation:none}}

.ph-art img{object-position:22% 38%}
.ph-art{width:34%}.ph-edge{width:34%}
.plate .slab-tag text{font-size:13px}
@media(max-width:767px){.plate .slab-tag text{font-size:15.5px;letter-spacing:.03em}.plate text.strip{font-size:14px}}
@media(max-width:767px){.plate .slab-tag text{font-size:18px}.plate text.strip{font-size:15px}}

/* v17 · Servicios, pasada de refinado */
.slab.g .s-l{fill:#8F7238}.slab.g .s-r{fill:#7A5E26}.slab.g .s-t{stroke:#F0DCA8}
.slab-tag.hot text{fill:var(--gold-soft)}
/* navegación interna del hero */
.ph-nav{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--hair-light);max-width:760px;animation:hUp .8s var(--ease-out) .24s both}
.ph-nav a{position:relative;display:block;padding:18px 40px 4px 0;color:var(--cream);font:600 16.5px/1.3 var(--display);letter-spacing:-.01em;transition:color .25s}
.ph-nav a + a{padding-left:24px;border-left:1px solid var(--hair-light)}
.ph-nav a span{display:block;margin-bottom:8px;font:600 10.5px/1 var(--mono);letter-spacing:.1em;color:var(--gold-soft)}
.ph-nav a:after{content:"↓";position:absolute;right:16px;top:18px;font:500 15px/1 Inter,"Inter Fallback","Inter Fallback R",sans-serif;color:var(--gold-soft);transition:transform .35s var(--ease-out)}
.ph-nav a:hover{color:var(--gold-soft)}.ph-nav a:hover:after{transform:translateY(4px)}
/* entregables numerados (numeración decorativa por CSS) */
.dl{counter-reset:dl}
.dl li:not(.dl-lead){counter-increment:dl;position:relative;padding-left:46px}
.dl li:not(.dl-lead):before{content:counter(dl,decimal-leading-zero);position:absolute;left:0;top:26px;font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--gold-ink)}
.dl .dl-lead{border-bottom:1px solid var(--navy)}
.dl li{transition:background .3s}
/* línea de tiempo: eje continuo y visible; los filetes solo bajo el contenido */
.pz{border-top:0;padding:0}
.pz-side{padding-top:clamp(32px,3.6vw,52px);padding-bottom:clamp(32px,3.6vw,52px)}
.pz-side:before{top:calc(clamp(32px,3.6vw,52px) + 6px);box-shadow:0 0 0 6px var(--navy-deep)}
.pz-side:after{left:7px;top:0;bottom:0;background:rgba(201,169,106,.45)}
.pz:first-child .pz-side:after{top:calc(clamp(32px,3.6vw,52px) + 12px)}
.pz:last-child .pz-side:after{display:block;bottom:auto;height:calc(clamp(32px,3.6vw,52px) + 12px)}
.pz-main{padding:clamp(32px,3.6vw,52px) 0;border-top:1px solid var(--hair-light)}
.pz-name{font-size:clamp(28px,2.9vw,42px)}
.pz-side:before{z-index:1}
@media(max-width:1023px){.pz-side{padding-bottom:0}.pz-main{border-top:0;padding-top:16px}.pz + .pz{border-top:1px solid var(--hair-light)}.pz-side:before{top:calc(clamp(32px,3.6vw,52px) + 8px);box-shadow:none}}
@media(max-width:767px){.ph-nav{grid-template-columns:1fr;margin-top:32px}.ph-nav a + a{padding-left:0;border-left:0;border-top:1px solid var(--hair-light);margin-top:14px}.dl li:not(.dl-lead){padding-left:38px}}
@media(prefers-reduced-motion:reduce){.ph-nav{animation:none}}
.pz-name{font-size:clamp(26px,2.5vw,36px);white-space:nowrap}


/* ==========================================================================
   v18 · Servicios: densidad. El detalle se abre a demanda; el índice siempre a la vista
   ========================================================================== */
.fold>summary{list-style:none;cursor:pointer}
.fold>summary::-webkit-details-marker{display:none}
.fold .plus{flex:none;position:relative;width:30px;height:30px;border:1px solid var(--hair);border-radius:4px;transition:background .25s,border-color .25s}
.fold .plus:before,.fold .plus:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s var(--ease-out)}
.fold .plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.fold[open]>summary .plus:after{transform:translate(-50%,-50%) rotate(0)}
.fold>summary:hover .plus{border-color:currentColor}
@supports selector(::details-content) and (interpolate-size:allow-keywords){.fold{interpolate-size:allow-keywords}.fold::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease-out),content-visibility .45s allow-discrete}.fold[open]::details-content{block-size:auto}}
/* entregables */
.dl li:not(.dl-lead){padding-top:0;padding-bottom:0}
.dl li:not(.dl-lead):before{top:24px}
.dl .fold>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;color:var(--navy)}
.dl .fold .dl-k{margin:0}
.dl .fold .dl-v{display:block;padding:0 50px 24px 0;max-width:62ch}
.dl .fold[open]>summary .plus{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.dl li:has(.fold[open]){background:linear-gradient(90deg,rgba(183,154,99,.07),rgba(183,154,99,0) 70%)}
/* fases */
.pz{position:relative;display:block;padding:0;border-top:0}
.pz:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:1px;background:rgba(201,169,106,.45)}
.pz:first-of-type:before{top:44px}.pz:last-of-type:before{bottom:auto;height:44px}
.pz>summary{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr) auto;gap:clamp(24px,4vw,64px);align-items:center;color:var(--cream)}
.pz .pz-side{padding-top:28px;padding-bottom:28px}
.pz .pz-side:before{top:38px}
.pz .pz-side:after{display:none!important}
.pz-head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 0;border-top:1px solid var(--hair-light)}
.pz-head h3{color:var(--cream);font-size:clamp(18px,1.5vw,21px);line-height:1.25;letter-spacing:-.012em;font-weight:500;opacity:.78;transition:opacity .25s}
.pz[open] .pz-head h3,.pz>summary:hover .pz-head h3{opacity:1}
.pz-head .period{margin:0}
.pz .plus{border-color:var(--hair-light);color:var(--cream)}
.pz[open]>summary .plus{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--navy-deep)}
.pz .pz-name{opacity:.6;transition:opacity .25s,color .25s}
.pz[open] .pz-name,.pz>summary:hover .pz-name{opacity:1}
.pz[open] .pz-name{color:var(--gold-soft)}
.pz .pz-side:before{opacity:.45;transition:opacity .25s,transform .35s var(--ease-out)}
.pz[open] .pz-side:before{opacity:1;transform:scale(1.25)}
.pz .pz-p{margin:0 0 0 calc(25% + clamp(24px,4vw,64px)*.75);padding:4px 46px 44px 0}
.exec :focus-visible{outline-color:var(--gold-soft)}
@media(max-width:1023px){.pz>summary{grid-template-columns:1fr auto;gap:8px 16px}.pz .pz-side{grid-column:1;padding:24px 0 0 34px}.pz .pz-side:before{top:32px}.pz-head{grid-column:1;border-top:0;padding:0 0 22px 34px}.pz>summary .plus{grid-column:2;grid-row:1/3}.pz .pz-p{margin-left:34px;padding-right:0}.pz + .pz{border-top:1px solid var(--hair-light)}.pz:first-of-type:before{top:36px}.pz:last-of-type:before{height:36px}}
@media(max-width:767px){.dl .fold .dl-v{padding-right:0}.pz .pz-p{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.fold::details-content{transition:none}}
.pz-head .period{display:inline-block;padding:6px 10px;border:1px solid var(--hair-light);border-radius:4px;font:600 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--gold-soft);white-space:nowrap}
.dl li:not(.dl-lead):before{top:27px}
@media(max-width:1023px){.pz-head{padding-top:10px;gap:12px}}


/* ==========================================================================
   v19 · QA y pulido (cabecera tablet + Servicios)
   ========================================================================== */
/* Cabecera: el logo nunca se comprime y los enlaces nunca parten en dos líneas */
.brand{flex:none}
.desktop-nav a{white-space:nowrap}
@media(min-width:768px) and (max-width:899px){.nav-wrap{gap:16px}.desktop-nav{gap:15px}.desktop-nav a{font-size:13.5px}.desktop-nav a.btn{padding:0 13px;font-size:13px}}

/* Entregables: lista editorial a una columna · nº / concepto / vista previa / ampliar */
.dl{display:block}
.dl li:not(.dl-lead){display:grid;grid-template-columns:46px minmax(0,4fr) minmax(0,7fr) 30px;column-gap:clamp(16px,2.4vw,36px);align-items:baseline;padding:21px 0;background:none!important}
.dl li:not(.dl-lead):before{position:static;grid-column:1;align-self:baseline}
.dl li .dl-k{grid-column:2;margin:0;display:block;font:600 17.5px/1.3 var(--display);letter-spacing:-.012em;color:var(--navy);text-wrap:balance}
.dl li .dl-v{grid-column:3;display:block;padding:0;max-width:64ch;font-size:15px;line-height:1.6;color:var(--muted);transition:color .3s}
.dl li .plus{grid-column:4;align-self:center;padding:0;background:none;color:var(--navy);cursor:pointer;font:inherit}
.dl li.is-fold{cursor:pointer}
.dl li.is-fold:not(.is-open) .dl-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl li.is-fold:hover .dl-v,.dl li.is-open .dl-v{color:var(--text)}
.dl li.is-fold:hover .plus{border-color:currentColor}
.dl li.is-open .plus{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.dl li.is-open .plus:after{transform:translate(-50%,-50%) rotate(0)}
.dl li.is-open:before{color:var(--navy)}
.svc-ent + .dl>li:first-child:not(.dl-lead){margin-top:10px}
@media(max-width:1023px){.dl li:not(.dl-lead){grid-template-columns:38px minmax(0,5fr) minmax(0,6fr) 30px}}
@media(max-width:767px){
  .dl li:not(.dl-lead){grid-template-columns:34px minmax(0,1fr) 30px;row-gap:8px;padding:18px 0}
  .dl li .dl-v{grid-column:2/4;grid-row:2}
  .dl li .plus{grid-column:3;grid-row:1}
  .dl li.is-fold:not(.is-open) .dl-v{display:none}
}

/* Fases: el filete llega hasta el botón y el detalle alinea con el titular */
.pz>summary{position:relative;grid-template-columns:minmax(0,3fr) minmax(0,9fr)}
.pz>summary .plus{position:absolute;right:0;top:50%;margin-top:-15px}
.pz-head{padding-right:62px}
.pz .pz-p{margin-left:calc(25% + clamp(24px,4vw,64px)*.75);padding-right:62px}
@media(max-width:1023px){.pz>summary{grid-template-columns:1fr}.pz>summary .plus{top:24px;margin-top:0}.pz .pz-side,.pz-head{padding-right:52px}.pz .pz-p{margin-left:34px;padding-right:0}}
.dl li .plus{flex:none;position:relative;width:30px;height:30px;border:1px solid var(--hair);border-radius:4px;transition:background .25s,border-color .25s,color .25s}
.dl li .plus:before,.dl li .plus:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s var(--ease-out)}
.dl li .plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.dl li .dl-v{max-width:74ch}
@media(min-width:768px){.dl--short li:not(.dl-lead){grid-template-columns:46px minmax(0,190px) minmax(0,1fr) 30px}}
.dl li .plus[hidden]{display:block;visibility:hidden}
.dl li .dl-k{text-wrap:pretty}
@media(max-width:767px){.dl li.is-fold:not(.is-open) .dl-v{display:block;font-size:14px}.dl li:not(.dl-lead){row-gap:4px;padding:16px 0}.dl li .plus{grid-row:1/3}.dl li.is-open .plus{grid-row:1;align-self:start}.dl li .dl-v{grid-column:2/3}.dl li.is-open .dl-v{grid-column:2/4;margin-top:4px}}
.nw{white-space:nowrap}
.ph-nav a{text-wrap:balance}
@media(min-width:768px) and (max-width:1023px){
  .ph-nav a{font-size:15.5px;padding-right:32px}
  .svc-head{grid-template-columns:minmax(0,1fr) minmax(0,310px);gap:36px;align-items:center}
  .svc--alt .svc-head{grid-template-columns:minmax(0,310px) minmax(0,1fr)}
  .svc--alt .svc-plate{order:-1}
  .svc-plate{max-width:none}
  .svc-h{font-size:34px}
  .plate .slab-tag text{font-size:18px}.plate text.strip{font-size:15px}
}

/* Fases · marcado válido (summary sin <div>): rejilla directa sobre el summary */
.pz{--g:clamp(24px,4vw,64px)}
.pz>summary{position:relative;display:grid;grid-template-columns:calc((100% - var(--g))*.25 + var(--g) - 24px) minmax(0,1fr) auto 30px;column-gap:24px;align-items:center}
.pz>summary:before{content:"";position:absolute;top:0;right:0;left:calc(25% + var(--g)*.75);height:1px;background:var(--hair-light)}
.pz>summary .plus{position:relative;right:auto;top:auto;margin:0}
.pz-t{padding:30px 0;color:var(--cream);font-size:clamp(18px,1.5vw,21px);line-height:1.25;letter-spacing:-.012em;font-weight:500;opacity:.78;transition:opacity .25s}
.pz[open] .pz-t,.pz>summary:hover .pz-t{opacity:1}
.pz>summary .period{display:inline-block;margin:0;padding:6px 10px;border:1px solid var(--hair-light);border-radius:4px;font:600 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--gold-soft);white-space:nowrap}
.pz .pz-p{margin-left:calc(25% + var(--g)*.75);padding-right:54px}
@media(max-width:1023px){
  .pz>summary{grid-template-columns:minmax(0,1fr) auto 30px;column-gap:16px;row-gap:8px;padding:22px 0}
  .pz>summary:before{display:none}
  .pz .pz-side{grid-column:1/3;grid-row:1;padding:0 0 0 34px}
  .pz .pz-side:before{top:6px}
  .pz>summary .plus{grid-column:3;grid-row:1}
  .pz-t{grid-column:1;grid-row:2;padding:0 0 0 34px}
  .pz>summary .period{grid-column:2/4;grid-row:2;justify-self:end}
  .pz:first-of-type:before{top:34px}.pz:last-of-type:before{height:34px}
  .pz .pz-p{margin-left:34px;padding-right:0}
}
@media(max-width:767px){.pz>summary .period{grid-column:1/4;grid-row:3;justify-self:start;margin-left:34px}}
@media(max-width:767px){.pz-t{grid-column:1/4;text-wrap:pretty}}
/* el plegado se aplica desde el primer pintado (clase .js en <html>): sin salto de layout */
.js .dl li:not(.dl-lead):not(.is-open) .dl-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:767px){.js .dl li:not(.dl-lead):not(.is-open) .dl-v{display:block;font-size:14px}}
@media(min-width:768px){.dl li:not(.dl-lead){padding:18px 0}}


/* ==========================================================================
   v20 · Servicios: composición enlazada (lista ↔ placa), jerarquía y CTA por modalidad
   ========================================================================== */
.colon{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* cabecera de modalidad: titular | para quién */
.svc-head,.svc--alt .svc-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end}
.svc-h{font-size:clamp(34px,4.4vw,64px);line-height:.98;letter-spacing:-.04em}
.svc-for{margin:0;max-width:none;font-size:clamp(16px,1.2vw,17.5px)}
/* cuerpo: lista + placa fija mientras se recorre la lista */
.svc-main{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start;margin-top:clamp(44px,5vw,76px)}
.svc--alt .svc-main{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.svc--alt .svc-plate{order:-1}
.svc-plate{position:sticky;top:96px;max-width:none}
.svc-plate .infra-plate{margin:0}
/* filas: nº · concepto + primera línea · ampliar */
.dl li:not(.dl-lead),.dl--short li:not(.dl-lead){grid-template-columns:34px minmax(0,1fr) 30px!important;column-gap:18px;row-gap:3px;align-items:start;padding:17px 0 16px;position:relative}
.dl li:not(.dl-lead):before{grid-row:1;padding-top:6px}
.dl li .dl-k{grid-column:2;grid-row:1;font-size:18px}
.dl li .dl-v{grid-column:2;grid-row:2;max-width:none;font-size:14.5px;line-height:1.6}
.dl li.is-open .dl-v{max-width:60ch;padding-bottom:6px}
.dl li .plus{grid-column:3;grid-row:1/3;align-self:center}
.dl li.is-open .plus{align-self:start}
/* filete que se dibuja al pasar: la fila responde sin mover nada */
.dl li:not(.dl-lead):after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.dl li.is-fold:hover:after,.dl li.is-open:after,.dl li:focus-within:after{transform:scaleX(1)}
.dl li[data-s]:not(.dl-lead):before{transition:color .25s}
.dl li.is-fold:hover:before{color:var(--navy)}
.dl .dl-lead{padding:26px 0 24px;font-size:clamp(22px,2vw,28px);line-height:1.15;text-wrap:balance}
.svc-ent + .dl>li:first-child:not(.dl-lead){margin-top:6px}
/* CTA de la modalidad */
.svc-cta{margin-top:32px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
/* placa enlazada */
.plate.has-hot .slab,.plate.has-hot .slab-tag,.plate.has-hot text.strip,.plate.has-hot .orb{transition-delay:0s!important}
.plate.has-hot .slab:not(.is-hot){opacity:.26}
.plate.has-hot .slab-tag:not(.is-hot),.plate.has-hot text.strip:not(.is-hot){opacity:.3}
.plate .slab.is-hot{transform:translateY(-6px)}
.plate .slab-tag.is-hot text,.plate text.strip.is-hot{fill:var(--gold-soft)}
.plate text.strip{transition:opacity .4s var(--ease-out)}
@media(max-width:1023px){
  .svc-head,.svc--alt .svc-head{grid-template-columns:1fr;gap:24px;align-items:start}
  .svc-main,.svc--alt .svc-main{grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:36px}
  .svc--alt .svc-main{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
  .svc-h{font-size:clamp(32px,5.4vw,44px)}
}
@media(max-width:767px){
  .svc-main,.svc--alt .svc-main{grid-template-columns:1fr;gap:36px;margin-top:32px}
  .svc-plate{position:static;order:-1}
  .svc-cta .btn{width:100%}
  .dl li .dl-v{grid-column:2!important}
  .dl li.is-open .dl-v{grid-column:2/4!important;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){.dl li:not(.dl-lead):after{transition:none}.plate .slab.is-hot{transform:none}}
.svc-h{font-size:clamp(34px,4vw,58px);text-wrap:initial}
.svc-h-sub{display:block;margin-top:.18em;font-weight:400;font-size:.62em;line-height:1.1;letter-spacing:-.025em;color:var(--gold-ink)}
.svc-h{font-size:clamp(34px,3.7vw,54px)}
@media(min-width:1024px){.svc--alt .svc-main{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.svc--alt .svc-plate{order:0}}
/* hero: accesos a las modalidades con más presencia */
.ph-nav{margin-top:44px;max-width:820px}
.ph-nav a{padding:20px 52px 6px 0;font-size:clamp(17px,1.5vw,21px);line-height:1.2;letter-spacing:-.015em;text-wrap:initial}
.ph-nav a + a{padding-left:28px}
.ph-nav a .sub{display:block;margin-top:5px;font:400 14px/1.3 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;letter-spacing:0;color:rgba(247,246,242,.6);transition:color .25s}
.ph-nav a:hover .sub{color:rgba(247,246,242,.85)}
.ph-nav a span{margin-bottom:10px}
.ph-nav a:after{right:18px;top:16px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--hair-light);border-radius:50%;font-size:14px;transition:transform .35s var(--ease-out),background .25s,color .25s,border-color .25s}
.ph-nav a:hover:after{transform:translateY(3px);background:var(--gold-soft);border-color:var(--gold-soft);color:var(--navy-deep)}
.ph-nav a:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--gold-soft);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.ph-nav a:hover:before,.ph-nav a:focus-visible:before{transform:scaleX(1)}
@media(min-width:768px) and (max-width:1023px){.ph-nav a{font-size:16.5px;padding-right:48px}.plate .slab-tag text{font-size:15.5px}}
@media(max-width:767px){.ph-nav a{padding-right:48px}.ph-nav a:after{right:0}}
.ph-nav a .sub{text-transform:none}

/* v21 · cierre de Servicios: últimos ajustes finos */
/* cabecera clara casi opaca: los titulares grandes ya no se transparentan al pasar por debajo */
.site-header.is-scrolled:not(.over-dark){background:rgba(247,246,242,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
/* la placa arranca exactamente en el filete de "Entregables" */
@media(min-width:768px){.svc-plate{margin-top:6px}}
/* el estado hover solo donde hay puntero real (en táctil se quedaba "pegado" tras tocar) */
@media(hover:none){
  .dl li.is-fold:not(.is-open):hover:after{transform:scaleX(0)}
  .dl li.is-fold:not(.is-open):hover .dl-v{color:var(--muted)}
  .dl li.is-fold:not(.is-open):hover:before{color:var(--gold-ink)}
  .dl li.is-fold:not(.is-open):hover .plus{border-color:var(--hair)}
}
/* foco de teclado nítido en el botón de cada fila */
.dl li .plus:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
/* transición suave del color del texto al abrir */
.dl li .dl-k{transition:color .25s}
/* la capa activa gana filo dorado (las capas navy apenas se distinguían al resaltarse) */
.plate .slab .s-t{transition:stroke .3s,stroke-width .3s,fill .3s}
.plate .slab.is-hot .s-t{stroke:#F0DCA8;stroke-width:1.8}
.plate .slab.d.is-hot .s-t{fill:#24486C}
/* CTA de modalidad en secundario: el único botón grande de la página es el del cierre */
.svc-cta{margin-top:30px}
.svc-cta .text-link-gold{min-height:44px;padding:14px 0 12px;font-size:13px}
@media(max-width:767px){.svc-cta .text-link-gold{font-size:12.5px}}


/* ==========================================================================
   v23 · MI MODELO
   ========================================================================== */
.ph--short{padding-bottom:clamp(48px,6vw,88px)}
.ph--short .page-title{font-size:clamp(38px,5.4vw,80px);letter-spacing:-.045em}
.ph--short .ph-nav{margin-top:clamp(40px,5vw,64px)}
/* Fricciones: lista editorial. Titular a la izquierda, detalle a la derecha */
.frs{padding:var(--section) 0 calc(var(--section)*.85)}
.frs-head{padding-bottom:22px;border-bottom:1px solid var(--navy)}
.fr{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:start;padding:clamp(30px,3.4vw,48px) 0;border-bottom:1px solid var(--hair)}
.fr-eb{color:var(--gold-ink);margin-bottom:16px}
.fr-h{font-size:clamp(24px,2.5vw,36px);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
.fr-p{margin:0;padding-top:30px;font-size:16px;line-height:1.65;color:var(--muted);max-width:58ch}
/* 02 · destacada: la cuenta del "casi el doble" */
.fr--feat{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin:clamp(20px,2.4vw,36px) 0;padding:clamp(32px,4vw,64px);border:0;border-radius:6px;background:var(--navy-deep);color:var(--cream)}
.fr--feat:before{content:"";position:absolute;z-index:-1;left:-20%;top:-40%;width:80%;height:180%;background:radial-gradient(closest-side,rgba(40,72,104,.5),rgba(11,27,43,0) 70%)}
.fr--feat .grain{position:absolute;inset:0;z-index:-1;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.45;pointer-events:none}
.fr--feat .fr-eb{color:var(--gold-soft)}
.fr--feat .fr-h{color:var(--cream);font-size:clamp(28px,3vw,44px)}
.fr--feat .fr-p{padding-top:24px;color:rgba(247,246,242,.72);font-size:15.5px}
.calc{margin:0;align-self:center}
.calc-k{font:600 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-soft);padding-bottom:14px;border-bottom:1px solid var(--hair-light)}
.calc-bars{list-style:none;margin:0;padding:0}
.calc-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:baseline;padding:16px 0 14px;border-bottom:1px solid var(--hair-light)}
.calc-bars .cb{grid-column:1/-1;display:block;position:relative;height:30px;background:rgba(247,246,242,.05);border-radius:2px;overflow:hidden}
.calc-bars .cb:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,#D8CFBB,#F3EEE2);border-radius:2px;transform-origin:left;transition:transform 1.1s var(--ease-out)}
.calc-bars .hot .cb:before{background:linear-gradient(90deg,#A98848,#C9A96A 55%,#E9D29A)}
.calc-bars .cb b{position:absolute;left:12px;top:50%;transform:translateY(-50%);font:600 13px/1 var(--mono);letter-spacing:.04em;color:var(--navy-deep)}
.calc-bars .ct{font-size:14px;line-height:1.45;color:rgba(247,246,242,.78)}
.calc-bars .cv{font:600 12.5px/1.2 var(--mono);letter-spacing:.03em;color:var(--cream);white-space:nowrap}
.calc-bars .hot .cv{color:var(--gold-soft)}
.calc-src{margin:16px 0 0;font-size:12px;line-height:1.55;color:rgba(247,246,242,.5)}
.js .fr--feat:not(.is-visible) .cb:before{transform:scaleX(0)}
.fr--feat.is-visible .calc-bars li:nth-child(2) .cb:before{transition-delay:.15s}
.fr--feat.is-visible .calc-bars li:nth-child(3) .cb:before{transition-delay:.3s}
.fr--feat.is-visible .calc-bars li:nth-child(4) .cb:before{transition-delay:.45s}
.fr:last-child{border-bottom:0}
.fr--feat + .fr{border-top:1px solid var(--hair)}
.fr:has(+ .fr--feat){border-bottom:0}

/* Matriz */
.mx{padding:var(--section) 0;background:var(--pale);border-top:1px solid var(--hair)}
.mx-head h2{font-size:clamp(32px,3.8vw,54px);line-height:1;letter-spacing:-.036em}
.mx-wrap{margin-top:clamp(36px,4vw,60px);overflow:visible;border:0;background:none}
.mx-t{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;background:none;border:0}
.mx-t th,.mx-t td{border:0;background:none;text-align:left;vertical-align:top}
.mx-t thead th{padding:0 22px 18px;font:600 11.5px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--navy);background:none;border-bottom:1px solid var(--navy)}
.mx-t thead th:first-child{width:15%;padding-left:0;color:var(--gold-ink)}
.mx-t thead th.alt{width:26%}
.mx-t thead th.mine{position:relative;padding-top:22px;color:var(--gold-soft);background:var(--navy-deep);border-radius:6px 6px 0 0;border-bottom-color:var(--hair-light)}
.mx-t thead th.mine:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#A98848,#E9D29A,#A98848)}
.mx-t tbody th{padding:22px 16px 22px 0;font:600 16px/1.25 var(--display);letter-spacing:-.01em;color:var(--navy);border-bottom:1px solid var(--hair)}
.mx-t tbody td{padding:22px;font-size:14px;line-height:1.55;color:var(--muted);border-bottom:1px solid var(--hair)}
.mx-t td.alt + td.alt{border-left:1px solid var(--hair)}
.mx-t td.mine{background:var(--navy-deep);color:rgba(247,246,242,.82);border-bottom-color:var(--hair-light);font-size:14.5px;vertical-align:middle}
.mx-t tbody:last-child td.mine{border-radius:0 0 6px 6px;border-bottom:0}
.mx-t tbody:last-child th,.mx-t tbody:last-child td.alt{border-bottom:0}
.mx-t td[colspan]{text-align:center}
.mx-t td[colspan] .ck,.mx-t td[colspan]{max-width:none}
.ck{display:block;margin-bottom:5px;font:600 14.5px/1.3 var(--display);letter-spacing:-.005em;color:var(--navy)}
.mx-t td.mine .ck{color:var(--cream);font-size:15.5px}
.mk{display:inline-grid;place-items:center;float:left;width:20px;height:20px;margin:0 10px 0 0;border-radius:50%;font-size:0;position:relative}
.mk:before,.mk:after{content:"";position:absolute;background:currentColor}
.mk-x{color:#9A5B4A;border:1px solid rgba(154,91,74,.45)}
.mk-x:before,.mk-x:after{left:50%;top:50%;width:9px;height:1.5px;transform:translate(-50%,-50%) rotate(45deg)}
.mk-x:after{transform:translate(-50%,-50%) rotate(-45deg)}
.mk-c{color:var(--navy-deep);background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 55%,#8F7238)}
.mk-c:before{left:5px;top:10px;width:5px;height:1.6px;transform:rotate(45deg);transform-origin:left}
.mk-c:after{left:8px;top:13px;width:9px;height:1.6px;transform:rotate(-50deg);transform-origin:left}
.mx-t td:has(.mk){padding-left:22px}
.mx-t td .mk + .ck{overflow:hidden}
.mx-t td[colspan] .mk{float:none;display:inline-grid;vertical-align:-4px}
.mx-t td[colspan] .ck{display:inline}
.mx-t tbody tr{transition:background .25s}
@media(hover:hover){.mx-t tbody:hover th{color:var(--gold-ink)}.mx-t tbody:hover td.alt{color:var(--text)}}
.mx + .closing{border-top:0}
.mx-seg{display:none}

@media(max-width:1023px){
  .fr{grid-template-columns:1fr;gap:0}.fr-p{padding-top:16px}
  .fr--feat{grid-template-columns:1fr;gap:32px}
  .mx-t thead th:first-child{width:16%}
  .mx-t tbody td,.mx-t thead th{padding-left:14px;padding-right:14px}
}
@media(max-width:767px){
  .ph--short .page-title{font-size:clamp(36px,10.5vw,46px)}
  .fr--feat{margin-left:-20px;margin-right:-20px;border-radius:0;padding:40px 20px}
  .calc-bars .ct{font-size:13.5px}
  /* matriz en móvil: una tarjeta por criterio; selector de alternativa contra Mi Modelo */
  .mx-seg{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:28px;border:1px solid var(--navy);border-radius:4px;overflow:hidden;position:sticky;top:72px;z-index:5;background:var(--pale)}
  .mx-seg button{min-height:44px;padding:0 8px;border:0;background:none;font:600 10.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--navy);cursor:pointer}
  .mx-seg button[aria-pressed="true"]{background:var(--navy);color:var(--cream)}
  .mx-wrap{margin-top:20px}
  .mx-t,.mx-t tbody,.mx-t tr,.mx-t th,.mx-t td{display:block;width:auto}
  .mx-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mx-t tbody{display:flex;flex-direction:column;margin-bottom:14px;border:1px solid var(--hair);border-radius:6px;overflow:hidden;background:var(--bg)}
  .mx-t tr{display:contents}
  .mx-t tbody th{padding:16px 16px 0;border:0;font-size:17px}
  .mx-t tbody td{padding:12px 16px 16px;border:0!important}
  .mx-t tbody td.alt + td.alt{border-top:1px solid var(--hair)!important}
  .mx-t td.mine{order:9;border-radius:0!important;padding:16px}
  .mx-t tbody.grp tr + tr th{border-top:1px solid var(--hair);padding-top:16px}
  .mx-t td[colspan]{text-align:left}
  .mx-t td[data-label]:before{content:attr(data-label);display:block;margin-bottom:8px;font:600 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
  .mx-t td.mine[data-label]:before{color:var(--gold-soft)}
  .mx-t[data-alt="1"] td.a2:not(.a1),.mx-t[data-alt="2"] td.a1:not(.a2){display:none}
  .mx-t[data-alt] tbody td.alt + td.alt{border-top:0!important}
}
@media(prefers-reduced-motion:reduce){.calc-bars .cb:before{transition:none}.js .fr--feat:not(.is-visible) .cb:before{transform:none}}
.mx-t{font-size:14px;line-height:1.55}
.mx-t td[colspan]{text-align:left;position:relative}
.mx-t td[colspan] .mk{float:left;display:inline-grid;vertical-align:baseline}
.mx-t td[colspan] .ck{display:block}
.mx-t td[colspan]:after{content:"";position:absolute;left:22px;right:22px;top:-1px;height:2px;background:var(--gold)}
@media(max-width:767px){.mx-t td[colspan]:after{display:none}.mx-t tbody th{background:none}}
.ck--dup{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mx-t td:has(.ck--dup){padding-top:22px}
@media(max-width:767px){.mx-t td:has(.mk),.mx-t td:has(.ck--dup){padding-left:16px;padding-top:12px}}
.calc-k{line-height:1.5}


/* ==========================================================================
   v24 · MI MODELO: menos carga. Una fricción protagonista + lista plegada; matriz de celdas cortas
   ========================================================================== */
.fr--feat{margin-top:clamp(28px,3vw,44px);margin-bottom:0}
.dl--fr{margin-top:clamp(8px,1.4vw,20px);counter-reset:none}
.dl.dl--fr li:not(.dl-lead){grid-template-columns:minmax(0,6fr) minmax(0,5fr) 30px!important;column-gap:clamp(24px,5vw,80px);row-gap:0;align-items:center;padding:26px 0;counter-increment:none}
.dl.dl--fr li:not(.dl-lead):before{display:none}
.dl--fr li .dl-k{grid-column:1;grid-row:1;font:inherit;letter-spacing:0}
.dl--fr .fr-eb{display:block;margin-bottom:10px;font-size:11px}
.dl--fr .fr-h{font-size:clamp(20px,1.9vw,27px);line-height:1.12;letter-spacing:-.022em}
.dl--fr li .dl-v{grid-column:2;grid-row:1;margin:0;font-size:15px;line-height:1.6;max-width:none}
.dl--fr li.is-open .dl-v{max-width:none;padding:0}
.dl--fr li .plus{grid-column:3;grid-row:1;align-self:center}
.dl--fr li.is-open .plus{align-self:center}
.dl--fr li:last-child{border-bottom:0}
@media(max-width:1023px){.dl.dl--fr li:not(.dl-lead){grid-template-columns:minmax(0,1fr) 30px!important;column-gap:18px;row-gap:8px;padding:22px 0}.dl--fr li .dl-v{grid-column:1;grid-row:2}.dl--fr li.is-open .dl-v{grid-column:1/3!important}.dl--fr li .plus{grid-column:2;grid-row:1}}
@media(max-width:767px){.dl--fr li .dl-v{grid-column:1!important}.dl--fr li.is-open .dl-v{grid-column:1/3!important}}

/* matriz: celdas = una idea en negrita + una línea de apoyo; sin ✕ (la columna protagonista ya marca la diferencia) */
.mx-t tbody td{padding:24px 22px}
.mx-t .ck{margin-bottom:6px;font-size:16px;line-height:1.25;color:var(--navy)}
.mx-t td.alt{font-size:13.5px}
.mx-t td.mine .ck{font-size:16.5px;overflow:hidden}
.mx-t td.mine{vertical-align:top}
.mx-t tbody.fit th,.mx-t tbody.fit td{padding-top:28px;padding-bottom:30px;border-top:1px solid var(--navy)}
.mx-t tbody.fit th{color:var(--gold-ink);font:600 11.5px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.mx-t tbody.fit td.alt{font-size:14.5px;line-height:1.5;color:var(--text)}
.mx-t tbody.fit td.mine{border-top-color:var(--gold-soft);font:500 17px/1.35 var(--display);letter-spacing:-.01em;color:var(--cream)}
@media(max-width:767px){.mx-t tbody.fit th,.mx-t tbody.fit td{border-top:0;padding-top:16px;padding-bottom:16px}.mx-t tbody.fit td.alt{padding-top:12px}}
/* v25 · titulares de sección en lenguaje llano */
.frs-head{padding-bottom:clamp(24px,3vw,40px)}
.sec-h,.mx-head h2{max-width:22ch;font-size:clamp(30px,3.6vw,52px);line-height:1.02;letter-spacing:-.036em;text-wrap:balance}
.mx-t tbody:last-child td.mine{border-radius:0 0 6px 6px;border-bottom:0}


/* ==========================================================================
   v26 · MI MODELO: pulido de detalle
   ========================================================================== */
/* panel del cálculo: cifra ancla y composición a dos alturas */
.fr--feat{align-items:stretch}
.fr--feat .fr-head{display:flex;flex-direction:column}
.calc-big{margin-top:auto;padding-top:clamp(28px,3vw,44px);display:flex;align-items:flex-end;gap:18px}
.calc-big b{font:500 clamp(64px,7.4vw,112px)/.82 var(--display);letter-spacing:-.055em;background:linear-gradient(135deg,#F0DCA8 10%,#C9A96A 50%,#8F7238);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.calc-big span{max-width:17ch;padding-bottom:6px;font:600 11px/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(247,246,242,.62)}
.calc{align-self:start}
.calc-bars li{padding:15px 0 13px}
.calc-bars .cb{height:28px}
.calc-bars li:not(.hot) .cb b{opacity:.8}
.calc-bars .hot .ct{color:var(--cream)}
.calc-bars .hot .cv{font-size:14px}
/* filas de fricción: respuesta más clara al pasar */
@media(hover:hover){.dl--fr li.is-fold:hover .fr-h{color:var(--navy-deep)}.dl--fr li.is-fold:hover .fr-eb{color:var(--navy)}}
.dl--fr .fr-eb{transition:color .25s}
.dl--fr li.is-open .dl-v{color:var(--text)}
/* comparativa: cabecera fija mientras se recorre la tabla */
@media(min-width:768px){
  .mx-t thead th{position:sticky;top:64px;z-index:4;background:var(--pale);padding-top:20px}
  .mx-t thead th.mine{background:var(--navy-deep)}
  .mx-t thead th:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:12px;background:linear-gradient(rgba(21,40,58,.07),rgba(21,40,58,0));opacity:0;pointer-events:none;transition:opacity .3s}
  .mx-t.is-stuck thead th:not(.mine):after{opacity:1}
}
.mx-t thead th.mine{letter-spacing:.11em}
.orb-s{display:inline-block;width:9px;height:9px;margin-right:10px;border-radius:50%;vertical-align:0;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26)}
/* criterios numerados (decorativo) y fila activa */
.mx-t{counter-reset:mx}
.mx-t tbody th{counter-increment:mx;position:relative;padding-top:24px}
.mx-t tbody th:before{content:counter(mx,decimal-leading-zero);display:block;margin-bottom:9px;font:600 10.5px/1 var(--mono);letter-spacing:.09em;color:var(--gold-ink)}
.mx-t tbody td,.mx-t tbody th{transition:background .3s,color .3s}
@media(hover:hover){
  .mx-t tbody:hover td.alt{background:rgba(255,255,255,.55)}
  .mx-t tbody:hover td.mine{background:#12273D}
  .mx-t tbody:hover th{color:var(--navy)}
}
.mx-t td.mine .ck{letter-spacing:-.012em}
.mx-t td.alt .ck{font-weight:600}
@media(max-width:767px){
  .mx-seg{box-shadow:0 10px 18px -12px rgba(11,27,43,.35)}
  .mx-t tbody{scroll-margin-top:130px}
  .mx-t tbody th{padding:16px 16px 2px}
  .mx-t tbody th:before{display:inline-block;margin:0 10px 0 0;vertical-align:2px}
  .mx-t tbody td.alt{padding-left:16px!important}
  .mx-t[data-alt] td.alt[data-label]:before{display:none}
  .mx-t[data-alt] td.alt{padding-top:8px}
  .calc-big{padding-top:26px}.calc-big b{font-size:72px}
  .fr--feat .fr-head{margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.mx-t tbody td,.mx-t tbody th{transition:none}}
@media(min-width:768px){
  .mx-t tbody th{padding-left:36px}
  .mx-t tbody th:before{position:absolute;left:0;top:29px;margin:0}
  .mx-t thead th:first-child{padding-left:36px}
  .mx-t.is-stuck thead th.mine{border-radius:0}
  .mx-t.is-stuck thead th.mine:before{border-radius:0}
}
@media(min-width:768px){.mx-t thead th.mine{position:sticky;top:64px}}
@media(max-width:767px){.mx-t thead th.mine{position:static}}

/* v28 · cierre de Mi Modelo */
.sec-h,.mx-head h2{max-width:27ch}
.dl--fr li .dl-v{text-wrap:wrap}
.dl.dl--fr li.is-open{align-items:start}
.dl--fr li.is-open .plus{align-self:start;margin-top:22px}
.dl--fr li.is-open .dl-v{padding-top:26px}
@media(max-width:1023px){.dl--fr li.is-open .plus{margin-top:0}.dl--fr li.is-open .dl-v{padding-top:0}}
@media(min-width:768px) and (max-width:1023px){
  .mx-t thead th:first-child{width:20%}
  .mx-t thead th.alt{width:25%}
  .mx-t tbody th{font-size:14.5px;padding-left:28px;padding-right:10px;overflow-wrap:anywhere;hyphens:none}
  .mx-t thead th:first-child{padding-left:28px}
  .mx-t .ck{font-size:15px}.mx-t td.mine .ck{font-size:15.5px}
  .mx-t tbody td{padding:22px 14px}
}


/* ==========================================================================
   v29 · SOBRE MÍ
   ========================================================================== */
.ph--about{padding-bottom:clamp(64px,8vw,120px);min-height:min(640px,82vh)}
.ph--about .ph-art,.ph--about .ph-edge{width:44%}
.ph--about .ph-art img{object-position:40% 40%}
.ph--about .ph-copy{max-width:min(640px,52%)}
.ph--about .page-title{font-size:clamp(40px,5.2vw,78px);letter-spacing:-.045em;line-height:.98}
.ab-role{margin:22px 0 0;font:600 13px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);animation:hUp .8s var(--ease-out) .12s both}
.ab-person{position:absolute;z-index:2;margin:0;right:15%;bottom:0;width:min(27%,400px);animation:hUp 1s var(--ease-out) .2s both}
.ab-person .cut{display:block;width:100%;height:auto;filter:drop-shadow(30px 14px 28px rgba(6,15,25,.42)) drop-shadow(4px 2px 6px rgba(6,15,25,.25))}
.ab-li{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(32px,4vw,52px);min-height:48px;padding:0 20px 0 8px;border:1px solid rgba(247,246,242,.28);border-radius:4px;color:var(--cream);font:600 14px/1.2 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;transition:background .25s,border-color .25s,color .25s;animation:hUp .8s var(--ease-out) .22s both}
.ab-li-k{display:grid;place-items:center;width:32px;height:32px;border-radius:3px;background:var(--cream);color:var(--navy-deep);font:700 15px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;letter-spacing:-.02em}
.ab-li:hover{background:var(--cream);border-color:var(--cream);color:var(--navy-deep)}
.ab-li:hover .ab-li-k{background:var(--navy-deep);color:var(--cream)}
.ab-li .arr{transition:transform .35s var(--ease-out)}.ab-li:hover .arr{transform:translateX(4px)}
.no-intro .ab-person,.no-intro .ab-role,.no-intro .ab-li{animation:none}
/* entrada en primera persona + cifras con contexto */
.ab-intro{padding:var(--section) 0 calc(var(--section)*.8)}
.ab-intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,7vw,112px);align-items:start}
.ab-lead{margin:0 0 28px;font:500 clamp(24px,2.6vw,38px)/1.14 var(--display);letter-spacing:-.028em;color:var(--navy);text-wrap:balance}
.ab-voice p:not(.ab-lead){margin:0 0 16px;max-width:60ch;font-size:17px;line-height:1.65;color:var(--muted)}
.ab-voice p:last-child{margin-bottom:0;color:var(--text)}
.ab-stats{position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,3vw,40px);border-radius:6px;background:var(--navy-deep);color:var(--cream)}
.ab-stats:before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.45}
.ab-stats-k{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--hair-light);font:600 11px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-soft)}
.ab-stats-k:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26)}
.ab-stat{padding:24px 0 22px;border-bottom:1px solid var(--hair-light)}
.ab-stat:last-child{border-bottom:0;padding-bottom:0}
.ab-stat b{display:block;font:500 clamp(40px,4.2vw,60px)/.95 var(--display);letter-spacing:-.045em;background:linear-gradient(135deg,#F0DCA8 10%,#C9A96A 55%,#8F7238);-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-stat span{display:block;margin-top:10px;font-size:15px;line-height:1.45;color:rgba(247,246,242,.76)}
/* áreas */
.ab-areas{padding:0 0 var(--section)}
.ab-areas .fr-list{border-top:1px solid var(--navy)}
.au{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:start;padding:clamp(30px,3.4vw,48px) 0;border-bottom:1px solid var(--hair)}
.au:last-child{border-bottom:0}
.au .fr-h{font-size:clamp(24px,2.4vw,34px)}
.au-sub{margin-top:14px;font:600 11.5px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.au .fr-p{padding-top:28px;color:var(--text)}
.au--edu .fr-h{font-size:clamp(20px,1.8vw,24px)}
.au--edu .fr-p{color:var(--muted)}
.ab-areas + .closing{border-top:1px solid var(--hair)}
@media(max-width:1023px){
  .ph--about .ph-copy{max-width:56%}
  .ab-person{right:4%;width:34%}
  .ab-intro-grid{grid-template-columns:1fr}
  .au{grid-template-columns:1fr;gap:0}.au .fr-p{padding-top:16px}
}
@media(max-width:767px){
  .ph--about{min-height:0;padding-bottom:0}
  .ph--about .ph-copy{max-width:none}
  .ph--about .page-title{font-size:clamp(38px,11vw,48px)}
  .ph--about .ph-art{display:block;position:relative;top:0;width:100%;height:300px;margin-top:40px;clip-path:none;animation:none;border-top:1px solid var(--gold-soft)}
  .ph--about .ph-art img{object-position:18% center}
  .ph--about .container{position:relative;z-index:3}
  .ab-person{right:6%;width:56%;max-width:260px;bottom:0;z-index:4}
  .ph--about{display:flex;flex-direction:column}
  .ph--about .ph-art{order:2}
  .ab-li{width:100%;justify-content:flex-start;font-size:13.5px}
  .ab-stat b{font-size:44px}
}
@media(prefers-reduced-motion:reduce){.ab-person,.ab-role,.ab-li{animation:none}}
.ab-voice p:last-child{color:var(--muted)}
/* v30 · Sobre Mí: CTA en cabecera, LinkedIn discreto, credencial MWC */
.ab-cta{margin-top:clamp(32px,4vw,52px);animation:hUp .8s var(--ease-out) .22s both}
.ph--about .btn-primary{background:var(--cream);color:var(--navy-deep)}
.ph--about .btn-primary:hover{background:var(--gold-soft);color:var(--navy-deep)}
.no-intro .ab-cta{animation:none}
.au{grid-template-rows:auto auto}
.au .au-l{grid-row:1/3}
.au-note{grid-column:2;margin:18px 0 0;display:flex;align-items:center;gap:10px;font:600 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.au-note:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26)}
.ab-more{margin:clamp(28px,3vw,40px) 0 0;padding-top:clamp(24px,2.6vw,36px);border-top:1px solid var(--hair)}
@media(max-width:1023px){.au .au-l{grid-row:auto}.au-note{grid-column:1}}
@media(max-width:767px){.ab-cta .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.ab-cta{animation:none}}
.au{grid-template-rows:auto 1fr}
.au .fr-p{align-self:start}.au-note{align-self:start}
.au:last-of-type{border-bottom:0}
.ab-more{margin-top:0}
.au{grid-template-rows:none}.au .au-l{grid-row:auto}
.au-r .fr-p{padding-top:28px}.au-r .au-note{margin-top:20px}
@media(max-width:1023px){.au-r .fr-p{padding-top:16px}}


/* ==========================================================================
   v31 · SOBRE MÍ: pulido. Cifras en cabecera, entrada a dos columnas, etiquetas
   ========================================================================== */
.ph--about{min-height:min(760px,92vh);padding-bottom:clamp(56px,6vw,96px);display:flex;align-items:center}
.ph--about>.container{width:min(var(--container),calc(100% - 64px))}
.ph--about .ph-copy{max-width:min(680px,54%)}
.ab-person{right:13%;width:min(30%,450px)}
.ab-facts{margin-top:clamp(36px,4.4vw,60px);max-width:600px;animation:hUp .8s var(--ease-out) .18s both}
.ab-facts-k{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--hair-light);font:600 11px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-soft)}
.ab-facts-k:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26)}
.ab-facts-row{display:grid;grid-template-columns:1fr 1fr}
.ab-fact{padding:20px 24px 0 0}
.ab-fact + .ab-fact{padding-left:24px;border-left:1px solid var(--hair-light)}
.ab-fact b{display:block;font:500 clamp(34px,3.6vw,52px)/.95 var(--display);letter-spacing:-.045em;white-space:nowrap;background:linear-gradient(135deg,#F0DCA8 10%,#C9A96A 55%,#8F7238);-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-fact span{display:block;margin-top:10px;font-size:14px;line-height:1.45;color:rgba(247,246,242,.72)}
.ab-cta{margin-top:clamp(28px,3.4vw,44px)}
.no-intro .ab-facts{animation:none}
/* entrada */
.ab-intro{padding:var(--section) 0}
.ab-intro-grid{display:block}
.ab-voice{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:end}
.ab-lead{margin:0;padding-left:clamp(20px,2.4vw,32px);border-left:2px solid var(--gold);font-size:clamp(26px,2.9vw,42px);line-height:1.1}
.ab-voice p.ab-body{margin:0;max-width:none;font-size:16.5px;line-height:1.7;color:var(--muted)}
/* etiquetas */
.au-tags{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.au-tags li{padding:7px 11px 6px;border:1px solid var(--hair);border-radius:4px;background:var(--surface,#FBFAF7);font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.au{transition:background .3s}
@media(max-width:1023px){
  .ph--about{display:block;min-height:0}
  .ph--about .ph-copy{max-width:58%}
  .ab-person{right:3%;width:36%}
  .ab-voice{grid-template-columns:1fr;gap:24px}
}
@media(max-width:767px){
  .ph--about{display:flex;padding-bottom:0}
  .ph--about>.container{width:calc(100% - 40px)}
  .ph--about .ph-copy{max-width:none}
  .ab-person{right:6%;width:56%}
  .ab-fact b{font-size:clamp(28px,8.4vw,36px)}
  .ab-fact{padding-right:14px}.ab-fact + .ab-fact{padding-left:14px}
  .ab-fact span{font-size:13px}
  .ab-lead{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.ab-facts{animation:none}}
.ab-voice{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,6vw,96px)}
.ab-lead{font-size:clamp(25px,2.6vw,38px)}
.ph--about .ph-art img{object-position:22% 40%}
.ph--about .ph-art img{object-position:22% 12%}
@media(max-width:1023px){.ab-voice{grid-template-columns:1fr;gap:24px}}
@media(max-width:767px){.ph--about .ph-art img{object-position:18% center}}

/* v32 · cierre de Sobre Mí */
@media(max-width:767px){
  .ab-more .text-link-gold{display:inline;padding-bottom:3px;line-height:2;font-size:12px;letter-spacing:.06em}
  .ab-more .text-link-gold .arr{display:inline-block;margin-left:6px}
  .au-tags{gap:6px}.au-tags li{font-size:10.5px;padding:6px 9px 5px}
}
@media(min-width:1024px){.ph--about{min-height:800px}}
.ab-fact span{min-height:2.9em}

/* v33 · titular de cierre en dos tiempos: pregunta + respuesta */
.closing h2{max-width:none;font-size:clamp(34px,4.4vw,64px);text-wrap:initial}
.q1,.q2{display:block}
.q1{text-wrap:balance;max-width:14ch}
.q2{margin-top:.28em;font-weight:400;font-size:.6em;line-height:1.1;letter-spacing:-.025em;color:var(--gold-ink)}
.page-title .q1{max-width:16ch}


/* ==========================================================================
   v34 · CONTACTO
   ========================================================================== */
.ph--contact{padding-bottom:clamp(64px,7vw,112px)}
.ph--contact .ph-art,.ph--contact .ph-edge{width:30%}
.ct-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center;position:relative;z-index:2}
.ph--contact .ph-copy{max-width:none}
.ph--contact .page-title{font-size:clamp(36px,4.6vw,68px)}
.ph--contact .page-title .q2{color:var(--gold-soft)}
.ph--contact .ph-intro{max-width:56ch;font-size:clamp(16px,1.2vw,18px)}
.ct-card{position:relative;padding:clamp(24px,2.4vw,34px);border-radius:8px;background:var(--cream);color:var(--text);box-shadow:0 40px 70px -30px rgba(3,10,18,.75),0 0 0 1px rgba(201,169,106,.35);animation:hUp .9s var(--ease-out) .18s both}
.ct-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,#A98848,#E9D29A,#A98848)}
.ct-who{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--hair)}
.ct-ava{flex:none;display:block;width:60px;height:60px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 25%,#24486C,#0B1B2B 75%);box-shadow:0 0 0 1px var(--gold-soft)}
.ct-ava img{display:block;width:150%;max-width:none;height:auto;margin:4px 0 0 -25%}
.ct-id{display:grid;gap:5px}
.ct-id strong{font:600 17px/1.15 var(--display);letter-spacing:-.012em;color:var(--navy)}
.ct-id span{font:600 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}
.ct-from{margin:0 0 16px;padding:9px 12px;border-left:2px solid var(--gold);background:var(--pale);font-size:13.5px;line-height:1.4;color:var(--navy)}
.ct-from b{display:block;margin-bottom:3px;font:600 10px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink)}
.ct-card .ct-main{width:100%;min-height:54px;font-size:15px;background:var(--navy);color:var(--cream)}
.ct-card .ct-main:hover{background:var(--navy-deep);color:var(--cream)}
.ct-hint{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.ct-k{margin-top:24px;padding-top:20px;border-top:1px solid var(--hair);color:var(--gold-ink)}
.ct-list{list-style:none;margin:8px 0 0;padding:0}
.ct-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;border-bottom:1px solid var(--hair)}
.ct-list li:last-child{border-bottom:0}
.ct-list a{flex:1;padding:12px 0;font-size:15px;font-weight:500;color:var(--navy);transition:color .2s}
.ct-list a:hover{color:var(--gold-ink)}
.ct-list a .arr{display:inline-block;transition:transform .35s var(--ease-out)}.ct-list a:hover .arr{transform:translateX(4px)}
.ct-copy{flex:none;min-height:30px;padding:0 10px;border:1px solid var(--hair);border-radius:4px;background:none;font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ct-copy:hover,.ct-copy.is-done{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.ct-card :focus-visible{outline-color:var(--navy)!important}
.no-intro .ct-card{animation:none}
/* agenda: una sola vez, tres pasos */
.ag-sec{padding:var(--section) 0}
.ag-list{list-style:none;margin:clamp(28px,3vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;border-top:1px solid var(--navy)}
.ag{position:relative;padding:34px clamp(20px,2.6vw,40px) 0 0}
.ag + .ag{padding-left:clamp(20px,2.6vw,40px);border-left:1px solid var(--hair)}
.ag:before{content:"";position:absolute;top:-8px;left:0;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0DCA8,#C9A96A 45%,#7A5E26);box-shadow:0 0 0 6px var(--bg)}
.ag + .ag:before{left:clamp(20px,2.6vw,40px)}
.ag-k{display:flex;align-items:baseline;gap:10px;font:600 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ag-k b{color:var(--gold-ink);font-weight:600}
.ag-h{margin-top:14px;font-size:clamp(22px,2.1vw,30px);line-height:1.08;letter-spacing:-.025em}
.ag p{margin:16px 0 0;font-size:15.5px;line-height:1.65;color:var(--muted);max-width:40ch}
@media(max-width:1023px){
  .ct-grid{grid-template-columns:1fr;gap:36px}
  .ph--contact .ph-art,.ph--contact .ph-edge{display:none}
  .ct-card{max-width:520px}
}
@media(max-width:767px){
  .ct-card{max-width:none}
  .ag-list{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--navy);margin-left:7px}
  .ag,.ag + .ag{padding:0 0 32px 28px;border-left:0}
  .ag:before,.ag + .ag:before{top:0;left:-8px}
  .ag:last-child{padding-bottom:0}
}
@media(prefers-reduced-motion:reduce){.ct-card{animation:none}}
@media(max-width:767px){.ct-card .ct-main{font-size:14px;padding:0 12px;gap:8px}.ph--contact{padding-bottom:40px}}

/* v35 · Contacto: cierre */
.ct-meta{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ct-meta li{padding:6px 9px 5px;border:1px solid var(--hair);border-radius:4px;font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.ct-who{margin-bottom:16px;padding-bottom:18px}
.ct-list a[aria-disabled="true"]{color:var(--muted)}
.ct-list a[data-vcard]:not([aria-disabled]):after{content:"↓";margin-left:8px;color:var(--gold-ink)}
.ag p{text-wrap:wrap}
.ag-h{text-wrap:balance}
.ph--contact{min-height:min(760px,92vh);display:flex;align-items:center}
.ph--contact>.container{width:min(var(--container),calc(100% - 64px))}
@media(max-width:1023px){.ph--contact{display:block;min-height:0}}
@media(max-width:767px){.ph--contact>.container{width:calc(100% - 40px)}}

/* ==========================================================================
   v36 · INSIGHTS: portada por temas y plantilla de artículo
   ========================================================================== */
.in-defs{position:absolute}
.in-plate{position:relative;display:block;isolation:isolate;overflow:hidden;border-radius:6px;background:radial-gradient(120% 90% at 20% 10%,#1C3957 0,#0E2034 55%,#0B1B2B 100%);aspect-ratio:4/3}
.in-plate .grain{position:absolute;inset:0;background-image:var(--grain);mix-blend-mode:soft-light;opacity:.5;pointer-events:none}
.in-plate svg{display:block;width:100%;height:100%}
.in-plate .v-gold-line{fill:none;stroke:rgba(201,169,106,.7);stroke-width:1}
.in-plate .slab{transition:transform .6s var(--ease-out)}
.ph--insights .page-title{font-size:clamp(34px,4.6vw,68px);max-width:none}
/* navegación por temas */
.it-nav{position:sticky;top:64px;z-index:20;background:rgba(247,246,242,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hair)}
.it-nav-in{display:flex;gap:6px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none}
.it-nav-in::-webkit-scrollbar{display:none}
.it-chip{flex:none;display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:0 13px;border:1px solid var(--hair);border-radius:4px;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);transition:background .2s,color .2s,border-color .2s}
.it-chip b{font-weight:600;color:var(--gold-ink);transition:color .2s}
.it-chip:hover{border-color:var(--navy)}
.it-chip.is-active{background:var(--navy);border-color:var(--navy);color:var(--cream)}.it-chip.is-active b{color:var(--gold-soft)}
/* bloque de tema */
.it{padding:clamp(48px,6vw,96px) 0;border-bottom:1px solid var(--hair);scroll-margin-top:120px}
.it:nth-of-type(even){background:var(--pale)}
.it-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:start}
.it-side{position:sticky;top:148px}
.it-side .in-plate{max-width:360px}
.it-n{margin-top:26px;font:600 12px/1 var(--mono);letter-spacing:.1em;color:var(--gold-ink)}
.it-h{margin-top:10px;font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.035em;text-transform:none}
.it-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy)}
.it-list li{border-bottom:1px solid var(--hair)}
.it-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(20px,3vw,48px);padding:clamp(24px,2.6vw,36px) 0;color:inherit}
.it-card:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.it-card:hover:after,.it-card:focus-visible:after{transform:scaleX(1)}
.it-meta{grid-column:1;display:flex;gap:16px;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.it-meta span:first-child{color:var(--gold-ink)}
.it-t{grid-column:1;margin:14px 0 0;font-size:clamp(20px,1.8vw,25px);line-height:1.14;letter-spacing:-.02em;text-wrap:balance}
.it-card--lead .it-t{font-size:clamp(25px,2.6vw,36px);line-height:1.06;letter-spacing:-.03em}
.it-x{grid-column:1;margin:12px 0 0;max-width:60ch;font-size:15.5px;line-height:1.6;color:var(--muted)}
.it-go{grid-column:2;grid-row:1/4;align-self:center;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--hair);border-radius:50%;color:var(--navy);transition:background .25s,border-color .25s,color .25s,transform .35s var(--ease-out)}
.it-go span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.it-go:before{content:"→";font:500 17px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif}
.it-card:hover .it-go{background:var(--navy);border-color:var(--navy);color:var(--cream);transform:translateX(4px)}
.it:last-of-type{border-bottom:0}
/* artículo · cabecera */
.rd-bar{position:fixed;left:0;right:0;top:64px;z-index:49;height:2px;pointer-events:none}
.rd-bar span{display:block;height:100%;background:linear-gradient(90deg,#A98848,#E9D29A);transform:scaleX(var(--p,0));transform-origin:left}
.ar{padding:0}
.ah{padding:calc(64px + clamp(40px,5vw,72px)) 0 clamp(48px,5.4vw,84px)}
.ah-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(32px,6vw,96px);align-items:center;position:relative;z-index:1}
.ah-crumbs{display:flex;gap:10px;align-items:center;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(247,246,242,.55)}
.ah-crumbs a{color:rgba(247,246,242,.55);transition:color .2s}.ah-crumbs a:hover{color:var(--cream)}
.ah-kicker{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:clamp(26px,3vw,40px);font:600 11.5px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.ah-cat{color:var(--gold-soft)}.ah-min{color:rgba(247,246,242,.6)}
.ah h1{margin-top:18px;max-width:20ch;color:var(--cream);font-size:clamp(32px,4.2vw,60px);line-height:1.02;letter-spacing:-.038em;text-wrap:balance}
.ah-lead{margin:24px 0 0;max-width:54ch;font:400 clamp(18px,1.6vw,22px)/1.5 var(--display);letter-spacing:-.01em;color:rgba(247,246,242,.78)}
.ah-by{display:flex;align-items:center;gap:14px;margin-top:clamp(28px,3vw,40px)}
.ah-ava{width:48px;height:48px}
.ah-by-t{display:grid;gap:5px}
.ah-by-t strong{font:600 15px/1.1 var(--display);color:var(--cream)}
.ah-by-t span{font:600 10.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-soft)}
.ah-plate .in-plate{background:none;overflow:visible;aspect-ratio:4/3}
.ah-plate .in-plate .grain{display:none}
/* artículo · cuerpo */
.ar-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);padding-top:clamp(44px,5vw,80px);padding-bottom:clamp(48px,6vw,88px)}
.ar-toc{position:sticky;top:104px;align-self:start}
.ar-toc-d>summary{list-style:none;cursor:default;pointer-events:none}
.ar-toc-d>summary::-webkit-details-marker{display:none}
.ar-toc-k{padding-bottom:14px;border-bottom:1px solid var(--navy);font:600 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--navy)}
.ar-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.ar-toc li{counter-increment:toc;border-bottom:1px solid var(--hair)}
.ar-toc a{position:relative;display:grid;grid-template-columns:28px 1fr;padding:13px 0;font-size:13.5px;line-height:1.4;color:var(--muted);transition:color .2s}
.ar-toc a:before{content:counter(toc,decimal-leading-zero);font:600 10.5px/1.7 var(--mono);letter-spacing:.06em;color:var(--gold-ink)}
.ar-toc a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.ar-toc a:hover,.ar-toc a.is-active{color:var(--navy)}
.ar-toc a.is-active:after{transform:scaleX(1)}
.ar-content{max-width:66ch;font-size:17.5px;line-height:1.75;color:var(--text)}
.ar-content p{margin:0 0 1.35em;text-wrap:wrap}
.ar-content>p:first-child:first-letter{float:left;margin:.06em .1em 0 0;font:500 3.6em/.82 var(--display);letter-spacing:-.04em;color:var(--navy)}
.ar-content h2{position:relative;margin:2.2em 0 .8em;padding-top:1.2em;border-top:1px solid var(--hair);font-size:clamp(24px,2.3vw,32px);line-height:1.12;letter-spacing:-.026em;text-wrap:balance;scroll-margin-top:96px}
.ar-n{display:block;margin-bottom:12px;font:600 11px/1 var(--mono);letter-spacing:.1em;color:var(--gold-ink)}
.ar-content>p:last-child{margin:2.2em 0 0;padding:4px 0 4px clamp(20px,2.4vw,32px);border-left:2px solid var(--gold);font:500 clamp(20px,1.9vw,26px)/1.3 var(--display);letter-spacing:-.018em;color:var(--navy);text-wrap:balance}
/* artículo · pie */
.ar-foot{padding-bottom:var(--section)}
.ar-author{display:flex;align-items:center;gap:20px;padding:clamp(24px,2.6vw,36px);border:1px solid var(--hair);border-radius:6px;background:var(--pale)}
.ah-ava--lg{width:76px;height:76px}
.ar-author strong{display:block;font:600 19px/1.15 var(--display);letter-spacing:-.012em;color:var(--navy)}
.ar-role{display:block;margin-top:6px;font:600 10.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink)}
.ar-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:14px}
.ar-rel{margin-top:clamp(44px,5vw,72px);padding:0;border:0;background:none}
.ar-rel h2{padding-bottom:16px;border-bottom:1px solid var(--navy);font:600 12px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--navy)}
.ar-rel ul{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.ar-rel li{margin:0;padding:0;border:0}
.rel{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--hair);border-radius:6px;overflow:hidden;background:var(--bg);color:var(--navy);transition:border-color .25s,transform .35s var(--ease-out),box-shadow .35s}
.rel .in-plate{border-radius:0;aspect-ratio:16/9}
.rel-b{display:block;padding:20px 22px 56px}
.rel-k{display:block;font:600 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.rel-t{display:block;margin-top:10px;font:600 17.5px/1.25 var(--display);letter-spacing:-.012em}
.rel .go{position:absolute;left:22px;bottom:18px;font:500 17px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif;transition:transform .35s var(--ease-out)}
@media(hover:hover){.rel:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 18px 30px -22px rgba(11,27,43,.5)}.rel:hover .go{transform:translateX(5px)}.it-card:hover .it-t{color:var(--navy-deep)}}
.ar + .closing{border-top:1px solid var(--hair)}
@media(max-width:1023px){
  .it-grid{grid-template-columns:1fr;gap:28px}
  .it-side{position:static;display:grid;grid-template-columns:120px 1fr;column-gap:20px;align-items:center}
  .it-side .in-plate{grid-row:1/3}.it-n{margin-top:0;align-self:end}.it-h{align-self:start}
  .ah-grid{grid-template-columns:1fr}.ah-plate{display:none}
  .ar-body{grid-template-columns:1fr;gap:28px}
  .ar-toc{position:static;padding:4px 18px;border:1px solid var(--hair);border-radius:6px;background:var(--pale)}
  .ar-toc-d>summary{cursor:pointer;pointer-events:auto;display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:0}
  .ar-toc-d>summary:after{content:"+";font:500 18px/1 Inter,"Inter Fallback","Inter Fallback R",Arial,sans-serif}
  .ar-toc-d[open]>summary{border-bottom:1px solid var(--navy)}.ar-toc-d[open]>summary:after{content:"–"}
  .ar-toc li:last-child{border-bottom:0}
  .ar-rel ul{grid-template-columns:1fr}
  .rel{flex-direction:row;align-items:stretch}.rel .in-plate{flex:none;width:132px;aspect-ratio:auto}.rel-b{padding:18px 44px 18px 18px}.rel .go{left:auto;right:18px;bottom:50%;transform:translateY(50%)}
}
@media(max-width:767px){
  .it-side{grid-template-columns:96px 1fr}
  .it-go{width:38px;height:38px}
  .ar-content{font-size:16.5px}
  .ar-author{align-items:flex-start}
  .rel .in-plate{width:96px}
}
@media(prefers-reduced-motion:reduce){.it-card:after,.ar-toc a:after{transition:none}}
/* insights.css se carga después: se gana por especificidad */
.article-page.ar{padding:0;margin:0;max-width:none}
.ar .ah .ah-lead{color:rgba(247,246,242,.78);font-size:clamp(18px,1.6vw,22px)}
.ar .ah h1{color:var(--cream)}
.ar .ar-content h2{font-size:clamp(24px,2.3vw,32px)}
.ar .ar-rel h2{font:600 12px/1 var(--mono);margin:0}
.it-nav-in{position:relative}

/* v36b · Insights: visuales solo en portada; artículo con numeral de tema */
.it-side .in-plate{max-width:200px}
.it-side{display:grid;grid-template-columns:200px 1fr;column-gap:24px;align-items:end}
.it-side .in-plate{grid-row:1/3}
.it-n{margin-top:0;align-self:end}
.it-h{align-self:start;margin-top:8px;font-size:clamp(22px,2.2vw,32px)}
.ah-grid{grid-template-columns:minmax(0,8fr) minmax(0,3fr);align-items:end}
.ah-num{display:grid;justify-items:end;align-content:end;gap:10px;color:var(--cream)}
.ah-num b{font:500 clamp(96px,11vw,160px)/.8 var(--display);letter-spacing:-.06em;background:linear-gradient(135deg,#F0DCA8 10%,#C9A96A 55%,#8F7238);-webkit-background-clip:text;background-clip:text;color:transparent}
.ah-num span{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(247,246,242,.55)}
.ar-rel ul{display:block;margin-top:0;border-top:0}
.ar-rel li{border-bottom:1px solid var(--hair)}
.rel{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr) auto auto;gap:clamp(16px,3vw,48px);align-items:baseline;padding:20px 0;border:0;border-radius:0;background:none;overflow:visible;transform:none!important;box-shadow:none!important}
.rel:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.rel:hover:after{transform:scaleX(1)}
.rel-b{display:contents}
.rel-t{margin:0;font-size:18px}
.rel-m{font:600 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.rel .go{position:static;bottom:auto;left:auto}
@media(max-width:1023px){
  .it-side{grid-template-columns:140px 1fr;column-gap:20px}
  .ah-grid{grid-template-columns:1fr}.ah-num{display:none}
  .rel{grid-template-columns:1fr auto auto;gap:6px 16px}.rel-k{grid-column:1/-1}.rel .go{transform:none}
}
@media(max-width:767px){.it-side{grid-template-columns:104px 1fr}}
.ar-rel h2{padding-left:0}.ar-rel li:first-child .rel{padding-top:24px}
/* cabecera de artículo sin numeral: el titular es la pieza */
.ah-grid{grid-template-columns:1fr}
.ah h1{max-width:22ch;font-size:clamp(34px,4.6vw,66px)}
.ah-lead{max-width:60ch}
.ah{padding-bottom:clamp(44px,5vw,72px)}
@media(max-width:767px){.it-side{grid-template-columns:96px minmax(0,1fr)}.it-h{font-size:clamp(22px,7vw,28px);overflow-wrap:anywhere}.it-grid{min-width:0}.it-list{min-width:0}.it-card{min-width:0}.it-t{overflow-wrap:anywhere}}
@media(max-width:359px){.it-side{grid-template-columns:80px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.hD-person,.ph-art,.ph-copy>*,.hD .hero-copy>*{animation:none!important}}
@media(prefers-reduced-motion:reduce){.stepper.is-visible .step-n:last-child:after{animation:none}.step-n{transition:none}}

/* v39 · QA total: hero móvil de la home (retrato sin recorte, rótulo fuera del pecho) y barra de temas de Insights */
@media(max-width:767px){
  .hD-art,.hD-edge{height:340px}
  .hD-person{width:46%;bottom:calc(100% - 404px);right:5%}
  .hD-person figcaption{left:auto;right:calc(100% + 8px);bottom:14px;width:max-content;max-width:150px;white-space:normal}
}
@media(max-width:767px){.it-nav-in{scroll-padding-left:20px}}

@media(min-width:1024px) and (max-width:1279px){.it-side{grid-template-columns:140px 1fr}}

.ar-body p a:not([class]){color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold-ink);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
.ar-body p a:not([class]):hover{color:var(--gold-ink)}

@media(max-width:767px){.ph-nav a + a{padding-left:0}}

/* v40 · 73: etiqueta bilingüe del hero — corte por sentido y punto alineado a la primera línea */
.hx .hero-sub .s-tag{align-items:flex-start;text-wrap:balance}
.hx .hero-sub .s-tag:before{margin-top:.42em}

/* v40 · 74: título de credencial partido por sentido; etiqueta del pilar 01 a la misma distancia en móvil */
.cred-t{text-wrap:balance}
@media(max-width:767px){.pillar .minor:not(.fig){margin-top:12px}}

/* v40 · 75: infraestructura — la lista arranca a la altura de la ilustración; títulos del acordeón partidos por sentido */
@media(min-width:1024px){.infra-head{display:contents}.infra-grid{grid-template-rows:auto auto auto auto;row-gap:0;align-items:start}
.infra-head>.label{grid-column:1;grid-row:1}.infra-head>.minor{grid-column:1;grid-row:2;justify-self:start}.infra-head>.as-h3{grid-column:1;grid-row:3}
.infra-plate{grid-column:1;grid-row:4;margin-top:36px}.infra .acc{grid-column:2;grid-row:4;align-self:start;margin-top:36px}}
.infra .acc summary>span:first-child{text-wrap:balance}

/* v40 · 76: escala única de titulares — sección y cierre 52/32, frase destacada 42/28 */
:root{--h2-sec:clamp(32px,3.6vw,52px);--h-feat:clamp(28px,2.9vw,42px)}
.st-a,.infra h2.as-h3,.cycle h2.as-h3,.model h2,.svc-h,.exec-head h2,.sec-h,.mx-head h2,.closing h2{font-size:var(--h2-sec)}
.vf-h,.fr--feat .fr-h{font-size:var(--h-feat)}

/* v40 · 77: icono de menú dibujado (tres líneas finas como la E del logo; X al abrir) */
.menu-toggle{position:relative;font-size:0!important}
.menu-toggle:before,.menu-toggle:after{content:"";position:absolute;left:50%;top:50%;border-radius:1px;transition:transform .25s var(--ease,ease),opacity .2s}
.menu-toggle:before{width:24px;height:15px;transform:translate(-50%,-50%);background:linear-gradient(currentColor,currentColor) 0 0/100% 1.6px no-repeat,linear-gradient(currentColor,currentColor) 0 50%/66% 1.6px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/100% 1.6px no-repeat}
.menu-toggle:after{width:0;height:0}
.menu-toggle[aria-expanded="true"]:before{content:"";font-size:0;width:22px;height:1.6px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.menu-toggle[aria-expanded="true"]:after{width:22px;height:1.6px;background:currentColor;transform:translate(-50%,-50%) rotate(-45deg)}

/* v40 · 78: botón único — 56 px en página, 15 px, peso 600, texto crema sobre navy */
.btn{font-weight:600}
.btn-primary,.desktop-nav a.btn-primary,.mobile-menu a.btn-primary,.mobile-menu a.btn-primary:hover{color:var(--cream)}
.site-header.over-dark .btn-primary,.hD .btn-primary{color:var(--navy)}
main .btn-primary,main .btn-secondary{min-height:56px;font-size:15px}
main .btn-primary:not(.ct-main){padding:0 30px}
@media(max-width:767px){main .btn-primary.ct-main{font-size:14px}}

/* v40 · 79: migas de pan de los artículos — insights.css pisaba el color; crema al 62 % (6,3:1) */
.breadcrumbs.ah-crumbs{font:600 11px/1 var(--mono);letter-spacing:.08em;color:rgba(247,246,242,.62)}
.breadcrumbs.ah-crumbs a{color:rgba(247,246,242,.62)}
.breadcrumbs.ah-crumbs a:hover{color:var(--cream);text-decoration:none}

/* v40 · 81: mínimo 11 px en rótulos mono; rótulos de sección y categoría a 12 px */
.rel-k,.ar-role,.ah-by-t span,.ct-id span,.ct-copy,.ct-copy span,.mx-seg button,.ph-nav a span,.hD-person figcaption span{font-size:11px}
.mx-seg button{letter-spacing:.04em;white-space:nowrap}
.eyebrow.fr-eb,.vf-eyebrow,.ah-cat,.ah-min{font-size:12px}

/* v40 · 85: Servicios — entregables siempre completos (sin recorte ni «+») */
.svc .dl li .dl-v{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.svc .dl li .plus{display:none!important}
.svc .dl li{cursor:default}

/* v40 · 86: Mi Modelo — costes 02–06 siempre completos */
.frs .dl li .dl-v{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.frs .dl li .plus{display:none!important}
.frs .dl li{cursor:default}

/* v40 · 87: Sobre Mí — cortes de línea por sentido */
.ab-facts-k,.ab-fact span,.au-sub,.au-note{text-wrap:balance}

/* v40 · 88: Insights — fundido en la barra de filtros móvil */
@media(max-width:767px){.it-nav{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}}

/* v40 · 89: artículos relacionados alineados con su encabezado */
.ar .ar-rel ul,.related.ar-rel ul{padding-left:0!important}

/* v40 · 99: ilustración 03 del método — canales con icono, cuenta destacada y recorrido en secuencia */
.v3-run{fill:#F0DCA8;offset-rotate:0deg;opacity:0}.is-live .v3-run{animation:edvChan 1.7s ease-in-out 2 both}@keyframes edvChan{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}@media(prefers-reduced-motion:reduce){.is-live .v3-run{animation:none}}

/* v40 · 100: infraestructura — etiqueta del dominio en dorado */
.infra-plate .tag-gold{fill:#C9A96A}

/* v40 · 101: línea del ciclo en móvil continua hasta la firma */
@media(max-width:767px){.stepper:before,.stepper:after{bottom:14px}}
/* v40 · 106: selector de idioma ES · EN (cabecera y menú móvil) */
.lang{display:inline-flex;align-items:center;gap:2px;font:600 12px/1 "JetBrains Mono","JetBrains Fallback",ui-monospace,monospace;letter-spacing:.08em}
.lang .sep{display:inline-block;width:1px;height:11px;background:var(--hair);margin:0 2px}
.desktop-nav .lang{padding-left:14px;border-left:1px solid var(--hair)}
.desktop-nav .lang a{font-size:12px;font-weight:600;padding:8px 4px;color:var(--muted)}
.desktop-nav .lang a:not(.btn):after{display:none}
.desktop-nav .lang a:hover,.desktop-nav .lang a[aria-current="true"]{color:var(--navy)}
.site-header.over-dark .desktop-nav .lang{border-left-color:var(--hair-light)}
.site-header.over-dark .lang .sep{background:var(--hair-light)}
.site-header.over-dark .desktop-nav .lang a:not(.btn){color:rgba(247,246,242,.6)}
.site-header.over-dark .desktop-nav .lang a:not(.btn):hover,.site-header.over-dark .desktop-nav .lang a[aria-current="true"]{color:var(--cream)}
.mobile-menu .lang{display:flex;justify-content:center;margin-top:16px;font-size:13px}
.mobile-menu .lang a{padding:10px 14px;color:var(--muted);border-bottom:0}
.mobile-menu .lang a[aria-current="true"]{color:var(--navy)}
/* v40 · 107: placas en inglés (etiquetas más largas) */
html[lang="en-GB"] .plate .slab-tag text{letter-spacing:0}
/* v40 · 116: cabecera en tablet (768–899 px) con el selector de idioma: menos aire entre enlaces */
@media(min-width:768px) and (max-width:899px){.desktop-nav{gap:11px}.desktop-nav .lang{padding-left:10px}.desktop-nav a.btn{padding:0 14px}.desktop-nav a.btn .arr{display:none}}
@media(min-width:768px) and (max-width:799px){.desktop-nav{gap:8px}.desktop-nav .lang{padding-left:8px}}
/* v40 · 134 · Rótulos de ilustraciones más legibles en tablet y portátil pequeño */
@media(max-width:767px){.plate text.strip{font-size:17px;letter-spacing:.06em}}
@media(min-width:768px) and (max-width:1023px){.plate .slab-tag text{font-size:18px;letter-spacing:.05em}html[lang="en-GB"] .plate .slab-tag text{font-size:17.5px}.plate text.strip{font-size:18px;letter-spacing:.06em}.vs-feat-top{grid-template-columns:minmax(0,1fr) minmax(0,280px)}.vf-ice text{letter-spacing:.02em}}
@media(min-width:1024px) and (max-width:1279px){.plate .slab-tag text{font-size:16px}.plate text.strip{font-size:16px;letter-spacing:.08em}.infra-plate:not(.plate) .slab-tag text{font-size:13.5px;letter-spacing:.05em}.pillar-viz text{font-size:12.5px}.vs-feat-top{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,4fr)}.vf-ice text{letter-spacing:.02em}}
@media(min-width:1280px){.plate text.strip{font-size:13px;letter-spacing:.1em}}
/* v40 · 135 · Inicio en tablet: pilar 03 e infraestructura a la escala del resto */
@media(min-width:768px) and (max-width:1023px){
.pillar:nth-child(3){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(20px,2.4vw,36px);align-content:start}
.pillar:nth-child(3)>*{grid-column:2}
.pillar:nth-child(3)>.pillar-viz{grid-column:1;grid-row:1/span 5;margin-bottom:0;align-self:start}
.pillar:nth-child(3)>.label{margin-top:4px}
.infra-head{display:contents}.infra-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;row-gap:0;align-items:start}.infra-plate:not(.plate) .slab-tag text{font-size:15.5px;letter-spacing:0}
.infra-head>.label{grid-column:1/-1;grid-row:1}.infra-head>.minor{grid-column:1/-1;grid-row:2;justify-self:start}.infra-head>.as-h3{grid-column:1/-1;grid-row:3}
.infra-plate{grid-column:1;grid-row:4;margin-top:32px}.infra .acc{grid-column:2;grid-row:4;align-self:start;margin-top:32px}
}
/* v40 · 136 · Servicios: franja de inversión y compromiso (textos de la comparativa de Mi Modelo) */
.svc-terms{background:var(--pale);padding:0 0 clamp(48px,6vw,80px)}
.st-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:clamp(20px,3vw,48px);align-items:start;background:var(--navy-deep);color:var(--cream);border-radius:4px;padding:clamp(24px,3vw,36px) clamp(22px,3vw,40px);border-top:2px solid var(--gold-soft)}
.st-k{font:600 12px/1.4 "JetBrains Mono","JetBrains Fallback",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:12px}
.st-item p{margin:0;color:rgba(247,246,242,.72);font-size:15px;line-height:1.6}
.st-item b{display:block;color:var(--cream);font-weight:600;font-size:17px;line-height:1.35;margin-bottom:4px}
.st-item .mk{margin-top:1px}
.st-link{color:var(--cream);font:600 14px/1 Inter,"Inter Fallback",Arial,sans-serif;white-space:nowrap;border-bottom:1px solid var(--gold-soft);padding-bottom:6px;align-self:end}
.st-link:hover{color:var(--gold-soft)}
@media(max-width:899px){.st-card{grid-template-columns:1fr}.st-link{justify-self:start}}
.svc--alt:has(+.svc-terms){border-bottom:0}
/* v40 · 137 · Menú móvil: página actual marcada y selector ES | EN con zona táctil de 44 px */
.mobile-menu nav a[aria-current="page"]:not(.btn){font-weight:600;color:var(--navy);box-shadow:inset 3px 0 0 var(--gold-soft);padding-left:14px}
.mobile-menu .lang a{min-height:44px;min-width:48px;display:inline-flex;align-items:center;justify-content:center}
/* v40 · 138 · Contacto: pista visual en la fila del email si el correo no se abre (solo mientras no haya agenda) */
.ct-list li{transition:background-color .25s,box-shadow .25s}
.ct-list li.is-flag{background:rgba(201,169,106,.14);box-shadow:inset 3px 0 0 var(--gold-soft);margin:0 -14px;padding:0 14px}
@media(prefers-reduced-motion:reduce){.ct-list li{transition:none}}
/* v40 · 140 · Servicios en móvil y tablet: entregables sin la columna vacía del antiguo «+» */
@media(max-width:1023px){.dl li:not(.dl-lead),.dl--short li:not(.dl-lead){grid-template-columns:34px minmax(0,1fr)!important}}
/* v40 · 144 · Alineaciones: cabecera de modalidad en Servicios y rótulo de la agenda del cierre */
@media(min-width:1024px){.svc-head,.svc--alt .svc-head{align-items:start}}
.closing-agenda .ca-k{flex-basis:100%}
/* v40 · 145 · Sobre Mí: el retrato se separa de la esfera de latón */
@media(min-width:1180px){.ab-person{transform:translateX(-30px)}}
/* v40 · 146 · Contacto: sobre el hero, el botón de cabecera pasa a secundario para que mande el de la tarjeta */
body:has(.ct-card) .site-header.over-dark:not(.is-scrolled) .desktop-nav a.btn-primary{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1px rgba(247,246,242,.42)}
body:has(.ct-card) .site-header.over-dark:not(.is-scrolled) .desktop-nav a.btn-primary:hover{background:rgba(247,246,242,.1);color:var(--cream)}
/* v40 · 149 · Contacto en escritorio: el hero se ajusta a la tarjeta y asoma la agenda de la llamada */
@media(min-width:1024px){.ph--contact{min-height:0;padding-bottom:56px}.ph--contact+.ag-sec{padding-top:88px}}
/* v40 · 150 · Artículos en móviles estrechos: titular algo más compacto */
@media(max-width:479px){.article-page .ah-copy h1,.ah .ah-copy h1{font-size:clamp(32px,9vw,36px);line-height:1.06}}
/* v40 · 151 · Móvil: textos de apoyo de Mi Modelo (y entregables de Servicios) y comparativa a 15 px */
@media(max-width:767px){html .dl li:not(.dl-lead) .dl-v,html.js .dl li:not(.dl-lead):not(.is-open) .dl-v{font-size:15px;line-height:1.6}main .mx-t td.alt,main .mx-t td.mine{font-size:15px}}
/* v40 · 152 · Zonas táctiles invisibles de 44 px (sin cambio visual) */
.ct-copy{position:relative}.ct-copy:after{content:"";position:absolute;inset:-7px -4px}
@media(max-width:1023px){.text-link-gold{position:relative}.text-link-gold:after{content:"";position:absolute;inset:-9px -4px -9px}}
