:root{
  --white:#fff;--ink:#171512;--muted:#6f6b66;--accent:#9a795c;--line:rgba(23,21,18,.14);
  --sans:"Inter",sans-serif;
  --condensed:"DIN Condensed","DIN 1451 Engschrift","Roboto Condensed","Arial Narrow",sans-serif;
  --pad:clamp(22px,5vw,84px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6}body.modal-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.section-pad{padding:clamp(88px,11vw,170px) var(--pad)}.section-pad.compact{padding-top:clamp(54px,7vw,92px);padding-bottom:clamp(54px,7vw,92px)}.section-label{font:500 11px/1 var(--condensed);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}h2{font:400 clamp(44px,6vw,92px)/.95 var(--condensed);letter-spacing:-.02em;margin:0}p{margin:0 0 1.15em}.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);color:#fff;transition:.35s ease}.site-header.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid var(--line);padding-top:14px;padding-bottom:14px}.brand{display:flex;flex-direction:column;line-height:.88}.brand span{font-size:8px;letter-spacing:.44em;margin-bottom:8px}.brand strong{font:400 clamp(26px,3vw,40px)/.82 var(--condensed);letter-spacing:.06em}.desktop-nav{display:flex;gap:32px}.desktop-nav a{font-size:10px;text-transform:uppercase;letter-spacing:.18em;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:.3s}.desktop-nav a:hover:after{right:0}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:8px}.menu-toggle i{display:block;width:26px;height:1px;background:currentColor;margin:7px}.mobile-menu{display:none}.hero{height:100svh;position:relative;overflow:hidden;color:#fff}.hero-media{width:100%;height:100%;object-fit:cover;transform:scale(1.03);animation:heroZoom 14s ease-out forwards}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,12,.48),rgba(18,15,12,.08) 62%),linear-gradient(0deg,rgba(18,15,12,.32),transparent 45%)}.hero-content{position:absolute;left:var(--pad);top:50%;transform:translateY(-43%);max-width:760px;animation:fadeUp 1s .15s both}.kicker{font-size:10px;letter-spacing:.34em;margin-bottom:32px}.hero h1{font:400 clamp(74px,11vw,168px)/.75 var(--condensed);letter-spacing:-.035em;margin:0;text-transform:uppercase}.hero h1 span{display:block;font:400 11px/1 var(--sans);letter-spacing:.58em;margin:0 0 25px 6px}.hero-claim{font-size:clamp(18px,2vw,28px);margin:30px 0}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link.light{color:#fff}.hero-index{position:absolute;right:var(--pad);bottom:28px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.hero-index b{font:400 23px/1 var(--condensed);letter-spacing:0}.intro{background:#fff}.intro-grid,.split-copy,.homes-head,.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;margin:42px 0 76px}.intro-copy,.split-copy p,.homes-head p{max-width:640px;color:var(--muted);font-size:clamp(16px,1.45vw,20px)}figure{margin:0}.image-natural{width:100%;background:#fff}.image-natural img{width:100%;height:auto;object-fit:contain}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding-top:0}.metric{padding:34px 3vw;border-left:1px solid var(--line)}.metric:first-child{border-left:0}.metric strong{display:block;font:400 clamp(64px,8vw,124px)/.8 var(--condensed)}.metric span{display:block;margin-top:20px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.access-section{padding-top:70px}.homes{background:#fff}.homes-list{border-top:1px solid var(--line)}.home-row{width:100%;display:grid;grid-template-columns:1.5fr .7fr .7fr .7fr 34px;gap:20px;align-items:center;background:none;border:0;border-bottom:1px solid var(--line);padding:24px 0;text-align:left;color:inherit;cursor:pointer;transition:.25s}.home-row:hover{padding-left:12px}.home-row .name{font:400 clamp(30px,3.2vw,54px)/.95 var(--condensed);text-transform:uppercase}.home-row .small{font-size:12px;color:var(--muted)}.home-row .price{font-weight:500}.home-row .arrow{font-size:24px}.home-row.sold{opacity:.45}.living{padding-left:0;padding-right:0}.living>.section-label{margin-left:var(--pad)}.living-flow{display:grid;gap:0;margin-top:55px}.living-flow figure{width:100%}.living-flow img{width:100%;height:auto;max-height:none;object-fit:contain}.living-flow figcaption{font-size:11px;color:var(--muted);padding:12px var(--pad) 46px}.materials{background:#fff;color:var(--ink)}.materials-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.materials-head p{color:var(--muted);margin-top:18px}.materials-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.material-tile{position:relative;overflow:hidden;background:#eee}.material-tile img{width:100%;height:46vw;max-height:700px;min-height:380px;object-fit:cover;transition:transform .7s ease}.material-tile:hover img{transform:scale(1.025)}.material-tile figcaption{position:absolute;left:24px;bottom:22px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4);display:flex;gap:12px;align-items:baseline}.material-tile figcaption b{font:400 32px/1 var(--condensed)}.material-tile figcaption span{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.location{background:#fff}.location-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.location-copy p{max-width:640px;color:var(--muted);font-size:clamp(16px,1.45vw,20px);margin-top:22px}.location-figure{position:relative;overflow:hidden;background:#fff}.location-figure img{width:100%;height:auto;object-fit:contain;transform:scale(1.08);transform-origin:50% 50%;will-change:transform}.location-tag{position:absolute;left:var(--pad);bottom:30px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);padding:16px 18px}.location-tag span{display:block;font:400 18px/1 var(--condensed);letter-spacing:.08em}.location-tag small{font-size:10px;color:var(--muted)}.location-actions{display:flex;justify-content:space-between;align-items:center;gap:30px}.location-actions address{font-style:normal;color:var(--muted);font-size:12px}.contact-actions{border-top:1px solid var(--line)}.contact-actions a{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.contact-actions span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.contact-actions strong{font:400 clamp(26px,3vw,46px)/1 var(--condensed)}footer{background:#171512;color:#fff;padding:60px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:end}.footer-brand{display:flex;flex-direction:column;line-height:.9}.footer-brand span{font-size:8px;letter-spacing:.42em;margin-bottom:8px}.footer-brand strong{font:400 38px/1 var(--condensed)}footer p,footer small{color:rgba(255,255,255,.52);font-size:11px}.modal{position:fixed;z-index:100;inset:0;background:#fff;opacity:0;visibility:hidden;transition:.32s}.modal.open{opacity:1;visibility:visible}.modal-inner{height:100%;display:grid;grid-template-columns:.65fr 1.35fr;overflow:auto}.modal-copy{padding:9vh 5vw;display:flex;flex-direction:column;justify-content:center}.modal-copy h2{font:400 clamp(64px,8vw,128px)/.86 var(--condensed);margin:22px 0;text-transform:uppercase}.modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}.modal-meta div span{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.modal-meta div strong{font:400 30px/1.3 var(--condensed)}.modal-plan{margin:0;background:#fff;padding:3vw;display:flex;align-items:center;justify-content:center}.modal-plan img{max-height:92vh;object-fit:contain}.modal-close{position:absolute;z-index:3;right:24px;top:18px;width:52px;height:52px;border:0;background:transparent;font-size:36px;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:.75s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1)}}@keyframes fadeUp{from{opacity:0;transform:translateY(-37%)}to{opacity:1;transform:translateY(-43%)}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block;z-index:70}.mobile-menu{display:flex;position:fixed;z-index:60;inset:0;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:25px;transform:translateY(-100%);transition:.35s}.mobile-menu.open{transform:none}.mobile-menu a{font:400 48px/1 var(--condensed);text-transform:uppercase}.site-header.menu-open{color:var(--ink)}.intro-grid,.split-copy,.homes-head,.contact-grid,.materials-head,.location-copy{grid-template-columns:1fr;gap:28px}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(odd){border-left:0}.metric{border-bottom:1px solid var(--line)}.home-row{grid-template-columns:1.2fr .8fr .8fr 28px}.home-row .terrace{display:none}.materials-grid{grid-template-columns:1fr 1fr}.material-tile img{height:55vw;min-height:300px}.location-actions{align-items:flex-start;flex-direction:column}.modal-inner{grid-template-columns:1fr;height:100%}.modal-copy{padding:82px 7vw 34px}.modal-plan{padding:4vw}.modal-close{right:10px;top:8px}footer{grid-template-columns:1fr}}
