/* ==========================================================
   HORLUX & EMUNA · Real Estate Partners · v4
   Sistema: negro · cristal · marfil · oro
   Firma visual: los dos pilares (hero), la lente de cristal (cursor),
   la puerta (transición entre páginas), la retícula de memorando.
   ========================================================== */
:root{
  --black:#000; --ink:#070809; --ink2:#0d0f11;
  --ivory:#EFE9DC; --ivory-70:rgba(239,233,220,.7); --ivory-50:rgba(239,233,220,.5); --ivory-30:rgba(239,233,220,.3); --ivory-12:rgba(239,233,220,.12); --ivory-06:rgba(239,233,220,.06);
  --gold:#C4A15C; --gold-soft:#E2C88C; --gold-30:rgba(196,161,92,.3);
  --glass-tint:rgba(150,162,172,.10); --glass-edge:rgba(239,233,220,.18); --glass-hi:rgba(239,233,220,.5);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.76,0,.24,1);
  --gutter:clamp(20px,5vw,80px);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--black);color:var(--ivory)}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}
body{font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:.004em;text-wrap:balance}
em{font-style:italic}
::selection{background:var(--gold);color:#000}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.wrap{width:min(1360px,calc(100% - 2*var(--gutter)));margin-inline:auto}
.num{font-variant-numeric:tabular-nums}

/* retícula de memorando: 4 hairlines fijas */
.grid-lines{position:fixed;inset:0;pointer-events:none;z-index:1;display:grid;grid-template-columns:repeat(4,1fr)}
.grid-lines i{border-left:1px solid var(--ivory-06)}
.grid-lines i:first-child{border-left:0}

/* cristal */
.glass{position:relative;background:linear-gradient(160deg,var(--glass-tint),rgba(150,162,172,.03) 45%,rgba(239,233,220,.05));border:1px solid var(--glass-edge);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.glass::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-hi),transparent);pointer-events:none}
.glass::after{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:linear-gradient(180deg,var(--glass-hi),transparent 60%);pointer-events:none}

