
/* ========== TOKENS (design system v1.1) ========== */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
--c-azul:#30578B;--c-verde:#4B665A;--c-terracota:#9D4B2C;--c-negro:#020202;--c-blanco:#FBFBFB;--c-gris:#D9D9D9;
--c-noche:#1B3557;--c-cielo:#8FB0D3;--c-bruma:#E7EEF6;--c-bosque:#2F4339;--c-salvia:#A9BDB1;--c-arcilla:#D9B8A3;--c-arena:#F1EBE3;
--bg:var(--c-blanco);--bg-alt:var(--c-arena);--bg-soft:var(--c-bruma);--t-title:var(--c-noche);--t-body:#2B3441;--t-muted:#5A6472;--border:rgba(27,53,87,.14);
--accent:var(--c-azul);--accent-h:#264A78;--accent-soft:var(--c-bruma);
--font-title:"Sora",system-ui,sans-serif;--font-body:"Codec Pro","Figtree",system-ui,sans-serif;
--fs-display:clamp(2.75rem,1.914rem + 3.429vw,5rem);--fs-h1:clamp(2.5rem,1.943rem + 2.286vw,4rem);--fs-h2:clamp(2rem,1.629rem + 1.524vw,3rem);
--fs-h3:clamp(1.625rem,1.439rem + .762vw,2.125rem);--fs-h4:clamp(1.375rem,1.282rem + .381vw,1.625rem);--fs-h5:clamp(1.1875rem,1.164rem + .095vw,1.25rem);
--fs-lead:clamp(1.125rem,1.079rem + .19vw,1.25rem);--fs-body:clamp(1.0625rem,1.039rem + .095vw,1.125rem);
--section-y:clamp(4.5rem,3.2rem + 5.333vw,8rem);--gutter:clamp(1.25rem,-.143rem + 5.714vw,5rem);--container:1280px;--gap:1rem;
--veil:rgba(2,2,2,.32);--scrim:linear-gradient(180deg,rgba(2,2,2,0) 30%,rgba(2,2,2,.58) 100%);--scrim-top:linear-gradient(180deg,rgba(2,2,2,.4),rgba(2,2,2,0));
--r-md:12px;--r-pill:999px;--sh-md:0 10px 30px rgba(27,53,87,.14);
--d-fast:150ms;--d-base:250ms;--d-med:450ms;--d-slow:700ms;--ease:cubic-bezier(.22,.61,.36,1);--ease-e:cubic-bezier(.2,0,0,1);--ease-io:cubic-bezier(.65,0,.35,1)}
@media(min-width:1024px){:root{--gap:1.5rem}}
[data-accent=tandem]{--accent:var(--c-terracota);--accent-h:#853F24;--accent-soft:rgba(217,184,163,.35)}
[data-accent=viajes]{--accent:var(--c-verde);--accent-h:#3E5549;--accent-soft:rgba(169,189,177,.35)}
[data-accent=veleria]{--accent:var(--c-negro);--accent-h:#20252B;--accent-soft:var(--c-arena)}
/* ========== BASE ========== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
body{margin:0;background:var(--bg);color:var(--t-body);font:400 var(--fs-body)/1.65 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--c-noche);z-index:150}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:3px solid var(--c-cielo);outline-offset:2px}
.wrap{padding-inline:var(--gutter);max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto}
.sec{padding-block:var(--section-y)}
.display{font:800 var(--fs-display)/1.05 var(--font-title);letter-spacing:-.02em;color:var(--t-title)}
.h1{font:800 var(--fs-h1)/1.1 var(--font-title);letter-spacing:-.02em;color:var(--t-title)}
.h2{font:800 var(--fs-h2)/1.15 var(--font-title);letter-spacing:-.015em;color:var(--t-title)}
.h3{font:800 var(--fs-h3)/1.2 var(--font-title);letter-spacing:-.01em;color:var(--t-title)}
.h4{font:800 var(--fs-h4)/1.25 var(--font-title);color:var(--t-title)}
.h5{font:800 var(--fs-h5)/1.3 var(--font-title);color:var(--t-title)}
.lead{font-size:var(--fs-lead);line-height:1.6}
.ov{font:700 .875rem/1.3 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-verde);display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ov::before{content:"";width:48px;height:3px;background:currentColor;transform-origin:left;transform:scaleX(0);transition:transform .5s var(--ease)}
.in .ov::before,.ov.in::before,.hero .ov::before{transform:scaleX(1)}
.dk{background:var(--c-noche);color:rgba(251,251,251,.84)}
.dk .display,.dk .h1,.dk .h2,.dk .h3,.dk .h4,.dk .h5,.hero .display,.hero h1{color:var(--c-blanco)}
.dk .ov,.evb .ov{color:var(--c-salvia)}.hero .ov{color:var(--c-blanco)}.dk .ov{color:var(--c-salvia)}
.muted{color:var(--t-muted)}
.alt{background:var(--bg-alt)}
/* botones y enlaces */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 28px;border-radius:var(--r-pill);background:var(--accent);color:var(--c-blanco);font:700 1.0625rem/1 var(--font-body);letter-spacing:.01em;border:2px solid var(--accent);transition:background var(--d-base),color var(--d-base),transform var(--d-base) var(--ease),box-shadow var(--d-base);position:relative;overflow:hidden}
.btn:hover{background:var(--accent-h);border-color:var(--accent-h);transform:translateY(-1px);box-shadow:var(--sh-md)}
.btn:active{transform:scale(.98)}
.btn.on{background:var(--c-blanco);border-color:var(--c-blanco);color:var(--c-azul)}
.btn.on:hover{background:#fff;color:var(--c-noche)}
.btn.ghost{background:transparent;border-color:currentColor;color:var(--accent)}
.btn.ghost:hover{background:var(--accent);color:var(--c-blanco);border-color:var(--accent)}
.hero .btn.ghost,.dk .btn.ghost,.band .btn.ghost{color:var(--c-blanco)}
.cta .btn.ghost{color:var(--c-blanco)}.cta .btn.ghost:hover{background:var(--c-blanco);color:var(--c-noche);border-color:var(--c-blanco)}
.hero .btn.ghost:hover,.dk .btn.ghost:hover{background:var(--c-blanco);color:var(--c-noche);border-color:var(--c-blanco)}
.btn.s{height:40px;padding:0 20px;font-size:1rem}
.lnk{display:inline-flex;gap:8px;align-items:center;font-weight:700;color:var(--accent);background:linear-gradient(currentColor,currentColor) left bottom/0 2px no-repeat;padding-bottom:3px;transition:background-size var(--d-base) var(--ease)}
.lnk:hover{background-size:100% 2px}.lnk i{font-style:normal;transition:transform var(--d-base)}.lnk:hover i{transform:translateX(4px)}
.dk .lnk{color:var(--c-blanco)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.chip{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--t-title);font:700 .875rem/1 var(--font-body);letter-spacing:.02em}
.dk .chip{background:rgba(251,251,251,.14);color:var(--c-blanco)}
.chip.ej{background:var(--c-terracota);color:#fff;margin-left:8px;vertical-align:middle;display:none}
body.notes .chip.ej{display:inline-flex}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button.chip{height:40px;padding:0 18px;background:var(--c-bruma);font-size:1rem}
.chips button.chip.on{background:var(--accent);color:#fff}
/* revelados */
[data-r]{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
[data-r].in{opacity:1;transform:none}
[data-r].out{opacity:0;transform:translateY(-10px)}
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}
.w>span{display:inline-block;transform:translateY(105%);transition:transform .7s var(--ease);transition-delay:calc(var(--i,0)*45ms)}
.in .w>span,[data-split].in .w>span{transform:none}
.out .w>span{transform:translateY(-40%);transition-duration:.35s}
/* escenas (placeholders de foto) */
.sc{position:absolute;inset:0;overflow:hidden;background:var(--c-noche)}
.sc .pi{position:absolute;left:0;right:0;top:-10%;height:120%;will-change:transform}
.sc svg,.sc img{width:100%;height:100%;display:block}.sc img{object-fit:cover}
.ph{position:absolute;right:14px;bottom:12px;font:700 .875rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(2,2,2,.45);padding:6px 10px;border-radius:6px;display:none;z-index:5;pointer-events:none}
body.notes .ph{display:block}
/* banner ficticio */
.note{position:relative;z-index:160;background:var(--c-terracota);color:#fff;font:700 1rem/1.35 var(--font-body);display:none;align-items:center;gap:16px;padding:10px var(--gutter);padding-top:calc(10px + env(safe-area-inset-top,0px))}
body.notes .note{display:flex}
.note span{flex:1}.note button{text-decoration:underline;font-weight:700;white-space:nowrap}
/* ========== NAV ========== */
.nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:80px;z-index:200;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);color:#fff;transition:transform var(--d-base) var(--ease),background var(--d-base);background:linear-gradient(180deg,rgba(2,2,2,.4),rgba(2,2,2,0))}
.nav.solid{background:rgba(27,53,87,.96)}
.logo{width:184px;height:auto;aspect-ratio:5217/1719;color:#fff;display:block}
.nav .r{display:flex;align-items:center;gap:28px}
.menubtn{font-weight:500;letter-spacing:.04em;display:flex;align-items:center;gap:10px}
.menubtn i{width:26px;height:10px;border-top:2px solid #fff;border-bottom:2px solid #fff;display:block}
.nav .btn{height:44px;padding:0 22px}
.dn{display:none}.dn ul{display:flex;gap:0;list-style:none;margin:0;padding:0}.dn li{position:relative;height:80px;display:flex;align-items:center}
.dn .t{display:flex;align-items:center;gap:7px;padding:12px 9px;font-weight:500;position:relative;white-space:nowrap}
.dn .t::after{content:"";position:absolute;left:9px;right:9px;bottom:8px;height:2px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform var(--d-base) var(--ease)}
.dn li:hover>.t::after,.dn li.kb>.t::after{transform:scaleX(1)}
.dn .car{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.dn li:hover .car{transform:rotate(225deg) translate(-2px,0)}
.dd{position:absolute;top:100%;left:0;min-width:270px;background:var(--c-arena);color:var(--c-noche);padding:10px;border-radius:12px;box-shadow:0 18px 40px rgba(2,2,2,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .3s var(--ease),visibility 0s .3s}
.dn.nh .dd{opacity:0!important;visibility:hidden!important;transition:none!important}
.dn li:hover .dd,.dn li.kb .dd{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .3s var(--ease)}
.dd a{display:block;padding:11px 14px;border-radius:8px;font-weight:500;color:var(--c-noche)}.dd a:hover{background:var(--c-bruma)}
@media(min-width:1360px){.dn{display:block}.menubtn{display:none}}
@media(max-width:560px){.nav .btn{display:none}.logo{width:150px}}
.menu{position:fixed;inset:0;z-index:300;background:var(--c-noche);color:#fff;display:grid;grid-template-columns:1fr;visibility:hidden;clip-path:circle(0 at 100% 0);transition:clip-path .7s var(--ease-e),visibility 0s .7s;overflow:auto}
.menu.open{visibility:visible;clip-path:circle(150% at 100% 0);transition:clip-path .7s var(--ease-e)}
.menu .mi{padding:calc(110px + env(safe-area-inset-top,0px)) var(--gutter) 60px;position:relative;z-index:2}
.menu ol{list-style:none;margin:0;padding:0;counter-reset:m}
.menu li{counter-increment:m;opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i)*60ms + .25s)}
.menu.open li{opacity:1;transform:none}
.menu .m1{display:flex;align-items:baseline;gap:16px;font:400 var(--fs-h1)/1.15 var(--font-title);letter-spacing:-.02em;transition:opacity .25s,padding-left .35s var(--ease)}
.menu .m1::before{content:"(0" counter(m) ")";font:700 .875rem var(--font-body);letter-spacing:.1em;opacity:.6}
.menu ol:hover .m1{opacity:.4}.menu ol .m1:hover{opacity:1;padding-left:14px}
.menu .sub{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 14px 52px}
.menu .sub a{font-size:1rem;opacity:.75}.menu .sub a:hover{opacity:1;text-decoration:underline}
.menu .pv{display:none}
.menu .x{position:absolute;top:calc(24px + env(safe-area-inset-top,0px));right:var(--gutter);z-index:5;font-weight:700;letter-spacing:.04em}
.menu li{display:block;padding:0}.menu .mrow{display:flex;align-items:center;justify-content:space-between;gap:16px}.menu .mtg{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;flex:none}.menu .mtg svg{width:24px;height:24px;transition:transform .35s var(--ease)}.menu li.op .mtg svg{transform:rotate(180deg)}.menu .mtg:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:1359px){.menu .m1::before{content:none}.menu .m1{font-size:clamp(1.5rem,6.4vw,2rem);line-height:1.2;padding-block:10px}.menu ol:hover .m1{opacity:1}.menu ol .m1:hover{padding-left:0}.menu li{border-bottom:1px solid rgba(255,255,255,.14)}.menu .sub{display:none;flex-direction:column;flex-wrap:nowrap;gap:0;margin:0 0 12px}.menu li.op .sub{display:flex}.menu .sub a{font-size:1.0625rem;opacity:.85;padding:10px 0;display:block}.menu .mrow,.menu .sub{margin-left:0!important;padding-left:0!important;text-align:left}.menu .mi{overflow-y:auto;max-height:100svh;box-sizing:border-box}}
@media(min-width:1360px){.menu .mtg{display:none}}@media(min-width:900px){.menu{grid-template-columns:1.2fr 1fr}.menu .pv{display:block;position:relative;margin:calc(110px + env(safe-area-inset-top,0px)) var(--gutter) 60px 0;min-height:60vh}.menu .pv .sc{opacity:0;transition:opacity .4s}.menu .pv .sc.on{opacity:1}}
/* ========== HERO ========== */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;background:var(--c-noche)}
.hero::after{content:"";position:absolute;inset:0;background:var(--scrim);z-index:1;pointer-events:none}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .6s linear}.hero .slide.on{opacity:1}
.hero-c{position:relative;z-index:3;width:100%;padding-bottom:clamp(56px,9vh,96px)}
.hero-c .lead{max-width:34ch;margin-top:20px;color:rgba(251,251,251,.9)}
.hero-c .display,.hero-c h1{max-width:14ch}
.hero.page .hero-c .display{font-size:var(--fs-h1)}
.hud{position:absolute;right:var(--gutter);bottom:clamp(56px,9vh,96px);z-index:4;display:flex;align-items:center;gap:14px;font:700 .875rem var(--font-body);letter-spacing:.1em;color:#fff}
.hud .bar{width:96px;height:2px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}.hud .bar i{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(0)}
.hud button{width:36px;height:36px;border:1.5px solid #fff;border-radius:50%;font-size:.875rem}
.cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;color:#fff;font:700 .875rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.cue::after{content:"";width:1px;height:34px;background:#fff;transform-origin:top;animation:cue 2s var(--ease-io) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media(max-width:700px){.hud{display:none}.cue{display:none}.hero-c{padding-bottom:104px}}
/* ========== INTERTÍTULO ========== */
.inter{padding-block:clamp(120px,22vh,288px)}
.inter .h2{max-width:22ch;font-weight:400}
.inter .wd{opacity:.22;transition:opacity .25s}.inter .wd.l{opacity:1}
/* ========== PIN ========== */
.pin{position:relative;height:var(--h,400svh)}
.stick{position:sticky;top:0;height:100svh;overflow:hidden}
/* tríptico */
.tri{background:var(--c-negro)}
.band{position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;color:#fff;height:30svh}
.band .veil{position:absolute;inset:0;background:var(--veil);z-index:1}
.band .bc{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:36ch;padding:0 20px}
.band .bn{font:800 clamp(1.1rem,1rem + .6vw,1.5rem)/1 var(--font-title);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.band .chev{width:22px;height:12px;transition:opacity .3s}.band.on .chev,.tri.act .chev{opacity:0}
.band .more{display:grid;gap:14px;justify-items:center;max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--ease-e),opacity .5s var(--ease) .1s}
.band.on .more{max-height:300px;opacity:1}
.band .ov2{font:700 1rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-salvia)}
.band p{font-size:var(--fs-body);color:rgba(251,251,251,.94)}
.nohero #main{padding-top:80px}.nohero .nav{background:rgba(27,53,87,.96)}
.many .n{font-size:1.5rem!important}.many .st{padding-block:4px}.many .st h3{font-size:1.05rem}.many .st .b{max-width:50ch}
/* intro (bajo el hero) */
.intro{position:relative;padding:0;background:var(--bg);overflow:hidden}
.intro .ig{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch}
.intro .it{position:relative;z-index:3;padding:var(--section-y) 0 var(--section-y) var(--gutter);margin-right:-14%;display:flex;flex-direction:column;justify-content:center}
.intro .ii{position:relative;min-height:84svh;height:100%;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.intro .h1{font:800 var(--fs-h2)/1.18 var(--font-title);letter-spacing:-.015em;max-width:20ch}
.intro .wd{color:var(--t-title);opacity:.2;transition:opacity .25s}.intro .wd.l{opacity:1}
@media(max-width:860px){.intro .ig{grid-template-columns:1fr}.intro .it{margin-right:0;padding:56px var(--gutter) 0}.intro .ii{min-height:0;height:auto;aspect-ratio:4/5;margin-top:-40px;margin-bottom:0;-webkit-mask-image:none;mask-image:none}.intro .ii::after{content:"";position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,var(--bg) 0,rgba(251,251,251,0) 100%);z-index:2;pointer-events:none}}
/* cuándo volamos */
.cw{padding-block:var(--section-y);background:var(--bg)}
.mbar{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 8px}
.mbar button{height:44px;padding:0 18px;border-radius:99px;background:var(--c-bruma);color:var(--t-title);font-weight:700;transition:background .25s,color .25s;position:relative}
.mbar button:hover{background:var(--c-cielo)}.mbar button.on{background:var(--c-azul);color:#fff}
.mbar button.hoy::after{content:"";position:absolute;top:7px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--c-terracota)}
.mnow{font:400 var(--fs-h4)/1.3 var(--font-title);color:var(--t-title);margin:18px 0 34px;min-height:2.6em}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.cd{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--c-noche);transition:opacity .45s,filter .45s,transform .45s var(--ease)}
.cd .ph1{position:absolute;inset:0}
.cd::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,rgba(14,29,52,.98) 0%,rgba(27,53,87,.92) 28%,rgba(27,53,87,.4) 56%,rgba(27,53,87,0) 80%)}
.cd .nm{position:absolute;left:22px;right:22px;bottom:22px;z-index:3;color:#fff;display:grid;gap:3px}
.cd .nm small{font:700 .875rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-salvia)}
.cd .nm h3{font:800 var(--fs-h4)/1.15 var(--font-title);color:#fff}
.cd .nm b{font:700 clamp(1.7rem,1.3rem + 1.2vw,2.4rem)/1.1 var(--font-title);letter-spacing:-.01em;margin-top:12px}
.cd .nm span{font:700 .875rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.cd.off{opacity:.28;filter:grayscale(1)}.cd:not(.off):hover{transform:translateY(-6px)}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cards{grid-template-columns:1fr}.cd .ph1{aspect-ratio:4/3}}
.stats.solid{background:var(--c-verde)}.stats.solid::before{display:none}
.mqh{text-align:center}.mqh .ov{justify-content:center}
.quo{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-alt);align-items:stretch}
.quo .qt{padding:clamp(40px,5vw,72px) var(--gutter);display:flex;flex-direction:column;justify-content:center}
.quo .qs{min-height:340px}
.quo .qi{position:relative;aspect-ratio:1/1;overflow:hidden}.quo .qi .sc{opacity:0;transition:opacity .7s var(--ease)}.quo .qi .sc.on{opacity:1}
@media(max-width:860px){.quo{grid-template-columns:1fr}.quo .qi{order:-1;aspect-ratio:4/3}.quo .qt{padding-block:56px}}
.cd .ph{top:12px;bottom:auto;right:12px;left:auto}
/* v1.3 */
.two.t3{grid-template-columns:1.4fr 1fr}
.btn.terra{background:var(--c-terracota);border-color:var(--c-terracota);color:#fff}.btn.terra:hover{background:#853F24;border-color:#853F24}
.btn.wht{background:#fff;border-color:#fff;color:var(--c-noche)}.btn.wht:hover{background:var(--c-verde);border-color:var(--c-verde);color:#fff}
.segh,.ctr{text-align:center}.segh .ov,.ctr .ov{justify-content:center}
.sec.tt{padding-top:clamp(32px,4vw,56px)}.sec.fb{padding-bottom:clamp(32px,4vw,56px)}.sec.nb{padding-bottom:0}
.split.fill{min-height:70svh}.split.fill .im{aspect-ratio:auto;min-height:0}
.split.flush .tx{padding-block:32px}
.split .tx .lead{margin-top:10px}.split .chips{margin-top:22px}
.quo.white{background:var(--bg)}.quo.left .qi{order:-1}
.rec{display:inline-block;background:var(--c-terracota);color:#fff;font:700 .875rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;padding:8px 26px 8px 14px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 50%,100% 100%,0 100%);margin-bottom:18px}
.plan{background:var(--c-noche);color:rgba(251,251,251,.9);display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,4vw,64px);padding:clamp(28px,4vw,64px);text-align:left;align-items:center}
.plan .h2{color:#fff;margin-bottom:12px}.plan .cov2{margin-top:18px;color:#fff}.plan .cov2 li::before{background:#fff}
.plan .tg{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,255,255,.2)}.plan .tg div{background:var(--c-noche);padding:22px}.plan .tg b{display:block;font:700 var(--fs-h3) var(--font-title);color:#fff}.plan .tg span{font-size:1rem;opacity:.85}
.plan .ctas{margin-top:24px}
@media(max-width:860px){.plan{grid-template-columns:1fr}}
.hs{display:flex;gap:var(--gap);overflow-x:auto;padding:34px var(--gutter) 14px;scroll-snap-type:x proximity;cursor:grab;scrollbar-width:thin}
.hc{flex:0 0 clamp(250px,24vw,330px);scroll-snap-align:start;background:#fff;border:1px solid var(--border)}
.hc .hi{position:relative;aspect-ratio:4/5;overflow:hidden}.hc .hb{padding:20px 22px 24px}
.cg{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.cc{background:#fff;border:1px solid var(--border)}.cc .ci{position:relative;aspect-ratio:4/3;overflow:hidden}.cc .cb{padding:22px 22px 28px}.cc .cb p:last-child{margin-top:10px;font-size:1rem}
@media(max-width:1100px){.cg{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cg{grid-template-columns:1fr}}
.acc.big .acq{font:800 var(--fs-h3)/1.2 var(--font-title)}.acq small{font:500 1rem var(--font-body);color:var(--t-muted);margin-left:auto;margin-right:16px}
.sub{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:20px}.sub>div{background:var(--bg-soft);padding:20px}.sub h4{margin:8px 0}.sub p{font-size:1rem}
.rw.ev{width:100%;text-align:left;border-left:0;border-right:0;border-bottom:0;background:none;cursor:pointer}.rw.ev .go{font-size:2rem}
.evd{position:fixed;inset:0;z-index:380;background:rgba(2,2,2,.6);display:none;align-items:center;justify-content:center;padding:20px}.evd.on{display:flex}
.evb{position:relative;background:#fff;max-width:980px;width:100%;max-height:90vh;overflow:auto;padding:clamp(24px,4vw,48px)}
.evb .x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--t-title);font-size:1.25rem;color:var(--t-title)}
.evg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:26px}.evg .tl{position:relative;aspect-ratio:4/3;overflow:hidden}
.hits{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.ht{background:#fff;padding:28px 24px;text-align:center}.ht svg{width:38px;height:38px;color:var(--c-azul);margin:0 auto 14px}.ht p{font-size:1rem;margin-top:8px}
@media(max-width:860px){.hits{grid-template-columns:1fr 1fr}}@media(max-width:520px){.hits{grid-template-columns:1fr}}
.lks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lkc{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;background:var(--bg-soft);transition:background .25s}.lkc:hover{background:var(--c-cielo)}.lkc b{display:block;color:var(--t-title)}.lkc small{color:var(--t-muted);font-size:.875rem;word-break:break-all}.lkc i{font-style:normal;font-size:1.25rem;color:var(--c-azul)}
@media(max-width:860px){.lks{grid-template-columns:1fr}}
.vids{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.vd{position:relative;aspect-ratio:16/9;overflow:hidden}.vd .pl{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;background:#fff;color:var(--c-noche);display:grid;place-items:center;z-index:4}.vd em{position:absolute;left:14px;bottom:12px;color:#fff;font:700 .875rem var(--font-body);z-index:4;font-style:normal}
@media(max-width:700px){.vids{grid-template-columns:1fr}}
/* v1.4 */
.hc{text-align:left;border-top:4px solid var(--c-azul)}.hs .hc .hb{padding:30px 26px 34px}
.cta.ph2 .cbg{position:absolute;inset:0}.cta.ph2::before{content:"";position:absolute;inset:0;background:#000;opacity:.42;z-index:1}.cta .rays{z-index:1}.cta.ph2 .rays{display:none}
.mcard{position:absolute;left:0;top:0;bottom:auto;right:auto;width:300px;max-width:calc(100% - 20px);transform:translateY(8px)}.mcard.on{transform:none}
.mx{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--c-noche);font-size:1.25rem;z-index:6;box-shadow:var(--sh-sm)}
.mtabs{display:none}
.ts .tsh{position:relative;height:58svh;min-height:380px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.ts .tsh::after{content:"";position:absolute;inset:0;background:var(--scrim);z-index:2}
.tsh .wrap{position:relative;z-index:3;padding-bottom:40px;width:100%}.tsh .display{color:#fff;font-size:var(--fs-h1);margin-top:14px}.tsh .lead{color:rgba(251,251,251,.92);margin-top:8px}.tsh .chip{background:rgba(251,251,251,.2);color:#fff;margin-right:8px}
.tmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.tmeta div{border-top:1px solid var(--border);padding-top:10px}.tmeta small{display:block;font:700 .875rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-verde)}.tmeta b{color:var(--t-title)}
.tprice{margin-top:24px;background:var(--bg-soft);padding:22px}.tprice b{font:800 var(--fs-h3) var(--font-title);color:var(--t-title);display:block}.tprice span{color:var(--t-muted);font-size:1rem}
.chq{align-items:start}.ci2{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.cs{display:grid;grid-template-columns:36px 1fr;gap:4px;padding:14px 0;border-top:1px solid var(--border)}.cs .cn{font:700 .875rem var(--font-title);color:var(--c-azul);padding-top:3px}.cs p{font-size:1rem;margin-top:4px}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}.sv{background:#F5F5F4;padding:30px 28px}.sv svg{width:32px;height:32px;color:var(--c-azul);margin-bottom:18px}.sv p{font-size:1rem;margin-top:10px}
@media(max-width:1000px){.svc{grid-template-columns:1fr 1fr}}
.tm2g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tm2{position:relative;aspect-ratio:5/6;overflow:hidden;background:var(--c-salvia);color:var(--c-arena)}.tm2 .tp{position:absolute;inset:0}.tm2 .tp img,.tm2 .tp svg{width:100%;height:100%;object-fit:cover;display:block}.tm2 .tp img{filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply}
.tm2::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(27,53,87,.62),rgba(27,53,87,0) 30%,rgba(27,53,87,0) 64%,rgba(27,53,87,.68))}
.tm2 .a1,.tm2 .a2,.tm2 .r1,.tm2 .r2{position:absolute;left:8px;right:8px;text-align:center;z-index:3;color:var(--c-arena)}
.tm2 .a1,.tm2 .a2{font:800 clamp(1.5rem,1.1rem + 1.2vw,2.3rem)/1 var(--font-title);text-transform:uppercase;letter-spacing:-.01em}.tm2 .a1{top:5%}.tm2 .a2{bottom:5%}
.tm2 .r1,.tm2 .r2{font:500 .9rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase}.tm2 .r1{top:34%}.tm2 .r2{top:70%}
.tm2 .chip.ej{position:absolute;top:20%;left:50%;transform:translateX(-50%);margin:0;z-index:4;white-space:nowrap;font-size:.75rem;padding:5px 12px;line-height:1.2;max-width:calc(100% - 16px)}
@media(max-width:1000px){.tm2g{grid-template-columns:1fr 1fr}}
.cdots{display:none}
@media(max-width:767px){
 .mapw{display:none}.mtabs{display:block;padding-top:24px;padding-bottom:24px}
 .tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.mt{flex:none;height:44px;padding:0 18px;border-radius:99px;background:var(--c-bruma);color:var(--t-title);font-weight:700;white-space:nowrap}.mt.on{background:var(--accent);color:#fff}
 .mcm{margin-top:16px;background:#fff;border:1px solid var(--border)}.mcm .ph0{position:relative;aspect-ratio:4/3;overflow:hidden}.mcm .tb{padding:20px;display:grid;gap:10px}
 .cr{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none;padding-bottom:4px}.cr::-webkit-scrollbar{display:none}
 .cr>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
 .cdots{display:flex;justify-content:center;gap:8px;margin-top:16px}.cdots i{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .25s,transform .25s}.cdots i.on{background:var(--accent);transform:scale(1.3)}
 .pr:first-child{padding-left:28px}
 .split.fill .im{aspect-ratio:4/5}
 .ctr{text-align:left}.ctr .ov{justify-content:flex-start}
 h1,h2,h3,h4{overflow-wrap:break-word}
 .feats.cr{scroll-padding-left:var(--gutter)}
 .feats.cr>.feat{border-left:0;padding:26px 22px;background:var(--bg-soft)}.feats.cr>.feat:first-child{padding-left:22px}
 .hits.cr>.ht{text-align:left}
 .cards.cr>.cd{flex:0 0 76%}
 .svc{grid-template-columns:1fr}.ci2{grid-template-columns:1fr}
 .tm2g{display:flex!important;padding:0}.tm2g>.tmw{flex:0 0 74%}.tm2g .tm2{aspect-ratio:1/1}
 .plan .tg{grid-template-columns:1fr 1fr}
}
/* cifras */
.stats{position:relative;color:#fff;padding-block:calc(var(--section-y)*1.3);overflow:hidden}
.stats .sc{z-index:0}.stats::before{content:"";position:absolute;inset:0;background:rgba(15,30,55,.55);z-index:1}
.stats .g{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.stat{border-top:1px solid rgba(255,255,255,.4);padding-top:18px}
.stat b{display:block;font:400 var(--fs-h1)/1 var(--font-title);letter-spacing:-.02em;color:#fff}
.stat span{display:block;margin-top:10px;font-size:1rem;letter-spacing:.04em;opacity:.9}.stat span::before{content:"("}.stat span::after{content:")"}
@media(max-width:767px){.stats .g{grid-template-columns:1fr 1fr;row-gap:32px}}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr}
.split.rev .im{order:2}
.split .im{position:relative;aspect-ratio:1/1;overflow:hidden}
.split .tx{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,72px) var(--gutter)}
.split .tx p{margin-top:20px;max-width:46ch}
.split .tx .lnk{margin-top:28px;align-self:flex-start}
.split .im.clip{opacity:0;transition:opacity .9s var(--ease)}.split .im.clip.in{opacity:1}
.arch{border-radius:999px 999px 0 0}
@media(max-width:860px){.split,.split.rev{grid-template-columns:1fr}.split .im{aspect-ratio:4/5;order:0!important}.split .tx{padding-block:56px}}
/* banda */
.bandx{position:relative;height:70svh;min-height:420px;overflow:hidden;display:flex;align-items:flex-end;color:#fff}
.bandx::after{content:"";position:absolute;inset:0;background:var(--scrim)}
.bandx .wrap{position:relative;z-index:2;padding-bottom:56px;width:100%}.bandx .h2{color:#fff;max-width:22ch}
/* steps */
.steps .stick{display:grid;grid-template-columns:5fr 7fr;background:var(--bg)}
.steps .sl{padding:calc(80px + 4vh) var(--gutter) 4vh;display:flex;flex-direction:column;justify-content:center;gap:6px;overflow:hidden}
.st{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:baseline;opacity:.32;transition:opacity .4s;border-top:1px solid var(--border);padding-block:10px;cursor:pointer}
.st:first-child{border-top:0}
.st .n{font:400 clamp(2rem,4vw,3.6rem)/1 var(--font-title);color:var(--t-title);letter-spacing:-.02em;transition:color .4s}
.st h3{font:800 var(--fs-h4)/1.2 var(--font-title);color:var(--t-title)}
.st .b{grid-column:2;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease-e),opacity .4s;max-width:46ch}
.st .b p{padding-top:8px}
.st.on{opacity:1}.st.on .n{color:var(--accent)}.st.on .b{max-height:340px;opacity:1}
.steps .sr{position:relative;overflow:hidden}.steps .sr .sc{opacity:0;transition:opacity .6s var(--ease)}.steps .sr .sc.on{opacity:1}
.steps .mi{display:none}
@media(max-width:860px){.steps{height:auto!important}.steps .stick{position:static;height:auto;display:block}.steps .sr{display:none}.steps .sl{padding:var(--section-y) var(--gutter)}.st{opacity:1}.st .b{max-height:none;opacity:1}.steps .mi{display:block;position:relative;height:200px;margin:14px 0}}
/* mapa */
.map{position:relative}
.mapw{position:relative;aspect-ratio:16/10;background:var(--c-bruma);overflow:hidden;border-radius:0}
.mapw svg.m{position:absolute;inset:0;width:100%;height:100%}
.pin1{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;place-items:center;z-index:3}
.pin1 i{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #fff;position:relative}
.pin1 i::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--accent);animation:pulse 2s var(--ease) infinite}
.pin1.on i{background:var(--c-noche)}
.pin1 span{position:absolute;top:100%;left:50%;transform:translateX(-50%);font:700 .875rem var(--font-body);white-space:nowrap;color:var(--t-title);background:rgba(255,255,255,.85);padding:2px 8px;border-radius:99px;margin-top:-4px}
@keyframes pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.mcard{position:absolute;left:0;top:0;width:300px;max-width:calc(100% - 20px);background:#fff;z-index:5;box-shadow:var(--sh-md);transform:translateY(16px);opacity:0;pointer-events:none;transition:all .45s var(--ease)}
.mcard.on{transform:none;opacity:1;pointer-events:auto}
.mcard .ph0{position:relative;aspect-ratio:16/10;overflow:hidden}
.mcard .tb{padding:20px 22px 24px;display:grid;gap:10px}
.rose{display:flex;align-items:center;gap:14px;font-size:1rem}
.rose svg{width:54px;height:54px}.rose .ar{transform-origin:50% 50%;transition:transform 1.2s var(--ease-e)}
@media(max-width:700px){.mapw{aspect-ratio:4/5}.mcard{right:12px;left:12px;bottom:12px;width:auto}}
/* paneles */
.panels{display:flex;height:82svh;min-height:520px;gap:2px;background:#fff}
.pn{position:relative;flex:1;overflow:hidden;transition:flex .7s var(--ease-e);color:#fff;cursor:pointer;display:flex;align-items:flex-end}
.pn::after{content:"";position:absolute;inset:0;background:var(--scrim);z-index:1}
.panels:hover .pn{flex:.8}.panels .pn:hover,.panels .pn:focus-within{flex:2.6}
.pn .in2{position:relative;z-index:2;padding:28px;display:grid;gap:10px;width:100%}
.pn .co{font:700 .875rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-salvia)}.pn .lnk{color:#fff}
.pn h3{font:800 var(--fs-h2)/1.05 var(--font-title);color:#fff;letter-spacing:-.015em}
.pn .xt{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--ease-e),opacity .5s .1s;display:grid;gap:12px}
.pn:hover .xt,.pn:focus-within .xt{max-height:260px;opacity:1}
@media(max-width:860px){.panels{overflow-x:auto;scroll-snap-type:x mandatory;gap:6px;height:76svh}.pn{flex:0 0 86%;scroll-snap-align:center}.panels:hover .pn,.panels .pn:hover{flex:0 0 86%}.pn .xt{max-height:260px;opacity:1}}
/* filas */
.rows{border-bottom:1px solid var(--border)}
.rw{display:grid;grid-template-columns:1.4fr 1fr auto;gap:var(--gap);align-items:center;padding:26px 0;border-top:1px solid var(--border);transition:padding-left .4s var(--ease),background .3s}
.rw:hover{padding-left:16px}
.rw .t{font:800 var(--fs-h3)/1.15 var(--font-title);color:var(--t-title)}
.rw .t small{display:block;font:400 1rem var(--font-body);color:var(--t-muted);margin-top:6px}
.rw .a{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:1rem}
.rw .go{font:700 1.5rem var(--font-title);color:var(--accent);transition:transform .3s}.rw:hover .go{transform:translateX(6px)}
.rw[hidden]{display:none}
#pv{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/3;pointer-events:none;z-index:250;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .25s,transform .35s var(--ease);overflow:hidden}
#pv.on{opacity:1;transform:translate(-50%,-50%) scale(1)}#pv .sc{opacity:0;transition:opacity .2s}#pv .sc.on{opacity:1}
@media(max-width:860px){.rw{grid-template-columns:1fr auto}.rw .a{grid-column:1/-1;order:3}#pv{display:none}}
/* selector */
.seg{display:inline-flex;position:relative;background:var(--c-bruma);border-radius:99px;padding:5px}
.seg button{position:relative;z-index:2;height:44px;padding:0 26px;border-radius:99px;font-weight:700;color:var(--t-title);transition:color .3s}
.seg button.on{color:#fff}.seg .ind{position:absolute;z-index:1;top:5px;bottom:5px;border-radius:99px;background:var(--accent);transition:left .4s var(--ease-e),width .4s var(--ease-e)}
.segp{display:none}.segp.on{display:grid;animation:fx .55s var(--ease)}
@keyframes fx{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.facts{display:grid;gap:0;margin-top:22px;max-width:46ch}
.facts div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--border);font-size:1rem}
.facts b{color:var(--t-title)}
.price{font:400 var(--fs-h3)/1 var(--font-title);color:var(--t-title);margin-top:18px}.price small{font:400 1rem var(--font-body);color:var(--t-muted)}
/* beneficios */
.feats{display:grid;grid-template-columns:repeat(4,1fr)}
.feat{padding:8px 28px 8px 0;border-left:1px solid var(--border);padding-left:24px}.feat:first-child{border-left:0;padding-left:0}
.feat svg{width:34px;height:34px;color:var(--accent);margin-bottom:16px}.feat p{font-size:1rem;margin-top:8px}
@media(max-width:860px){.feats{grid-template-columns:1fr 1fr;row-gap:32px}.feat:nth-child(3){border-left:0;padding-left:0}}
/* cinta */
.mq{overflow:hidden;cursor:grab;user-select:none}
.mq .tr{display:flex;gap:12px;width:max-content;margin-bottom:12px;will-change:transform}
.tile{position:relative;width:clamp(220px,26vw,380px);aspect-ratio:4/5;overflow:hidden;flex:none}.tile.w2{aspect-ratio:16/10;width:clamp(300px,38vw,560px)}
.tile em{position:absolute;left:14px;bottom:12px;z-index:3;font:700 .875rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#fff;font-style:normal}
/* testimonios */
.qs{position:relative;min-height:340px}
.q{position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none;display:flex;flex-direction:column;justify-content:center;gap:24px}.q.on{opacity:1;pointer-events:auto}
.q blockquote{margin:0;font:400 var(--fs-h3)/1.3 var(--font-title);letter-spacing:-.01em;color:var(--t-title);max-width:26ch}
.q cite{font-style:normal;font-weight:700;display:flex;align-items:center;gap:14px}.q cite i{width:44px;height:44px;border-radius:50%;background:var(--c-bruma);display:block}
.qc{display:flex;gap:10px;align-items:center;margin-top:20px}.qc button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--t-title);font-weight:700}.qc button:hover{background:var(--t-title);color:#fff}
.dots{display:flex;gap:8px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--border)}.dots i.on{background:var(--accent)}
/* proceso */
.proc{display:grid;grid-template-columns:repeat(var(--c,4),1fr);position:relative;margin-top:48px}
.proc::before{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--border)}
.proc::after{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform 1.6s var(--ease-e)}
.proc.in::after{transform:scaleX(1)}
.pr{padding:26px 24px 8px 0;border-left:1px solid var(--border);padding-left:22px;opacity:.25;transition:opacity .6s;transition-delay:calc(var(--i)*250ms)}.pr:first-child{border-left:0;padding-left:0}
.proc.in .pr{opacity:1}
.pr .n{font:400 var(--fs-h2)/1 var(--font-title);color:var(--accent);letter-spacing:-.02em}.pr h3{margin:12px 0 8px}
@media(max-width:860px){.proc{grid-template-columns:1fr}.proc::before,.proc::after{width:2px;height:100%;transform-origin:top}.proc::after{transform:scaleY(0)}.proc.in::after{transform:scaleY(1)}.pr,.pr:first-child{border-left:0;padding-left:28px;padding-bottom:22px}}
/* retrato */
.por{display:grid;grid-template-columns:5fr 7fr;gap:calc(var(--gap)*3);align-items:center}
.por .ar{position:relative;aspect-ratio:5/7;overflow:hidden;border-radius:999px 999px 0 0}
.hit{list-style:none;margin:30px 0 0;padding:0 0 0 22px;border-left:1px solid var(--border);display:grid;gap:18px}
.hit li{position:relative;opacity:.4;transition:opacity .5s}.hit li::before{content:"";position:absolute;left:-28px;top:.55em;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--border);transition:all .5s}
.hit li.in{opacity:1}.hit li.in::before{background:var(--accent);border-color:var(--accent)}.hit b{color:var(--t-title)}
@media(max-width:860px){.por{grid-template-columns:1fr}.por .ar{max-width:360px}}
/* comparador */
.cmp{position:relative;aspect-ratio:16/9;overflow:hidden;--pos:50%;cursor:ew-resize;user-select:none}
.cmp .a2{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.cmp .bf{filter:grayscale(.85) contrast(.9) brightness(.85)}
.cmp .hd{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;z-index:6;pointer-events:none}.cmp .hd::after{content:"⇄";position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:#fff;color:var(--c-noche);display:grid;place-items:center;font-size:1.5rem}
.cmp input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:ew-resize;z-index:7}
.cmp .lb{position:absolute;top:16px;z-index:5;font:700 .875rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(2,2,2,.5);padding:6px 12px;border-radius:99px}
/* acordeón */
.acc{border-bottom:1px solid var(--border)}
.ac{border-top:1px solid var(--border)}
.acq{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:22px 0;font:800 var(--fs-h5)/1.3 var(--font-title);color:var(--t-title)}
.acq::after{content:"+";font:300 2rem/1 var(--font-title);transition:transform .3s}.ac.open .acq::after{transform:rotate(45deg)}
.aca{max-height:0;overflow:hidden;transition:max-height .5s var(--ease-e)}.aca>div{padding:0 0 24px;max-width:70ch}
table.tb{border-collapse:collapse;width:100%;margin:12px 0;font-size:1rem}.tb th,.tb td{padding:10px 12px;border-top:1px solid var(--border);text-align:left}.tb th{color:var(--t-title)}
.dk .tb th{color:#fff}
/* cierre */
.cta{position:relative;overflow:hidden;text-align:center;padding-block:calc(var(--section-y)*1.2);background:var(--accent);color:#fff}
.cta .rays{position:absolute;left:50%;top:50%;width:min(1100px,140vw);aspect-ratio:1;margin:calc(min(1100px,140vw)/-2) 0 0 calc(min(1100px,140vw)/-2);color:#fff;opacity:.09;will-change:transform}
.cta .wrap{position:relative;z-index:2}.cta .ctas{justify-content:center}.cta .h1{color:#fff;max-width:16ch;margin:0 auto}.cta p{max-width:44ch;margin:18px auto 0}
/* seguro, planes */
@media(max-width:700px){.plan .tg{grid-template-columns:1fr 1fr}}
/* equipo, marcas, contacto */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--gap)*2) var(--gap)}
.tm .ar{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 0 0;transition:transform .5s var(--ease)}.tm:hover .ar{transform:translateY(-8px)}
.tm h3{margin-top:18px}.tm p{font-size:1rem;margin-top:6px;color:var(--t-muted)}
@media(max-width:860px){.team{grid-template-columns:1fr 1fr}}@media(max-width:520px){.team{grid-template-columns:1fr}}
.lvl{width:100%;accent-color:var(--accent);height:44px}.lvlt{display:flex;justify-content:space-between;font-size:1rem;color:var(--t-muted)}
.mod{margin-top:22px;border-top:1px solid var(--border);padding-top:20px;min-height:110px}.mod b{font:600 var(--fs-h4) var(--font-title);color:var(--t-title);display:block}
.form{display:grid;gap:18px}.fld{display:grid;gap:8px}.fld label{font-weight:700;font-size:1rem;color:var(--t-title)}
.fld input,.fld select,.fld textarea{font:inherit;height:56px;padding:0 20px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--t-body);width:100%;transition:border-color .15s,box-shadow .15s}
.fld textarea{height:130px;padding:16px 20px;resize:vertical}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--c-cielo)}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:1rem}.chk input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent)}
.ok{display:none;text-align:center;padding:40px 10px}.ok svg{width:72px;height:72px;margin:0 auto 18px;color:var(--c-verde)}.ok path{stroke-dasharray:60;stroke-dashoffset:60;animation:dr .8s .1s var(--ease) forwards}@keyframes dr{to{stroke-dashoffset:0}}
.sent .form{display:none}.sent .ok{display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--gap)*3)}
@media(max-width:860px){.two,.two.t3{grid-template-columns:1fr}}
.side{position:sticky;top:110px;align-self:start;border:1px solid var(--border);padding:28px;display:grid;gap:14px;background:#fff}
.incl{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}.incl li{padding-left:22px;position:relative}.incl li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:var(--accent)}
/* drawer */
.dim{position:fixed;inset:0;background:rgba(2,2,2,.5);z-index:350;opacity:0;visibility:hidden;transition:all .4s}.dim.on{opacity:1;visibility:visible}
.dr{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--bg);z-index:360;transform:translateX(100%);transition:transform .55s var(--ease-e);overflow:auto;padding:calc(28px + env(safe-area-inset-top,0px)) 32px 40px}.dr.on{transform:none}
.dr .hd2{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.dr .logo{color:var(--c-azul);width:130px}
.dr .x{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--t-title);font-size:1.25rem}
/* footer */
.foot{position:relative;background:#fff;color:var(--t-body);overflow:hidden;padding-top:var(--section-y);border-top:1px solid var(--border)}.foot .logo{color:var(--c-azul)}
.fg{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:var(--gap);position:relative;z-index:2}
.fg h4{font:700 .875rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-noche);margin-bottom:14px}
.fg a{display:block;padding:3px 0}.fg a:hover{color:var(--c-azul);text-decoration:underline}
.legal{border-top:1px solid var(--border);margin-top:48px;padding-block:20px;font-size:1rem;position:relative;z-index:2}
@media(max-width:860px){.fg{grid-template-columns:1fr 1fr}}
/* varios */
#cur{position:fixed;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:500;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease);display:none;place-items:center}
#cur span{font:700 .875rem var(--font-body);color:#000;opacity:0;letter-spacing:.04em}
#cur.big{width:76px;height:76px;margin:-38px 0 0 -38px}#cur.big span{opacity:1}

.prog{position:fixed;top:env(safe-area-inset-top,0px);left:0;height:2px;background:var(--accent);z-index:210;width:0}
.wipe{position:fixed;inset:0;background:var(--c-noche);z-index:450;transform:translateY(100%);pointer-events:none;border-radius:50% 50% 0 0/14vh 14vh 0 0}
.wipe.in{transform:none;transition:transform .45s var(--ease-e)}.wipe.out{transform:translateY(-100%);transition:transform .5s var(--ease-e)}
.pre{position:fixed;inset:0;background:var(--c-noche);z-index:600;display:grid;place-items:center;transition:transform 1s var(--ease-e) .5s;border-radius:0 0 50% 50%/0 0 14vh 14vh}
.pre .logo{width:min(300px,60vw);opacity:0;transform:scale(.94);animation:pl 1s .15s var(--ease) forwards}@keyframes pl{to{opacity:1;transform:none}}
.pre.go{transform:translateY(-105%)}
.fab{position:fixed;left:0;right:0;bottom:0;z-index:180;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);box-shadow:0 -6px 20px rgba(27,53,87,.12)}.fab .btn{flex:1;height:48px}
@media(max-width:700px){.fab{display:flex}.foot{padding-bottom:70px}}
.brandh{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.brandh small{font-size:1rem;color:var(--t-muted)}
.sp{height:var(--section-y)}
/* v2 */
.quo .qi .sc.qph{display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:24px;background:var(--c-bruma);color:var(--t-title)}.qph b{font:800 var(--fs-h4) var(--font-title)}.qph small{font-size:1rem;color:var(--t-muted)}
.vx{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--gap)*3)}.vx ol{list-style:none;margin:22px 0 0;padding:0;counter-reset:v}.vx li{counter-increment:v;display:grid;grid-template-columns:44px 1fr;padding:16px 0;border-top:1px solid var(--border);font:800 var(--fs-h5)/1.3 var(--font-title);color:var(--t-title)}.vx li::before{content:counter(v,decimal-leading-zero);font:700 .875rem/1.9 var(--font-title);color:var(--c-azul)}.vx .vph{position:relative;aspect-ratio:4/3;background:var(--c-bruma);display:grid;place-content:center;text-align:center;color:var(--t-title);font-weight:700;margin-top:22px}
@media(max-width:860px){.vx{grid-template-columns:1fr}}
.lbar{margin-top:0}.lbar button.on{background:var(--c-verde)}
.cgr{margin-top:44px}.cgr[hidden],.cd[hidden]{display:none!important}
.cgh{display:flex;align-items:baseline;gap:6px 16px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:18px;margin-bottom:20px}
.tmd{margin-top:12px;font-size:1rem;color:var(--t-muted)}
.steps.flat{height:auto!important}.steps.flat .stick{position:static;height:auto;display:block}.steps.flat .sr{display:none}.steps.flat .sl{padding:var(--section-y) var(--gutter)}.steps.flat .st{opacity:1;cursor:default}.steps.flat .st .b{max-height:none;opacity:1}.steps.flat .mi{display:block;position:relative;height:clamp(200px,28vw,340px);margin:14px 0;overflow:hidden}
.dacl{display:flex;justify-content:center;align-items:center}
.acc{padding-block:var(--section-y)}.acc .sl{padding:0;overflow:visible;display:block}.acc .sg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(var(--gap)*3);align-items:start}
.acc .st{display:block;opacity:1;cursor:default;padding:0}.acc .st .n{color:var(--accent)}
.acc .sh{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:4rem minmax(0,1fr) auto;column-gap:22px;align-items:center;padding-block:14px;cursor:pointer}.acc .sh:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.acc .sh svg{width:28px;height:28px;color:var(--accent);transition:transform .35s var(--ease)}.acc .st.open .sh svg{transform:rotate(180deg)}
.acc .st .n{font-size:clamp(2rem,3.4vw,3rem)}.acc .st .b{margin-left:calc(4rem + 22px);max-height:0;opacity:0}.acc .st.open .b{max-height:400px;opacity:1}.acc .st .b p{padding:0 0 18px}
.acc .sr{position:sticky;top:110px;height:min(72vh,640px)}.acc .sr .sc{opacity:0;transition:opacity .5s var(--ease)}.acc .sr .sc.on{opacity:1}
.acc .stm{display:none}
@media(max-width:767px){.acc .sg{display:none}.acc .stm{display:block}.acc .stmi{position:relative;aspect-ratio:4/3;overflow:hidden;margin:20px 0}.acc .stc>.stk{background:var(--bg-alt);padding:24px 22px;display:grid;align-content:start;gap:10px}.acc .stk .n{font:400 2.6rem/1 var(--font-title);color:var(--accent);letter-spacing:-.02em}.acc .stk h3{font:800 var(--fs-h4)/1.2 var(--font-title);color:var(--t-title)}}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.pc>div{border-top:1px solid var(--border);padding-top:12px}.pc span{display:block;font:700 .8125rem/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-verde);margin-bottom:6px}.pc p{margin:0;font-size:1rem}@media(max-width:560px){.pc{grid-template-columns:1fr}}
.stats .stat b{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.05}
@media(min-width:861px){.segp.split{align-items:stretch}.segp.split .im{aspect-ratio:auto;height:auto;min-height:100%}}
/* v5 */
.hud .cnt,.cue{display:none!important}
.segp .im{aspect-ratio:auto;min-height:420px}
.cmp.real .bf{filter:none}
.strip{background:var(--c-noche);color:#fff}.strip .g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.strip .g>div{padding:30px 22px;border-left:1px solid rgba(255,255,255,.2);font:800 var(--fs-h5)/1.25 var(--font-title);color:#fff}.strip .g>div:first-child{border-left:0;padding-left:0}
.c3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:34px}.c3>div{border-top:2px solid var(--accent);padding-top:20px}.c3 h3{font:800 var(--fs-h4)/1.2 var(--font-title);color:var(--t-title)}.c3 p{margin-top:10px}
.dg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:34px}.dg>div{background:var(--bg-alt);padding:24px 22px}.dg .n{font:400 2rem/1 var(--font-title);color:var(--accent)}.dg h3{font:800 var(--fs-h5)/1.25 var(--font-title);color:var(--t-title);margin-top:12px}.dg p{margin-top:8px;font-size:1rem}
button.tmw{background:none;border:0;padding:0;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;display:block;width:100%}a.tmw,button.tmw{display:block}.tmw .lnk{margin-top:12px;display:inline-flex;gap:8px;font-weight:700;color:var(--t-title)}.tmw:hover .lnk{text-decoration:underline}
.tmod{position:fixed;inset:0;z-index:400;background:rgba(14,29,52,.62);display:none;place-items:center;padding:20px}.tmod.on{display:grid}.tmod .bx{background:#fff;color:var(--t-body);width:100%;max-width:640px;max-height:85svh;overflow:auto;padding:44px 36px 36px;position:relative}.tmod .bx h3{font:800 var(--fs-h3)/1.2 var(--font-title);letter-spacing:-.01em;color:var(--t-title);text-transform:none;padding-right:36px}.tmod .bx .sb{margin-top:10px;font-size:var(--fs-lead);line-height:1.6;font-weight:700;color:var(--t-title);text-transform:none;letter-spacing:0}.tmod .bx{font:400 var(--fs-body)/1.65 var(--font-body);text-transform:none;letter-spacing:normal}.tmod .bx p{margin-top:18px;max-width:none;padding:0;text-transform:none;letter-spacing:normal}.tmod .x2{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--t-title)}
@media(max-width:860px){.segp .im{aspect-ratio:4/5;min-height:0}.strip .g{grid-template-columns:1fr 1fr}.strip .g>div{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:20px 0}.c3,.dg{grid-template-columns:1fr}}
@media(max-width:767px){.cd{aspect-ratio:auto;display:flex;flex-direction:column}.cd .ph1{position:relative;inset:auto;aspect-ratio:4/3;flex:none}.cd::after{bottom:auto;aspect-ratio:4/3;background:linear-gradient(0deg,var(--c-noche) 0%,rgba(27,53,87,.55) 22%,rgba(27,53,87,0) 50%)}.cd .nm{position:relative;left:auto;right:auto;bottom:auto;padding:0 20px 22px;margin-top:-26px}}
@media(max-width:560px){.stats .g{grid-template-columns:1fr}.stat b{overflow-wrap:anywhere}}
.tcar{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.tcar::-webkit-scrollbar{display:none}
.tc{flex:0 0 calc((100% - 4px)/3);position:relative;aspect-ratio:4/5;overflow:hidden;color:#fff;scroll-snap-align:start;display:flex;align-items:flex-end;text-align:left;border:0;margin:0;padding:0;background:var(--c-salvia);cursor:pointer;font:inherit}
.tc>img,.tc>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}.tc:hover>img{transform:scale(1.04)}
.tc::after{content:"";position:absolute;inset:0;background:var(--scrim);z-index:1}
.tc .in2{position:relative;z-index:2;padding:28px;display:grid;gap:8px;width:100%}
.tc .co{font:700 .875rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-salvia)}
.tc h3{font:800 var(--fs-h3)/1.05 var(--font-title);color:#fff;letter-spacing:-.01em}
.tc p{font-size:1rem;line-height:1.5;color:#fff;opacity:.92;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:40ch}
.tc .lnk{color:#fff;font-weight:700;display:inline-flex;gap:8px;margin-top:4px}.tc .chip.ej{justify-self:start}
.tnav{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.tnav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--t-title);font-size:1.2rem;cursor:pointer}.tnav button:hover{background:var(--c-bruma)}
.tmod .bx.bxp{max-width:880px;padding:0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.tmod .bx.bxp .pf{position:relative;min-height:100%;background:var(--c-salvia)}.tmod .bx.bxp .pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tmod .bx.bxp .tt2{padding:44px 36px 36px}
@media(max-width:1000px){.tc{flex-basis:calc((100% - 2px)/2)}}
@media(max-width:767px){.tc{flex-basis:84%}.tnav{display:none}.tmod .bx.bxp{grid-template-columns:1fr}.tmod .bx.bxp .pf{aspect-ratio:4/3;min-height:0}}
/* sin revelado al hacer scroll: todo visible */
[data-r],[data-r].out,[data-r].in{opacity:1!important;transform:none!important;transition:none!important}.w>span,.out .w>span{transform:none!important;transition:none!important}.split .im.clip{opacity:1!important}.proc::after{transform:none!important}.pr{opacity:1!important}.hit li{opacity:1!important}.hit li::before{background:var(--accent)!important;border-color:var(--accent)!important}.inter .wd,.intro .wd{opacity:1!important}.ov::before{transform:scaleX(1)!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:150ms!important}[data-r]{opacity:1;transform:none}.w>span{transform:none}.pin{height:auto!important}.stick{position:static;height:auto}}
