@font-face{font-family:'Jost';src:url(/assets/fonts/jost-latin.woff2) format('woff2');font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/assets/fonts/cormorant-latin.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/assets/fonts/cormorant-italic-latin.woff2) format('woff2');font-weight:400 600;font-style:italic;font-display:swap}

:root{
  --ink:#1E2429;--night:#15191C;--slate:#56697A;--stone:#ECE6DD;--cal:#F7F5F1;--paper:#F1EDE6;--mut:#5E6973;--amber:#D59B34;
  --line:rgba(30,36,41,.14);--line-d:rgba(241,237,230,.16);
  --fs-d:clamp(52px,5.6vw,84px);--fs-1:clamp(40px,4.2vw,60px);--fs-2:clamp(30px,2.6vw,38px);--fs-3:24px;--fs-lead:20px;--fs-body:17px;--fs-s:14px;
  --sp:clamp(96px,11vw,168px);--gut:max(24px,calc(50% - 576px));--ease:cubic-bezier(.2,.7,.2,1)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night)}
img{max-width:100%;display:block}
p,h1,h2,h3,figure{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
.pg{font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:300;font-size:var(--fs-body);color:var(--ink);background:var(--cal);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
a{color:inherit;text-decoration:none}
a.u,button.u{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;border:0;padding:0;cursor:pointer;transition:background-size .4s var(--ease)}
a.u:hover,button.u:hover{background-size:0 1px;background-position:100% 100%}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.hero :focus-visible,.dark :focus-visible,.cl :focus-visible,.mbar :focus-visible,.plan :focus-visible,.foot :focus-visible{outline-color:var(--cal)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.serif{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;font-weight:400;font-variant-numeric:lining-nums}
.it{font-style:italic}
.lbl{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;line-height:1.3}
.lbl-s{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;line-height:1.3;color:var(--mut);margin-bottom:6px}
.acc{color:var(--slate)}
.amber{color:var(--amber)}
.wrap{width:min(1152px,100% - 48px);margin-inline:auto}
.stack{display:flex;flex-direction:column;gap:24px}
.stack-s{display:flex;flex-direction:column;gap:14px}
.body{font-size:var(--fs-lead);line-height:1.65;color:#3C454D;max-width:58ch}
.cap{font-size:13px;line-height:1.6;color:var(--mut);margin-top:18px;font-weight:400}
.h2{font-size:var(--fs-1);line-height:1.04;font-weight:400;letter-spacing:-.005em;text-wrap:balance}
.h2-gap-s{margin:20px 0 24px}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 30px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);white-space:nowrap}
.btn::after{content:'→';font-family:'Jost',sans-serif;font-weight:400;letter-spacing:0;transition:transform .35s var(--ease)}
.btn:hover::after{transform:translateX(4px)}
.btn-sm{min-height:44px;padding:0 20px;font-size:11px}
.btn-light{background:var(--cal);color:var(--ink)}
.btn-light:hover{background:#fff}
.btn-ghost{border-color:rgba(247,245,241,.55);color:var(--cal);background:transparent}
.btn-ghost:hover{background:rgba(247,245,241,.12)}
.btn-ink{background:var(--ink);color:var(--cal)}
.btn-ink:hover{background:var(--slate)}
.btn-ink[disabled]{opacity:.6;cursor:wait}
.btn-line{border-color:rgba(30,36,41,.6);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--ink);background:rgba(30,36,41,.04)}

/* Cabecera y hero */
.wordmark{font-size:14px;letter-spacing:.42em;font-weight:500;text-transform:uppercase;white-space:nowrap}
.wordmark.light{color:var(--paper)}
.lang{display:flex;gap:2px}
.lang a{min-width:40px;min-height:44px;display:grid;place-items:center;font-size:12px;letter-spacing:.2em;font-weight:500;opacity:.62;transition:opacity .3s}
.lang a:hover{opacity:1}
.lang a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.tel{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:500;letter-spacing:.06em;white-space:nowrap}
.tel .who{font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.75}
.hero{position:relative;min-height:max(640px,940px);min-height:max(640px,min(100svh,940px));display:flex;flex-direction:column;justify-content:space-between;color:var(--cal);overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0}
.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:center 62%}
@media (prefers-reduced-motion:no-preference){.hero-media img{animation:heroZoom 20s var(--ease) both}}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,25,.5) 0%,rgba(18,22,25,.18) 45%,rgba(18,22,25,0) 70%),linear-gradient(180deg,rgba(18,22,25,.5) 0%,rgba(18,22,25,0) 22%,rgba(18,22,25,0) 42%,rgba(18,22,25,.78) 100%)}
.top{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding:26px var(--gut);padding-top:max(26px,env(safe-area-inset-top))}
.top .lang{margin-left:auto}
.hero .bottom{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"intro price" "ctas price";gap:36px 48px;align-items:end;padding:0 var(--gut) 72px}
.intro{grid-area:intro}
.kick{opacity:1;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.kick .sep{opacity:.6}
.h1{font-size:var(--fs-d);line-height:.98;letter-spacing:-.01em;margin-top:18px;text-shadow:0 2px 24px rgba(0,0,0,.28);text-wrap:balance}
.nw{white-space:nowrap}
.price{grid-area:price;display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}
.price .lbl{opacity:.8}
.price .v{font-size:46px;line-height:1}
.price small{font-size:20px;letter-spacing:.02em}
.price .sub{font-size:15px;font-weight:400;opacity:.9}
.ctas{grid-area:ctas;display:flex;gap:12px;flex-wrap:wrap}
.ctas-0{margin-top:0}

.hdr{position:fixed;top:0;left:0;right:0;z-index:50;height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gut);background:rgba(247,245,241,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transform:translateY(-100%);transition:transform .45s var(--ease);color:var(--ink)}
.hdr.on{transform:none}
.hdr-r{display:flex;align-items:center;gap:22px}
.hdr .lang a{min-height:40px}

/* Secciones */
.sec{padding-block:var(--sp)}
.manif{display:grid;grid-template-columns:5fr 6fr;column-gap:clamp(48px,8vw,128px);row-gap:28px;align-items:start}
.manif>.lbl{grid-column:1/-1}
.manif .stack{padding-top:14px}
.figs-wrap{margin-top:calc(var(--sp)*.66)}
.figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fig{padding:44px 32px 40px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.fig:first-child{border-left:0;padding-left:0}
.fig .n{font-size:var(--fs-1);line-height:.92;white-space:nowrap}
.fig .un{font-family:'Jost',sans-serif;font-size:.3em;letter-spacing:.12em;margin-left:.4em;vertical-align:.3em;text-transform:none;font-weight:400}
.fig .t{font-size:var(--fs-s);line-height:1.55;color:var(--mut);font-weight:400;max-width:26ch}

.casa{background:var(--stone);padding-top:0;padding-bottom:calc(var(--sp) + 200px)}
.bleed{width:100%;height:min(78vh,760px);overflow:hidden}
.bleed picture,.bleed img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.levels{display:grid;grid-template-columns:5fr 6fr;column-gap:clamp(48px,8vw,128px);margin-top:calc(var(--sp)*.8);align-items:start}
.levels-h{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.lvl{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;padding:34px 0;border-top:1px solid var(--line)}
.lvl:last-child{border-bottom:1px solid var(--line)}
.lvl .k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--slate);padding-top:10px}
.lvl h3{font-size:var(--fs-2);line-height:1.1;margin-bottom:10px;font-weight:400}
.lvl p{font-size:var(--fs-body);line-height:1.65;color:#4A535B}

/* Viviendas */
.sec-units{padding-top:calc(var(--sp)*.75)}
.units-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px;flex-wrap:wrap}
.tabs{display:flex;gap:28px;flex-wrap:wrap}
.tab{min-height:44px;padding:0 0 6px;border:0;border-bottom:1px solid transparent;background:none;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--mut);cursor:pointer;transition:color .3s,border-color .3s}
.tab .c{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:0;margin-left:6px;font-variant-numeric:lining-nums}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink);border-bottom-color:var(--ink)}
.units,.uhead,.row{--cols:56px minmax(0,1.45fr) minmax(0,1.55fr) 112px 92px 92px minmax(0,1.9fr) auto}
.uhead{display:grid;grid-template-columns:var(--cols);gap:0 20px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--mut);padding:0 0 14px;border-bottom:1px solid var(--ink)}
.uhead .r{text-align:right}
.row{display:grid;grid-template-columns:var(--cols);gap:0 20px;align-items:baseline;border-bottom:1px solid var(--line);transition:background .3s var(--ease)}
.row:hover{background:rgba(30,36,41,.035)}
.row .rh{display:grid;grid-column:1/3;grid-template-columns:subgrid;gap:0 20px;align-items:baseline;background:none;border:0;padding:26px 0;text-align:left;cursor:pointer}
.row .ud{display:grid;grid-column:3/-1;grid-template-columns:subgrid;gap:0 20px;align-items:baseline;padding:26px 0}
.row .num{font-size:34px;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.row .ty{display:flex;flex-direction:column;gap:5px}
.row .nm{font-size:var(--fs-3);line-height:1.2}
.row .ty small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);font-weight:500}
.row .sum{display:none}
.row .ud>span{font-size:15px;line-height:1.45;font-weight:400}
.row .ud b{display:none}
.row .m2{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.row .gar{max-width:26ch}
.row .acts{display:flex;justify-content:flex-end}
.row.is-last{border-bottom-color:var(--ink)}

/* Galería */
.sec-gal{position:relative;margin-top:-200px;padding-top:0}
.g1{position:relative;width:100%;height:min(82vh,780px);overflow:hidden;background:#ddd}
.g1 picture,.g1 img,.gal picture,.gal img{width:100%;height:100%;object-fit:cover}
.g1 figcaption{position:absolute;left:var(--gut);bottom:22px;font-size:12px;letter-spacing:.1em;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.6);font-weight:500}
.gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:24px}
.gal figure{overflow:hidden;background:#ddd}
.gal img{transition:transform 1.6s var(--ease)}
.gal figure:hover img{transform:scale(1.03)}
.g2{grid-column:1/-1;aspect-ratio:1475/488}
.g3{grid-column:1/span 5;aspect-ratio:837/575;align-self:end}
.g4{grid-column:6/span 3;aspect-ratio:622/940}
.gq{grid-column:10/-1;display:flex;align-items:flex-end;padding-bottom:12px}
.gq p{font-size:var(--fs-2);line-height:1.2;color:var(--slate);max-width:14ch}

/* Vídeo */
.video{background:var(--ink);color:var(--paper);padding-block:calc(var(--sp)*.9)}
.video .body{color:#B9C1C7}
.video .cap{color:#8A949C}
.video-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);column-gap:clamp(48px,8vw,128px);align-items:center}
.video-t{display:flex;flex-direction:column;gap:22px}
.vframe{justify-self:end;width:min(100%,360px);aspect-ratio:9/16;background:#0f1214;border:1px solid rgba(241,237,230,.14);box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}
.vid{width:100%;height:100%;object-fit:cover;display:block}
.g5{grid-column:span 3;aspect-ratio:4/5}

/* Calidades */
.dark{background:var(--ink);color:var(--paper)}
.dark .body{color:#B9C1C7}
.qual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 96px;margin-top:calc(var(--sp)*.5)}
.q{display:grid;grid-template-columns:150px 1fr;column-gap:24px;row-gap:8px;padding:28px 0 30px;border-top:1px solid var(--line-d)}
.q .b{grid-row:1/3;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--amber);padding-top:8px}
.q .d{font-size:26px;line-height:1.2;font-weight:500}
.q .s{font-size:var(--fs-s);line-height:1.55;color:#AEB7BE;font-weight:400}

/* Ubicación */
.loc{display:grid;grid-template-columns:5fr 7fr;column-gap:clamp(48px,8vw,128px);row-gap:72px;align-items:start}
.dist{display:none}
.ruler{grid-column:1/-1}
.ruler svg{display:block;overflow:visible}
.ruler .cap{margin-top:8px}

/* Contacto */
.contact{display:grid;grid-template-columns:minmax(24px,1fr) minmax(0,452px) minmax(0,700px) minmax(24px,1fr);background:var(--cal)}
.cl{grid-column:1/3;background:var(--ink);color:var(--paper);display:flex;justify-content:flex-end;padding:120px 40px 120px 24px}
.cl-in{width:min(100%,412px);display:flex;flex-direction:column;gap:64px}
.cl .lbl{opacity:.8}
.cl .who{margin-bottom:12px}
.cl-lede{font-size:18px;line-height:1.65;opacity:.88;max-width:40ch}
.phone{font-size:56px;line-height:1;letter-spacing:.01em;font-variant-numeric:lining-nums}
.office{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:15px;line-height:1.6;font-weight:400;border-top:1px solid var(--line-d);padding-top:26px}
.office .lbl-s{color:#AEB7BE}
.office a{display:inline-block;padding:4px 0}
.cr{grid-column:3/5;padding:120px 24px 120px 40px;scroll-margin-top:16px}
.cr-in{max-width:640px}
.trust{margin-top:14px;font-size:15px;color:var(--mut);font-weight:400}
.pick{margin-top:22px;font-size:15px;color:var(--slate);border-left:2px solid var(--amber);padding:6px 0 6px 14px;font-weight:400}
.pick b{font-weight:500;color:var(--ink)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin-top:40px}
.f{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}
.f.full{grid-column:1/-1}
.f label,.f legend{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);font-weight:500;padding:0}
.f .opt{text-transform:none;letter-spacing:.02em;color:var(--mut)}
.f input,.f select,.f textarea{font-family:inherit;font-size:17px;font-weight:300;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(30,36,41,.55);padding:12px 0;min-height:48px;border-radius:0;outline:revert;width:100%;transition:border-color .3s}
.f select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E2429' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px}
.f input:not([type=radio]):not([type=checkbox]):hover,.f select:hover,.f textarea:hover{border-bottom-color:rgba(30,36,41,.8)}
.f input:focus,.f select:focus,.f textarea:focus{border-bottom-color:var(--ink)}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.f input:not([type=radio]):not([type=checkbox]):not(:placeholder-shown){border-bottom-color:var(--ink)}
.f input[aria-invalid="true"]{border-bottom-color:#A3412E}
.f textarea{min-height:96px;resize:none}
.radios{gap:12px}
.radios label{display:inline-flex;align-items:center;gap:10px;font-size:16px;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:300;min-height:44px;margin-right:28px;cursor:pointer}
.radios input{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-height:0;padding:0;flex:none;border:1px solid rgba(30,36,41,.55);border-radius:50%;display:grid;place-content:center;margin:0;cursor:pointer;background:none}
.radios input:checked{border-color:var(--ink)}
.radios input:checked::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--ink)}
.more{border-top:1px solid var(--line);padding-top:6px}
.more summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:14px;color:var(--slate);font-weight:400}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:'+';font-size:20px;color:var(--slate)}
.more[open] summary::after{content:'−'}
.more-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;padding-top:8px}
.chk{flex-direction:row;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:#4A535B;font-weight:400;text-transform:none;letter-spacing:0;padding:6px 0;cursor:pointer}
.chk input{appearance:none;width:18px;height:18px;min-height:0;border:1px solid rgba(30,36,41,.55);border-radius:0;display:grid;place-content:center;margin-top:2px;flex:none;cursor:pointer;padding:0}
.chk input:checked{background:var(--ink);border-color:var(--ink)}
.chk input:checked::after{content:'';width:9px;height:5px;border:solid var(--cal);border-width:0 0 1.5px 1.5px;transform:rotate(-45deg) translateY(-1px)}
.priv-mini{font-size:13px;line-height:1.6;color:var(--mut);font-weight:400;margin-top:-10px}
.priv-full{font-size:13px;line-height:1.6;color:var(--mut);font-weight:400;border-left:1px solid var(--line);padding-left:14px;margin-top:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{grid-column:1/-1;color:#A3412E;font-size:15px;font-weight:400}
.form .btn-ink{justify-self:start;padding:0 44px}
.ok{border:1px solid var(--line);padding:44px;margin-top:40px;outline:none}
.ok-t{font-size:38px;line-height:1.1}
.ok-p{margin-top:14px;font-size:18px;line-height:1.6;color:#4A535B}

/* Créditos y pie */
.credits{background:var(--cal);padding:calc(var(--sp)*.5) 0 calc(var(--sp)*.6)}
.team{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding:36px 0 0;margin-top:22px;border-top:1px solid var(--line)}
.team div{display:flex;flex-direction:column;gap:8px}
.team b{font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
.team span{font-size:22px;line-height:1.2}
.foot{background:var(--night);color:#9AA4AC;padding:88px 0 56px;font-size:14px;line-height:1.7;font-weight:400}
.foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.foot-sells{font-size:15px;color:#C9C2B7}
.foot details{border-top:1px solid rgba(255,255,255,.1);padding:4px 0}
.foot summary{cursor:pointer;color:#E6E1D9;letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px}
.foot summary::-webkit-details-marker{display:none}
.foot summary::after{content:'+';font-size:18px;letter-spacing:0}
.foot details[open] summary::after{content:'−'}
.foot details p{max-width:90ch;padding-bottom:18px}
.foot-bot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:13px}
.foot .lang a{opacity:.7;color:#E6E1D9}

/* Barra móvil y diálogo */
.mbar{display:none}
.plan{border:0;padding:32px;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0;color:var(--paper)}
.plan[open]{display:flex;align-items:center;justify-content:center}
.plan::backdrop{background:rgba(21,25,28,.94)}
.plan-in{display:flex;flex-direction:column;gap:18px;width:min(1200px,100%);max-height:100%}
.plan-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.plan-t{font-size:26px;line-height:1.2}
.plan-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.plan-scroll img{max-width:100%;max-height:70vh;width:auto;height:auto;background:#fff;margin:0 auto}
.plan-hint{display:none;font-size:13px;color:#9AA4AC}
.plan-acts{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.plan-full{font-size:13px;color:#C9C2B7}

/* Revelado */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.js .rv{opacity:1;transform:none}}

/* Tablet */
@media (max-width:1100px){
  .contact{grid-template-columns:minmax(24px,1fr) minmax(0,380px) minmax(0,600px) minmax(24px,1fr)}
  .qual{gap:0 48px}
  .team{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Móvil */
@media (max-width:760px){
  :root{--sp:64px}
  .wrap{width:min(100% - 44px,1152px)}
  .hero{display:flex;flex-direction:column;justify-content:flex-start;min-height:0}
  .hero-media{position:relative;inset:auto;width:100%;aspect-ratio:943/1037;max-height:82svh}
  .hero-media img{object-position:50% 100%;animation:none}
  .scrim{background:linear-gradient(180deg,rgba(18,22,25,.42) 0%,rgba(18,22,25,0) 26%,rgba(18,22,25,0) 68%,var(--ink) 100%)}
  .top{position:absolute;top:0;left:0;right:0;padding:18px 22px;gap:12px}
  .top .tel{display:none}
  .wordmark{font-size:12px;letter-spacing:.34em}
  .hero .bottom{display:flex;flex-direction:column;gap:18px;padding:0 22px 40px;margin-top:-56px}
  .kick{text-shadow:none}
  .kick span{display:block}
  .kick .sep{display:none}
  .h1{font-size:clamp(40px,11.2vw,52px);margin-top:12px;text-shadow:none}
  .price{align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
  .price .v{font-size:36px}
  .price .sub{flex-basis:100%;margin-top:4px}
  .ctas{margin-top:8px}
  .ctas .btn{flex:1 1 100%}
  .hdr{display:none}
  .manif{grid-template-columns:minmax(0,1fr);row-gap:18px}
  .manif .stack{padding-top:0}
  .body{font-size:17px}
  .figs-wrap{margin-top:44px}
  .figs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fig{padding:26px 18px}
  .fig:nth-child(3){border-left:0;padding-left:0}
  .fig:nth-child(n+3){border-top:1px solid var(--line)}
  .fig .n{font-size:44px}
  .casa{padding-bottom:calc(var(--sp) + 120px)}
  .bleed{height:min(62vw,420px)}
  .levels{grid-template-columns:minmax(0,1fr);row-gap:28px;margin-top:48px}
  .levels-h{position:static}
  .lvl{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:20px 0}
  .lvl .k{padding-top:6px}
  .lvl h3{font-size:23px;margin-bottom:4px}
  .lvl p{font-size:15px}
  .sec-units{padding-top:56px}
  .units-head{margin-bottom:28px;gap:22px}
  .tabs{display:grid;grid-template-columns:auto 1fr 1fr;width:100%;gap:0 14px}
  .tab{font-size:11px;letter-spacing:.14em;padding-bottom:8px;text-align:left}
  .uhead{display:none}
  .row{display:block}
  .row:hover{background:none}
  .row .rh{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:2px 14px;width:100%;padding:18px 0;align-items:center}
  .row .num{grid-row:1/span 2;font-size:30px}
  .row .ty{gap:2px}
  .row .nm{font-size:21px}
  .row .ty small{display:none}
  .row .sum{display:block;grid-column:2;font-size:14px;color:var(--mut);font-weight:400}
  .row .rh::after{content:'+';grid-column:3;grid-row:1/span 2;font-size:22px;color:var(--slate);text-align:center}
  .row.open .rh::after{content:'−'}
  .row .ud{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:2px 0 22px 58px}
  .row.open .ud{display:grid}
  .row .ud b{display:block;font-weight:500;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
  .row .m2{text-align:left}
  .row .dd,.row .gar,.row .acts{grid-column:1/-1}
  .row .acts{justify-content:flex-start;margin-top:6px}
  .row .acts .btn{width:100%}
  .sec-gal{margin-top:-120px}
  .g1{height:min(70vw,460px)}
  .g1 figcaption{left:22px;bottom:14px;font-size:11px}
  .gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:16px -22px 0;padding:0 22px;scroll-padding:0 22px;scrollbar-width:none;overscroll-behavior-x:contain}
  .gal::-webkit-scrollbar{display:none}
  .gal figure{flex:0 0 86%;aspect-ratio:5/4;scroll-snap-align:start}
  .gal .g4{flex-basis:62%;aspect-ratio:4/5}
  .gal .g2 img{object-position:80% 50%}
  .gq{flex:0 0 70%;scroll-snap-align:start;align-items:center;padding:0 8px}
  .gal .g5{flex-basis:70%;aspect-ratio:4/5}
  .video{padding-block:56px}
  .video-in{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .vframe{justify-self:center;width:min(100%,320px);box-shadow:0 20px 50px rgba(0,0,0,.4)}
  .gq p{font-size:26px}
  .qual{grid-template-columns:minmax(0,1fr);margin-top:36px}
  .q{grid-template-columns:minmax(0,1fr);padding:20px 0;row-gap:6px}
  .q .b{grid-row:auto;padding-top:0}
  .q .d{font-size:22px}
  .loc{grid-template-columns:minmax(0,1fr);row-gap:28px}
  .dist{display:block}
  .dist li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-top:1px solid var(--line);font-size:16px}
  .dist li:last-child{border-bottom:1px solid var(--line)}
  .dist .km{font-size:28px;line-height:1}
  .ruler{display:none}
  .contact{display:flex;flex-direction:column}
  .cr{order:-1;padding:56px 22px 60px;scroll-margin-top:8px}
  .cl{padding:56px 22px 64px;justify-content:flex-start}
  .cl-in{gap:40px}
  .phone{font-size:44px}
  .office{grid-template-columns:minmax(0,1fr)}
  .form{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:28px}
  .more-in{grid-template-columns:minmax(0,1fr)}
  .radios label{margin-right:18px}
  .form .btn-ink{width:100%}
  .ok{padding:32px 22px}
  .credits{padding:40px 0 48px}
  .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  .team span{font-size:19px}
  .foot{padding:64px 0 calc(110px + env(safe-area-inset-bottom))}
  .foot-top{margin-bottom:32px}
  .plan{padding:12px}
  .plan[open]{align-items:flex-start}
  .plan-in{padding-top:max(12px,env(safe-area-inset-top))}
  .plan-t{font-size:20px}
  .plan-scroll img{max-width:none;max-height:none;height:min(66svh,700px);width:auto}
  .plan-hint{display:block}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.35fr;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;background:var(--ink);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 32px rgba(21,25,28,.28);border-radius:18px;overflow:hidden;transform:translateY(calc(100% + 24px));transition:transform .35s var(--ease)}
  .mbar.on{transform:none}
  .mbar a{min-height:56px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--cal);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;border-left:1px solid rgba(255,255,255,.1)}
  .mbar a:first-child{border-left:0}
  .mbar a svg{width:18px;height:18px;flex:none}
  .mbar a.main{background:var(--cal);color:var(--ink);margin:6px;border-radius:12px;min-height:44px;border-left:0}
}
@media (max-width:380px){
  .h1{font-size:38px}
  .fig .n{font-size:38px}
  .tabs{grid-template-columns:auto 1fr 1fr;gap:0 10px}
}


/* ===== Ajustes ronda 2 ===== */
.row[hidden]{display:none}
.casa{padding-bottom:var(--sp)}
.sec-gal{margin-top:0}
.bleed{width:min(1152px,100% - 48px);margin-inline:auto;height:auto;aspect-ratio:1448/1086;max-height:none}
.bleed img{object-position:center 30%}
.units,.uhead,.row{--cols:56px minmax(0,1.4fr) minmax(0,2fr) 104px 88px 88px minmax(0,1.5fr) 152px}
.uhead,.row,.row .rh,.row .ud{gap:0 16px}
.row .dd .sep{display:none}.row .dd .nw{display:block}
.row .acts .btn{width:100%}
.uhead{align-items:end}
@supports not (grid-template-columns:subgrid){.row .rh{grid-template-columns:56px minmax(0,1.4fr)}.row .ud{grid-template-columns:minmax(0,2fr) 104px 88px 88px minmax(0,1.5fr) 152px}}
.manif{align-items:first baseline}
.manif .stack{padding-top:0}
.lvl{align-items:baseline}
.lvl .k{padding-top:0}
.body,.lvl p,.q .s,.fig .t,.cap,.row .gar,.cl-lede,.trust,.priv-mini{text-wrap:pretty}
.fig .un{letter-spacing:0;margin-left:.3em}
.g1,.gal figure{background:var(--stone)}
.g1::after{content:'';position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(18,22,25,0),rgba(18,22,25,.55));pointer-events:none}
.g1 figcaption{z-index:1}
.gal{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:24px}
.gA{grid-column:1/span 6;aspect-ratio:1/1}
.gB{grid-column:7/span 3;aspect-ratio:auto}
.gq{grid-column:10/-1;display:flex;align-items:flex-end;padding-bottom:0}
.gq p{margin-bottom:-.18em;max-width:12ch}
.gC{grid-column:1/span 7;aspect-ratio:3/2}
.gD{grid-column:8/-1;aspect-ratio:auto}
.g5{grid-column:span 3;aspect-ratio:1/1}
.vfig{margin:0;display:flex;flex-direction:column;gap:14px;justify-self:end;width:min(100%,400px)}
.vframe{position:relative;justify-self:stretch;width:100%;aspect-ratio:4/5;border:0;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.video-in{align-items:end}
.vtoggle{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(247,245,241,.6);background:rgba(21,25,28,.5) center/14px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 1h3v12H3zM8 1h3v12H8z' fill='%23F7F5F1'/%3E%3C/svg%3E");cursor:pointer;padding:0}
.vtoggle.paused{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 1l10 6-10 6z' fill='%23F7F5F1'/%3E%3C/svg%3E")}
.qual{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(48px,8vw,128px)}
.q{align-content:start;align-items:baseline;grid-template-areas:"b d" ". s"}
.q .b{grid-area:b;grid-row:auto;padding-top:0}
.q .d{grid-area:d}
.q .s{grid-area:s}
.loc .ruler{margin-top:72px}
.ruler text{font-variant-numeric:lining-nums}
.contact{grid-template-columns:minmax(24px,1fr) minmax(0,528px) minmax(0,624px) minmax(24px,1fr)}
.cl{padding:120px 57px 120px 24px}
.cl-in{width:min(100%,471px)}
.cr{padding:120px 24px 120px 58px}
.cr-in{max-width:566px}
.office a{display:inline;padding:0}
.radios{flex-direction:row;flex-wrap:wrap;gap:0 36px}
.radios legend{margin-bottom:6px;width:100%}
.radios label{margin-right:0}
.radios input{width:20px;height:20px;min-width:20px;max-height:20px;aspect-ratio:1;flex:0 0 20px;box-sizing:border-box}
.radios input:checked{border-color:var(--ink);background:radial-gradient(circle,var(--ink) 0 4.5px,transparent 5px)}
.radios input:checked::after{content:none}
.chk input{margin:2px 0 0}
.priv-mini{display:block}
.priv-mini .u{display:inline;color:var(--slate)}
.f textarea{border:1px solid rgba(30,36,41,.3);padding:12px 14px;min-height:112px}
.f textarea:focus{border-color:var(--ink)}
.ctas.ctas-0{margin-top:0}
.foot-bot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.foot-bot>:last-child{justify-self:end}
.plan::backdrop{background:var(--night)}
.pg:has(#plan[open]) .mbar{display:none}
#plan-close::after{content:none}
.plan-tt{display:flex;flex-direction:column;gap:4px}
.plan-t small{display:block;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.04em;opacity:.75}
.hdr.on{transform:none}
@media (max-width:1100px){
  .ruler{display:none}
  .dist{display:block;margin-top:40px}
  .dist li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-top:1px solid var(--line);font-size:16px}
  .dist li:last-child{border-bottom:1px solid var(--line)}
  .dist .km{font-size:28px;line-height:1}
  .uhead{display:none}
  .row{display:block}
  .row:hover{background:none}
  .row .rh{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:2px 14px;width:100%;padding:18px 0;align-items:center}
  .row .num{grid-row:1/span 2;font-size:30px}
  .row .ty{gap:2px}
  .row .nm{font-size:21px}
  .row .ty small{display:none}
  .row .sum{display:block;grid-column:2;font-size:14px;color:var(--mut);font-weight:400}
  .row .sum>span{white-space:nowrap}
  .row .rh::after{content:'+';grid-column:3;grid-row:1/span 2;font-size:22px;color:var(--slate);text-align:center}
  .row.open .rh::after{content:'−';color:var(--ink)}
  .row.open{background:rgba(30,36,41,.03)}
  .row.open .ty small{display:block;margin-top:4px}
  .row .ud{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:2px 0 22px 58px}
  .row.open .ud{display:grid}
  .row .ud b{display:block;font-weight:500;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:4px;white-space:normal}
  .row .m2{text-align:left}
  .row .dd,.row .gar,.row .acts{grid-column:1/-1}
  .row .acts{justify-content:flex-start;margin-top:6px}
  .row .acts .btn{width:100%}
}
@media (max-width:760px){
  .casa{padding-bottom:var(--sp)}
  .sec-gal{margin-top:0}
  .bleed{width:100%;aspect-ratio:4/3}
  .lvl{grid-template-columns:100px minmax(0,1fr);gap:14px}
  .lvl .k{letter-spacing:.16em}
  .price .sub{text-wrap:balance}
  .tabs{display:grid;grid-template-columns:auto 1fr 1fr;gap:0 16px;width:100%;align-items:start;border-bottom:1px solid var(--line)}
  .tab{display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;gap:4px;min-height:64px;padding:0 12px 10px 0;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:11px;letter-spacing:.06em;text-transform:none;font-weight:500;text-align:left;line-height:1.3}
  .tab .c{margin:0;font-size:26px;line-height:1}
  .tab.on{border-bottom-color:var(--ink)}
  .gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;margin:10px 0 0;padding:0;scroll-snap-type:none}
  .gal figure{flex:none;aspect-ratio:4/5;align-self:stretch;scroll-snap-align:none}
  .gal .gA{grid-column:1/-1;aspect-ratio:3/2}
  .gal .gB{grid-column:auto;aspect-ratio:4/5}
  .gal .gC{grid-column:1/-1;aspect-ratio:3/2}
  .gal .gD{grid-column:auto;aspect-ratio:4/5}
  .gal .g5{grid-column:auto;aspect-ratio:1/1}
  .gal .g5:last-child{grid-column:1/-1;aspect-ratio:3/2}
  .gq{grid-column:auto;flex:none;align-items:center;padding:0 6px}
  .gq p{font-size:22px;margin:0}
  .vfig{width:100%;justify-self:stretch}
  .vframe{box-shadow:0 20px 50px rgba(0,0,0,.4)}
  .video-in{row-gap:28px}
  .q{grid-template-areas:"b" "d" "s";grid-template-columns:minmax(0,1fr)}
  .cr{background:var(--paper);border-top:1px solid var(--line)}
  .cr-in>.lbl.acc{font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.05;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400}
  .radios{gap:0 24px}
  .foot-bot{grid-template-columns:minmax(0,1fr);gap:12px}
  .foot-bot>:last-child{justify-self:start}
  .mbar{left:0;right:0;bottom:0;border-radius:0;border:0;border-top:1px solid rgba(241,237,230,.2);padding-bottom:env(safe-area-inset-bottom);background:rgba(30,36,41,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 -10px 30px rgba(21,25,28,.25)}
  .mbar a{letter-spacing:.1em}
  .mbar a.main{margin:0;border-radius:0;min-height:56px;padding:0 12px}
  .office a{display:inline-block;padding:8px 0;margin:-4px 0}
}

/* Hero: modalidades y baños, legibles */
.price{gap:10px}
.price .sub{font-size:17px;font-weight:400;opacity:1;line-height:1.5;max-width:40ch;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.price .sub b{font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:12px;display:block;opacity:.85;margin-bottom:2px}
@media (max-width:760px){.price{gap:6px}.price .sub{font-size:15px;max-width:none;text-shadow:none}.price .sub b{font-size:11px}.price .modes .sep{display:none}.price .modes .nw{display:block}}

.fig .or{font-size:.5em;font-style:italic;margin:0 .08em;vertical-align:.1em}