/* lente de cristal (cursor) */
.lens{position:fixed;top:0;left:0;z-index:9990;pointer-events:none;opacity:0;transform:translate(-50%,-50%);display:flex;gap:6px;align-items:center;transition:opacity .4s}
.lens.on{opacity:1}
.lens i{display:block;width:54px;height:210px;border:1px solid rgba(239,233,220,.45);background:linear-gradient(160deg,rgba(239,233,220,.14),rgba(150,162,172,.06) 40%,rgba(0,0,0,.05));backdrop-filter:blur(3px) saturate(1.25) brightness(1.18) contrast(1.05);-webkit-backdrop-filter:blur(3px) saturate(1.25) brightness(1.18) contrast(1.05);box-shadow:inset 1px 1px 0 rgba(239,233,220,.35),0 20px 60px rgba(0,0,0,.35)}
.lens b{display:block;width:1px;height:150px;background:linear-gradient(transparent,var(--gold-soft),transparent);box-shadow:0 0 10px 2px rgba(226,200,140,.5)}
.cursor-dot{position:fixed;top:0;left:0;width:5px;height:5px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
@media (hover:none){.lens,.cursor-dot{display:none}}

/* etiquetas, botones */
.eyebrow{font-size:10.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold)}
.meta{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-30)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;padding:16px 32px;border:1px solid transparent;transition:all .45s var(--ease);cursor:pointer;white-space:nowrap}
.btn-ivory{background:var(--ivory);color:#000;border-color:var(--ivory)}.btn-ivory:hover{background:transparent;color:var(--ivory)}
.btn-glass{border-color:var(--glass-edge);color:var(--ivory);background:var(--glass-tint);backdrop-filter:blur(10px)}.btn-glass:hover{border-color:var(--ivory)}
.btn-gold{border-color:var(--gold);color:var(--gold)}.btn-gold:hover{background:var(--gold);color:#000}
.arrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.arrow::after{content:"→";margin-left:12px;display:inline-block;transition:transform .4s var(--ease)}
a:hover>.arrow::after,.arrow:hover::after{transform:translateX(8px)}

/* cabecera de sección: memorando */
.sh{display:grid;grid-template-columns:120px 1fr auto;gap:30px;align-items:end;padding-bottom:26px;border-bottom:1px solid var(--ivory-12);margin-bottom:clamp(40px,5vw,70px)}
.sh .n{font-family:var(--serif);font-size:clamp(44px,5vw,72px);line-height:.8;color:var(--gold)}
.sh h2{font-size:clamp(32px,4vw,58px)}
.sh .meta{text-align:right;padding-bottom:6px}
@media (max-width:700px){.sh{grid-template-columns:1fr;gap:12px}.sh .meta{text-align:left}}

/* ---------- INTRO ---------- */
#intro{position:fixed;inset:0;z-index:1000;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;will-change:opacity}
#intro.done{display:none}
.intro-stage{position:relative;width:min(46vw,220px);aspect-ratio:640/1000;perspective:1600px;transform-style:preserve-3d}
.intro-light{position:absolute;left:50%;top:50%;width:1px;height:52%;transform:translate(-50%,-50%);background:linear-gradient(to bottom,transparent,rgba(226,200,140,.9) 25%,#fbf4e3 50%,rgba(226,200,140,.9) 75%,transparent);box-shadow:0 0 12px 2px rgba(226,200,140,.35),0 0 50px 12px rgba(196,161,92,.14);opacity:0}
.intro-core{position:absolute;left:50%;top:50%;width:80vmax;height:80vmax;border-radius:50%;transform:translate(-50%,-50%) scale(.6);background:radial-gradient(circle,rgba(244,232,205,.4) 0%,rgba(222,196,140,.16) 22%,rgba(160,124,60,.05) 40%,rgba(0,0,0,0) 58%);opacity:0}
.intro-doors{position:absolute;inset:0;transform-style:preserve-3d}
.door{position:absolute;top:0;width:50%;height:100%;object-fit:contain;opacity:0;backface-visibility:hidden}
.door-l{left:0;transform-origin:0% 50%}.door-r{right:0;transform-origin:100% 50%}
.intro-word{position:absolute;left:0;right:0;top:calc(50% + min(23vw,110px) + 26px);text-align:center;opacity:0}
.intro-word .iw-1{display:block;font-family:var(--serif);font-size:clamp(20px,3.6vw,30px);letter-spacing:.16em}
.intro-word .iw-1 em{color:var(--gold)}
.intro-word .iw-2{display:block;font-size:10px;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin-top:8px}
.intro-skip{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);background:none;border:0;border-bottom:1px solid var(--ivory-30);color:var(--ivory-50);font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;padding:6px 2px;cursor:pointer;opacity:0}

/* ---------- VELO: puerta entre páginas ---------- */
.veil{position:fixed;inset:0;z-index:900;pointer-events:none}
.veil i{position:absolute;top:0;bottom:0;width:50.5%;background:#000;transform:translateX(-101%);will-change:transform}
.veil i:last-child{left:auto;right:0;transform:translateX(101%)}
.veil i:first-child{left:0;border-right:1px solid var(--gold-30);box-shadow:8px 0 40px rgba(226,200,140,.08)}
.veil i:last-child{border-left:1px solid var(--gold-30)}
.veil.closed i,.door-in .veil i{transform:translateX(0)}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gutter);transition:background .5s,padding .5s,transform .6s var(--ease)}
.nav.hidden-intro{opacity:0}
.nav.solid{background:rgba(0,0,0,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding-block:11px;border-bottom:1px solid var(--ivory-06)}
.nav-brand{display:flex;align-items:center;gap:14px}
.nav-brand img{height:34px;width:auto}
.nav-word{font-family:var(--serif);font-size:18px;letter-spacing:.16em}
.nav-word em{color:var(--gold)}
.nav-word small{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-top:1px}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-70);position:relative;transition:color .3s;padding:4px 0}
.nav-links a:hover,.nav-links a.active{color:var(--ivory)}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--gold);transition:right .4s var(--ease)}
.nav-links a:hover::after,.nav-links a.active::after{right:0}
.nav-cta{border:1px solid var(--glass-edge);padding:10px 16px !important;background:var(--glass-tint)}
.nav-cta::after{display:none !important}
.nav-burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;gap:7px;align-items:center;justify-content:center}
.nav-burger span{display:block;width:26px;height:1px;background:var(--ivory);transition:transform .4s var(--ease)}
.nav-burger.open span:first-child{transform:translateY(4px) rotate(45deg)}.nav-burger.open span:last-child{transform:translateY(-4px) rotate(-45deg)}
.nav-mobile{position:fixed;inset:0;z-index:290;background:rgba(0,0,0,.97);display:flex;flex-direction:column;justify-content:center;padding:0 clamp(28px,8vw,60px);gap:4px;opacity:0;pointer-events:none;transition:opacity .5s}
.nav-mobile.open{opacity:1;pointer-events:auto}
.nav-mobile a{font-family:var(--serif);font-size:clamp(28px,6.5vw,42px);padding:8px 0;border-bottom:1px solid var(--ivory-12);display:flex;justify-content:space-between;align-items:baseline}
.nav-mobile a small{font-family:var(--sans);font-size:10px;letter-spacing:.3em;color:var(--gold)}
.nm-foot{margin-top:26px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
@media (max-width:1080px){.nav-links{display:none}.nav-burger{display:flex}}
@media (max-width:600px){.nav-word{display:none}}

/* ---------- HERO "DOS PILARES" ---------- */
.pillars{position:relative;height:200svh}
.pillars-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#000}
.p-media{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:10px;align-items:stretch;width:min(52vw,560px);height:62svh;will-change:width,height}
.p-col{position:relative;flex:1;overflow:hidden;border:1px solid rgba(239,233,220,.45);background:#0a0b0c}
.p-col::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(160deg,rgba(239,233,220,.10),transparent 35%,transparent 70%,rgba(239,233,220,.05));box-shadow:inset 1px 1px 0 rgba(239,233,220,.5)}
.p-col video,.p-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.75)}
.p-seam{position:absolute;left:50%;top:50%;width:1px;height:70%;transform:translate(-50%,-50%);background:linear-gradient(transparent,var(--gold-soft) 30%,#fbf4e3 50%,var(--gold-soft) 70%,transparent);box-shadow:0 0 14px 3px rgba(226,200,140,.4);z-index:3}
.p-copy{position:absolute;left:var(--gutter);right:var(--gutter);top:50%;transform:translateY(-50%);z-index:4;display:grid;grid-template-columns:1fr 1fr;pointer-events:none}
.p-copy>*{pointer-events:auto}
.p-title{grid-column:1;align-self:center}
.p-title h1{font-size:clamp(32px,3.7vw,58px);line-height:1;max-width:calc(50vw - 290px - var(--gutter))}
.p-title h1 .line{display:block;overflow:hidden;padding-bottom:.08em}
.p-title h1 .line>span{display:block;transform:translateY(110%)}
.p-title .eyebrow{margin-bottom:22px}
.p-aside{grid-column:2;justify-self:end;align-self:end;max-width:360px;text-align:right}
.p-aside p{color:var(--ivory-70);font-size:15px;line-height:1.7}
.p-aside .ctas{display:flex;gap:12px;justify-content:flex-end;margin-top:26px;flex-wrap:wrap}
.p-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:26px;z-index:4;display:flex;justify-content:space-between;align-items:center}
.p-foot .meta{display:flex;gap:26px}
.scroll-cue{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--ivory-30)}
.scroll-cue span{display:block;width:1px;height:40px;background:linear-gradient(var(--gold),transparent);animation:drop 2.2s var(--ease) infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.p-over{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.85),transparent 40%);opacity:0}
.p-claim{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(50px,8vh,90px);z-index:5;opacity:0;transform:translateY(20px)}
.p-claim h2{max-width:20ch}
.p-claim h2{font-size:clamp(34px,4.4vw,64px)}
.p-claim p{color:var(--ivory-70);margin-top:14px;max-width:44ch;font-size:15px}
@media (max-width:900px){
  .p-media{width:min(70vw,420px);height:50svh;top:42%}
  .p-copy{grid-template-columns:1fr;top:auto;bottom:70px;transform:none}
  .p-title h1{font-size:clamp(34px,9vw,52px);max-width:none}
  .p-aside{display:none}
  .p-foot .meta{display:none}
}

