@property --k{syntax:"<length>";inherits:true;initial-value:12px}
:root{
  --red:#F2492E; --blue:#004CBC; --m:#111B3F; --gra:#232323; --hor:#BDBCB8; --cla:#E6E5E1; --bo:#F7F6F3; --ink:#141414; --w:#fff;
  --pad:clamp(20px,2.8vw,40px); --k:12px; --hh:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:'Epilogue',system-ui,sans-serif;color:var(--ink);background:var(--bo);font-size:17px;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-weight:500;letter-spacing:-.03em;line-height:1.02}
.digits{font-family:'Azeret Mono',monospace;font-weight:400;letter-spacing:-.04em}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:100;background:var(--w);padding:8px 12px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.lbl{font-size:14px}
.lbl .digits{font-size:14px}
.ico{width:24px;height:24px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico--thin{stroke-width:1}
.chamfer{clip-path:polygon(var(--k) 0,100% 0,100% calc(100% - var(--k)),calc(100% - var(--k)) 100%,0 100%,0 var(--k))}
.chamfer-br{clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}
.btn{display:inline-flex;align-items:center;height:52px;padding:0 20px;font-size:17px;font-weight:500;background:var(--m);color:var(--w)}
.btn{transition:background .35s,--k .5s cubic-bezier(.16,1,.3,1)}
.btn:hover{background:#1c2a5c;--k:0px}
.tlink{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:500}
.tlink .ico{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.tlink:hover .ico{transform:translateX(6px)}

/* Dibujos de línea */
svg.draw{display:block;width:100%;height:auto;stroke:currentColor;stroke-width:.75;stroke-linecap:round}
svg.draw.will-draw g{opacity:0;transform:translateY(-18px);transform-box:fill-box;transition:opacity .45s ease,transform .9s cubic-bezier(.19,1,.22,1)}
svg.draw.will-draw g line{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1s cubic-bezier(.65,0,.35,1)}
svg.draw.will-draw g.on{opacity:1;transform:none}
svg.draw.will-draw g.on line{stroke-dashoffset:0}
svg.draw.will-draw g:not(.on){transform:translateY(-26px)}
svg.draw.will-draw g:not(.on) line{stroke-linecap:butt}

/* Cabecera */
.hdr{position:sticky;top:0;z-index:50;height:var(--hh);display:grid;grid-template-columns:96px 1fr auto;background:var(--bo);transition:background .45s ease}
.hdr__logo{background:var(--m);display:grid;place-items:center}
.hdr__logo img{height:26px;width:auto}
.nav{display:flex;justify-content:center;align-items:center;gap:36px;font-size:16px;font-weight:500;color:var(--m)}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.hdr__cta{background:var(--m);color:var(--w);display:flex;align-items:center;gap:40px;padding:0 24px;font-size:17px;font-weight:500;min-width:220px;justify-content:space-between}
.menu-btn{display:none;background:var(--m);color:var(--w);align-items:center;gap:10px;padding:0 20px;font-weight:500}
.mobile-menu{position:fixed;inset:var(--hh) 0 0 0;z-index:49;background:var(--red);color:var(--m);padding:24px 20px 32px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.83,0,.17,1)}
.menu-open .mobile-menu{clip-path:inset(0 0 0 0)}
.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;font-size:34px;font-weight:500;letter-spacing:-.02em;padding:12px 0;border-bottom:1px solid rgba(17,27,63,.3)}

/* Home · primera pantalla */
.hero{display:grid;grid-template-columns:1080fr 360fr}
.hero__main{background:var(--red);color:var(--m);padding:40px var(--pad) 40px;display:flex;flex-direction:column}
.hero__kicker{font-size:22px;font-weight:500;max-width:430px;margin-left:auto;margin-right:clamp(0px,4vw,40px)}
.hero h1{font-size:clamp(52px,8.2vw,118px);margin:56px 0 48px}
.hero__ctas{display:flex;gap:40px;align-items:center;flex-wrap:wrap;margin-top:auto}
.hero__video{position:relative;aspect-ratio:1080/560;overflow:hidden;background:var(--gra)}
.hero__video img{width:100%;height:100%;object-fit:cover}
.vchip{position:absolute;left:20px;bottom:20px;display:inline-flex;align-items:center;gap:10px;background:rgba(20,20,20,.86);color:var(--w);padding:10px 14px;font-size:15px;font-weight:500}
.vcap{position:absolute;right:20px;bottom:24px;background:rgba(20,20,20,.86);color:var(--w);font-size:14px;font-weight:500;padding:6px 10px}
.hero__side{display:grid;grid-template-rows:auto auto 1fr}
.hero__side .intro{background:var(--hor);padding:56px 24px 40px;font-size:22px;font-weight:500;line-height:1.3}
.hero__side .metodo{background:var(--blue);color:var(--w);padding:40px 24px}
.metodo h2{font-size:28px;margin-bottom:24px}
.metodo ol{list-style:none;font-size:15px;font-weight:500}
.metodo li{display:flex;justify-content:space-between;padding:6px 0}
.metodo li::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--w);margin-top:7px}
.metodo svg.draw{max-width:200px;margin:32px auto 0;color:var(--w)}
.hero__side .go{background:var(--red);color:var(--m);padding:32px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:260px}
.go .big-arrow{width:104px;height:104px;margin-left:auto;stroke:var(--m);stroke-width:20;fill:none}
.go span{font-size:28px;font-weight:500;letter-spacing:-.02em}
.go:hover .big-arrow{transform:translate(6px,-6px);transition:transform .5s cubic-bezier(.16,1,.3,1)}

