/* COMUNA · Mobile-first revision. Photo backgrounds are original supplied renders.
   Desktop enhancement starts at 901px; shared components remain in styles.css. */
:root{--cream:#f4ecdf;--gold:#d8ba6f}
@font-face{font-family:'BOOWIE';src:url('assets/BOOWIE.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
h1,h2,h3,h4{font-family:'BOOWIE',Sora,sans-serif;font-weight:400}
.scr h4{font-family:'BOOWIE',Sora,sans-serif}
body{overflow-x:clip}section{padding:72px 20px}h2{font-size:clamp(34px,9vw,58px);line-height:1.08}.lead{font-size:14px;line-height:1.7;margin-bottom:28px}
.btn{min-height:46px;justify-content:center;gap:20px}.link{display:inline-flex;min-height:44px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:400;line-height:1.5}
header{width:calc(100% - 32px);top:calc(14px + env(safe-area-inset-top,0px));padding:9px 12px 9px 18px;background:rgba(2,11,22,.62);border-color:#ffffff25;z-index:30;gap:10px}
header .brand{margin-right:auto}header .wa{display:none}.menu-toggle{font:400 12px Sora,sans-serif;color:var(--cream);background:none;border:1px solid #ffffff55;border-radius:40px;padding:10px 14px;min-height:44px;display:flex;gap:16px;align-items:center;cursor:pointer}
header nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;background:#071525fa;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:0 15px 40px #0005}
header.menu-open nav{display:flex;flex-direction:column;gap:2px}header nav a{padding:13px 18px;min-height:46px;border-radius:12px}header nav a:hover{background:var(--sf2)}
.cover{position:relative;isolation:isolate;height:100svh;min-height:660px;max-height:1100px;padding:0;overflow:hidden;background:#101c2d;color:var(--cream)}
.cover-image,.cover-front{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cover-image{background-image:url('assets/acceso-noche-960.webp');background-size:cover;background-position:right center;z-index:-3}
.cover::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#03102022 0%,transparent 50%,#020b1650 67%,#020b16d9 100%);z-index:1}
.cover-heading{position:absolute;top:20%;left:16px;right:16px;z-index:-2}.cover-heading p{margin:0 4px 4px;color:#dfd6c9;font-size:8px;letter-spacing:.17em}.cover h1{font-size:clamp(96px,28vw,250px);font-weight:400;line-height:.9;letter-spacing:-.055em;margin-left:-.04em;animation:cover-in 1s ease both}
.cover-front{z-index:-1}.cover-script{position:absolute;z-index:2;top:44%;left:20px;font:italic 46px/1 Georgia,'Times New Roman',serif;letter-spacing:-.06em;text-shadow:0 2px 20px #0008}
.cover-bottom{position:absolute;z-index:3;left:20px;right:20px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}.cover-card{max-width:330px;padding:16px 18px;border:1px solid #f4ecdf50;border-radius:18px;background:#06111b75;backdrop-filter:blur(12px)}.cover-card .eyebrow{color:#d8ba6f;font-size:9px}.cover-card p{font-size:21px;line-height:1.3;letter-spacing:-.04em;margin:8px 0 14px}.cover-card .btn{width:100%;background:var(--cream);border-color:var(--cream);font-size:12px;justify-content:space-between}.cover-explore{display:none}.cover-caption{position:absolute;right:20px;bottom:76px;font-size:8px;z-index:3;opacity:.65}
@keyframes cover-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.mc .rnd{aspect-ratio:4/4.2}.mb{padding:20px 10px 12px}.mb h3{font-size:42px}.pr{font-size:14px}.sp{gap:6px}.sp span{font-size:11px;padding:7px 10px}.mc .row{gap:8px}.mc .row .btn{flex:1}.mc .row .link{flex:1;justify-content:center;font-size:12px}
.cmp{padding:22px 16px}.cmp .cr{font-size:12px;grid-template-columns:1.2fr 1fr 1fr;gap:8px}.cmp h3{font-size:28px}.cmp .btn{width:100%;font-size:12px}
.sg{gap:10px}.ph1{padding:25px}.phone{max-width:220px}.wide .btn{width:100%}.wide h3{line-height:1.2}
.map{display:flex;flex-direction:column;min-height:0;background:#e4e3de;border:0;color:#14212b;align-items:stretch}.map-window{height:360px;position:relative;background:linear-gradient(40deg,#e5e5e0,#f1f0e9);overflow:hidden}.map-window iframe{width:100%;height:100%;border:0;display:block}.map-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:25px;gap:12px}.map-placeholder p{font-size:13px;max-width:28ch}.map-placeholder button{cursor:pointer;background:#14212b;color:white;border:0;border-radius:99px;padding:14px;font:400 12px Sora}.map-address{padding:22px;background:#f4f0e8}.map-address .eyebrow{color:#746644}.map-address p{font-size:14px;margin:9px 0 18px}.map-address .btn{width:100%;background:#14212b;color:#fff}.map-help{font-size:10px;line-height:1.5;color:#665d51;margin:12px 0 0}.lg>.cd{padding:18px}.pl li{font-size:12px}.pl .link{font-size:11px}
.amenity-stage{position:relative;isolation:isolate;overflow:hidden;min-height:620px;height:80svh;max-height:820px;border-radius:22px;background:#10273a;touch-action:pan-y;outline-offset:4px}
.amenity-images{position:absolute;inset:0;z-index:-2}.amenity-backdrop{position:absolute;inset:0;opacity:0;transition:opacity .65s ease,transform 1s ease;transform:scale(1.045);background:radial-gradient(ellipse at 80% 20%,#405969,transparent 65%),linear-gradient(150deg,#213e50,#091623)}.amenity-backdrop.active{opacity:1;transform:scale(1)}.amenity-backdrop img{width:100%;height:100%;object-fit:cover;object-position:60% center}.amenity-backdrop.no-photo::before{content:'ALBA';position:absolute;top:15%;left:20px;font-size:110px;font-weight:300;letter-spacing:-.08em;color:#ffffff0b}
.amenity-stage::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#020b160f 10%,#020b1650 35%,#020b16e6 67%,#020b16 100%);pointer-events:none}
.amenity-content{position:absolute;left:22px;right:22px;bottom:245px}.amenity-content .eyebrow{color:#e1c68b;font-size:9px}.amenity-content h3{font-size:clamp(34px,10vw,48px);line-height:1;max-width:12ch;margin:12px 0}.amenity-content p{font-size:13px;line-height:1.65;max-width:36ch;margin:0 0 10px}.amenity-content small{font-size:10px;color:#d4c9b8;display:block}
.amenity-bottom{position:absolute;bottom:20px;left:20px;right:20px}.amenity-thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding:4px 0 8px;touch-action:pan-x pan-y}.amenity-thumbs::-webkit-scrollbar{display:none}.amenity-thumb{flex:0 0 114px;height:146px;position:relative;overflow:hidden;border:1px solid #ffffff40;border-radius:12px;color:#fff;background:linear-gradient(145deg,#334959,#0c1b28);cursor:pointer;scroll-snap-align:start;padding:12px;text-align:left;font:400 11px/1.25 Sora;display:flex;align-items:end;isolation:isolate}.amenity-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.amenity-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#000b);z-index:-1}.amenity-thumb[aria-pressed=true]{border:2px solid var(--gold);box-shadow:0 0 0 2px #d8ba6f20}.amenity-thumb .thumb-num{position:absolute;top:12px;left:12px;font-size:24px;color:#d8ba6f}.amenity-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.amenity-controls button{width:44px;height:44px;flex-shrink:0;border:1px solid #ffffff50;border-radius:50%;background:transparent;color:#fff;font-size:20px;cursor:pointer}.amenity-progress{height:2px;background:#ffffff25;flex:1;margin:0 5px}.amenity-progress i{display:block;height:2px;background:var(--gold);width:33.33%;transition:width .4s}#amenity-counter{font-size:12px;white-space:nowrap}
.detail{padding:115px 20px 70px}.detail .hg{display:flex;flex-direction:column-reverse;gap:28px}.detail .hg>div{width:100%}.detail .rnd{aspect-ratio:4/3}.detail h1{font-size:56px}.detail .chip{font-size:11px}.detail .ctas .btn{width:100%}.detail .gallery-title{margin-top:60px}.standalone-smart{padding-top:115px}
.mbar{padding:7px;z-index:25;background:#06111bf2}.mbar a{min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px}.mbar a:focus-visible{outline:2px solid var(--cream)}
@media(min-width:701px) and (max-width:900px){.cover h1{font-size:27vw}.cover-heading{top:17%;left:5%;right:5%}.cover-script{top:44%;left:7%;font-size:70px}.cover-bottom{bottom:45px;left:5%}.cover-caption{bottom:20px}.cover-card{width:330px}.cover-image{background-image:url('assets/acceso-noche-1920.webp')}}
@media(min-width:901px){section{padding:100px 4vw}h2{font-size:clamp(48px,5.6vw,80px)}.lead{font-size:16px}header{max-width:1320px;top:22px;padding:12px 18px 12px 24px}header .wa{display:block}header .menu-toggle{display:none}header nav,header.menu-open nav{position:static;background:none;border:0;box-shadow:none;padding:0;display:flex;flex-direction:row;gap:8px}header nav a{padding:10px 15px;min-height:44px;border:1px solid #ffffff30;border-radius:99px}header .brand{margin-right:25px}.cover{min-height:720px}.cover-image{background-image:url('assets/acceso-noche-1920.webp')}.cover-heading{top:17%;left:8%;right:8%}.cover-heading p{font-size:10px}.cover h1{font-size:28vw;max-width:100%;line-height:.8}.cover-script{top:47%;left:auto;right:9%;font-size:100px}.cover-bottom{left:8%;right:8%;bottom:50px;display:flex;align-items:end;justify-content:space-between}.cover-card{width:320px;padding:22px}.cover-explore{display:flex;gap:40px;align-items:center;font-size:12px;text-decoration:none}.cover-explore span{font-size:25px}.cover-caption{bottom:22px;right:8%}.mc .rnd{aspect-ratio:5/4}.mb{padding:22px 14px 14px}.sp span{font-size:13px}.cmp{padding:35px}.cmp .cr{font-size:14px}.cmp .btn{width:auto}.wide .btn{width:auto}.map-window{height:390px}.map-address .btn{width:auto}.amenity-stage{min-height:650px;height:75vh}.amenity-content{left:45px;bottom:100px;right:auto;width:35%}.amenity-content h3{font-size:60px}.amenity-content p{font-size:15px}.amenity-bottom{left:43%;right:35px;bottom:45px}.amenity-thumb{height:230px;flex-basis:160px;font-size:14px}.amenity-thumbs{gap:14px}.amenity-controls{margin-top:20px}.amenity-backdrop img{object-position:center}.detail{padding:145px 4vw 80px}.detail .hg{display:grid;grid-template-columns:1.15fr .85fr;gap:60px}.detail .rnd{aspect-ratio:4/5}.detail .ctas .btn{width:auto}.detail h1{font-size:100px}}
@media(max-width:360px){.cover-script{font-size:38px;top:42%}.cover-card{padding:13px 16px}.cover-card p{font-size:19px}.cover-bottom{left:16px;right:16px}.amenity-content{left:18px;right:18px}.amenity-thumb{flex-basis:100px}.cmp .cr{font-size:11px}.mc .row{flex-direction:column;align-items:stretch}.mc .row .btn,.mc .row .link{flex:auto}}
@media(prefers-reduced-motion:reduce){.cover h1{animation:none}.amenity-backdrop,.amenity-progress i{transition:none;transform:none}}
/* A wider photographic window keeps the entrance and wall logo in the portrait crop. */
@media(max-width:700px){.cover-image,.cover-front{top:18%;height:52%;mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 85%,transparent 100%)}.cover{background:#101a2a}.cover-heading{top:24%}.cover h1{font-size:31vw}.cover-script{top:39%;font-size:42px}.cover-card{background:#06111bba}.cover-caption{display:none}}
/* Lista de cambios aprobada: identidad, amenidades y mapa de lugares. */
.brand-logo{display:block;width:132px;height:auto;max-height:45px;object-fit:contain}header .brand{flex-shrink:0}
.cover-script{font-family:BOOWIE,Sora,sans-serif;font-style:normal;letter-spacing:.01em;font-size:36px}
.cover h1{font-size:22vw;letter-spacing:0;white-space:nowrap}.cover-card .btn{justify-content:center}
#map-panel{display:block;background:#f3f0e9;border-radius:20px;overflow:hidden}.places-layout{max-width:1100px}.places-toolbar{padding:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.places-toolbar>span{font-size:9px;letter-spacing:.1em;color:#665b46}.places-toolbar button{border:1px solid #a99b83;background:#fffaf2;border-radius:30px;padding:10px 16px;min-height:44px;font:400 12px Sora;cursor:pointer;white-space:nowrap}
#places-canvas{height:430px;position:relative;z-index:0;background:#e8e7df;font-family:Sora,sans-serif}.places-loading{padding:40px 25px;font-size:13px;color:#263947}.place-info{padding:22px;color:#14212b}.place-info .eyebrow{color:#746644}.place-info h3{font-size:27px;line-height:1.15;margin:8px 0}.place-info p{font-size:12px;line-height:1.6}.place-info .btn{background:#102333;color:#fff;width:100%;font-size:12px}.places-cards{display:flex;gap:9px;overflow-x:auto;padding:2px 18px 16px;scroll-snap-type:x mandatory}.place-card{flex:0 0 165px;scroll-snap-align:start;padding:12px;border:1px solid #c9c2b4;background:#fbf9f3;border-radius:12px;color:#183040;font:400 11px/1.5 Sora;display:flex;align-items:center;text-align:left;gap:10px;min-height:68px;cursor:pointer}.place-card[aria-pressed=true]{border:2px solid #987b36;background:#eee4ce}.place-number{background:#173747;color:white;border-radius:50%;width:24px;height:24px;flex-shrink:0;display:grid;place-items:center}.places-note{font-size:10px;color:#625b51;padding:0 20px 18px;margin:0}.map-help:empty{display:none}#map-status{padding:10px 20px;margin:0}
.place-marker{display:grid!important;place-items:center;border-radius:50%;background:#214d5b;color:#fff;border:2px solid #fff;box-shadow:0 2px 7px #0005;font:600 12px Sora;cursor:pointer}.place-marker.is-alba{background:#142330;border-color:#d8ba6f;border-radius:10px;padding:5px}.place-marker img{width:100%;height:auto}.place-marker.place-selected{box-shadow:0 0 0 4px #d8ba6f88,0 2px 10px #0005}.leaflet-popup-content{line-height:1.7}.leaflet-popup-content a{display:inline-block;padding:6px 0;color:#254d5e}.leaflet-control-attribution{font-size:9px!important}.leaflet-control-zoom a{min-width:36px;min-height:36px;line-height:36px!important}.amenity-backdrop:nth-child(3) img{object-position:50% 38%}
@media(min-width:901px){.brand-logo{width:155px}.cover h1{font-size:23vw}.cover-script{font-size:68px}.place-info{display:grid;grid-template-columns:1fr auto;column-gap:25px;align-items:center}.place-info .eyebrow,.place-info h3,.place-info p{grid-column:1}.place-info .btn{grid-column:2;grid-row:1/4;width:auto}#places-canvas{height:500px}.places-toolbar{padding:18px 24px}}
@media(max-width:360px){.brand-logo{width:110px}.cover-script{font-size:30px}.place-info h3{font-size:24px}#places-canvas{height:410px}}
#places-canvas .place-marker img{width:64px!important;height:18px!important;max-width:64px!important;object-fit:contain}.leaflet-tile-pane{filter:saturate(.2)}

/* Portada COMUNA y detalles en la página principal. */
.cover-comuna{display:block;width:100px;height:auto;margin:0 0 10px;object-fit:contain}
.model-more{margin-top:18px}.model-more summary{cursor:pointer;color:var(--gold);padding:12px 0;font-weight:600}.model-more p{margin:16px 0}.model-more .gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.model-more .gallery-item{border-radius:12px}
@media(min-width:768px){.cover-comuna{width:130px}}

#places-canvas .place-marker.is-alba{border:3px solid #edc761;box-shadow:0 0 0 8px #edc76155,0 3px 14px #0008;overflow:visible}.origin-label{position:absolute;top:43px;left:0;right:0;text-align:center;background:#102838;color:#ffe397;font-size:9px;font-weight:700;border-radius:4px;padding:3px}
/* Ajuste de portada móvil: COMUNA debajo del menú y ALBA más arriba. */
@media(max-width:700px){
 header .brand-logo{width:110px;max-height:34px}
 .cover-heading{display:contents}
 .cover-heading h1{position:absolute;top:22%;left:16px;right:16px;z-index:-2;margin-top:0}
 .cover-comuna{position:absolute;top:100px;right:30px;width:90px;margin:0;z-index:2}
}
/* Portada ajustada también para tablet y escritorio. */
@media(min-width:701px){
 header .brand-logo{width:120px;max-height:36px}
 .cover-heading{display:contents}
 .cover-heading h1{position:absolute;top:23%;left:8%;right:8%;z-index:-2;margin-top:0;font-size:clamp(130px,19vw,290px);line-height:.85}
 .cover-comuna{position:absolute;top:112px;right:8%;width:110px;margin:0;z-index:2}
}
@media(min-width:701px) and (max-width:900px){
 .cover-heading h1{top:23%;left:5%;right:5%;font-size:22vw}
 .cover-comuna{top:100px;right:30px;width:95px}
}
/* Logo de la barra superior a la mitad de su tamaño anterior. */
header .brand-logo{width:55px;max-height:17px;height:auto}
@media(min-width:701px){header .brand-logo{width:60px;max-height:18px}}

/* Opción 2: marca y descriptor juntos, alineados a la izquierda. */
.cover .cover-heading{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:150px;left:20px;right:20px;z-index:2;gap:8px}
.cover .cover-heading h1{position:static;margin:0;font-size:20vw;line-height:.85;animation:none;letter-spacing:0}
.cover .cover-heading .cover-script{position:static;margin:0;font-size:clamp(24px,7vw,36px);line-height:1;letter-spacing:.01em;text-shadow:none}
@media(min-width:701px){.cover .cover-heading{top:155px;left:8%;right:8%;gap:12px}.cover .cover-heading h1{font-size:clamp(100px,12vw,180px)}.cover .cover-heading .cover-script{font-size:clamp(30px,3vw,44px)}}
