/* ==========================================================================
   Mariona Agency 2028 · capa de componentes sobre style.css
   Principios: el primer impacto no espera a nada; los efectos de firma viven en
   zonas especiales (Casos, Metodología, fichas); solo se anima transform,
   opacity y clip-path; y todo respeta prefers-reduced-motion.
   ========================================================================== */
:root{--f-light:'nh-light',"Helvetica Neue",Helvetica,Arial,sans-serif;--gut:clamp(20px,5vw,64px)}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-64px;z-index:400;background:var(--orange);color:#fff;padding:10px 18px;border-radius:999px;font-family:var(--f-label);font-size:13px;text-decoration:none;transition:top .2s}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* ---------- Zoom de ficha: View Transitions entre documentos ---------- */
@view-transition{navigation:auto}
::view-transition-group(ficha-hero){animation-duration:.78s;animation-timing-function:cubic-bezier(.32,.72,0,1)}
::view-transition-old(ficha-hero),::view-transition-new(ficha-hero){width:100%;height:100%;object-fit:cover;overflow:clip}
::view-transition-old(root){animation:.32s ease both ma-vt-out}
::view-transition-new(root){animation:.5s ease .12s both ma-vt-in}
@keyframes ma-vt-out{to{opacity:0}}
@keyframes ma-vt-in{from{opacity:0}}
.is-ficha .mtw-hero img{view-transition-name:ficha-hero}
html.vt-out .is-ficha .mtw-hero img{view-transition-name:none}

/* ---------- Menú: ocho entradas y subsecciones ---------- */
.ma-inner{padding:clamp(78px,11vh,124px) 6% 3.4vh;overflow-y:auto;scrollbar-width:none}
.ma-inner::-webkit-scrollbar{display:none}
.ma-nav>li{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:clamp(14px,2.2vw,34px)}
.ma-nav .ma-n{font-family:var(--f-light);font-weight:300;font-size:clamp(36px,7.1vh,96px);line-height:1.04;letter-spacing:-.04em}
body.menu-open .ma-nav .ma-n[aria-current]{color:var(--bone)}
.ma-nav .sub{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;opacity:0;transform:translateX(3vw);transition:opacity .25s ease,transform .3s var(--ease-spring)}
body.menu-open .ma-nav .sub{opacity:1;transform:none;transition:opacity .5s ease calc(.34s + var(--i)*.05s),transform .8s var(--ease-spring) calc(.34s + var(--i)*.05s)}
.ma-nav .sub a,body.menu-open .ma-nav .sub a{font-family:var(--f-label);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;color:var(--t-3);transform:none;opacity:1;transition:color .25s ease}
body.menu-open .ma-nav .sub a:hover{color:var(--orange);transform:none}
@media (max-width:900px){
  .ma-nav .ma-n{font-size:clamp(30px,5.3vh,52px)}
  .ma-nav>li{flex-direction:column;align-items:flex-start;row-gap:2px;margin-bottom:4px}
  .ma-nav .sub{gap:2px 14px}
  .ma-nav .sub a,body.menu-open .ma-nav .sub a{font-size:10.5px}
}

/* ---------- Tipografía de titulares ---------- */
.hx-t,.lx-t,.cs-t,.qs-t,.jl-t,.mt-t,.fc-t{font-family:var(--f-light);font-weight:300;letter-spacing:-.035em;line-height:1;color:var(--bone)}
.hx-t{font-size:clamp(34px,5.4vw,80px);max-width:17ch}
.hx-t span,.lx-t span,.cs-t span,.qs-t span{color:var(--t-3);display:block}
.lk{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-label);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--bone);padding:10px 0;border-bottom:1px solid rgba(246,245,243,.3);transition:border-color .3s,color .3s}
.lk::after{content:"\2192";transition:transform .45s var(--ease-spring)}
.lk:hover{border-color:var(--orange);color:var(--orange)}
.lk:hover::after{transform:translateX(5px)}
.hx-links{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:clamp(36px,5vw,64px)}