/* ---------- HERO 3D: la puerta ---------- */
.hero3d{position:relative;height:320svh;background:#000;z-index:2}
.h3-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#000}
.h3-stage canvas{position:absolute;inset:0;width:100% !important;height:100% !important;display:block}
.h3-video{position:absolute;width:2px;height:2px;opacity:0;pointer-events:none;left:0;top:0}
.h3-copy{z-index:4}
.h3-claim{opacity:0}
.h3-shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.25) 45%,transparent 70%);opacity:0}
@media (max-width:900px){.hero3d{height:260svh}}
@media (prefers-reduced-motion:reduce){.hero3d{height:auto}.h3-stage{position:relative}.h3-claim{position:relative;opacity:1;transform:none;padding:30px var(--gutter)}}

/* ---------- TICKER ---------- */
.ticker{border-top:1px solid var(--ivory-12);border-bottom:1px solid var(--ivory-12);overflow:hidden;background:var(--ink);position:relative;z-index:2}
.ticker-track{display:flex;width:max-content;animation:tick 60s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{display:flex;align-items:center;gap:26px;padding:16px 26px 16px 0;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--ivory-50);white-space:nowrap}
.ticker span img{height:18px;width:auto;opacity:.7}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- secciones genéricas ---------- */
.sec{position:relative;z-index:2;padding:clamp(100px,12vw,160px) 0}
.sec-ink{background:var(--ink)}
.statement{font-size:clamp(28px,3.3vw,50px);line-height:1.16;max-width:26ch}
.split .w{display:inline-block;opacity:.14}
.reveal{opacity:0;transform:translateY(24px)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.lead{color:var(--ivory-70);font-size:clamp(15.5px,1.2vw,18px);line-height:1.75;max-width:52ch}
.small{color:var(--ivory-50);font-size:14.5px;line-height:1.7}
@media (max-width:820px){.two{grid-template-columns:1fr}}

/* filas con vista previa (índice de operaciones) */
.rows{border-top:1px solid var(--ivory-12)}
.row{display:grid;grid-template-columns:70px 1.2fr 1fr auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--ivory-12);transition:padding-left .5s var(--ease)}
.row:hover{padding-left:12px}
.row .num{font-family:var(--serif);color:var(--gold);font-size:22px}
.row h3{font-size:clamp(24px,2.4vw,34px)}
.row p{color:var(--ivory-50);font-size:14px;line-height:1.6;max-width:44ch}
.row .arrow{white-space:nowrap}
.preview{position:fixed;z-index:50;width:300px;aspect-ratio:4/5;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92);overflow:hidden;border:1px solid var(--glass-edge);transition:opacity .35s,transform .5s var(--ease)}
.preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.preview.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (max-width:820px){.row{grid-template-columns:50px 1fr;gap:12px}.row p,.row .arrow{grid-column:2}.preview{display:none}}