@media(max-width:600px){:root{--pad:20px}.hero-media{object-position:59% center}.hero h1{font-size:76px}.hero-index{display:none}.section-pad{padding-top:82px;padding-bottom:82px}.metrics{grid-template-columns:1fr 1fr;padding-left:0;padding-right:0}.metric{padding:22px 18px}.home-row{grid-template-columns:1fr auto 24px;gap:10px}.home-row .surface,.home-row .terrace{display:none}.home-row .name{font-size:34px}.home-row .price{font-size:12px}.materials-grid{grid-template-columns:1fr}.material-tile img{height:auto;min-height:0}.location-tag{position:static;background:#fff;padding:18px var(--pad)}.contact-actions a{align-items:flex-start;flex-direction:column;gap:7px}.modal-meta{grid-template-columns:1fr}.modal-plan img{max-height:62vh}footer{padding-top:48px;padding-bottom:48px}}

/* v3.3 · Aparcamiento y memoria de calidades */
.parking{background:#fff;padding-left:var(--pad);padding-right:var(--pad)}
.parking-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;margin-bottom:56px}
.parking-head p{max-width:620px;color:var(--muted);font-size:clamp(16px,1.45vw,20px);margin-top:20px}
.parking-images{display:grid;gap:18px}
.parking-images figure,.parking-images img{width:100%}
.parking-images img{height:auto;object-fit:contain}
.qualities{background:#f6f3ef}
.qualities-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.qualities-copy>p{max-width:650px;color:var(--muted);font-size:clamp(16px,1.45vw,20px)}
.qualities-list{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin:34px 0 42px;border-top:1px solid var(--line)}
.qualities-list span{padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}
.qualities-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.download-button{display:inline-flex;background:var(--ink);color:#fff;padding:16px 22px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.location-tag{left:auto;right:var(--pad)}
@media(max-width:900px){.parking-head,.qualities-grid{grid-template-columns:1fr;gap:28px}.qualities-list{grid-template-columns:1fr}}
@media(max-width:600px){.parking{padding-left:0;padding-right:0}.parking-head{padding-left:var(--pad);padding-right:var(--pad)}.parking-images{gap:8px}.location-tag{right:auto}}


/* v3.5 RC1 · Viviendas 01–10 */
.home-row .name{display:flex;align-items:baseline;gap:18px}
.home-row .name b{font:400 clamp(34px,3.6vw,62px)/.9 var(--condensed);letter-spacing:.02em}
.home-row .name em{font:300 10px/1 var(--sans);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.modal-plan{overflow:auto}
.modal-plan img{width:100%;height:auto;max-width:1500px;max-height:90vh;object-fit:contain}
.footer-credit{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.footer-credit img{width:92px;height:auto;filter:none}
.footer-credit small{display:block}
@media(max-width:900px){.footer-credit{margin-top:10px}}
@media(max-width:600px){.home-row .name{gap:10px}.home-row .name em{display:none}.home-row .name b{font-size:42px}.modal-plan{padding:14px}.modal-plan img{max-height:none}}


/* Residencial Amanecer · v1.0 */
.site-loader{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#efe4d7 0%,#f8f5f0 58%,#fff 100%);transition:opacity .7s ease,visibility .7s ease}.site-loader.is-hidden{opacity:0;visibility:hidden}.loader-mark{text-align:center;animation:loaderIn .65s ease both}.loader-mark span{display:block;font-size:9px;letter-spacing:.52em;margin:0 0 16px .52em}.loader-mark strong{display:block;font:400 clamp(64px,10vw,140px)/.8 var(--condensed);letter-spacing:.04em}.loader-mark small{display:block;margin-top:28px;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.surface-note{font-size:11px!important;line-height:1.55;color:var(--muted);max-width:680px;margin-top:22px}
.home-row.sold{opacity:.52}.home-row.sold .price{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:500}.home-row.sold:hover{opacity:.72}
.contact-intro{text-align:center;max-width:1120px;margin:64px auto 120px}.contact-claim{font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:24px}.contact-intro h2{font-size:clamp(48px,7vw,104px);max-width:1050px;margin:0 auto}.visit-button{display:inline-flex;margin-top:48px;padding:18px 28px;background:var(--ink);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.18em;transition:transform .25s ease,box-shadow .25s ease}.visit-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,21,18,.16)}
.contact-details{margin-top:0}.contact-details h3{font:400 clamp(38px,4vw,64px)/1 var(--condensed);margin:20px 0}.contact-details p{color:var(--muted)}
.modal-plan img{transition:opacity .28s ease,transform .28s ease}.modal-plan img.is-changing{opacity:0;transform:translateY(8px)}.modal-legal{font-size:10px;color:var(--muted);line-height:1.55;margin:0 0 24px}
footer{grid-template-columns:1fr 1fr;align-items:start}.footer-location{margin:0}.footer-legal{grid-column:1/-1;max-width:980px;line-height:1.65}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{font-size:10px;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.12em}
@keyframes loaderIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.contact-intro{margin:44px auto 88px}footer{grid-template-columns:1fr}.footer-legal{grid-column:auto}.footer-links{margin-top:6px}}
@media(max-width:600px){.loader-mark strong{font-size:68px}.contact-intro{text-align:left;margin:34px 0 70px}.contact-intro h2{font-size:52px}.visit-button{width:100%;justify-content:center}.contact-details{margin-top:0}.surface-note{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media,.hero-content,.loader-mark{animation:none}.reveal,.modal-plan img,.site-loader{transition:none}}

/* v1.0.2 footer correction */
footer{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;gap:18px!important}
footer .footer-brand,footer .footer-legal,footer .footer-links,footer small{width:100%;max-width:980px;margin:0!important;text-align:left!important}
footer .footer-links{display:flex;justify-content:flex-start;gap:22px;flex-wrap:wrap}


/* v1.0.3 · Corrección de visualización de planos en iPhone */
@media(max-width:900px){
  .modal{height:100dvh;height:100svh;overflow:hidden}
  .modal-inner{display:flex;flex-direction:column;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .modal-plan{order:-1;flex:0 0 auto;width:100%;min-height:52svh;padding:64px 14px 14px;align-items:center;justify-content:center;background:#fff}
  .modal-plan img{display:block;width:100%;height:auto;max-width:100%;max-height:68svh;object-fit:contain;opacity:1}
  .modal-copy{order:2;flex:0 0 auto;justify-content:flex-start;padding:34px 7vw 70px}
  .modal-close{position:fixed;right:8px;top:max(8px,env(safe-area-inset-top));background:rgba(255,255,255,.9);border-radius:50%}
}
@media(max-width:600px){
  .modal-plan{min-height:48svh;padding:58px 10px 10px}
  .modal-plan img{max-height:62svh}
  .modal-copy h2{font-size:58px}
}