/* ---------- Portada ---------- */
.hx-cf{padding:clamp(90px,13vw,190px) 0}
.hx-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);margin-top:clamp(40px,6vw,84px)}
.hx-3 article{border-top:1px solid var(--line);padding-top:24px}
.hx-3 article:nth-child(2){transition-delay:.1s}.hx-3 article:nth-child(3){transition-delay:.2s}
.hx-3 .n{font-family:var(--f-label);font-size:12px;letter-spacing:.16em;color:var(--orange)}
.hx-3 h3{font-family:var(--f-light);font-weight:300;font-size:clamp(26px,2.8vw,42px);letter-spacing:-.03em;margin:14px 0 12px}
.hx-3 p{color:var(--t-2);max-width:34ch}

.hx-sv{padding:clamp(80px,11vw,160px) 0;background:var(--ink2)}
.doors{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(36px,5vw,70px)}
.door{position:relative;display:flex;flex-direction:column;min-height:clamp(300px,33vw,450px);padding:26px 24px 24px;border:1px solid var(--line);border-radius:22px;text-decoration:none;background:var(--ink);transition:border-color .4s,transform .7s var(--ease-spring)}
.door:hover{border-color:var(--orange);transform:translateY(-6px)}
.door:nth-child(2){transition-delay:.06s}.door:nth-child(3){transition-delay:.12s}.door:nth-child(4){transition-delay:.18s}
.door-n{font-family:var(--f-label);font-size:12px;letter-spacing:.16em;color:var(--orange)}
.door-t{font-family:var(--f-light);font-weight:300;font-size:clamp(34px,3.5vw,58px);letter-spacing:-.04em;line-height:1;margin-top:auto}
.door-d{color:var(--t-2);font-size:15px;line-height:1.5;margin-top:12px}
.door-s{font-family:var(--f-label);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-3);margin-top:16px;line-height:1.7}
.door-go{position:absolute;top:22px;right:24px;font-size:22px;line-height:1;color:var(--t-3);transition:transform .5s var(--ease-spring),color .3s}
.door:hover .door-go{color:var(--orange);transform:translateX(6px)}

.hx-g{padding:clamp(80px,11vw,160px) 0 clamp(30px,5vw,70px)}
.hx-g+.hx-g{padding-top:clamp(40px,6vw,90px)}
.hx-gh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,52px)}

/* Reel de la portada: una escena de works-expand con cortes dentro */
.xp.rl{height:230svh}
.rl-m{background:var(--ink2)}
.rl-m img,.rl-m video{position:absolute;inset:0}
.rl-m .rl-i{opacity:0;transition:opacity .32s ease}
.rl-m .rl-i.on{opacity:1}
.rl-m video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(calc(1.16 - .16 * var(--p)))}
.rl .xp-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,11,0) 50%,rgba(11,11,11,.72) 100%);opacity:clamp(0,calc((var(--p) - .6) / .3),1)}