/* tarjetas cristal */
.gcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gcard{padding:32px 28px 28px;min-height:250px;display:flex;flex-direction:column;gap:10px;transition:border-color .5s}
.gcard:hover{border-color:rgba(239,233,220,.36)}
.gcard .k{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.gcard h3{font-size:27px;margin-top:6px}
.gcard p{color:var(--ivory-50);font-size:14.5px;line-height:1.7;margin-top:auto}
.gcard-cta{border-color:var(--gold-30);justify-content:flex-end}
.gcard-cta .btn{align-self:flex-start;margin-top:12px}
@media (max-width:1000px){.gcards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.gcards{grid-template-columns:1fr}}

/* valores en columnas */
.cols4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ivory-12);border-bottom:1px solid var(--ivory-12)}
.cols4>div{padding:26px 26px 26px 0;border-right:1px solid var(--ivory-12);display:flex;flex-direction:column;gap:8px}
.cols4>div+div{padding-left:26px}.cols4>div:last-child{border-right:0}
.cols4 b{font-family:var(--serif);font-weight:400;font-size:24px}
.cols4 span{font-size:13.5px;color:var(--ivory-50);line-height:1.6}
.cols4 .n{font-family:var(--serif);color:var(--gold);font-size:18px;letter-spacing:.1em}
@media (max-width:900px){.cols4{grid-template-columns:1fr 1fr}.cols4>div{border-right:0;padding-left:0;border-bottom:1px solid var(--ivory-12)}.cols4>div:nth-child(2n){border-left:1px solid var(--ivory-12);padding-left:26px}.cols4>div:nth-last-child(-n+2){border-bottom:0}}
@media (max-width:560px){.cols4{grid-template-columns:1fr}.cols4>div:nth-child(2n){border-left:0;padding-left:0}.cols4>div{border-bottom:1px solid var(--ivory-12) !important}.cols4>div:last-child{border-bottom:0 !important}}

