/* UGLA · capa cinematográfica (acompaña a modern.js).
   Usa las variables de la página (--gold, --ink, --display...). Todo lo que depende del motor vive bajo html.mod;
   sin JS o con "reducir movimiento" la página queda completa y estática. */

/* ---------- base común (sin motor) ---------- */
.mq{overflow:hidden;white-space:nowrap}
.mq-t{display:flex;width:max-content;will-change:transform}
.mq-t span{flex:none}
.mqs{background:linear-gradient(180deg,#0C1830,#0A1424);border-block:1px solid rgba(232,205,150,.18);padding-block:15px;color:var(--cream)}
.mqs .mq-t span{font-family:var(--display);font-stretch:125%;font-weight:600;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--cream-mute);display:flex;align-items:center}
.mqs .mq-t span::after{content:"";width:7px;height:7px;border:1px solid var(--gold-hi);transform:rotate(45deg);margin-inline:28px}
.mqs .mq-t span:nth-child(3n+1){color:var(--gold-hi)}
.rail,.cur{display:none}
.sc-cnt{display:none;font-family:var(--display);font-stretch:125%;font-weight:600;font-size:12px;letter-spacing:.3em;color:var(--acc);font-variant-numeric:tabular-nums}
.kw{transition:none}

/* acordeones */
.acc{display:grid;gap:10px}
.acc details{border-radius:12px;border:1px solid var(--surf-b,rgba(26,19,8,.25));background:rgba(255,255,255,.14);overflow:hidden}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;font-family:var(--display);font-stretch:115%;font-weight:600;font-size:15.5px;line-height:1.3;letter-spacing:.01em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s}
.acc details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.acc details p{padding:0 18px 17px;font-size:14.5px;line-height:1.55;opacity:.92}
.acc details[open]{background:rgba(255,255,255,.26)}

/* línea de tiempo (acta) */
.tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-top:42px}
.tl::before,.tl::after{content:"";position:absolute;left:0;right:0;top:14px;height:2px;border-radius:2px}
.tl::before{background:var(--line)}
.tl::after{background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));transform-origin:left;transform:scaleX(var(--cp,1))}
.tl-i{position:relative;--q:clamp(0, calc(var(--cp,1) * 5 - var(--j,0)), 1)}
.tl-i::before{content:"";position:absolute;left:0;top:-35px;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--gold-hi);box-shadow:0 0 0 4px rgba(232,205,150,calc(.18*var(--q)));z-index:1}
.tl-i .ico{margin-bottom:20px}
.tl-i h3{font:700 18px/1.3 var(--body)}
.tl-i p{font-size:15px;color:var(--mute);margin-top:8px}
@media (max-width:760px){
  .tl{grid-template-columns:1fr;gap:6px;padding:0 0 0 34px}
  .tl::before,.tl::after{left:6px;right:auto;top:6px;bottom:6px;width:2px;height:auto}
  .tl::after{transform:none;background:linear-gradient(180deg,var(--gold-lo),var(--gold-hi))}
  .tl-i{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 14px;align-items:start;padding-block:12px}
  .tl-i::before{left:-35px;top:20px}
  .tl-i .ico{grid-row:1/3;width:48px;height:48px;margin:0}
  .tl-i .ico svg{width:24px;height:24px}
  .tl-i p{margin-top:2px;font-size:14.5px}
}

/* carrusel (Qué incluye): sin motor es una parrilla; en teléfono, deslizamiento nativo */
.hs-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;perspective:1400px;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.hs-bar{display:none}
@media (max-width:980px){.hs-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .hs-track{max-width:none;margin-inline:0}
  .hs-track,.swipe{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px var(--gut) 14px;-webkit-overflow-scrolling:touch;scroll-padding-inline:var(--gut)}
  .swipe{margin-inline:calc(var(--gut) * -1)}
  .hs-track::-webkit-scrollbar,.swipe::-webkit-scrollbar{display:none}
  .hs-track>*,.swipe>*{flex:0 0 78%;scroll-snap-align:start;min-width:0}
}