/* Galería con píldora de progreso y pausa */
.pg{position:relative}
.pg-track{display:flex;gap:clamp(12px,1.6vw,22px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:0 max(var(--gut),calc(50vw - 640px))}
.pg-track::-webkit-scrollbar{display:none}
.pg.dragging .pg-track{cursor:grabbing;user-select:none}
.pg.dragging .pg-track a{pointer-events:none}
.pg-s{flex:0 0 min(74vw,1120px)}
.pg-s:nth-child(n+5){display:none}
.wc-pg .wc-m{aspect-ratio:16/9;border-radius:22px}
.wc-pg .wc-t{font-size:clamp(16px,1.4vw,21px)}
.pg-ctl{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:clamp(22px,3vw,36px)}
.pg-dots{display:flex;align-items:center;gap:10px;padding:15px 18px;border-radius:999px;background:rgba(246,245,243,.09);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pg-d{position:relative;display:block;width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(246,245,243,.38);cursor:pointer;overflow:hidden;transition:width .55s var(--ease-sheet),background .3s}
.pg-d:hover{background:rgba(246,245,243,.7)}
.pg-d.on{width:46px;background:rgba(246,245,243,.24)}
.pg-d i{position:absolute;inset:0;border-radius:inherit;background:var(--bone);transform-origin:left center;transform:scaleX(0)}
.pg-d.on i{transform:scaleX(var(--pgp,0))}
.pg-pp{width:46px;height:46px;border-radius:50%;border:0;background:rgba(246,245,243,.09);color:var(--bone);cursor:pointer;display:grid;place-items:center;transition:background .3s}
.pg-pp:hover{background:rgba(246,245,243,.18)}
.pg-pp .i-pause{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.pg-pp .i-play{display:none;width:0;height:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.pg.paused .pg-pp .i-play{display:block}
.pg.paused .pg-pp .i-pause{display:none}

/* ---------- Fichas visuales ---------- */
.wc{display:block;text-decoration:none;color:var(--bone)}
.wc-m{margin:0;overflow:hidden;border-radius:18px;background:var(--ink2);aspect-ratio:4/3;position:relative;transform:translateZ(0)}
.wc-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-sheet)}
.wc:hover .wc-m img{transform:scale(1.035)}
.wc-c{padding:14px 2px 0}
.wc-t{font-family:var(--f-label);font-weight:500;font-size:clamp(15px,1.15vw,17px);letter-spacing:.005em;line-height:1.3;color:var(--bone)}
.wc-s{display:flex;align-items:baseline;gap:10px;margin-top:5px;font-size:13px;color:var(--t-3);min-width:0}
.wc-s em{flex:0 0 auto;font-style:normal;font-family:var(--f-label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.wc-s span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Retícula editorial: 7+5 · 4+4+4 · 5+7 · 4+4+4 */
.wg{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(34px,4vw,60px) clamp(12px,1.6vw,22px)}
.wg>.wc{grid-column:span 4}
.wg>.wc .wc-m{aspect-ratio:4/5}
.wg>.wc:nth-child(10n+1),.wg>.wc:nth-child(10n+7){grid-column:span 7}
.wg>.wc:nth-child(10n+1) .wc-m,.wg>.wc:nth-child(10n+7) .wc-m{aspect-ratio:16/10}
.wg>.wc:nth-child(10n+2),.wg>.wc:nth-child(10n+6){grid-column:span 5}
.wg>.wc:nth-child(10n+2) .wc-m,.wg>.wc:nth-child(10n+6) .wc-m{aspect-ratio:8/7}
.wg.is-f>.wc{grid-column:span 4!important}
.wg.is-f>.wc .wc-m{aspect-ratio:4/3!important}
.wg.swap>.wc{animation:ma-swap .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes ma-swap{from{opacity:0;transform:translateY(16px)}}
.lx-empty{color:var(--t-3);font-size:15px;padding:24px 0}

/* ---------- Portfolio y Eventos ---------- */
.lx-hero{padding:clamp(150px,21vh,230px) 0 clamp(36px,5vw,64px)}
.lx-t{font-size:clamp(44px,7.4vw,124px);max-width:14ch}
.lx-hero .lede{margin-top:26px}
.lx{padding-bottom:clamp(40px,6vw,90px)}
.lx-bar{position:sticky;top:90px;z-index:20;padding:10px clamp(20px,5vw,64px);margin-bottom:clamp(22px,3vw,40px);pointer-events:none}
.lx-bar .fl{pointer-events:auto}
.fl{display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:999px;background:rgba(31,35,34,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line)}
.fl-b{font-family:var(--f-label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:9px 15px;border-radius:999px;border:0;background:transparent;color:var(--t-2);cursor:pointer;white-space:nowrap;transition:background .3s,color .3s}
.fl-b sup{font-size:9px;letter-spacing:0;opacity:.55;margin-left:1px}
.fl-b:hover{color:var(--bone)}
.fl-b.on{background:var(--bone);color:var(--ink)}
.hl{margin-top:clamp(90px,12vw,170px)}
.hl-h{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}
.hl-h h2{font-family:var(--f-light);font-weight:300;font-size:clamp(32px,4.2vw,62px);letter-spacing:-.035em}
.hl-h p{font-family:var(--f-label);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-3)}
.hl-l{list-style:none}
.hl-l a{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr) minmax(0,1fr) 24px;gap:18px;align-items:baseline;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .3s,padding-left .45s var(--ease-sheet)}
.hl-l a:hover{padding-left:16px;background:rgba(246,245,243,.03)}
.hr-t{font-size:clamp(17px,1.45vw,21px);color:var(--bone);line-height:1.3}
.hr-k{font-family:var(--f-label);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--orange)}
.hr-s{font-size:14px;color:var(--t-3);line-height:1.4}
.hr-a{color:var(--t-3);transition:transform .45s var(--ease-spring),color .3s}
.hl-l a:hover .hr-a{color:var(--orange);transform:translateX(4px)}

/* ---------- Casos ---------- */
.cz{position:fixed;inset:0;z-index:250;background:var(--ink);display:grid;place-items:center;pointer-events:none;animation:cz-fade .45s ease 1.25s forwards}
.cz-in{width:min(22vmin,190px);transform-origin:98.6% 50%;will-change:transform;animation:cz-zoom 1.35s cubic-bezier(.76,0,.24,1) .12s both}
.cz-m{display:block;width:100%;height:auto;fill:var(--bone)}
.cz-m .bar{fill:var(--orange)}
@keyframes cz-zoom{0%{transform:scale(.86);opacity:0}26%{transform:scale(1);opacity:1}100%{transform:scale(42);opacity:1}}
@keyframes cz-fade{to{opacity:0;visibility:hidden}}
.cs-hero{padding:clamp(150px,21vh,230px) 0 clamp(50px,7vw,100px)}
.cs-t{font-size:clamp(40px,6vw,104px);max-width:none}
.cs-hero .lede{margin-top:26px}
.cs-idx{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:clamp(44px,6vw,84px);border-top:1px solid var(--line)}
.cs-idx a{display:flex;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--t-2);font-size:clamp(16px,1.35vw,19px);transition:color .3s,padding-left .45s var(--ease-sheet)}
.cs-idx a span{font-family:var(--f-label);font-size:11px;letter-spacing:.14em;color:var(--orange)}
.cs-idx a:hover{color:var(--bone);padding-left:10px}
.cs-x{height:260svh}
.cs-x .xp-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,11,0) 30%,rgba(11,11,11,.82) 100%);opacity:clamp(0,calc((var(--p) - .55) / .3),1)}
.cs-cap{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(28px,6vh,68px);z-index:3;max-width:780px;opacity:clamp(0,calc((var(--p) - .78) / .2),1);transform:translateY(calc((1 - clamp(0,calc((var(--p) - .78) / .2),1)) * 26px))}
.cs-n{font-family:var(--f-label);font-size:12px;letter-spacing:.16em;color:var(--orange)}
.cs-h{font-family:var(--f-light);font-weight:300;font-size:clamp(32px,4.6vw,74px);letter-spacing:-.035em;line-height:1;margin:12px 0 16px;color:#fff}
.cs-p{font-size:clamp(15px,1.25vw,19px);line-height:1.5;color:rgba(255,255,255,.84);max-width:62ch}
.cs-m{display:flex;flex-wrap:wrap;gap:10px 36px;margin-top:20px}
.cs-m dt{font-family:var(--f-label);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cs-m dd{font-size:14px;color:#fff;margin-top:3px}
.cs-go{display:inline-flex;gap:10px;margin-top:24px;font-family:var(--f-label);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:8px;transition:border-color .3s}
.cs-go i{font-style:normal;transition:transform .45s var(--ease-spring)}
.cs-x:hover .cs-go{border-color:var(--orange)}
.cs-x:hover .cs-go i{transform:translateX(5px)}
.cs-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.biglink{min-width:0}
.biglink .s{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* ---------- Metodología: todo llega con el scroll ---------- */
.mt-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 clamp(60px,10vh,120px)}
.mt-t{font-size:clamp(54px,10.4vw,176px);line-height:.94}
.mt-hero>.wrap{width:100%}
.mt-hero .lede{margin-top:clamp(20px,3vw,36px)}
.mt-ln{display:block;overflow:hidden;padding-bottom:.06em}
.mt-ln>span{display:inline-block;transform:translateY(108%);transition:transform 1.15s cubic-bezier(.2,.7,.2,1)}
.mt-ln.in>span{transform:none}
.mt-t .mt-ln:nth-child(2)>span{transition-delay:.12s}
.mt-cue{margin-top:clamp(34px,6vh,70px);font-family:var(--f-label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-3)}
.mt-rv{opacity:0;transform:translateY(42px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.mt-rv.in{opacity:1;transform:none}
.mt-pr{padding:clamp(60px,9vw,130px) 0}
.mt-prg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.mt-prg article{border-top:1px solid var(--line);padding-top:22px}
.mt-prg article:nth-child(2){transition-delay:.12s}.mt-prg article:nth-child(3){transition-delay:.24s}
.mt-prg .n{font-family:var(--f-label);font-size:12px;color:var(--orange);letter-spacing:.16em}
.mt-prg h2{font-family:var(--f-light);font-weight:300;font-size:clamp(28px,3vw,46px);letter-spacing:-.035em;margin:12px 0}
.mt-prg p{color:var(--t-2)}
.mt-step{padding:clamp(90px,14vh,170px) 0;border-top:1px solid var(--line)}
.mt-g{display:grid;grid-template-columns:minmax(120px,.75fr) 2fr;gap:clamp(24px,5vw,90px)}
.mt-num{position:sticky;top:18vh;align-self:start;font-family:var(--f-light);font-weight:300;font-size:clamp(96px,16vw,270px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(246,245,243,.32);transition:color .7s ease,-webkit-text-stroke-color .7s ease}
.mt-step.on .mt-num{color:var(--orange);-webkit-text-stroke-color:transparent}
.mt-h{font-family:var(--f-light);font-weight:300;font-size:clamp(48px,7.2vw,118px);letter-spacing:-.045em;line-height:.95;color:var(--bone)}
.mt-p{font-size:clamp(19px,1.85vw,27px);line-height:1.45;color:var(--t-2);max-width:40ch;margin-top:clamp(18px,2.4vw,32px)}
.mt-img{margin:clamp(34px,4.6vw,64px) 0;overflow:hidden;border-radius:20px;clip-path:inset(16% 0 16% 0 round 20px);transition:clip-path 1.5s cubic-bezier(.2,.7,.2,1)}
.mt-img.mt-rv{opacity:1;transform:none}
.mt-img.in{clip-path:inset(0 0 0 0 round 20px)}
.mt-img img{width:100%;aspect-ratio:16/9;object-fit:cover;transform:scale(1.16);transition:transform 1.7s cubic-bezier(.2,.7,.2,1)}
.mt-img.in img{transform:none}
.mt-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,64px)}
.mt-cols>div:nth-child(2){transition-delay:.12s}
.mt-cols h3{font-family:var(--f-label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;font-weight:500}
.mt-cols ul{list-style:none}
.mt-cols li{padding:11px 0;border-top:1px solid var(--line);color:var(--t-1)}
.mt-cols p{font-size:clamp(19px,1.7vw,24px);color:var(--t-1);line-height:1.4}
.mt-rail{position:fixed;right:clamp(14px,2vw,30px);top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:12px;opacity:0;pointer-events:none;transition:opacity .45s ease}
body.mt-on .mt-rail{opacity:1;pointer-events:auto}
.mt-rail a{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;color:var(--t-3);font-family:var(--f-label);font-size:11px;letter-spacing:.14em;transition:color .3s}
.mt-rail em{font-style:normal;text-transform:uppercase;opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s}
.mt-rail a:hover em,.mt-rail a.on em{opacity:1;transform:none}
.mt-rail a.on{color:var(--orange)}
.mt-end .mt-big{font-family:var(--f-light);font-weight:300;font-size:clamp(40px,7.4vw,120px);letter-spacing:-.045em;line-height:1;color:var(--bone)}
.mt-end .mt-big.o span{color:var(--orange)}
.mt-end .mt-big.o>span{transition-delay:.12s}

/* ---------- Servicios ---------- */
.sv-top{padding-bottom:clamp(40px,6vw,80px)}
.sv4-b{border-top:1px solid var(--line);padding:clamp(60px,9vw,130px) 0}
.sv4-g{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,90px);align-items:center}
.sv4-b.no-img .sv4-g{grid-template-columns:1fr}
.sv4-n{font-family:var(--f-label);font-size:12px;letter-spacing:.16em;color:var(--orange)}
.sv4-t{font-family:var(--f-light);font-weight:300;font-size:clamp(58px,9.4vw,158px);letter-spacing:-.05em;line-height:.9;margin:14px 0 20px}
.sv4-t a{text-decoration:none;transition:color .3s}
.sv4-t a:hover{color:var(--orange)}
.sv4-d{font-size:clamp(18px,1.6vw,23px);color:var(--t-2);max-width:40ch;line-height:1.45}
.sv4-s{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.sv4-s a{display:inline-flex;gap:8px;align-items:center;font-family:var(--f-label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:10px 16px;border:1px solid rgba(246,245,243,.25);border-radius:999px;color:var(--t-1);transition:border-color .3s,background .3s,color .3s}
.sv4-s a i{font-style:normal}
.sv4-s a:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.sv4-m{display:block;border-radius:22px;overflow:hidden;aspect-ratio:4/3}
.sv4-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-sheet)}
.sv4-m:hover img{transform:scale(1.04)}
.sv4-b:nth-child(even) .sv4-m{order:-1}
.sv-idx{list-style:none;columns:3;column-gap:44px;margin-top:26px}
.sv-idx li{break-inside:avoid;border-top:1px solid var(--line)}
.sv-idx a{display:block;padding:12px 0;text-decoration:none;color:var(--t-2);transition:color .3s,padding-left .35s var(--ease-sheet)}
.sv-idx a:hover{color:var(--bone);padding-left:8px}

/* ---------- Quiénes somos y Jacinto Lana ---------- */
.qs-hero{padding:clamp(150px,21vh,230px) 0 clamp(40px,6vw,90px)}
.qs-t{font-size:clamp(40px,6.2vw,104px);max-width:24ch}
.qs-hero .lede{margin-top:26px}
.qs-sub{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(30px,4vw,50px)}
.qs-sub a{font-family:var(--f-label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:10px 16px;border:1px solid rgba(246,245,243,.25);border-radius:999px;transition:background .3s,color .3s,border-color .3s}
.qs-sub a:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.qs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(56px,8vw,110px)}
.qs-stats div{border-top:1px solid var(--line);padding-top:18px}
.qs-stats div:nth-child(2){transition-delay:.08s}.qs-stats div:nth-child(3){transition-delay:.16s}.qs-stats div:nth-child(4){transition-delay:.24s}
.qs-stats b{display:block;font-family:var(--f-light);font-weight:300;font-size:clamp(46px,6vw,96px);letter-spacing:-.045em;line-height:1}
.qs-stats span{display:block;margin-top:10px;font-family:var(--f-label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-3)}
.qs-gal-w{padding-bottom:clamp(60px,8vw,120px)}
.qs-gal{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:0 max(var(--gut),calc(50vw - 640px));margin-top:10px}
.qs-gal::-webkit-scrollbar{display:none}
.qs-gal img{height:min(56vh,520px);width:auto;flex:0 0 auto;border-radius:20px}
.qs-jg{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,90px);align-items:end}
.qs-role{font-family:var(--f-label);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-3);margin-top:16px}
.qs-q{font-family:var(--f-light);font-weight:300;font-size:clamp(22px,2.4vw,36px);line-height:1.35;letter-spacing:-.015em;margin-bottom:26px;color:var(--bone)}
.qs-q.big{font-size:clamp(28px,4.2vw,64px);max-width:24ch;line-height:1.2}
.jl-hero{padding:clamp(150px,21vh,230px) 0 clamp(20px,3vw,40px)}
.jl-hero .eyebrow a{text-decoration:none}
.jl-t{font-size:clamp(76px,15vw,250px);line-height:.86;letter-spacing:-.055em}
.jl-t span{color:var(--orange)}
.body-t.jl-lead{font-family:var(--f-light);font-size:clamp(24px,2.6vw,40px);line-height:1.28;color:var(--t-1)}
.jl-sign{margin-top:22px;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--t-3)}

/* ---------- Pie: contacto en todas las páginas ---------- */
.ma-foot{padding-top:clamp(70px,10vw,150px)}
.fc{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,6vw,110px);padding-bottom:clamp(50px,8vw,110px);border-bottom:1px solid var(--line);margin-bottom:clamp(36px,5vw,64px)}
.fc.fc-min{grid-template-columns:1fr}
.fc-t{font-size:clamp(36px,5.2vw,84px);max-width:14ch}
.fc-s{color:var(--t-2);font-size:clamp(16px,1.3vw,19px);max-width:46ch;margin-top:22px}
.fc-d{list-style:none;margin-top:34px;max-width:620px}
.fc-d li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--line);align-items:baseline}
.fc-d span{font-family:var(--f-label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-3)}
.fc-d a{text-decoration:none;color:var(--bone);transition:color .3s}
.fc-d a:hover{color:var(--orange)}
.fc-r .ctf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.fc-r .ctf-grid p{margin:0}
.fc-r .ctf-full{grid-column:1/-1}
.fc-r input[type=text],.fc-r input[type=email],.fc-r input[type=tel],.fc-r textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(246,245,243,.3);border-radius:0;color:var(--bone);padding:13px 2px;font:inherit;font-size:16px;transition:border-color .3s}
.fc-r textarea{min-height:120px;resize:vertical}
.fc-r ::placeholder{color:rgba(246,245,243,.5)}
.fc-r input:focus,.fc-r textarea:focus{outline:none;border-bottom-color:var(--orange)}
.fc-r .ctf-priv{font-size:13px;color:var(--t-2)}
.fc-r .ctf-priv a{color:inherit}
.fc-r .wpcf7-list-item{margin:0}
.fc-r input[type=checkbox]{accent-color:var(--orange);margin-right:8px;vertical-align:-2px}
.fc-r .wpcf7-submit{font-family:var(--f-label);font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:var(--orange);color:#fff;border:0;border-radius:999px;padding:16px 38px;cursor:pointer;margin-top:12px;transition:background .3s,transform .45s var(--ease-spring)}
.fc-r .wpcf7-submit:hover{background:#E04400;transform:scale(1.03)}
.fc-r .wpcf7 form .wpcf7-response-output{border-radius:12px;margin:16px 0 0;padding:12px 16px;border-color:var(--line);color:var(--t-1)}
.fc-r .wpcf7-not-valid-tip{font-size:12px;color:#ff8a57;margin-top:4px}
.fc-r .wpcf7-spinner{background-color:var(--bone)}

/* ---------- Ficha: siguiente trabajo ---------- */
.fx{padding:clamp(70px,10vw,140px) 0 clamp(50px,7vw,100px)}
.fx-h{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px}
.wc-next .wc-m{aspect-ratio:21/9;border-radius:24px}
.wc-next .wc-t{font-family:var(--f-light);font-weight:300;font-size:clamp(30px,4vw,64px);letter-spacing:-.035em;line-height:1.05}
.wc-next .wc-c{padding-top:18px}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .wg>.wc,.wg>.wc:nth-child(n){grid-column:span 6}
  .wg>.wc .wc-m,.wg>.wc:nth-child(n) .wc-m{aspect-ratio:4/3}
  .wg.is-f>.wc{grid-column:span 6!important}
  .doors{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hx-3,.mt-prg,.mt-cols,.qs-jg,.cs-more,.fc,.sv4-g{grid-template-columns:minmax(0,1fr)}
  .sv4-b:nth-child(even) .sv4-m{order:0}
  .sv-idx{columns:2}
  .qs-stats{grid-template-columns:1fr 1fr}
  .mt-g{grid-template-columns:1fr}
  .mt-num{position:static;font-size:92px}
  .mt-rail{display:none}
  .cs-idx{grid-template-columns:1fr}
  .fc-r .ctf-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .lx-bar{top:74px;padding:8px 0}
  .fl{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .fl::-webkit-scrollbar{display:none}
  .hl-l a{grid-template-columns:minmax(0,1fr) 20px;gap:4px 12px}
  .hr-t{grid-column:1}.hr-a{grid-column:2;grid-row:1}
  .hr-k,.hr-s{grid-column:1}
  .pg-s{flex-basis:86vw}
  .cs-x{height:230svh}
  .xp.rl{height:200svh}
  .cs-h{font-size:clamp(28px,8vw,44px)}
  .cs-p{font-size:15px}
}
@media (max-width:480px){
  .ma-logo svg{height:13px}
  .ma-pill{padding:8px 13px;font-size:11px}
}
@media (max-width:640px){
  .wg>.wc:nth-child(n),.wg.is-f>.wc{grid-column:1/-1!important}
  .doors{grid-template-columns:1fr}
  .door{min-height:260px}
  .sv-idx{columns:1}
  .fc-d li{grid-template-columns:90px 1fr}
}
@media (prefers-reduced-motion:reduce){
  .cz{display:none}
  .mt-ln>span{transform:none}
  .mt-rv,.mt-img{opacity:1;transform:none;clip-path:none}
  .mt-img img{transform:none}
  .cs-x{height:auto}
  .xp.rl{height:100svh}
  .rl-m .rl-i{transition:none}
}