/* ---------- ACTIVOS (pin + puerta) ---------- */
.assets{position:relative;height:640vh;background:#000;z-index:2}
.assets-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:flex-end}
.assets-media{position:absolute;inset:0}
.asset{position:absolute;inset:0;clip-path:inset(0 50% 0 50%);will-change:clip-path}
.asset img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(.8);transform:scale(1.08)}
.asset[data-i="0"]{clip-path:inset(0)}
.assets-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.25) 50%,rgba(0,0,0,.4))}
.assets-copy{position:relative;z-index:2;width:min(1360px,calc(100% - 2*var(--gutter)));margin:0 auto;padding-bottom:clamp(60px,9vh,110px);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.assets-texts{position:relative;min-height:190px;max-width:580px}
.atext{position:absolute;left:0;top:0;opacity:0;transform:translateY(16px)}
.atext small{display:block;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.atext h3{font-size:clamp(38px,5vw,74px);margin-bottom:14px}
.atext p{color:var(--ivory-70);max-width:46ch;line-height:1.7;font-size:15.5px}
.assets-progress{margin-top:30px;height:1px;background:var(--ivory-12);max-width:580px;position:relative}
.assets-progress i{position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--gold)}
.assets-idx{font-family:var(--serif);font-size:clamp(60px,8vw,120px);line-height:.8;color:var(--ivory-12);text-align:right}
.assets-idx b{font-weight:300;color:var(--gold)}
@media (max-width:700px){.assets-idx{display:none}.assets-copy{grid-template-columns:1fr}}

/* ---------- pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ivory-12)}
.steps li{padding:30px 28px 10px 0;border-right:1px solid var(--ivory-12);display:flex;flex-direction:column;gap:12px}
.steps li+li{padding-left:28px}.steps li:last-child{border-right:0}
.steps span{font-family:var(--serif);color:var(--gold);font-size:22px;letter-spacing:.1em}
.steps b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}
.steps p{color:var(--ivory-50);font-size:14.5px;line-height:1.7}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li{border-right:0;padding-left:0;border-bottom:1px solid var(--ivory-12);padding-bottom:26px}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* ---------- landings de destino / páginas con hero media ---------- */
.hero-media{position:relative;height:88svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;z-index:2}
.hero-media video,.hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.75)}
.hero-media .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.35) 50%,rgba(0,0,0,.5))}
.hm-inner{position:relative;z-index:2;width:min(1360px,calc(100% - 2*var(--gutter)));margin:0 auto;padding-bottom:clamp(60px,9vh,100px);display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end}
.hm-inner h1{font-size:clamp(44px,6.4vw,100px)}
.hm-inner .eyebrow{margin-bottom:22px}
.hm-inner .lead{margin-top:22px}
.hm-panel{padding:26px 28px;justify-self:end;width:100%;max-width:400px}
.hm-panel .k{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.hm-panel li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--ivory-12);font-family:var(--serif);font-size:20px}
.hm-panel li small{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory-30);text-align:right;align-self:center}
@media (max-width:900px){.hm-inner{grid-template-columns:1fr}.hm-panel{display:none}}

/* galería editorial (residencial) */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.tile{position:relative;overflow:hidden;background:#0c0d0e}
.tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.9);transform:scale(1.03);transition:transform 1.4s var(--ease),filter .8s}
.tile:hover img{transform:scale(1.08);filter:saturate(1) brightness(1)}
.tile .cap{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 18px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);display:flex;flex-direction:column;gap:3px}
.tile .cap span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.tile .cap h3{font-size:24px}
.tile .cap em{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-30)}
.t-a{grid-column:span 7;aspect-ratio:16/10}.t-b{grid-column:span 5;aspect-ratio:4/5}.t-c{grid-column:span 4;aspect-ratio:4/5}.t-d{grid-column:span 4;aspect-ratio:4/5}.t-e{grid-column:span 4;aspect-ratio:4/5}
@media (max-width:820px){.tile{grid-column:span 12 !important;aspect-ratio:4/3 !important}}