/* Secciones con etiqueta a la izquierda */
.row{display:grid;grid-template-columns:360fr 1080fr;column-gap:0}
.row > .lbl{padding:40px var(--pad)}
.sec{padding:56px 0}
.cifras{background:var(--hor)}
.cifras .head{display:grid;grid-template-columns:360fr 640fr 440fr;align-items:start;padding:40px 0 40px}
.cifras .head .lbl{padding:12px var(--pad)}
.cifras h2{font-size:clamp(36px,3.4vw,48px)}
.cifras .head p{padding-right:var(--pad)}
.figs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(20,20,20,.25)}
.figs > div{padding:28px 20px 32px;border-left:1px solid rgba(20,20,20,.25);display:flex;flex-direction:column;gap:20px;min-height:260px}
.figs > div:first-child{border-left:0}
.figs .n{font-size:clamp(48px,5.3vw,76px);font-weight:300;line-height:1;white-space:nowrap}
.figs .n .digits{font-weight:300}
.figs .n small{font-size:30px;font-weight:400;letter-spacing:0}
.figs .src{margin-top:auto;font-size:14px;opacity:.8}
.intro2{background:var(--bo)}
.intro2 .grid{display:grid;grid-template-columns:360fr 1080fr;padding:56px 0 64px}
.intro2 .left{padding:0 var(--pad)}
.intro2 .left svg.draw{max-width:260px;margin-top:32px}
.intro2 h2{font-size:clamp(40px,3.9vw,56px);padding-right:var(--pad);max-width:900px}
.intro2 .cols{display:grid;grid-template-columns:3fr 2fr;gap:56px;margin-top:40px;padding-right:var(--pad);font-size:20px}
.intro2 .cols p:last-child{font-weight:500}
.obra{background:var(--gra);color:var(--w)}
.obra .head{display:grid;grid-template-columns:360fr 640fr 440fr;padding:56px 0 40px}
.obra .head .lbl{padding:12px var(--pad);color:var(--hor)}
.obra h2{font-size:clamp(40px,3.9vw,56px)}
.obra .head p{color:var(--hor);font-size:18px;padding-right:var(--pad)}
.obra .split{display:grid;grid-template-columns:1080fr 360fr}
.obra .media{position:relative;aspect-ratio:1080/560;overflow:hidden}
.obra .media img{width:100%;height:100%;object-fit:cover}
.obra .panel{background:var(--blue);padding:40px 24px;display:flex;flex-direction:column;gap:24px}
.obra .panel h3{font-size:28px}
.obra .panel svg.draw{max-width:160px;margin:0 auto;color:var(--w)}
.obra .panel p{font-size:17px;margin-top:auto}
.steps{display:grid;grid-template-columns:repeat(4,1fr);padding:24px var(--pad) 40px;background:#141414}
.steps li{list-style:none;position:relative;padding-top:24px;font-size:18px;font-weight:500}
.steps li::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:rgba(255,255,255,.3)}
.steps li::after{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);background:#141414;transition:background .4s,border-color .4s}
.steps li.on::after{background:var(--red);border-color:var(--red)}
.steps .bar{position:absolute;left:0;top:5px;height:1.5px;background:var(--red);width:calc(var(--p,0)*100%)}
.steps ol{display:contents}
.steps .lbl{color:var(--hor);margin-right:10px}
.benef{background:var(--cla)}
.benef .head{display:grid;grid-template-columns:360fr 1080fr;padding:56px 0 56px}
.benef .head .lbl{padding:12px var(--pad)}
.benef h2{font-size:clamp(40px,3.9vw,56px);max-width:760px}
.bgrid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(20,20,20,.2)}
.bcard{padding:20px 14px 56px;border-left:1px solid rgba(20,20,20,.2);display:flex;flex-direction:column;gap:6px;transition:background .4s}
.bcard:first-child{border-left:0}
.bcard .ph{aspect-ratio:240/220;overflow:hidden;margin-bottom:24px}
.bcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.bcard h3{font-size:30px}
.bcard p{font-size:17px;margin-top:12px}
.bcard.on,.bcard:hover{background:var(--red);color:var(--m)}
.bcard:hover .ph img{transform:scale(1.05)}
.proy{background:var(--gra);color:var(--w)}
.proy .head{display:grid;grid-template-columns:360fr 640fr 440fr;padding:56px 0 48px}
.proy .head .lbl{padding:12px var(--pad);color:var(--hor)}
.proy h2{font-size:clamp(40px,3.9vw,56px)}
.proy .head p{color:var(--hor);font-size:18px;padding-right:var(--pad)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 var(--pad) 48px}
.pcard .ph{aspect-ratio:440/300;overflow:hidden}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.pcard:hover .ph img{transform:scale(1.05)}
.pcard h3{font-size:32px;margin:20px 0 16px}
.pcard dl{display:grid;grid-template-columns:130px 1fr;font-size:17px}
.pcard dt,.pcard dd{padding:8px 0;border-top:1px solid rgba(255,255,255,.18)}
.pcard dt{color:var(--hor);font-size:14px;padding-top:11px}
.pcard dd{font-weight:500}
.pcard .tlink{margin-top:16px}
.accion{position:relative;height:min(680px,80vh);overflow:hidden;background:#141414}
.accion img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.accion .veil{position:absolute;inset:0;background:#141414;opacity:.55}
.accion .play{position:absolute;left:50%;top:50%;width:112px;height:112px;margin:-56px 0 0 -56px;border:1.5px solid var(--w);border-radius:50%;display:grid;place-items:center;color:var(--w);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.accion .play:hover{transform:scale(1.08)}
.cta{background:var(--red);color:var(--m);text-align:center;padding:96px var(--pad) 72px}
.cta h2{font-size:clamp(44px,6.7vw,96px)}
.cta p{font-size:20px;max-width:680px;margin:32px auto}
.cta .contact{margin-top:28px;color:var(--ink);font-size:17px}
.foot{background:var(--red);padding:0 var(--pad) 40px}
.foot__in{position:relative;background:var(--m);color:var(--w);padding:48px clamp(24px,3.4vw,48px) 32px;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}
.foot__top{display:grid;grid-template-columns:400fr 280fr 340fr 300fr;gap:24px}
.foot__brand img{height:40px;width:auto}
.foot__brand p{font-size:14px;font-weight:300;color:var(--hor);margin-top:16px;max-width:260px}
.foot h4{font-size:30px;font-weight:500;color:var(--red);letter-spacing:-.02em;margin-bottom:12px}
.foot ul{list-style:none}
.foot li a{display:flex;align-items:center;gap:10px;font-size:18px;color:var(--red);padding:5px 0}
.foot li a:hover{color:#ff7a62}
.foot__addr{display:grid;grid-template-columns:400fr 280fr 340fr 300fr;gap:24px;margin-top:96px;font-size:13px;font-weight:500}
.foot__legal{display:flex;justify-content:space-between;margin-top:56px;font-size:13px;color:var(--hor)}

/* El sistema */
.phead{display:grid;grid-template-columns:1080fr 360fr;min-height:660px}
.phead__main{background:var(--gra);color:var(--w);padding:200px var(--pad) 48px;display:flex;flex-direction:column}
.crumbs{font-size:16px;color:var(--hor)}
.phead .title{font-size:clamp(64px,10.4vw,150px);font-weight:500;letter-spacing:-.04em;line-height:.94;margin-top:24px}
.phead h1{font-size:24px;margin-top:auto;padding-top:48px;letter-spacing:-.01em;line-height:1.3}
.pindex{background:var(--red);color:var(--m);padding:200px 40px 40px}
.pindex p{font-size:16px;margin-bottom:20px}
.pindex a{display:block;font-size:20px;font-weight:500;padding:14px 0;border-bottom:1px solid rgba(17,27,63,.35);transition:padding .35s cubic-bezier(.16,1,.3,1)}
.pindex a:hover{padding-left:8px}
.pimg{height:min(560px,60vw);overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:cover}
.s-plan .grid{display:grid;grid-template-columns:360fr 1080fr;padding:72px 0}
.s-plan .left{padding:0 var(--pad)}
.proc{margin-top:56px;border-top:1px solid rgba(20,20,20,.25);max-width:272px}
.proc div{display:flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid rgba(20,20,20,.25);font-size:18px;font-weight:500}
.proc svg.draw{width:104px;flex:none}
.s-plan h2{font-size:clamp(32px,3vw,44px);padding-right:var(--pad);max-width:1000px}
.s-plan h3{font-size:28px;margin:64px 0 16px}
.s-plan .cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-right:var(--pad);font-size:18px}
.s-comp{background:var(--cla)}
.s-comp .head{display:grid;grid-template-columns:360fr 640fr 440fr;padding:56px 0 48px}
.s-comp .head .lbl{padding:12px var(--pad)}
.s-comp h2{font-size:clamp(40px,3.9vw,56px)}
.s-comp .head p{font-size:17px;padding-right:var(--pad)}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(20,20,20,.2)}
.ctile{text-align:left;padding:24px 40px 40px;border-left:1px solid rgba(20,20,20,.2);border-bottom:1px solid rgba(20,20,20,.2);display:flex;flex-direction:column;min-height:470px;transition:background .45s,color .45s}
.ctile:nth-child(3n+1){border-left:0}
.ctile svg.draw{width:200px;margin:0 auto 24px}
.ctile .n{font-size:14px}
.ctile h3{font-size:36px;margin:6px 0 8px}
.ctile p{font-size:17px;max-width:380px}
.ctile .lnk{margin-top:auto;padding-top:24px;font-size:16px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.ctile.is-selected,.ctile:hover{background:var(--red);color:var(--m)}
.s-vs{background:var(--hor);position:relative}
.s-vs .head{display:grid;grid-template-columns:360fr 560fr 520fr;padding:60px 0 40px}
.s-vs .head .lbl{padding:12px var(--pad)}
.s-vs h2{font-size:clamp(40px,3.9vw,56px)}
.s-vs .head p{color:var(--m);font-size:18px;padding:0 var(--pad) 0 40px}
.vs{position:relative}
.vs::after{content:"";position:absolute;top:0;bottom:0;right:0;width:36.1%;background:var(--blue);z-index:0}
.vs__row{position:relative;z-index:1;display:grid;grid-template-columns:360fr 560fr 520fr;align-items:baseline;border-top:1px solid rgba(20,20,20,.25)}
.vs__row > *{padding:28px var(--pad)}
.vs__row > :nth-child(2){padding-left:0}
.vs__row > :nth-child(3){color:var(--w);padding-left:40px;font-size:20px;font-weight:500}
.vs__row h3{font-size:24px}
.vs__row p{font-size:18px}
.vs__row--head{border-top:0}
.vs__row--head > *{padding-top:0;padding-bottom:16px;font-size:14px;font-weight:400}
.vs__row--head > :nth-child(3){font-size:14px;font-weight:400;padding-top:28px}
.s-data{background:var(--gra);color:var(--w)}
.s-data .grid{display:grid;grid-template-columns:360fr 1080fr;padding:56px 0 80px}
.s-data .grid > .lbl{padding:12px var(--pad);color:var(--hor)}
.s-data h2{font-size:clamp(40px,3.9vw,56px);margin-bottom:48px}
.s-data .right{padding-right:48px}
.dfigs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}
.dfigs > div{padding:32px;border-left:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:20px}
.dfigs > div:first-child{border-left:0;padding-left:0}
.dfigs .l{font-size:15px;color:var(--hor)}
.dfigs .n{font-size:72px;font-weight:300;line-height:1}
.dfigs .n .digits{font-weight:300}
.dfigs .n small{font-size:28px;font-weight:400;letter-spacing:0}
.dfigs p{font-size:17px;color:var(--hor)}
.dfigs p.n{color:var(--w)}
.s-data .photo{margin-top:40px;aspect-ratio:992/420;overflow:hidden}
.s-data .photo img{width:100%;height:100%;object-fit:cover}

/* Tableta y móvil */
@media (max-width:1100px){
  .nav{display:none}
  .hdr{grid-template-columns:96px 1fr auto}
  .hdr__cta{display:none}
  .menu-btn{display:inline-flex}
}
@media (max-width:820px){
  .hdr{grid-template-columns:72px 1fr auto}
  .hero,.phead{grid-template-columns:1fr}
  .hero__main{padding:48px 20px 40px}
  .hero__kicker{font-size:16px;margin:0;max-width:none}
  .hero h1{font-size:50px;margin:24px 0 32px}
  .hero__ctas{flex-direction:column;align-items:stretch;gap:20px}
  .hero__ctas .btn{justify-content:center}
  .hero__video{aspect-ratio:390/260}
  .vcap{display:none}
  .hero__side .intro{padding:32px 20px;font-size:20px}
  .hero__side .metodo{padding:28px 20px}
  .metodo ol{font-size:17px}
  .hero__side .go{min-height:200px;padding:28px 20px}
  .row,.cifras .head,.intro2 .grid,.obra .head,.benef .head,.proy .head,.s-plan .grid,.s-comp .head,.s-vs .head,.s-data .grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
  .cifras .head .lbl,.obra .head .lbl,.benef .head .lbl,.proy .head .lbl,.s-comp .head .lbl,.s-vs .head .lbl,.s-data .grid > .lbl{padding:0 0 16px;font-size:16px}
  .cifras .head p,.obra .head p,.proy .head p,.s-comp .head p,.s-vs .head p{padding:20px 0 0}
  .figs{grid-template-columns:1fr}
  .figs > div{border-left:0;border-top:1px solid rgba(20,20,20,.25);min-height:0;padding:20px}
  .figs .n{font-size:56px}
  .intro2 .left{padding:0}
  .intro2 .left svg.draw{max-width:220px;margin:16px auto 24px}
  .intro2 .cols{grid-template-columns:1fr;gap:20px;padding:0;font-size:17px}
  .intro2 h2,.s-plan h2{padding:0}
  .obra .split{grid-template-columns:1fr}
  .obra .media{aspect-ratio:4/3}
  .steps{grid-template-columns:1fr 1fr;gap:24px 16px;padding:24px 20px 32px}
  .bgrid{grid-template-columns:1fr}
  .bcard{border-left:0;border-top:1px solid rgba(20,20,20,.2);padding:20px}
  .bcard .ph{aspect-ratio:16/9}
  .pgrid{grid-template-columns:1fr;gap:48px;padding:0 20px 48px}
  .pcard dl{grid-template-columns:150px 1fr}
  .accion{height:360px}
  .accion .play{width:72px;height:72px;margin:-36px 0 0 -36px}
  .cta{padding:64px 20px}
  .cta p{font-size:17px}
  .foot{padding:0 0 0}
  .foot__in{clip-path:none;padding:40px 20px 32px}
  .foot__top,.foot__addr{grid-template-columns:1fr;gap:28px}
  .foot__addr{margin-top:40px}
  .foot__legal{flex-direction:column-reverse;gap:12px}
  .phead__main{padding:72px 20px 40px}
  .phead .title{font-size:72px}
  .phead h1{font-size:17px;padding-top:24px}
  .pindex{padding:32px 20px 40px}
  .pimg{height:260px}
  .s-plan .grid{padding:48px 20px}
  .s-plan .left{padding:0}
  .proc{max-width:none;margin:24px 0 32px}
  .s-plan h3{margin-top:40px;font-size:22px}
  .s-plan .cols{grid-template-columns:1fr;gap:16px;padding:0;font-size:17px}
  .cgrid{grid-template-columns:1fr;margin:0 20px;border-top:1px solid rgba(20,20,20,.2)}
  .ctile{min-height:0;display:grid;grid-template-columns:88px 1fr;gap:4px 16px;padding:20px 0;border-left:0}
  .ctile.is-selected,.ctile:hover{padding-left:16px;padding-right:16px}
  .ctile svg.draw{width:88px;grid-row:1/5;margin:0}
  .ctile .n,.ctile h3,.ctile p,.ctile .lnk{grid-column:2}
  .ctile h3{font-size:22px;margin:0}
  .ctile p{font-size:16px}
  .ctile .lnk{padding-top:6px}
  .vs::after{display:none}
  .vs{padding:0 20px 48px}
  .vs__row{grid-template-columns:1fr;border-top:1px solid rgba(20,20,20,.25);padding-top:16px;margin-bottom:16px}
  .vs__row > *{padding:0 0 8px}
  .vs__row > :nth-child(2)::before{content:"Construcción tradicional";display:block;font-size:16px;font-weight:500;margin-bottom:4px}
  .vs__row > :nth-child(3){background:var(--blue);padding:16px;font-size:17px;margin-top:8px}
  .vs__row > :nth-child(3)::before{content:"SEI";display:block;font-size:16px;margin-bottom:6px}
  .vs__row--head{display:none}
  .s-data .right{padding:0}
  .s-data h2{margin-bottom:24px}
  .dfigs{grid-template-columns:1fr}
  .dfigs > div{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:20px 0}
  .dfigs .n{font-size:60px}
  .s-data .photo{aspect-ratio:350/240}
}

/* Pantallas anchas: texto corrido con un ancho de línea cómodo */
.cifras .head p,.obra .head p,.proy .head p,.s-comp .head p,.s-vs .head p,.intro2 .cols p,.s-plan .cols p,.hero__side .intro,.figs p{max-width:620px}
.intro2 h2,.s-plan h2,.proy h2{max-width:1100px}

/* Espaciados: pasos de la obra y fichas de proyecto */
.steps{column-gap:32px}
.steps li{display:flex;align-items:baseline;gap:10px;padding-top:28px;padding-right:8px}
.steps .lbl{margin-right:0;flex:none}
.pcard dl{grid-template-columns:minmax(120px,40%) 1fr;column-gap:16px}
.pcard dt{line-height:1.3}
@media (max-width:820px){ .steps{column-gap:16px} .pcard dl{grid-template-columns:140px 1fr} }

/* ===== Unificación con el briefing ===== */
/* Portada (diseño B original con los contenidos del briefing) */
.hero--b h1.hero__kicker{font-size:22px;font-weight:500;letter-spacing:0;line-height:1.3;max-width:430px;margin-left:auto;margin-right:clamp(0px,4vw,40px)}
.hero--b .hero__claim{font-size:clamp(52px,8.2vw,118px);font-weight:500;letter-spacing:-.03em;line-height:1.02;margin:56px 0 48px}
.hero__video video{width:100%;height:100%;object-fit:cover}
.vchip .i-play{display:none}.vchip.is-paused .i-play{display:block}.vchip.is-paused .i-pause{display:none}
/* Cifras: cinco columnas */
.cifras .head{grid-template-columns:360fr 1080fr}
.cifras .head .src{grid-column:2;font-size:14px;opacity:.8;margin-top:12px}
.figs{grid-template-columns:repeat(5,1fr)}
.figs .n{font-size:clamp(44px,4.6vw,68px)}
.figs .n small{font-size:24px}
.figs .n small:empty{display:none}
.intro2__btn{margin-top:40px}
/* Una obra con SEI: texto + cronología con panel azul */
.obra .head{grid-template-columns:360fr 640fr 440fr}
.obra__txt{display:flex;flex-direction:column;gap:14px;color:var(--hor);font-size:17px;padding-right:var(--pad)}
.obra__txt .tlink{color:var(--w)}
.obra .crono{margin-top:0}
.obra .crono .wrap{padding:0 var(--pad)}
.crono{height:320vh;position:relative}
.crono__sticky{position:sticky;top:var(--hh);height:calc(100vh - var(--hh));display:flex;align-items:center}
.crono__grid{display:grid;grid-template-columns:1080fr 520fr;gap:0;align-items:stretch;width:100%;height:calc(100vh - var(--hh) - 48px)}
.crono__media{position:relative;overflow:hidden}
.crono__media > img,.crono__media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.crono__media > .on{opacity:1}
.crono__chip{position:absolute;left:20px;bottom:20px;background:rgba(20,20,20,.86);color:var(--w);padding:10px 14px;font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:8px}
.crono__chip .dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}
.crono__info{background:var(--blue);color:var(--w);padding:28px 28px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.crono__draw{width:min(240px,60%)!important;margin:0 auto;color:var(--w)}
.crono__info .eyebrow{font-size:15px;opacity:.85}
.cbar__head{display:flex;justify-content:space-between;font-size:15px;font-weight:500;margin-bottom:6px}
.cbar__track{height:12px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}
.cbar__fill{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:rgba(255,255,255,.6)}
.cbar--s .cbar__fill{background:var(--w)}
.crono.done .cbar--s .cbar__fill{background:var(--red)}
.crono__bars{display:flex;flex-direction:column;gap:12px}
.cbar__ruler{position:relative;height:16px;font-size:13px;opacity:.8}
.cbar__ruler span{position:absolute;top:0;transform:translateX(-50%)}
.cbar__ruler span:nth-child(1){left:0;transform:none}.cbar__ruler span:nth-child(2){left:22.73%}.cbar__ruler span:nth-child(3){left:45.45%}.cbar__ruler span:nth-child(4){left:68.18%}.cbar__ruler span:nth-child(5){left:90.91%}
.crono__claim{font-size:20px;font-weight:500;line-height:1.25}
.crono__steps{list-style:none;border-top:1px solid rgba(255,255,255,.3)}
.crono__steps li{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.3);opacity:.45;transition:opacity .4s}
.crono__steps li.on{opacity:.75}.crono__steps li.cur{opacity:1}
.crono__steps li > .digits{font-size:13px;padding-top:3px}
.crono__steps b{font-weight:500;font-size:17px}
.crono__steps p{font-size:15px;margin-top:2px;max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1)}
.crono__steps li.cur p{max-height:60px}
.crono__note{font-size:13px;opacity:.75}
/* Fabricar → Montar */
.fm{background:var(--gra);padding:0 0 56px}
.fm .wrap{padding:0 var(--pad)}
.fm__box{position:relative;height:min(620px,70vh);overflow:hidden;color:var(--w)}
.fm__box > img{width:100%;height:100%;object-fit:cover}
.fm__box .veil{position:absolute;inset:0;background:#141414;opacity:.6}
.fm__row{position:absolute;left:40px;right:40px;top:50%;transform:translateY(-50%);display:flex;align-items:flex-start;gap:40px}
.fm__step{flex:0 0 min(320px,28%);display:flex;flex-direction:column;gap:14px}
.fm__step--b{text-align:right;align-items:flex-end}
.fm__w{font-size:clamp(32px,3.6vw,52px);font-weight:500;letter-spacing:-.03em;line-height:1}
.fm__step p{font-size:17px;line-height:1.4;max-width:300px}
.fm__mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:calc(clamp(32px,3.6vw,52px) * .55)}
.fm__line{display:block;width:100%;height:1.5px;background:rgba(255,255,255,.5);position:relative}
.fm__line::after{content:"";position:absolute;left:0;top:0;height:100%;background:var(--red);width:calc(var(--p,0)*100%)}
.fm__mid p{font-size:16px;text-align:center;max-width:300px;opacity:.85}
.fm__hint{position:absolute;left:40px;bottom:32px;font-size:15px;font-weight:500}
.has-motion .fm__step--a{opacity:clamp(.55,calc(1.7 - var(--p,0) * 2.2),1)}
.has-motion .fm__step--b{opacity:clamp(.55,calc(var(--p,0) * 2.2 - .5),1)}
/* Beneficios */
.benef .head{grid-template-columns:360fr 640fr 440fr}
.benef__p{font-size:17px;padding-right:var(--pad)}
.bcard.on{background:transparent;color:inherit}
.colab{display:grid;grid-template-columns:360fr 1080fr;padding:40px 0 56px;border-top:1px solid rgba(20,20,20,.2)}
.colab .lbl{padding:0 var(--pad)}
.colab .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-right:var(--pad)}
.colab .logos div{height:120px;display:grid;place-items:center;background:none}
.colab .logos img{max-width:220px;mix-blend-mode:multiply}
/* Proyectos */
.proj__tl{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(20,20,20,.86);color:var(--w);padding:10px 14px;font-size:15px;font-weight:500;cursor:pointer;transition:background .3s}
.proj__tl:hover{background:var(--red);color:var(--m)}
.pcard .ph{position:relative}
.proy__note{padding:0 var(--pad) 48px;font-size:14px;color:var(--hor)}
/* Ver SEI en acción */
.accion video{position:absolute;inset:0;filter:grayscale(1)}
.accion__in{position:absolute;left:var(--pad);right:var(--pad);bottom:40px;display:flex;justify-content:space-between;align-items:flex-end;color:var(--w)}
.accion__in .lbl{color:var(--hor)}
.accion h2{font-size:clamp(40px,5vw,72px);margin-top:12px;max-width:14ch}
.accion .play{position:static;margin:0}
/* Botones que siguen */
.follow{background:none;border:0;padding:0}
.follow .btn{height:46px;font-size:16px;white-space:nowrap}
.btn--red{background:var(--red);color:var(--m)}.btn--red:hover{background:#ff6a50}
@media (max-width:820px){
  .cifras .head{grid-template-columns:1fr}
  .cifras .head .src{grid-column:1}
  .figs{grid-template-columns:1fr}
  .obra .head{grid-template-columns:1fr}
  .obra__txt{padding:20px 0 0}
  .obra .crono .wrap{padding:0}
  .crono{height:300vh}
  .crono__grid{grid-template-columns:1fr;grid-template-rows:38% 1fr;height:calc(100vh - var(--hh) - 16px)}
  .crono__info{padding:16px 20px;gap:10px}
  .crono__draw{display:none}
  .crono__claim{font-size:17px}
  .crono__steps li{padding:6px 0}
  .fm .wrap{padding:0}
  .fm__box{height:auto;min-height:560px}
  .fm__box > img,.fm__box .veil{position:absolute;inset:0;height:100%}
  .fm__row{position:relative;top:auto;left:auto;right:auto;transform:none;padding:56px 20px 96px;flex-direction:column;align-items:stretch;gap:24px}
  .fm__step{flex:none}
  .fm__step--b{text-align:left;align-items:flex-start}
  .fm__w{font-size:34px}
  .fm__step p,.fm__mid p{font-size:16px;text-align:left}
  .fm__mid{padding:0;align-items:flex-start;gap:12px}
  .fm__hint{left:20px;bottom:28px}
  .benef .head{grid-template-columns:1fr}
  .benef__p{padding:16px 0 0}
  .colab{grid-template-columns:1fr;padding:32px 20px 48px;gap:16px}
  .colab .lbl{padding:0}
  .colab .logos{grid-template-columns:1fr;padding:0}
  .colab .logos div{height:80px}
  .accion__in{flex-direction:column;align-items:flex-start;gap:20px;left:20px;right:20px;bottom:28px}
  .accion h2{font-size:34px}
  .follow{padding:0;gap:8px}.follow .btn{font-size:15px;padding:0 12px}
}
@media (prefers-reduced-motion:reduce){.crono{height:auto}.crono__sticky{position:static;height:auto}.crono__grid{height:auto}.crono__media{aspect-ratio:16/9}}
/* El sistema · botón, datos y fichas unificados */
.plan__btn{margin-top:40px}
.dlist{margin-top:8px;border-top:1px solid rgba(255,255,255,.2)}
.dlist div{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:18px}
.dlist span:first-child{color:var(--hor);font-size:15px}
.dsrc{font-size:14px;color:var(--hor);margin-top:16px}
.ctile{cursor:pointer}
@media (max-width:820px){.dlist div{grid-template-columns:140px 1fr;font-size:16px}}
.figs{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:820px){.figs{grid-template-columns:1fr}}
.menu-btn{grid-column:3;justify-self:end;height:100%}

/* Introducción: tres fases */
.intro2 .phases{list-style:none;margin-top:40px;border-top:1px solid rgba(20,20,20,.25);max-width:880px;margin-right:var(--pad);display:grid;grid-template-columns:repeat(3,1fr)}
.intro2 .phases li{display:flex;flex-direction:column;gap:8px;padding:20px 20px 20px 0;border-right:1px solid rgba(20,20,20,.15)}
.intro2 .phases li + li{padding-left:20px}
.intro2 .phases li:last-child{border-right:0}
.intro2 .phases li > .digits{font-size:14px}
.intro2 .phases b{font-size:20px;font-weight:500}
.intro2 .phases p{font-size:16px}
@media (max-width:820px){.intro2 .phases{grid-template-columns:1fr;margin-right:0}.intro2 .phases li{border-right:0;border-bottom:1px solid rgba(20,20,20,.15);padding:14px 0}.intro2 .phases li + li{padding-left:0}}
/* Cronología en carriles · colores B */
.obra .crono{--ctop:var(--hh);padding:0 var(--pad)}
.obra .crono .crono2{padding:0}
.crono2__chip{background:rgba(20,20,20,.86);color:var(--w)}
.obra .crono2__week,.obra .crono2__msg,.obra .gantt{color:var(--w)}
.obra .crono .eyebrow{color:var(--hor);font-size:15px}
.seg{background:rgba(255,255,255,.12)}
.seg--trad i{background:var(--hor)}
.seg--fab i{background:var(--blue)}
.seg--mon i{background:var(--w)}
.seg--next{background:repeating-linear-gradient(135deg,rgba(242,73,46,.25) 0 6px,transparent 6px 12px)}
.seg--next i{background:var(--red)}
.seg + .seg{border-left-color:var(--gra)}
.gantt__head{background:var(--red)}
.gantt__row + .gantt__row{border-top:1px solid rgba(255,255,255,.18)}
.crono.done .gantt__row--sei .gantt__st{color:var(--red)}
.obra .crono__note{color:var(--hor)}
@media (max-width:820px){.obra .crono{padding:0}.obra .crono .crono2{padding:0 20px}}
.lg--trad{background:var(--hor)}.lg--fab{background:var(--blue)}.lg--mon{background:var(--w)}.lg--next{background:var(--red)}
.obra .gantt__legend{color:var(--w)}
.gantt__st{white-space:nowrap}
/* De la planta a la obra · colores B */
.flow{--ptop:var(--hh);color:var(--w);background:var(--gra)}
.flow__media .veil{background:#141414;opacity:.62}
.flow__step h3{font-weight:500}
.flow__draw{color:var(--w)}
.flow__bar li::after{background:var(--red)}

@media (max-width:820px){.hero--b h1.hero__kicker{font-size:16px;margin:0;max-width:none}.hero--b .hero__claim{font-size:50px;margin:24px 0 32px}}

/* Cronología editorial */
.obra .crono{--ctop:var(--hh);padding:0}
.obra .crono__sticky{background:#141414}
/* De la planta a la obra · bloque normal (B) */
.pl{background:var(--gra);color:var(--w);padding:0 0 56px}
.pl__head{display:grid;grid-template-columns:360fr 1080fr;padding:56px 0 48px}
.pl__head .eyebrow{padding:12px var(--pad);font-size:14px;color:var(--hor)}
.pl__head h2{font-size:clamp(40px,3.9vw,56px);padding-right:var(--pad);max-width:900px}
.pl__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.pl__card{padding:20px 20px 40px;border-left:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;transition:background .4s}
.pl__card:first-child{border-left:0}
.pl__img{aspect-ratio:4/3;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}
.pl__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.pl__body{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.pl__top{display:flex;justify-content:space-between;align-items:flex-start}
.pl__top .digits{font-size:14px;color:var(--hor)}
.pl__fig{width:72px!important;color:var(--w)}
.pl__card h3{font-size:30px;margin-top:4px}
.pl__card p{font-size:17px;color:var(--hor)}
.pl__card:hover{background:var(--blue)}.pl__card:hover p{color:var(--w)}.pl__card:hover .pl__img img{transform:scale(1.05)}
@media (max-width:820px){.pl__head{grid-template-columns:1fr;padding:48px 20px 28px}.pl__head .eyebrow{padding:0 0 12px}.pl__head h2{padding:0}.pl__grid{grid-template-columns:1fr}.pl__card{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:20px}}

.s-plan .plan__photo{margin:32px 0 0;aspect-ratio:4/5;overflow:hidden;max-width:272px;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}
.s-plan .plan__photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.s-plan .plan__photo{max-width:none;aspect-ratio:16/10;margin:20px 0 28px}}


/* Granulado de toda la página, como un papel impreso */
body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  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='1.1' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2.2' intercept='-.6'/%3E%3CfeFuncG type='linear' slope='2.2' intercept='-.6'/%3E%3CfeFuncB type='linear' slope='2.2' intercept='-.6'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}

/* Portada B: el bloque azul acaba donde empieza el vídeo y el rojo de «Conoce el sistema» ocupa justo su fila */
@media (min-width:821px){
  .hero--b{grid-template-rows:auto 1fr auto}
  .hero--b > div,.hero--b > .hero__side{display:contents}
  .hero--b .hero__main{grid-column:1;grid-row:1/3}
  .hero--b .hero__side .intro{grid-column:2;grid-row:1}
  .hero--b .hero__side .metodo{grid-column:2;grid-row:2}
  .hero--b .hero__video{grid-column:1;grid-row:3}
  .hero--b .hero__side .go{grid-column:2;grid-row:3;min-height:0}
}

/* Cifras: si la unidad no cabe junto a la cifra, baja a la línea siguiente */
@media (min-width:821px){
  .figs .n{white-space:normal;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:6px}
  .figs .n small{white-space:nowrap}
}

/* SEI en cifras · columnas que se pliegan y se despliegan con el scroll */
.cifras--cx{position:relative;height:calc(100vh + 5 * 55vh)}
.cx__pin{position:sticky;top:var(--hh);height:calc(100vh - var(--hh));display:flex;flex-direction:column;overflow:hidden}
.cifras--cx .head{grid-template-columns:1fr auto 1fr;align-items:center;padding:64px 0 48px}
.cifras--cx .head h2{text-align:center}
.cx__count{text-align:right;padding-right:var(--pad);font-size:14px}
.cx__row{flex:1;display:flex;min-height:0;border-top:1px solid rgba(20,20,20,.25)}
.cx__it{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;border-left:1px solid rgba(20,20,20,.25);cursor:pointer;
  transition:flex-grow .9s cubic-bezier(.83,0,.17,1);outline-offset:-3px}
.cx__it:first-child{border-left:0}
.cx__it.on{flex-grow:5.2;cursor:default}
.cx__ph{position:relative;flex:0 0 0;overflow:hidden;transition:flex-basis .9s cubic-bezier(.83,0,.17,1)}
.cx__it.on .cx__ph{flex-basis:56%}
.cx__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.cx__it.on .cx__ph img{transform:none}
.cx__body{position:relative;flex:1;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;transition:background .6s ease}
.cx__it.on .cx__body{background:var(--red);color:var(--m)}
.cx__k{position:absolute;top:20px;left:20px;font-size:14px}
.cx__v{position:absolute;left:50%;bottom:24px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;display:flex;gap:18px;align-items:center;white-space:nowrap;font-size:17px;font-weight:500;transition:opacity .35s ease .45s}
.cx__v .digits{font-size:30px;font-weight:300}
.cx__it.on .cx__v{opacity:0;transition-delay:0s}
.cx__n,.cx__t{opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;white-space:nowrap}
.cx__it.on .cx__n,.cx__it.on .cx__t{opacity:1;transform:none;transition:opacity .6s ease .5s,transform .8s cubic-bezier(.16,1,.3,1) .5s}
.cx__n{font-size:clamp(72px,8vw,128px);font-weight:300;line-height:.95;letter-spacing:-.02em}
.cx__n small{font-size:.32em;font-weight:400;margin-left:12px;letter-spacing:0}
.cx__t{font-size:22px;font-weight:500}
.cx__it:not(.on):hover .cx__body{background:var(--cla)}
@media (max-width:820px){
  .cifras--cx{height:auto}
  .cx__pin{position:static;height:auto;overflow:visible}
  .cifras--cx .head{grid-template-columns:1fr;padding:40px 20px 24px}
  .cifras--cx .head h2{text-align:left}
  .cx__count{display:none}
  .cx__row{flex-direction:column}
  .cx__it{border-left:0;border-top:1px solid rgba(20,20,20,.25);flex:none}
  .cx__ph{flex:none;height:0;transition:height .8s cubic-bezier(.83,0,.17,1)}
  .cx__it.on .cx__ph{flex:none;height:56vw}
  .cx__body{padding:18px 56px 18px 20px;min-height:72px}
  .cx__k{top:22px;left:auto;right:20px}
  .cx__v{position:static;transform:none;writing-mode:horizontal-tb;flex-direction:column;align-items:flex-start;gap:4px;font-size:15px;white-space:normal}
  .cx__v .digits{font-size:24px}
  .cx__it.on .cx__v{display:none}
  .cx__n,.cx__t{display:none}
  .cx__it.on .cx__n,.cx__it.on .cx__t{display:block}
  .cx__n{font-size:64px}
  .cx__t{font-size:18px;white-space:normal}
}
@media (prefers-reduced-motion:reduce){.cx__it,.cx__ph,.cx__ph img,.cx__n,.cx__t,.cx__v,.cx__body{transition:none!important}}

/* Llamada final: manchas difuminadas en movimiento */
.cta{position:relative;overflow:hidden;isolation:isolate}
.cta__fx{position:absolute;inset:-6%;width:112%;height:112%;z-index:-1;filter:blur(18px);pointer-events:none}

/* Cabeceras de sección con más aire (mismo ritmo en toda la B) */
@media (min-width:821px){
  .benef .head,.obra .head,.proy .head,.s-comp .head,.s-vs .head,.pl__head{padding-top:96px;padding-bottom:72px}
}
@media (min-width:821px){
  .intro2 .grid,.s-plan .grid,.s-data .grid{padding-top:96px;padding-bottom:96px}
  .intro2 .cols{margin-top:56px}
}

/* Ventajas: iconos de línea en lugar de fotos; se dibujan al entrar */
.bcard .bico{width:120px;height:120px;fill:none;stroke:currentColor;stroke-width:1;margin:36px 0 56px;overflow:visible}
.bcard .bico *{vector-effect:non-scaling-stroke}
.has-motion .bgrid .bico [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1)}
.has-motion .bgrid.in .bico [pathLength]{stroke-dashoffset:0}
.has-motion .bgrid.in > :nth-child(2) .bico [pathLength]{transition-delay:.1s}
.has-motion .bgrid.in > :nth-child(3) .bico [pathLength]{transition-delay:.2s}
.has-motion .bgrid.in > :nth-child(4) .bico [pathLength]{transition-delay:.3s}
.has-motion .bgrid.in > :nth-child(5) .bico [pathLength]{transition-delay:.4s}
.bcard .bico{transition:transform .6s cubic-bezier(.16,1,.3,1)}
.bcard:hover .bico{transform:rotate(-8deg)}
@media (max-width:820px){.bcard .bico{width:88px;height:88px;margin:16px 0 28px}}

/* Tipografía de la B: titulares en Epilogue, todo el texto en Azeret Mono */
body{font-family:'Azeret Mono',ui-monospace,monospace;letter-spacing:-.02em}
h2,h3,h4,.hero__claim,.phead .title,.go span,.tl__week,.fm__w,.mobile-menu nav a,.flow__step h3,.intro2 .phases b,.cx__t{font-family:'Epilogue',system-ui,sans-serif}
.hero--b h1.hero__kicker{font-size:18px;letter-spacing:-.02em}
.phead h1{font-size:19px;letter-spacing:-.02em}
.hero__side .intro{font-size:18px}
.intro2 .cols{font-size:16px}
.cta p{font-size:16px}
.bcard p,.pcard p,.pl__card p,.ctile p{font-size:15px}
.cx__t{font-size:18px}
.btn{font-size:15px}
@media (max-width:820px){.hero--b h1.hero__kicker{font-size:15px}.phead h1{font-size:16px}.hero__side .intro{font-size:16px}}

/* Textos de la B: Azeret Mono a 13 px y regular (los titulares y las cifras grandes no) */
body{font-size:13px}
:is(p,li,dd,dt,a,button,small,figcaption,label,span,b,strong,input,textarea,select,h1.hero__kicker,.phead h1):not(:is(h2,h3,h4,.hero__claim,.phead .title,.tl__week,.fm__w,.flow__step h3,.intro2 .phases b,.cx__t,.cx__n,.dfigs .n,.figs .n,.ldr__txt,.go span)):not(:is(h2,h3,h4,.hero__claim,.phead .title,.cx__n,.dfigs .n,.figs .n,.tl__week,.fm__w,.mobile-menu,.hdr,.cx__v .digits,.ldr,.go span,.intro2 .phases b) *){font-size:13px!important;font-weight:400!important}
.cx__v .digits{font-size:30px}
.intro2 .phases b{display:block;margin-bottom:10px}

/* El menú conserva su tipografía: Epilogue, como antes */
.hdr,.mobile-menu{font-family:'Epilogue',system-ui,sans-serif;letter-spacing:0}
/* Aire entre titular y texto en las fichas */
.pl__card h3{margin-bottom:12px}
.ctile h3{margin-bottom:14px}
.hdr,.mobile-menu{font-size:17px}
/* Unidades de las cifras grandes: en Epilogue, pegadas a la cifra y en su línea base */
.cx__n small,.dfigs .n small,.figs .n small{font-family:'Epilogue',system-ui,sans-serif;letter-spacing:0}
.cx__n{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:.18em}
.cx__n small{margin-left:0}
.dfigs .n{display:flex;align-items:baseline;column-gap:.12em;white-space:nowrap}
.dfigs .n small{margin:0}
/* Cabecera móvil: una sola banda marino, sin el hueco blanco entre logo y menú */
@media (max-width:1100px){.hdr{background:var(--m)}}

/* Comparativa en móvil: carrusel con flechas, una ficha por criterio */
.vs__bar{display:none}
@media (max-width:820px){
  .vs__bar{display:flex;justify-content:space-between;align-items:center;padding:8px 20px 16px;font-size:13px}
  .vs__arrows{display:flex;gap:20px}
  .vs__arrows button{color:var(--m);transition:opacity .3s}
  .vs__arrows button:disabled{opacity:.3}
  .vs__arrows .ico{width:24px;height:24px}
  .vs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 20px 48px;align-items:stretch}
  .vs::-webkit-scrollbar{display:none}
  .vs__row:not(.vs__row--head){flex:0 0 86%;scroll-snap-align:start;scroll-margin-left:20px;display:flex;flex-direction:column;margin:0;padding:16px 0 0;border-top:1.5px solid var(--m)}
  .vs__row > :nth-child(2){padding:12px 0 16px}
  .vs__row > :nth-child(3){flex:1;margin-top:0}
  .vs__row h3{font-size:26px;padding-bottom:0}
}
@media (max-width:820px){
  .vs__row > :nth-child(2)::before,.vs__row > :nth-child(3)::before{font-size:13px!important;font-weight:500}
  .vs__row > :nth-child(2){min-height:118px}
}
/* Logos: la mezcla va en la caja animada, no en la imagen, para que el blanco no asome mientras entran */
.colab .logos div{mix-blend-mode:multiply}
.colab .logos img{mix-blend-mode:normal}
/* Proyectos: el texto baja bajo la etiqueta y el titular ocupa la derecha */
@media (min-width:821px){
  .proy .head{grid-template-columns:360fr 1080fr;grid-template-rows:auto 1fr;align-items:start}
  .proy .head .lbl{grid-column:1;grid-row:1}
  .proy .head > p:not(.lbl){grid-column:1;grid-row:2;padding:12px var(--pad) 0;max-width:360px}
  .proy .head h2{grid-column:2;grid-row:1/3;padding-right:var(--pad)}
}
/* Cifras grandes: la cifra en mono deja aire a los lados; la unidad se acerca y el ± crece */
.cx__n,.dfigs .n{column-gap:0}
.cx__n small,.dfigs .n small{margin-left:.45em}
.cx__n small:first-child,.dfigs .n small:first-child{font-size:.5em;margin-left:0;margin-right:-.06em}

/* Proyectos en móvil: carrusel horizontal con flechas */
.pbar{display:none}
@media (max-width:820px){
  .pbar{display:flex;justify-content:space-between;align-items:center;padding:0 20px 16px;font-size:13px}
  .proy .vs__arrows{display:flex;gap:20px}
  .proy .vs__arrows button{color:var(--w);transition:opacity .3s}
  .proy .vs__arrows button:disabled{opacity:.3}
  .proy .vs__arrows .ico{width:24px;height:24px}
  .pgrid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 20px 48px}
  .pgrid::-webkit-scrollbar{display:none}
  .pcard{flex:0 0 86%;scroll-snap-align:start;scroll-margin-left:20px}
  .pcard dl{grid-template-columns:118px 1fr}
}
/* Menú: la página actual se marca con una barra roja de 3 px en el borde inferior de la cabecera (como en Figma) */
.nav{align-self:stretch;align-items:stretch}
.nav a{display:flex;align-items:center;padding:0}
.nav a::after{height:3px;bottom:0}
@media (max-width:820px){.cx__it.on .cx__n{display:flex}}
@media (max-width:820px){.cx__n{font-size:54px!important}}
