:root{--bg:#0A0A09;--fg:#fff;--line:rgba(255,255,255,.2);--field:rgba(255,255,255,.07);--okc:#66F249}
.head{color:#fff}.head .btn{background:#fff;color:#000}
.head.scrolled{background:rgba(10,10,9,.72);backdrop-filter:blur(14px);height:66px}
.f select option{color:#000}
/* Portada */
.hero .full{transform:scale(calc(1 + var(--p)*.08))}
.hero .sh{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.05) 30%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.82))}
.hero .tx{position:absolute;left:48px;right:48px;bottom:54px;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;opacity:calc(1 - var(--p)*2.4);transform:translateY(calc(var(--p)*-150px))}
.kick{font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}
.kick:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--g)}
.hero .dp{font-size:clamp(68px,9.6vw,150px);margin-top:18px}
.hero h1 .big{display:block;font-size:clamp(76px,12vw,186px);letter-spacing:-.045em;line-height:.98}
.hero h1 .k{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin-bottom:16px}
.hero h1 .k:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--g)}
.hero h1:not(.kick){display:flex;flex-direction:column-reverse}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.facts{text-align:right;font-size:17px;line-height:1.7;font-weight:600;white-space:nowrap}
/* Imagen que crece */
.grow{--o:calc(1 - min(1,calc(var(--p)*1.7)))}
.grow .sticky{background:var(--bg)}
.grow .full{clip-path:inset(calc(var(--o)*44%) calc(var(--o)*17%) 0 calc(var(--o)*17%))}
.grow .t1{position:absolute;left:0;right:0;top:12svh;text-align:center;font-size:clamp(50px,7.4vw,112px);color:#fff;opacity:calc(1 - var(--p)*3.2)}
.grow .sh{background:#000;opacity:calc((var(--p) - .55)*1)}
.grow .t2{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#fff;opacity:calc((var(--p) - .68)*6)}
.grow .t2 .dp{font-size:clamp(100px,17.5vw,260px)}
.grow .t2 p{font-size:clamp(18px,1.9vw,27px);font-weight:500;margin-top:24px}
/* Paneles de estudios */
.pans{display:flex;height:100svh;background:#000}
.pan{flex:var(--f,1) 1 0;min-width:0;position:relative;overflow:hidden;color:#fff;display:block}
.pan .full{transform:scale(calc(1.06 - var(--w,0)*.06))}
.pan .sh{background:linear-gradient(180deg,rgba(0,0,0,.05) 45%,rgba(0,0,0,.82))}
.pan .x{position:absolute;left:30px;right:24px;bottom:38px}
.pan .m{color:var(--g);font-weight:700;font-size:17px;margin-bottom:12px}
.pan h3{font-size:clamp(34px,3.2vw,48px);line-height:1;letter-spacing:-.04em}
.pan p{font-size:15px;line-height:1.4;margin-top:12px;opacity:calc(.55 + var(--w,0)*.45)}
/* Palau y categorías */
.pal .full{transform:scale(calc(1.16 - var(--p)*.16))}
.pal .sh{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.05) 40%,rgba(0,0,0,.85))}
.pal .x{position:absolute;left:48px;right:48px;bottom:52px;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.pal .lb{color:var(--g)}
.pal h2{font-size:clamp(70px,9vw,132px);letter-spacing:-.045em;line-height:1;margin-top:14px}
.pal p{max-width:340px;font-size:18px;line-height:1.45;padding-bottom:12px}
.cats{display:flex;min-height:100svh}
.cat{flex:var(--f,1) 1 0;min-width:0;position:relative;overflow:hidden;color:#fff;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:48px}
.cat .sh{background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.84) 78%)}
.cat>*:not(.full):not(.sh){position:relative}
.cat h3{font-size:clamp(50px,5.6vw,84px);letter-spacing:-.04em;line-height:1}
.cat ul{list-style:none;columns:2;margin-top:24px;font-size:17px;line-height:2;font-weight:500}
.cat li a{border-bottom:1px solid rgba(255,255,255,.35)}
.cath2{padding:110px 48px 56px}
.cath2 h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:1.02}
.amb .step .full,.why .step .full{transition:transform .28s linear;transform:scale(calc(1.15 - var(--sp,0)*.15)) translateY(calc((.5 - var(--sp,0))*2%))}
.amb .step.on .full,.why .step.on .full{transform:scale(calc(1.15 - var(--sp,0)*.15)) translateY(calc((.5 - var(--sp,0))*2%))}
.amb .stitle,.why .stitle{transition:transform .28s linear;transform:translateY(calc((.5 - var(--sp,0))*56px))}
#modal{background:rgba(0,0,0,.58);backdrop-filter:blur(12px)}
.box{background:#1A1A18;border:1px solid rgba(255,255,255,.26);box-shadow:0 34px 110px rgba(0,0,0,.85)}
.why .step .sh{background:linear-gradient(180deg,rgba(0,0,0,.15) 40%,rgba(0,0,0,.78))}
.why .step h3{font-size:clamp(70px,9.4vw,144px)}
.tag h2{font-size:15px;font-weight:600}
@media(max-width:820px){
 .hero .tx{left:20px;right:20px;bottom:30px;flex-direction:column;align-items:flex-start}
 .hero .dp{font-size:56px}.hero h1 .big{font-size:68px}.facts{text-align:left}
 .grow .t1{font-size:46px}.grow .t2 .dp{font-size:92px}
 .pans{flex-direction:column;height:auto}.pan{height:74svh;flex:none}
 .pal .x{left:20px;right:20px;bottom:30px;flex-direction:column;align-items:flex-start;gap:12px}.pal h2{font-size:60px}
 .cats{flex-direction:column}.cat{flex:none;padding:28px 20px;min-height:92svh}
 .amb .step .full,.why .step .full{transform:none}
 .amb .stitle,.why .stitle{transform:none}
 .cath2{padding:72px 20px 36px}
 .why .step h3{font-size:50px}
}

/* Proyectos */
.brands h2{max-width:900px}
.logos{display:grid;grid-template-columns:repeat(5,1fr);margin-top:56px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.logos div{height:190px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px}
.logos img{max-width:138px;max-height:112px;width:auto;height:auto;opacity:.86;transition:opacity .35s,transform .35s}
.logos div:hover img{opacity:1;transform:scale(1.07)}
.works{display:grid;grid-template-columns:1fr 1fr;gap:0}
.work{position:relative;height:66svh;overflow:hidden;color:#fff;display:block}
.work .full{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.work:hover .full{transform:scale(1.05)}
.work .sh{background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.82))}
.work .x{position:absolute;left:34px;right:34px;bottom:30px}
.work h3{font-size:clamp(32px,3.4vw,50px);letter-spacing:-.04em;line-height:1.02}
.work p{font-size:16px;margin-top:8px;opacity:.86}
.play{display:block;width:54px;height:54px;border-radius:50%;background:var(--g);margin-bottom:16px;position:relative;transition:transform .3s}
.play:after{content:"";position:absolute;left:21px;top:16px;border-left:17px solid #000;border-top:11px solid transparent;border-bottom:11px solid transparent}
.work:hover .play{transform:scale(1.12)}
@media(max-width:820px){.logos{grid-template-columns:repeat(2,1fr)}.logos div{height:130px;padding:18px}.logos img{max-width:108px;max-height:78px}.works{grid-template-columns:1fr}.work{height:52svh}.work .x{left:20px;right:20px;bottom:22px}}

.marq{padding:120px 0 110px;overflow:hidden}
.marq .mh{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:0 48px;margin-bottom:64px}
.marq h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:1.02;max-width:900px}
.marq .gh{flex:none}
.mv{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.mt{display:flex;width:max-content;animation:marq 48s linear infinite}
.mv:hover .mt{animation-play-state:paused}
.mt div{display:flex;align-items:center;gap:76px;padding-right:76px}
.mt img{height:118px;width:auto;opacity:.86}
@keyframes marq{to{transform:translateX(-50%)}}
@media(max-width:820px){.marq{padding:72px 0}.marq .mh{display:block;padding:0 20px;margin-bottom:40px}.marq .gh{margin-top:24px}.mt div{gap:44px;padding-right:44px}.mt img{height:84px}.mt{animation-duration:34s}}
@media(prefers-reduced-motion:reduce){.mt{animation:none;width:auto;display:block}.mv{-webkit-mask-image:none;mask-image:none}.mt div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:44px 24px;justify-items:center;align-items:center;padding:0 48px}.mt div[aria-hidden]{display:none}.mt img{height:auto;width:100%;max-width:138px}}
@media(prefers-reduced-motion:reduce) and (max-width:820px){.mt div{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px;padding:0 20px}.mt img{max-width:96px}}

.floors{padding:8px 48px 96px;min-width:0}
.fnav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:64px}
.fnav a{border:1px solid var(--line);border-radius:40px;padding:11px 22px;font-size:14px;font-weight:600;transition:background .3s,color .3s}
.fnav a:hover{background:#fff;color:#000}
.floor{scroll-margin-top:96px;padding-top:30px;border-top:1px solid var(--line);margin-bottom:84px}
.floor:last-child{margin-bottom:0}
.floor .fh{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:26px}
.floor h3{font-size:clamp(46px,5.6vw,84px);letter-spacing:-.04em;line-height:1}
.floor .fh p{font-size:clamp(17px,1.5vw,21px);font-weight:500;opacity:.72}
.sheet{background:#fff;border-radius:14px;padding:clamp(18px,2.6vw,38px);overflow-x:auto}
.sheet img{display:block;width:100%;height:auto}
.floor .hint{display:none}
@media(max-width:820px){.floors{padding:8px 20px 64px}.fnav{margin-bottom:40px}.fnav a{padding:9px 16px}.floor{margin-bottom:52px;scroll-margin-top:82px}.floor .fh{display:block;margin-bottom:18px}.floor .fh p{margin-top:8px}.sheet img{width:900px;max-width:none}.floor .hint{display:block;font-size:13px;opacity:.6;margin-top:10px}}

.serv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px;padding:130px 48px;scroll-margin-top:60px}
.serv .sl{align-self:start;position:sticky;top:112px}
.serv h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:1.02;margin-top:14px}
.serv .sub2{margin-top:20px;max-width:440px}
.serv .cta{position:static;margin-top:32px}
.serv .si{display:flex;align-items:baseline;justify-content:space-between;gap:32px;padding:30px 0;border-top:1px solid var(--line)}
.serv .si:last-child{border-bottom:1px solid var(--line)}
.serv h3{font-size:clamp(32px,3.5vw,52px);letter-spacing:-.04em;line-height:1.05;flex:none}
.serv .si p{font-size:17px;line-height:1.4;opacity:.72;text-align:right;max-width:300px}
@media(max-width:820px){.serv{grid-template-columns:minmax(0,1fr);gap:40px;padding:72px 20px}.serv .sl{position:static}.serv .si{display:block;padding:22px 0}.serv .si p{text-align:left;margin-top:8px;max-width:none}}

.cat .catlink{align-self:flex-start;margin-top:26px;position:relative;z-index:2}
.cat h3 a:hover{opacity:.8}
.cath2 .sub2{max-width:760px}
.hub{position:relative;min-height:100svh;overflow:hidden;color:#fff;background:#000;display:flex;align-items:center;padding:100px 48px 44px}
.hub .over{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.62) 48%,rgba(0,0,0,.12) 80%)}
.hub .hl{width:min(780px,64%)}
.hub .lb,.hub h2{position:relative;z-index:2}
.hub .lb{color:var(--g)}
.hub h2{font-size:clamp(34px,3.7vw,56px);letter-spacing:-.04em;line-height:1.04;margin-top:10px}
.hub ul{list-style:none;margin-top:20px;border-top:1px solid rgba(255,255,255,.24)}
.hub li{border-bottom:1px solid rgba(255,255,255,.24)}
.hub a{display:block;padding:13px 0;color:#fff}
.hub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;transition:opacity .7s}
.hub a.on img{opacity:1}
.hub h3,.hub p{position:relative;z-index:2}
.hub h3{font-size:clamp(23px,2.3vw,34px);letter-spacing:-.03em;line-height:1.15;opacity:.62;transition:opacity .3s}
.hub a.on h3{opacity:1}
.hub p{position:absolute;right:48px;bottom:44px;max-width:380px;text-align:right;font-size:clamp(18px,1.6vw,23px);font-weight:500;line-height:1.3;opacity:0;transition:opacity .45s;text-shadow:0 1px 14px rgba(0,0,0,.65)}
.hub a.on p{opacity:1}
/* Selector de tipos: fundido cruzado suave (la foto nueva entra encima y la anterior se va después) */
@media(min-width:821px){
.hub .over{z-index:2}.hub .lb,.hub h2,.hub h3,.hub p{z-index:3}
.hub img{z-index:0;transition:opacity .45s ease .18s,transform 3s ease-out;transform:scale(1.04)}
.hub a.on img{z-index:1;opacity:1;transform:scale(1);transition:opacity .45s ease,transform 3s ease-out}
}
@media(prefers-reduced-motion:reduce) and (min-width:821px){.hub .hl a img{transform:none!important;transition:opacity .45s ease .18s!important}.hub .hl a.on img{transition:opacity .45s ease!important}}
.cross{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:72px 48px;border-top:1px solid var(--line)}
.cross h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.04em;line-height:1.05}
.cross .gh{flex:none}
@media(max-width:820px){
.hub{display:block;padding:72px 20px}.hub .over{display:none}.hub .hl{width:auto}
.hub ul{border:0;margin-top:24px}.hub li{border:0}
.hub a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:240px;padding:20px;margin-top:12px;border-radius:12px;overflow:hidden}
.hub a:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.82))}
.hub img{opacity:1}.hub h3{opacity:1;font-size:26px}
.hub p,.hub a.on p{position:relative;right:auto;bottom:auto;max-width:none;text-align:left;font-size:16px;opacity:.88;margin-top:6px}
.cat .catlink{margin-top:20px}
.cross{display:block;padding:56px 20px}.cross .gh{margin-top:22px}
}