/* destinos */
.dest{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--ivory-12);border-left:1px solid var(--ivory-12)}
.dest a{position:relative;aspect-ratio:3/4;overflow:hidden;border-right:1px solid var(--ivory-12);border-bottom:1px solid var(--ivory-12);display:flex;flex-direction:column;justify-content:flex-end;padding:26px 24px}
.dest a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(.6);transform:scale(1.04);transition:transform 1.4s var(--ease),filter .8s}
.dest a:hover img{transform:scale(1.1);filter:brightness(.7) saturate(.9)}
.dest a h3{position:relative;font-size:clamp(26px,2.4vw,36px)}
.dest a small{position:relative;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:6px}
@media (max-width:1000px){.dest{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.dest{grid-template-columns:1fr 1fr}}

/* socios */
.partners{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px)}
.partner-photo{aspect-ratio:4/5;overflow:hidden;background:#0c0d0e;margin-bottom:20px;max-width:420px}
.partner-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .8s}
.partner:hover .partner-photo img{filter:grayscale(.25)}
.partner-ph{display:flex;align-items:center;justify-content:center}
.partner-ph span{font-family:var(--serif);font-size:64px;color:rgba(196,161,92,.5);letter-spacing:.1em}
.partner h3{font-size:28px;margin-bottom:6px}
.partner .meta{display:block;margin-bottom:12px}
.partner p{color:var(--ivory-50);font-size:14.5px;line-height:1.7}
@media (max-width:560px){.partners{grid-template-columns:1fr}}

/* CTA final */
.cta-band{position:relative;z-index:2;padding:clamp(90px,11vw,150px) 0;overflow:hidden}
.cta-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.3) saturate(.5)}
.cta-band .shade{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(0,0,0,.2),rgba(0,0,0,.85) 70%)}
.cta-band .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.cta-band h2{font-size:clamp(36px,5vw,76px);max-width:16ch}
.cta-band h2 em{color:var(--gold)}
.cta-band .r{justify-self:end;display:flex;flex-direction:column;gap:18px;align-items:flex-end;text-align:right}
@media (max-width:820px){.cta-band .wrap{grid-template-columns:1fr}.cta-band .r{justify-self:start;align-items:flex-start;text-align:left}}

/* contacto */
.contact-form{display:flex;flex-direction:column;gap:20px;padding:34px}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-30)}
.contact-form input,.contact-form textarea,.contact-form select{background:transparent;border:0;border-bottom:1px solid var(--ivory-30);color:var(--ivory);font-family:var(--sans);font-size:15.5px;padding:9px 0;outline:none;border-radius:0;transition:border-color .3s;font-weight:300}
.contact-form select option{background:#111}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--gold)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form .btn{align-self:flex-start;margin-top:6px}
.f-msg{font-size:13px;color:var(--gold);min-height:20px}
.contact-lines{display:flex;flex-direction:column;gap:10px;margin-top:30px}
.contact-lines a{font-family:var(--serif);font-size:24px;width:fit-content;border-bottom:1px solid transparent;transition:border-color .3s}
.contact-lines a:hover{border-color:var(--gold)}
.contact-lines .wa{font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:6px}
@media (max-width:820px){.f-row{grid-template-columns:1fr}.contact-form{padding:24px}}

/* ---------- FOOTER: cierre de memorando ---------- */
.footer{position:relative;z-index:2;border-top:1px solid var(--ivory-12);padding:70px 0 26px;background:#000}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;align-items:start}
.foot-brand{display:flex;gap:16px;align-items:center}
.foot-brand img{height:48px}
.foot-brand strong{display:block;font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:.16em}
.foot-brand em{color:var(--gold)}
.foot-brand small{display:block;font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.foot-col{display:flex;flex-direction:column;gap:9px;font-size:12px;letter-spacing:.08em;color:var(--ivory-50)}
.foot-col b{font-weight:400;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.foot-col a:hover{color:var(--ivory)}
.foot-word{margin-top:60px;font-family:var(--serif);font-size:clamp(40px,9vw,150px);line-height:.9;letter-spacing:.06em;color:var(--ivory-06);white-space:nowrap;overflow:hidden}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding-top:20px;border-top:1px solid var(--ivory-12);font-size:11px;letter-spacing:.14em;color:var(--ivory-30);flex-wrap:wrap}
@media (max-width:900px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-top{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  .scroll-cue span,.ticker-track{animation:none}
  .reveal{opacity:1;transform:none}
  .pillars{height:auto}.pillars-stage{position:relative;height:auto;padding:120px 0 60px}
  .p-media{position:relative;left:auto;top:auto;transform:none;margin:0 auto}
  .p-copy{position:relative;top:auto;transform:none;margin-top:40px}
  .p-title h1 .line>span{transform:none}
  .assets{height:auto}.assets-pin{position:relative;height:auto;display:block}.assets-media{position:relative;height:60vh}.asset{display:none}.asset[data-i="0"]{display:block;clip-path:none}.atext{position:relative;opacity:1;transform:none;margin-bottom:26px}
}