/* tarjetas compactas */
.incl.mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.incl.mini .card{padding:20px 20px 22px}
.incl.mini .card h3{font-size:16.5px;margin-top:10px}
.incl.mini .card p{font-size:14px;margin-top:6px}
@media (max-width:760px){.incl.mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.incl.mini .card{padding:16px 14px 18px}.incl.mini .card h3{font-size:15px}.incl.mini .card p{font-size:13px}}

/* franja de fotos y premios */
.strip{padding-block:6px 4px}
.strip .mq-t{gap:16px;padding-right:16px}
.strip .mq-t>*{flex:none;height:clamp(200px,24vw,290px);border-radius:14px;overflow:hidden;white-space:normal}
.strip figure{position:relative;aspect-ratio:4/3}
.strip figure img{width:100%;height:100%;object-fit:cover}
.strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;font-family:var(--display);font-stretch:118%;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);background:linear-gradient(0deg,rgba(10,20,36,.9),transparent)}
.strip .award{aspect-ratio:auto;width:clamp(250px,24vw,310px);display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:linear-gradient(160deg,#1C2E4A,#0D182A);color:var(--cream);border:1px solid rgba(232,205,150,.3)}
.strip .award strong{font-family:var(--display);font-stretch:112%;font-weight:600;font-size:48px;line-height:1;color:var(--cream);text-shadow:0 1px 0 rgba(255,255,255,.3),0 2px 0 #9C7A42,0 3px 0 #6E5328,0 9px 14px rgba(0,0,0,.55)}
.strip .award b{display:block;font-size:15.5px;font-weight:700;margin-bottom:5px}
.strip .award span{font-size:13.5px;color:var(--cream-mute);line-height:1.5}
.strip .quote{width:clamp(300px,30vw,400px);flex-direction:row;background:linear-gradient(160deg,#1C2E4A,#0D182A)}
.strip .quote img{width:38%;height:100%;aspect-ratio:auto;object-fit:cover}
.strip .quote div{display:flex;flex-direction:column;justify-content:center;padding:16px 16px}
.strip .quote blockquote{font-size:13px;line-height:1.4}
.strip .quote cite{margin-top:10px;font-size:9px}
@media (max-width:760px){.strip .mq-t>*{height:210px}}

/* =====================================================================
   MOTOR ACTIVO (html.mod)
   ===================================================================== */
html.mod{scroll-behavior:auto;scroll-padding-top:0}
.mod .pad{padding-block:clamp(40px,4.6vw,64px)}
.mod .head{margin-bottom:clamp(20px,2.4vw,30px)}
.mod .hero,.mod .owl-sec,.mod .stack-sec{overflow:visible}

/* palabras que se encienden con el scroll */
.mod .kin .kw{opacity:.14;display:inline-block;will-change:opacity}
.mod .kin .kw.metal,.mod .kin .kw.gold{display:inline}

/* riel de capítulos */
.mod .rail{display:flex;position:fixed;z-index:55;right:14px;top:50%;transform:translate(14px,-50%);flex-direction:column;gap:2px;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s}
.mod .rail.show{opacity:1;pointer-events:auto;transform:translate(0,-50%)}
.rail button{all:unset;box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;height:22px;padding-inline:6px;cursor:pointer}
.rail button i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(232,205,150,.4);border:1px solid rgba(232,205,150,.7);transition:transform .3s,background .3s}
.rail button span{position:absolute;right:26px;white-space:nowrap;font-family:var(--display);font-stretch:118%;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi);opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s;pointer-events:none;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rail button.on i{background:var(--gold-hi);transform:scale(1.6)}
.rail button:hover span,.rail button.on span{opacity:1;transform:none}
.rail button:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px;border-radius:6px}
.rail.light button i{background:rgba(138,106,54,.3);border-color:rgba(138,106,54,.8)}
.rail.light button.on i{background:var(--gold-lo)}
.rail.light button span{color:var(--gold-lo);text-shadow:none}
@media (max-width:1100px){.mod .rail{display:none}}

/* cursor */
.mod .cur{display:block;position:fixed;z-index:90;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;border:1px solid var(--gold-hi);pointer-events:none;opacity:0;mix-blend-mode:difference;transition:opacity .3s,width .25s,height .25s,margin .25s,background .25s}
.mod .cur.on{opacity:.85}
.mod .cur.big{width:62px;height:62px;margin:-14px 0 0 -14px;background:rgba(232,205,150,.18)}

/* paralaje y marcos */
.mod [data-px]{scale:1.16;will-change:transform}
.mod [data-cl]:not(.tl){clip-path:inset(calc((1 - var(--cp,1)) * 16%) calc((1 - var(--cp,1)) * 10%) round 14px)}
.mod [data-rise]{opacity:calc(.25 + .75 * var(--rp,1));transform:perspective(1300px) translateY(calc((1 - var(--rp,1)) * 46px)) rotateX(calc((1 - var(--rp,1)) * 9deg));transform-origin:50% 100%}

/* ---------- escenas fijadas (solo escritorio con altura suficiente) ---------- */
@media (min-width:981px) and (min-height:540px){
  .mod [data-sc]::after,.mod [data-dive]::after{content:"";display:block;height:var(--ext,80vh)}
  .mod .sc-pin,.mod .hero-pin{position:sticky;top:var(--navh,76px);min-height:calc(100svh - var(--navh,76px));display:flex;flex-direction:column;justify-content:center;overflow:hidden}
  .mod .sc-pin.pad{padding-block:clamp(18px,3.4vh,52px)}

  /* HERO · inmersión */
  .mod .hero{min-height:0;--ext:340px}
  .mod .hero-pin{justify-content:stretch;background:radial-gradient(1000px 700px at 70% 50%,#14284A 0%,rgba(10,20,36,0) 70%),var(--ink)}
  .mod .hero-pin .hero-in{flex:1}
  .mod .hero-pin .hero-text{padding-block:clamp(14px,3vh,60px)}
  .mod .twin canvas{transform:scale(calc(1 + var(--dp,0) * .62));transform-origin:68% 58%;will-change:transform}
  .mod .hero-scrim{opacity:calc(1 - var(--dp,0) * .85)}
  .mod .hero-text{opacity:calc(1 - var(--dp,0) * 1.7);transform:translateY(calc(var(--dp,0) * -70px));will-change:transform,opacity}
  .mod .hero.dv .hero-text{pointer-events:none}
  .mod .hero-pin::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 70% 60% at 68% 58%,transparent 30%,rgba(10,20,36,calc(var(--dp,0) * .85)) 100%)}
  .mod .hud{opacity:calc(.55 + var(--dp,0) * .45)}
  .mod .drag-hint{opacity:calc(.8 * var(--dp,0))}
  .mod .hero-pin h1{font-size:clamp(34px,min(5vw,8.2vh),76px)}
  .mod .hero-pin .lead{margin-top:clamp(12px,2.2vh,26px)}
  .mod .hero-pin .cta-row{margin-top:clamp(16px,3vh,38px)}
  .mod .hero-pin .trust{margin-top:clamp(14px,2.6vh,40px);padding-top:clamp(10px,1.8vh,22px)}
  .mod .hero-pin .sig{margin-top:clamp(12px,2vh,28px)}
  .mod .hero-pin .btn-lg{padding-block:clamp(15px,2.6vh,21px)}

  /* LA MIRADA · el búho gira con el scroll */
  .mod .owl-sec{--ext:46vh}
  .mod .owl-sec .stage{height:min(600px,calc(100svh - var(--navh,76px) - 40px))}
  .mod .owl-sec .h2{font-size:clamp(28px,min(4.1vw,6vh),58px)}
  .mod .owl-sec .verbs{margin-top:clamp(14px,2.6vh,36px);gap:clamp(8px,1.4vh,14px)}
  .mod .owl-sec .verb{padding-block:clamp(10px,1.6vh,16px)}
  .mod .owl-sec .sub{margin-top:clamp(10px,1.8vh,22px)}
  .mod .owl-sec .cta-row{margin-top:clamp(14px,2.6vh,38px)}
  .mod .verb.sc-step{opacity:.38;transform:translateX(0) scale(.97);transition:opacity .4s,transform .4s,box-shadow .4s,border-color .4s}
  .mod .verb.sc-step.past{opacity:.62}
  .mod .verb.sc-step.on{opacity:1;transform:translateX(10px) scale(1);border-color:rgba(232,205,150,.7);box-shadow:inset 0 1px 0 var(--hi),0 0 40px -10px rgba(232,205,150,.4),0 30px 50px -32px var(--sh)}
  .mod .owl-sec .sc-cnt{display:block;margin-bottom:12px}

  /* DOLORES · mazo de tarjetas */
  .mod .stack-sec{--ext:68vh;--n:5}
  .mod .stack-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center}
  .mod .deck{position:relative;height:clamp(260px,46vh,360px);perspective:1400px}
  .mod .deck .stat{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
    --e:calc(var(--p,0) * var(--n) - var(--j,0));
    --a:clamp(0, calc((var(--e) + .55) / .55), 1);
    --k:clamp(0, calc(var(--e) - 1), 6);
    transform:translate3d(0,calc((1 - var(--a)) * 80% - var(--k) * 15px),calc(var(--k) * -40px)) scale(calc(1 - var(--k) * .045));
    opacity:calc(clamp(0,var(--a) * 2,1) * (1 - var(--k) * .14));background:linear-gradient(180deg,#FFFEFA,#F5EFE1);will-change:transform,opacity;z-index:calc(10 - var(--j,0))}
  .mod .deck .stat[style*="--j:0"]{--a:1}
  .mod .deck .stat{z-index:calc(var(--j,0) + 1)}
  .mod .deck .relief{font-size:clamp(34px,4.2vw,58px)}
  .mod .deck .stat h3{font-size:20px;margin-top:18px}
  .mod .deck .stat p{font-size:16px;max-width:44ch}
  .mod .stack-sec .sc-cnt{display:block;margin-top:22px}
  .mod .stack-sec .h2{font-size:clamp(28px,min(3.7vw,5.8vh),54px)}

  /* QUÉ INCLUYE · barrido horizontal */
  .mod [data-hs] .hs-pin{position:sticky;top:var(--navh,76px);height:calc(100svh - var(--navh,76px));overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(18px,3vh,48px)}
}
@media (min-width:761px){
  .mod [data-hs]:not(.hs-off) .hs-pin{position:sticky;top:var(--navh,76px);height:calc(100svh - var(--navh,76px));overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(18px,3vh,48px)}
  .mod [data-hs]:not(.hs-off) .hs-track{display:flex;gap:18px;width:max-content;padding-inline:max(var(--gut),calc((100vw - var(--maxw)) / 2 + var(--gut)));will-change:transform;perspective:none;max-width:none;margin-inline:0;margin-top:clamp(10px,2vh,26px)}
  .mod [data-hs]:not(.hs-off) .hs-track>*{flex:none;width:clamp(250px,24vw,320px)}
  .mod [data-hs]:not(.hs-off) .hs-bar{display:block;position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(14px,2.6vh,30px);height:2px;background:var(--line)}
  .mod [data-hs]:not(.hs-off) .hs-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));transform-origin:left;transform:scaleX(var(--p,0))}
}

/* ---------- composición de secciones (con y sin motor) ---------- */
.hero-pin{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}
.mq-set{display:flex;flex:none;align-items:center;justify-content:space-around;min-width:100vw}
.strip .mq-set{gap:16px;padding-right:16px;justify-content:flex-start;min-width:max(100vw,1500px)}
.stack-grid{display:grid;gap:clamp(24px,4vw,40px)}
.deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.deck .stat{padding:26px 24px 28px}
@media (max-width:980px){.deck{grid-template-columns:repeat(2,minmax(0,1fr))}}
.yr-sec{padding-block:0 clamp(52px,6vw,88px)}
.yr-sec .year{margin-top:0}
.tl-i{opacity:1}
.mod .tl-i{opacity:calc(.2 + .8 * var(--q));transform:translateY(calc((1 - var(--q)) * 18px))}
@media (max-width:760px){.mod .tl-i{opacity:1;transform:none}}

/* plataforma */
.ops3{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.ops3 .ops-photo{aspect-ratio:auto;min-height:340px;height:100%;position:relative;top:auto}
.ops-cards{display:contents}
.ops3 .panel-wrap{margin-top:0;display:flex}
.ops3 .panel{width:100%;display:flex;flex-direction:column}
.ops3 .feed{flex:1;min-height:0}
.ops3 .live{padding:18px 18px 12px;min-width:0}
.ops3 .tasks li:nth-child(n+4){display:none}
.dark .live .onair{color:#F2A08E;background:rgba(217,115,94,.12)}
.dark .live .pb{background:rgba(243,238,227,.12)}
.dark .live .tasks .dot{background:#6B7587}
.dark .live .tasks .s1 .dot{background:var(--gold-hi)}
.dark .live .tasks .s2 .dot{background:var(--ok)}
.dark .live .tasks .s2 .pb i{background:var(--ok)}
.dark .live .tasks .ts em{border-color:rgba(243,238,227,.2)}
.dark .live .tasks .s1 .ts em{color:var(--gold-hi);border-color:rgba(232,205,150,.45)}
.dark .live .tasks .s2 .ts em{background:var(--ok);border-color:var(--ok);color:#0A1424}
.feat4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.feat4 h4{font:700 15.5px/1.4 var(--body)}
.feat4 p{font-size:14.5px;color:var(--mute);margin-top:2px}
@media (max-width:1100px){
  .ops3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ops3 .ops-photo{grid-column:1/-1;min-height:0;aspect-ratio:16/7}
  .feat4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .ops3{grid-template-columns:1fr;gap:14px}
  .ops3 .ops-photo{aspect-ratio:16/10}
  .ops-cards{display:flex}
  .ops-cards>*{align-self:stretch}
  .ops3 .panel-wrap{display:block}
  .feat4{gap:12px 14px;margin-top:16px}
  .feat4 p{font-size:13.5px}
  .feed{min-height:0}
}
.tw-sec.cont{border-top:0;padding-top:0}
.tw-sec .tw-svg svg{max-height:430px}
.tw-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.62fr);gap:16px}
.kpi{padding:12px 16px 14px}
.kpi strong{font-size:28px;margin-top:6px}
.spark{padding:12px 16px 6px}
.tw-cta{padding:16px}
.tw-cta h4{font-size:18px}

/* auditoría, preguntas, inmobiliarias */
.band2{align-items:flex-start;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);padding-block:clamp(36px,5vw,64px)}
.band-l .diag{margin-top:18px;font-size:15px;line-height:1.5;opacity:.92;max-width:46ch}
.band-l .btn{margin-top:22px}
.band2 .band-l h2{max-width:20ch}
@media (max-width:860px){.band2{grid-template-columns:1fr}}
.inmo-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.inmo-top .head{margin-bottom:clamp(22px,3vw,34px)}
.inmo-top .cta-row{margin:0 0 clamp(22px,3vw,34px)}
.pillars.mini{gap:14px}
.pillars.mini .pillar{padding:20px 18px 22px}
.pillars.mini .ico{width:46px;height:46px}
.pillars.mini .ico svg{width:23px;height:23px}
.pillars.mini .pillar h3{font-size:16.5px;margin-top:16px}
.pillars.mini .pillar p{font-size:14px;margin-top:6px}

/* quién + trayectoria */
.mil-photo{max-height:640px;width:100%}
.tr-e{margin:34px 0 14px}
.tr-h{font-size:clamp(24px,2.5vw,34px);margin-bottom:18px}
.mil .tbl{padding:4px 22px 6px}
.mil table{font-size:14.5px}
.mil td,.mil th{padding-block:12px}

/* la ley */
.pts4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:clamp(30px,4vw,48px)}
.pts4 .pt{padding:20px 18px 22px}
.pts4 .pt h4{font-size:16px;margin-top:14px}
.pts4 .pt p{font-size:14px}
@media (max-width:980px){.pts4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.final{border-top:1px solid rgba(232,205,150,.12)}
.mod .final h2{font-size:clamp(46px,7vw,110px)}
.steps{margin-top:34px}

/* voz */
@media (max-width:540px){
  .nums{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .num{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px}
  .num span{margin-top:0;text-align:right}
}
.voz-photo{align-self:stretch}
.voz-photo img{width:100%;height:100%;object-fit:cover}

/* móvil: escenas compactas */
@media (max-width:980px){
  .mod .owl-sec .stage{height:380px}
  .mod .owl-sec .scaler{transform:scale(.62);transform-origin:50% 100%}
  .stage{order:-1}
  .mod .owl-sec .owl-grid{gap:8px}
}
@media (max-width:760px){
  .hero .lead{margin-top:18px}
  .cta-row{margin-top:26px}
  .trust{margin-top:26px}
  .twin{height:420px!important}
  .mod .pad{padding-block:clamp(42px,11vw,60px)}
  .mod .head{margin-bottom:22px}
  .h2{font-size:clamp(28px,8vw,36px)}
  .sub{margin-top:14px}
  .verbs{margin-top:22px}
  .year{padding:20px}
  .tw-grid{grid-template-columns:1fr}
  .band h2{font-size:24px}
  .mil-photo{max-height:420px;aspect-ratio:auto;height:420px}
  .steps{margin-top:26px}
  .final h2{font-size:48px}
  .mqs{padding-block:12px}
}
@media (max-width:1040px){.tw-grid{grid-template-columns:1fr}.tw-side{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.tw-side{grid-template-columns:1fr 1fr}.tw-side .k1{grid-column:auto}.tw-side .spark,.tw-side .tw-cta{grid-column:1/-1}.tw-side .kpi:nth-child(3){grid-column:1/-1}}

/* menos movimiento: la página queda estática y completa */
@media (prefers-reduced-motion:reduce){
  .mq-t{transform:none!important}
  .mq:not(.mqs) .mq-set[aria-hidden]{display:none}
}

/* ---------- compactación (solo con motor, escritorio) ---------- */
@media (min-width:981px){
  .mod .head:not(.keep){max-width:none}
  .mod .pad>.wrap>.head,.mod .pad>.head,.mod .wrap>.head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:clamp(32px,5vw,72px);align-items:end}
  .mod .stack-sec .head,.mod .inmo-top .head{display:block;max-width:860px}
  .mod .head>.label,.mod .head>.eyebrow{grid-column:1/-1}
  .mod .head>h2{grid-column:1;grid-row:2;margin:0}
  .mod .head>.sub,.mod .head>p:not(.label):not(.eyebrow){grid-column:2;grid-row:2;margin:0;max-width:44ch;justify-self:end;padding-bottom:6px}
  .mod .head>h2:only-of-type:last-child{grid-column:1/-1}
  .mod .h2{font-size:clamp(30px,3.5vw,52px)}
  .mod .final .h2,.mod .final h2{font-size:clamp(46px,7vw,110px)}
  .mod [data-hs]:not(.hs-off) .hs-track>*{width:clamp(220px,19.5vw,270px)}
}

/* quién: foto + texto, y trayectoria a todo el ancho */
.mil-sec .mil{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,60px);align-items:center}
.tr-wrap{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);column-gap:clamp(24px,4vw,60px);align-items:center}
.tr-wrap .tr-e{margin:0 0 10px}
.tr-wrap .tr-h{margin:0}
.tr-wrap .tbl{grid-column:2;grid-row:1/3;overflow-x:auto}
.tr-wrap .tr-e,.tr-wrap .tr-h{grid-column:1}
.tr-wrap .tr-e{align-self:end}
.tr-wrap .tr-h{align-self:start}
.tr-wrap table{width:100%;min-width:0}
.mil-sec .mil-photo{max-height:480px;height:480px;aspect-ratio:auto}
@media (max-width:980px){
  .mil-sec .mil{grid-template-columns:1fr}
  .tr-wrap{display:block}
  .tr-wrap .tr-e{margin-top:22px}
  .tr-wrap .tr-h{margin-bottom:16px}
  .mil-sec .mil-photo{height:380px}
  .tr-wrap .tbl{overflow-x:auto}
  .tr-wrap table{min-width:520px}
}
@media (min-width:981px){
  .mod .tw-svg svg{max-height:380px}
  .voz-photo{max-height:470px}
  .mod .voz-photo img{height:100%;object-fit:cover}
}

/* ---------- compactación 2 (escritorio con motor) ---------- */
@media (min-width:981px){
  .mod .stack-sec{--ext:56vh}
  .mod .owl-sec{--ext:34vh}
  .mod .strip .mq-t>*{height:clamp(170px,16vw,220px)}
  .mod .strip .award{width:clamp(220px,19vw,260px);padding:16px}
  .mod .strip .award strong{font-size:38px}
  .mod .cta-card{padding:24px 26px 22px}
  .mod .medal{width:64px;height:64px;margin-bottom:12px}
  .mod .cta-card .btn{margin-top:16px}
  .mod .steps{margin-top:22px}
  .mod .step{padding:14px 14px 16px}
  .mod .final .sub{margin-top:14px}
  .mod .year{padding:20px 28px;margin-top:0}
  .mod .yr-sec{padding-bottom:clamp(30px,3.4vw,48px)}
  .mod .legend{gap:6px}
  .mod .tw-svg svg{max-height:310px}
  .mod .feed li{padding:9px 16px}
  .mod .feed{min-height:0}
  .mod .ops3 .live{padding:14px 16px 8px}
  .mod .feat4{margin-top:16px;padding-top:14px}
  .mod #voz.pad{padding-block:clamp(34px,3.6vw,50px)}
  .mod .nums{margin-top:20px}
  .mod .handles{margin-top:16px}
  .mod .band-in{padding-block:34px}
  .mod .inmo-top .head{margin-bottom:18px}
  .mod .pillars.mini .pillar{padding:16px 16px 18px}
  .mod .pillars.mini .ico{width:40px;height:40px}
  .mod .pillars.mini .pillar h3{margin-top:12px}
  .mod .incl.mini .card{padding:16px 18px}
  .mod .pts4 .pt{padding:16px 16px 18px}
  .mod .pts4{margin-bottom:26px}
}

@media (min-width:981px){
  .mod #lvBars{height:140px;overflow:hidden}
  .mod #lvBars svg{width:100%;height:100%}
  .mod .ops3 .feed{max-height:420px;overflow:hidden}
  .mod .ops3 .panel{max-height:100%}
  .mod .tw-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .mod .tw-side{grid-template-columns:1fr 1fr;grid-auto-flow:dense;align-content:stretch}
  .mod .tw-side .tw-cta{grid-column:1/-1}
  .mod .tw-side .kpi.k1{grid-column:auto}
}

@media (max-width:980px){
  .mil-sec .mil{grid-template-columns:minmax(0,1fr)}
  .tr-wrap{min-width:0}
  .mil-sec .mil-photo{width:100%}
}

@media (max-width:760px){
  .deck.swipe,.pts4.swipe,.pillars.mini.swipe,.ops-cards.swipe{display:flex;grid-template-columns:none}
  .deck.swipe>*,.pts4.swipe>*,.pillars.mini.swipe>*,.ops-cards.swipe>*{flex:0 0 78%;min-width:0}
  .ops-cards.swipe>*{flex-basis:88%}
  .deck.swipe .stat{padding:20px 18px 22px}
  .deck .relief{font-size:30px}
  .deck .stat h3{margin-top:14px;font-size:16px}
  .deck .stat p{font-size:14px}
  .pts4 .pt,.pillars.mini .pillar{padding:18px 16px 20px}
}

@media (max-width:760px){
  /* trayectoria: la tabla se lee como lista */
  .tr-wrap .tbl{overflow:visible;padding:2px 16px}
  .tr-wrap table,.tr-wrap tbody,.tr-wrap tr,.tr-wrap td{display:block;min-width:0;width:100%}
  .tr-wrap thead{display:none}
  .tr-wrap tr{padding:12px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px}
  .tr-wrap tr:first-child{border-top:0}
  .tr-wrap td{padding:0;border:0;width:auto}
  .tr-wrap td.y{grid-row:1/3}
  .tr-wrap td.e{font-weight:600}
  .tr-wrap td:last-child{grid-column:2;color:var(--mute);font-size:13.5px}
  /* pasos del contacto en fila */
  .final .steps{grid-template-columns:1fr;gap:10px;margin-top:20px}
  .final .step{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:12px 14px}
  .final .step .n{grid-row:1/3;font-size:24px}
  .final .step h4{margin-top:0}
  .final .step p{margin-top:2px}
  .final .cta-card{padding:22px 20px}
  .final .medal{width:60px;height:60px;margin-bottom:10px}
  .ops3 .feed{max-height:300px;overflow:hidden}
  .ops3 .live{padding:16px 14px 10px}
  .voz-photo{height:260px}
  .voz-photo img{height:100%;object-fit:cover}
  .mod .owl-sec .stage{height:320px}
}
#oferta .label{color:#5A4420;margin-bottom:10px;display:block}
#oferta .band-l .btn{margin-top:20px}
.feat4.feat6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.feat4.feat6{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ops-cta{margin-top:26px}
.offer-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.offer-cta .btn{margin-top:0}
@media (max-width:560px){.offer-cta .btn{flex:1 1 100%;white-space:normal;text-align:center;justify-content:center}}

/* v5: lista de trayectoria (reemplaza tabla), foto Operaciones Control sin cortes */
.tr-list{list-style:none;margin:0;padding:6px 0;max-width:100%}
.tr-list li{display:grid;grid-template-columns:56px 1fr;gap:2px 14px;padding:13px 18px;border-top:1px solid rgba(232,205,150,.14);align-items:baseline}
.tr-list li:first-child{border-top:0}
.tr-list b{grid-row:1/3;font-family:var(--display,inherit);font-size:20px;color:var(--gold-hi,#E8CD96);font-weight:600}
.tr-list span{font-weight:600;color:#fff;font-size:15px}
.tr-list em{font-style:normal;color:#C3CAD5;font-size:14px}
@media (min-width:700px){.tr-list li{grid-template-columns:64px 1fr 1fr;align-items:center}.tr-list b{grid-row:auto}}
@media (max-width:980px){
  .ops3 .ops-photo{aspect-ratio:auto;height:min(520px,118vw);min-height:0}
  .ops3 .ops-photo img{object-position:50% 14%}
}
.ops3{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}@media (max-width:980px){.ops3{grid-template-columns:1fr}}