/* Subpáginas de Rodajes y Eventos */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;margin-bottom:22px;opacity:.7}
.crumbs a:hover{color:var(--g)}
.marq .h2,.cath2 .h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:1.02;font-weight:700}
.marq .h2{max-width:900px}
.contact .h2{font-size:clamp(46px,6vw,86px);letter-spacing:-.045em;line-height:1;font-weight:700}
.feat{padding:110px 48px;border-top:1px solid var(--line)}
.feat h2{font-size:clamp(38px,4.4vw,64px);letter-spacing:-.04em;line-height:1.03}
.feat ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--line)}
.feat li{padding:28px 24px 8px 0}
.feat li+li{padding-left:24px;border-left:1px solid var(--line)}
.feat h3{font-size:clamp(22px,1.9vw,28px);letter-spacing:-.03em;line-height:1.12}
.feat p{font-size:16px;line-height:1.45;opacity:.72;margin-top:10px}
.rel{padding:80px 48px;border-top:1px solid var(--line)}
.rel .h2{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.04em;line-height:1.05;font-weight:700}
.rl{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.rl a{border:1px solid var(--line);border-radius:40px;padding:12px 22px;font-size:15px;font-weight:600;transition:background .3s,color .3s}
.rl a:hover{background:#fff;color:#000}
.rl a.all{background:var(--g);color:#000;border-color:var(--g)}
@media(max-width:820px){.feat{padding:72px 20px}.feat ul{grid-template-columns:minmax(0,1fr);margin-top:32px}.feat li,.feat li+li{padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}.rel{padding:56px 20px}}
.adv{padding:110px 48px;border-top:1px solid var(--line)}
.adv h2,.how2 h2{font-size:clamp(38px,4.4vw,64px);letter-spacing:-.04em;line-height:1.03;max-width:900px}
.adv ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;margin-top:40px}
.adv li{padding:26px 0;border-top:1px solid var(--line)}
.adv h3{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1.12}
.adv p{font-size:17px;line-height:1.45;opacity:.72;margin-top:10px;max-width:520px}
.how2{padding:110px 48px;border-top:1px solid var(--line)}
.how2 ol{list-style:none;margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.how2 li{border:1px solid var(--line);border-radius:16px;padding:28px}
.how2 span{display:block;font-size:15px;font-weight:700;color:var(--g);margin-bottom:22px}
.how2 h3{font-size:clamp(22px,2vw,28px);letter-spacing:-.03em;line-height:1.12}
.how2 p{font-size:16px;line-height:1.45;opacity:.72;margin-top:10px}
.cath2 .sub2+.sub2{margin-top:14px}
.cath2 .sub2 a,.adv a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){.adv,.how2{padding:72px 20px}.adv ul{grid-template-columns:minmax(0,1fr)}.how2 ol{grid-template-columns:minmax(0,1fr)}}

/* Blog y páginas legales */
.bhero{padding:150px 48px 40px}
.bhero h1{font-size:clamp(46px,6.2vw,96px);letter-spacing:-.045em;line-height:.98;margin-top:14px;max-width:1100px}
.bhero .lb{color:var(--g)}
.bhero .sub2{margin-top:22px;max-width:720px}
.bhero .crumbs{margin-bottom:6px}
.lhero h1{font-size:clamp(42px,5vw,78px)}
.bchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.bchips a{border:1px solid var(--line);border-radius:40px;padding:11px 20px;font-size:14px;font-weight:600;transition:background .3s,color .3s}
.bchips a:hover{background:#fff;color:#000}
.bchips a.on{background:var(--g);border-color:var(--g);color:#000}
.bfeat{padding:20px 48px 0}
.bcard{display:block;color:inherit}
.bcard .bimg{overflow:hidden;border-radius:14px;aspect-ratio:3/2;background:#111}
.bcard .bimg img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.bcard:hover .bimg img{transform:scale(1.05)}
.bcard .btx{padding-top:18px}
.bcat{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g)}
.bcard h3{font-size:clamp(21px,1.7vw,26px);letter-spacing:-.025em;line-height:1.18;margin-top:10px}
.bcard p{font-size:15.5px;line-height:1.5;opacity:.7;margin-top:10px}
.bmeta{display:block;font-size:13.5px;font-weight:600;opacity:.55;margin-top:14px}
.bcard.big{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.bcard.big .bimg{aspect-ratio:16/10}
.bcard.big .btx{padding:0}
.bcard.big h2{font-size:clamp(32px,3.4vw,52px);letter-spacing:-.04em;line-height:1.05;margin-top:14px}
.bcard.big p{font-size:18px;margin-top:16px}
.bgrid{padding:90px 48px 40px}
.bgh{font-size:clamp(32px,3.6vw,52px);letter-spacing:-.04em;line-height:1.05;font-weight:700;margin-bottom:40px}
.bcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.bpag{display:flex;gap:10px;margin-top:64px;justify-content:center}
.bpag a,.bpag span{border:1px solid var(--line);border-radius:40px;padding:10px 18px;font-size:14px;font-weight:600}
.bpag .on{background:#fff;color:#000}
.phero{position:relative;min-height:78svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.phero .sh{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.2) 35%,rgba(0,0,0,.88))}
.phero .ptx{position:relative;z-index:2;padding:0 48px 56px;max-width:1100px}
.phero h1{font-size:clamp(40px,5vw,78px);letter-spacing:-.045em;line-height:1.02;margin-top:14px}
.pwrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;padding:80px 48px 40px;max-width:1240px;margin:0 auto}
.pwrap.single{grid-template-columns:minmax(0,1fr);max-width:900px}
.prose{font-size:18px;line-height:1.7;max-width:760px}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(28px,2.6vw,38px);letter-spacing:-.035em;line-height:1.12;margin-top:2em;scroll-margin-top:96px}
.prose h3{font-size:clamp(22px,1.9vw,27px);letter-spacing:-.025em;line-height:1.2;margin-top:1.6em;scroll-margin-top:96px}
.prose h4{font-size:19px;margin-top:1.4em}
.prose p,.prose li{opacity:.86}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.45em}
.prose a{color:var(--g);text-decoration:underline;text-underline-offset:3px}
.prose strong{opacity:1}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose td,.prose th{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}
.prose.legal{font-size:16.5px;line-height:1.65;max-width:none}
.prose.legal h2{font-size:clamp(24px,2.2vw,32px)}
.ptoc{position:sticky;top:110px;align-self:start;border:1px solid var(--line);border-radius:16px;padding:26px}
.ptoc .lb{color:var(--g);font-size:12.5px}
.ptoc ol{list-style:none;margin-top:16px;counter-reset:t}
.ptoc li{counter-increment:t;font-size:14.5px;line-height:1.4;padding:9px 0;border-top:1px solid var(--line)}
.ptoc li:before{content:counter(t,decimal-leading-zero);font-weight:700;opacity:.45;margin-right:10px;font-size:12px}
.ptoc a:hover{color:var(--g)}
.ptoc .cta{position:static;margin-top:20px;width:100%}
.pcta{margin:40px 48px 0;border:1px solid var(--line);border-radius:20px;padding:56px;text-align:center}
.pcta .h2{font-size:clamp(30px,3.4vw,50px);letter-spacing:-.04em;line-height:1.05;font-weight:700}
.pcta .sub2{margin:16px auto 0}
.pcta .pbtn{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.pcta .cta{position:static}
@media(max-width:1100px){.pwrap{grid-template-columns:minmax(0,1fr)}.ptoc{display:none}.bcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.bhero{padding:110px 20px 28px}.bfeat{padding:10px 20px 0}.bcard.big{grid-template-columns:minmax(0,1fr);gap:20px}.bgrid{padding:64px 20px 24px}.bcards{grid-template-columns:minmax(0,1fr);gap:40px}.phero{min-height:70svh}.phero .ptx{padding:0 20px 36px}.pwrap{padding:48px 20px 24px;gap:0}.prose{font-size:17px}.pcta{margin:24px 20px 0;padding:36px 22px}}
.prose table{display:block;overflow-x:auto}
.prose th{font-weight:700;background:rgba(255,255,255,.05)}

/* Redes sociales, gracias, 404 y servicios */
.soc{display:flex;gap:10px;margin-top:18px}
.soc a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,border-color .3s}
.soc a:hover{background:var(--g);border-color:var(--g);color:#000}
.soc svg{width:18px;height:18px}
footer .soc{margin-top:16px}
.thx{min-height:100svh;padding:150px 48px 100px;display:flex;flex-direction:column;align-items:center;text-align:center}
.thx .ok-ic{width:64px;height:64px;color:var(--g);margin-bottom:26px}
.thx .lb{color:var(--g)}
.thx h1{font-size:clamp(42px,5.4vw,84px);letter-spacing:-.045em;line-height:1;margin-top:14px;max-width:1000px}
.thx .sub2{margin:22px auto 0;max-width:640px}
.thb{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:34px}
.thb .cta{position:static}
.thc{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px;width:min(1100px,100%);text-align:left}
.thc li{border:1px solid var(--line);border-radius:16px;padding:26px}
.thc h2{font-size:22px;letter-spacing:-.025em}
.thc p{font-size:15.5px;line-height:1.5;opacity:.72;margin-top:10px}
.thc a{text-decoration:underline;text-underline-offset:3px}
.thx .ths{margin-top:56px}
.thx .soc{justify-content:center}
.e404 .n404{font-size:clamp(120px,22vw,300px);font-weight:700;letter-spacing:-.06em;line-height:.85;color:var(--g)}
.e404 .bchips{justify-content:center}
.serv a.si{color:inherit;transition:padding .35s}
.serv a.si:hover{padding-left:12px}
.serv a.si:hover h3{color:var(--g)}
@media(max-width:820px){.thx{padding:110px 20px 64px}.thc{grid-template-columns:minmax(0,1fr)}}
