:root {
  --cream:  #F8F4EE; --cream2: #F0EAE0; --cream3: #E6DDD0;
  --white:  #FDFCFA; --brown:  #5C3D2E; --brown2: #7A5440;
  --gold:   #B8892A; --gold2:  #D4A84B; --text:   #2A2118;
  --text2:  #5A4A3A; --muted:  #9A8878; --border: #DDD5C8;
  --bord2:  #C8BEB0; --coral:  #E05B4B;
  --sh1: 0 2px 24px rgba(92,61,46,.10);
  --sh2: 0 8px 40px rgba(92,61,46,.16);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--text);font-family:'Inter',sans-serif;font-weight:300;line-height:1.65;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;}

.eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;}
.eyebrow::before{content:'';width:28px;height:1.5px;background:var(--gold);flex-shrink:0;}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:400;line-height:1.15;color:var(--text);}
.sec-title em{font-style:italic;color:var(--brown);}
.btn-primary{display:inline-block;background:var(--brown);color:#fff;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2.2rem;text-decoration:none;transition:background .22s,transform .18s;}
.btn-primary:hover{background:var(--brown2);transform:translateY(-1px);}
.btn-outline{display:inline-block;border:1.5px solid var(--bord2);color:var(--text2);font-size:.78rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2.2rem;text-decoration:none;transition:all .22s;}
.btn-outline:hover{border-color:var(--brown);color:var(--brown);}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:300;height:68px;background:rgba(248,244,238,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 2.5rem;gap:2rem;}
.nav-logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:36px;width:auto;}
.nav-logo-text{font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:.08em;color:var(--brown);}
.nav-links{display:flex;gap:1.8rem;list-style:none;margin:0 auto;}
.nav-links a{font-size:.76rem;font-weight:400;letter-spacing:.05em;color:var(--text2);text-decoration:none;transition:color .18s;}
.nav-links a:hover{color:var(--brown);}
.nav-cta{background:var(--coral);color:#fff;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1.4rem;text-decoration:none;transition:background .2s;white-space:nowrap;flex-shrink:0;}
.nav-cta:hover{background:#c44a3c;}

/* HERO */
.hero{margin-top:68px;display:grid;grid-template-columns:52% 48%;min-height:calc(100vh - 68px);}
.hero-left{background:var(--white);display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem 3rem;position:relative;overflow:hidden;}
.hero-left::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--coral));}
.hero-pretitle{font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem;display:flex;align-items:center;gap:.7rem;animation:up .6s .1s both;}
.hero-pretitle::before{content:'';width:28px;height:1.5px;background:var(--gold);}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,5vw,5.5rem);font-weight:400;line-height:1.05;color:var(--text);margin-bottom:1.6rem;animation:up .7s .2s both;}
.hero-h1 em{font-style:italic;color:var(--brown);display:block;}
.hero-desc{font-size:1rem;color:var(--text2);line-height:1.75;max-width:400px;margin-bottom:2.5rem;animation:up .6s .35s both;}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap;animation:up .6s .5s both;}
.hero-stats{display:flex;gap:3rem;margin-top:3rem;padding-top:2.2rem;border-top:1px solid var(--border);animation:up .6s .65s both;}
.stat-n{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:400;color:var(--brown);display:block;line-height:1;}
.stat-l{font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;display:block;}
.hero-right{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;background:var(--border);overflow:hidden;}
.hero-right img{width:100%;height:100%;object-fit:cover;transition:transform 5s ease;}
.hero-right img:hover{transform:scale(1.04);}
.hero-img-main{grid-row:1/3;grid-column:1/2;}

/* STRIP */
.strip{background:var(--brown);padding:1.1rem 3rem;display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;}
.strip-item{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,244,238,.85);display:flex;align-items:center;gap:.6rem;}
.strip-item::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold2);flex-shrink:0;}

/* AUDIENCE BANNER */
.audience{background:var(--cream2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem;}
.audience-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.aud-item{display:flex;gap:1.2rem;align-items:flex-start;}
.aud-num{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);opacity:.6;line-height:1;flex-shrink:0;}
.aud-title{font-size:.88rem;font-weight:500;color:var(--text);margin-bottom:.25rem;}
.aud-text{font-size:.83rem;color:var(--text2);line-height:1.65;}

/* STREET VIEW */
.sv-section{padding:4rem 3rem;background:var(--white);border-bottom:1px solid var(--border);}
.sv-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:center;}
.sv-frame{overflow:hidden;border:1px solid var(--border);box-shadow:var(--sh1);}
.sv-frame iframe{width:100%;height:320px;border:none;display:block;}
.sv-caption{padding:.7rem 1rem;background:var(--cream2);border-top:1px solid var(--border);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}

/* APARTMENTS */
.apts-section{padding:6rem 3rem;background:var(--cream);}
.apts-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem;flex-wrap:wrap;}
.apts-note{font-size:.88rem;color:var(--muted);max-width:280px;text-align:right;line-height:1.65;}
.apts-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:1.5rem;}
.apt-card{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:transform .28s,box-shadow .28s;display:flex;flex-direction:column;}
.apt-card:hover{transform:translateY(-5px);box-shadow:var(--sh2);}
.apt-card:hover .apt-photo{transform:scale(1.05);}
.apt-img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--cream3);}
.apt-card:first-child .apt-img-wrap{aspect-ratio:3/4;}
.apt-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);}
.apt-pill{position:absolute;top:1rem;left:1rem;background:var(--brown);color:#fff;font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .75rem;}
.apt-stars{position:absolute;bottom:1rem;right:1rem;background:rgba(255,255,255,.92);color:var(--text);font-size:.72rem;font-weight:500;padding:.3rem .8rem;border:1px solid var(--border);}
.apt-body{padding:1.6rem 1.6rem 2rem;flex:1;display:flex;flex-direction:column;}
.apt-name{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:400;color:var(--text);margin-bottom:.5rem;}
.apt-desc{font-size:.85rem;color:var(--text2);line-height:1.7;margin-bottom:1.2rem;flex:1;}
.apt-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.4rem;}
.tag{font-size:.65rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;padding:.25rem .7rem;background:var(--cream2);color:var(--brown2);border:1px solid var(--border);}
.apt-cta{display:block;background:var(--text);color:#fff;text-align:center;padding:.85rem;font-size:.73rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .2s;margin-top:auto;}
.apt-cta:hover{background:var(--brown);}

/* WHY */
.why-section{background:var(--cream2);padding:6rem 3rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.why-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.why-imgs{position:relative;}
.why-img-main{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.why-img-over{position:absolute;bottom:-1.8rem;right:-1.8rem;width:46%;aspect-ratio:1/1;object-fit:cover;border:4px solid var(--cream2);box-shadow:var(--sh2);}
.why-corner{position:absolute;top:-1rem;left:-1rem;width:40px;height:40px;border-top:3px solid var(--gold);border-left:3px solid var(--gold);}
.why-list{list-style:none;margin-top:2rem;}
.why-item{display:flex;gap:1.2rem;padding:1.4rem 0;border-bottom:1px solid var(--border);align-items:flex-start;}
.why-item:first-child{border-top:1px solid var(--border);}
.why-num{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold);opacity:.7;min-width:2rem;line-height:1;margin-top:.1rem;}
.why-t{font-size:.88rem;font-weight:500;color:var(--text);margin-bottom:.25rem;}
.why-d{font-size:.83rem;color:var(--text2);line-height:1.65;}

/* RENOVATION BANNER */
.reno-banner{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2.5rem 3rem;}
.reno-inner{max-width:860px;margin:0 auto;display:flex;gap:2rem;align-items:flex-start;}
.reno-icon{width:44px;height:44px;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.2rem;}
.reno-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:2;stroke-linecap:round;}
.reno-title{font-size:.88rem;font-weight:500;color:var(--text);margin-bottom:.4rem;}
.reno-text{font-size:.85rem;color:var(--text2);line-height:1.75;}

/* HOST */
.host-section{background:var(--white);padding:6rem 3rem;}
.host-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:center;}
.host-logo-block{display:flex;flex-direction:column;align-items:center;gap:2rem;}
.host-logo{width:200px;height:auto;opacity:.9;}
.host-badge{background:var(--cream2);border:1px solid var(--border);padding:.9rem 1.5rem;text-align:center;width:100%;}
.host-badge-n{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--brown);display:block;line-height:1;}
.host-badge-l{font-size:.65rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;display:block;}
.host-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.15rem;color:var(--brown2);line-height:1.65;border-left:3px solid var(--gold);padding-left:1.5rem;margin:1.5rem 0;}
.host-body{font-size:.9rem;color:var(--text2);line-height:1.8;margin-bottom:1.2rem;}
.host-links{display:flex;gap:.8rem;flex-wrap:wrap;}
.host-link{font-size:.73rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);text-decoration:none;border-bottom:1.5px solid var(--gold2);padding-bottom:.1rem;transition:color .18s;}
.host-link:hover{color:var(--gold);}

/* GUIDE */
.guide-section{background:var(--cream);padding:6rem 3rem;border-top:1px solid var(--border);}
.guide-inner{max-width:1180px;margin:0 auto;}
.guide-header{margin-bottom:3rem;}
.guide-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:2.5rem;flex-wrap:wrap;}
.guide-tab{font-size:.73rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1.4rem;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none;font-family:'Inter',sans-serif;}
.guide-tab:hover,.guide-tab.active{color:var(--brown);border-bottom-color:var(--brown);}
.guide-panel{display:none;}
.guide-panel.active{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.guide-card{background:var(--white);border:1px solid var(--border);padding:1.8rem;transition:box-shadow .25s;}
.guide-card:hover{box-shadow:var(--sh1);}
.guide-cat{font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.guide-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:400;color:var(--text);margin-bottom:1rem;line-height:1.3;}
.guide-items{list-style:none;}
.guide-items li{font-size:.84rem;color:var(--text2);line-height:1.6;padding:.5rem 0;border-bottom:1px solid var(--cream2);display:flex;align-items:flex-start;gap:.6rem;}
.guide-items li:last-child{border-bottom:none;}
.guide-items li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold2);flex-shrink:0;margin-top:.55rem;}
.guide-dist{font-size:.71rem;color:var(--muted);margin-left:auto;white-space:nowrap;flex-shrink:0;}
.guide-tip{margin-top:2rem;background:var(--cream2);border:1px solid var(--border);border-left:4px solid var(--gold);padding:1.2rem 1.8rem;font-size:.87rem;color:var(--text2);line-height:1.7;}
.guide-tip strong{color:var(--brown);font-weight:500;}

/* FAQ */
.faq-section{background:var(--cream2);padding:6rem 3rem;border-top:1px solid var(--border);}
.faq-inner{max-width:780px;margin:0 auto;}
.faq-header{margin-bottom:3rem;}
.faq-list{list-style:none;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:first-child{border-top:1px solid var(--border);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0;background:none;border:none;font-family:'Inter',sans-serif;font-size:.92rem;font-weight:500;color:var(--text);text-align:left;cursor:pointer;transition:color .2s;}
.faq-q:hover{color:var(--brown);}
.faq-arrow{width:20px;height:20px;flex-shrink:0;transition:transform .3s;color:var(--muted);}
.faq-item.open .faq-arrow{transform:rotate(180deg);color:var(--brown);}
.faq-item.open .faq-q{color:var(--brown);}
.faq-a{display:none;padding:0 0 1.4rem;font-size:.87rem;color:var(--text2);line-height:1.8;}
.faq-item.open .faq-a{display:block;}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);height:38vh;overflow:hidden;background:var(--cream3);}
.gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:filter .4s,transform .5s;}
.gallery img:hover{filter:saturate(1.15);transform:scale(1.04);}

/* CONTACT */
.contact-section{padding:6rem 3rem;background:var(--white);}
.contact-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start;}
.contact-h{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;line-height:1.1;color:var(--text);margin-bottom:1.2rem;}
.contact-h em{font-style:italic;color:var(--brown);}
.contact-note{font-size:.9rem;color:var(--text2);line-height:1.75;max-width:340px;margin-bottom:2.5rem;}
.contact-rows{display:flex;flex-direction:column;}
.c-row{display:flex;align-items:center;gap:1.2rem;padding:1.1rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);transition:padding-left .2s;}
.c-row:first-child{border-top:1px solid var(--border);}
.c-row:hover{padding-left:.4rem;}
.c-row:hover .c-val{color:var(--brown);}
.c-lbl{font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);min-width:68px;}
.c-val{font-size:.92rem;}
.c-arr{margin-left:auto;color:var(--bord2);transition:color .2s,transform .2s;}
.c-row:hover .c-arr{color:var(--brown);transform:translateX(3px);}
.map-box{border:1px solid var(--border);overflow:hidden;}
.map-box iframe{width:100%;height:360px;border:none;display:block;}
.map-caption{padding:.85rem 1.2rem;background:var(--cream2);border-top:1px solid var(--border);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}

/* FOOTER */
footer{background:var(--text);color:rgba(248,244,238,.6);padding:3rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.f-logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;}
.f-logo img{height:32px;width:auto;filter:invert(1);opacity:.7;}
.f-logo-text{font-family:'Inter',sans-serif;font-size:1rem;font-weight:500;letter-spacing:.08em;color:rgba(248,244,238,.85);}
.f-links{display:flex;gap:2rem;list-style:none;flex-wrap:wrap;}
.f-links a{font-size:.72rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:rgba(248,244,238,.35);text-decoration:none;transition:color .2s;}
.f-links a:hover{color:var(--gold2);}
.f-legal{font-size:.68rem;letter-spacing:.06em;color:rgba(248,244,238,.2);}

@media(max-width:960px){
  .nav{padding:0 1.5rem;}.nav-links{display:none;}
  .hero{grid-template-columns:1fr;}.hero-left{padding:3rem 1.5rem;}
  .hero-right{height:55vw;}
  .hero-img-main{grid-row:1;grid-column:1;}
  .strip{gap:1.5rem;padding:1rem 1.5rem;}
  .audience{padding:2rem 1.5rem;}.audience-inner{grid-template-columns:1fr;gap:1.5rem;}
  .sv-section{padding:3rem 1.5rem;}.sv-inner{grid-template-columns:1fr;}
  .apts-section{padding:3.5rem 1.5rem;}.apts-grid{grid-template-columns:1fr;gap:1.5rem;}
  .apt-card:first-child .apt-img-wrap{aspect-ratio:16/9;}
  .why-section{padding:3.5rem 1.5rem;}.why-inner{grid-template-columns:1fr;gap:3rem;}.why-img-over{display:none;}
  .reno-banner{padding:2rem 1.5rem;}
  .host-section{padding:3.5rem 1.5rem;}.host-inner{grid-template-columns:1fr;gap:2.5rem;}
  .host-logo-block{flex-direction:row;align-items:center;}.host-logo{width:120px;}
  .guide-section{padding:3.5rem 1.5rem;}.guide-panel.active{grid-template-columns:1fr;}
  .faq-section{padding:3.5rem 1.5rem;}
  .gallery{height:28vw;}
  .contact-section{padding:3.5rem 1.5rem;}.contact-inner{grid-template-columns:1fr;gap:3rem;}
  footer{padding:2rem 1.5rem;flex-direction:column;align-items:flex-start;}.f-links{gap:1.2rem;}
}
@keyframes up{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* PÁGINA DE CADA DEPTO */
.btn-reservar{display:inline-block;background:var(--coral);color:#fff;font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:1rem 2.4rem;text-decoration:none;transition:background .2s,transform .18s;}
.btn-reservar:hover{background:#c44a3c;transform:translateY(-1px);}
.apt-links{display:flex;gap:.5rem;margin-top:auto;}
.apt-links .apt-cta{flex:1;margin-top:0;}
.apt-cta.reservar{background:var(--coral);}
.apt-cta.reservar:hover{background:#c44a3c;}
.ficha-hero{margin-top:68px;display:grid;grid-template-columns:1fr 1.25fr;min-height:min(78vh,680px);}
.ficha-hero-txt{background:var(--white);padding:4.5rem 3.5rem 4rem 3rem;display:flex;flex-direction:column;justify-content:center;position:relative;}
.ficha-hero-txt::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--coral));}
.ficha-volver{font-size:.72rem;letter-spacing:.08em;color:var(--muted);text-decoration:none;margin-bottom:2rem;}
.ficha-volver:hover{color:var(--brown);}
.ficha-h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,4.5vw,4.4rem);font-weight:400;line-height:1.05;margin-bottom:1rem;}
.ficha-h1 em{font-style:italic;color:var(--brown);}
.ficha-bajada{font-size:1rem;color:var(--text2);line-height:1.75;max-width:440px;margin-bottom:1.6rem;}
.ficha-datos{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.78rem;color:var(--text2);margin-bottom:2rem;}
.ficha-datos b{font-weight:500;color:var(--text);}
.ficha-btns{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;}
.ficha-hero-img{position:relative;overflow:hidden;background:var(--cream3);}
.ficha-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ficha-hero-img .apt-pill{z-index:1;}
.ficha-sec{padding:5rem 3rem;}
.ficha-sec.alt{background:var(--cream2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.ficha-inner{max-width:1100px;margin:0 auto;}
.ficha-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:start;}
.ficha-texto p{font-size:.93rem;color:var(--text2);line-height:1.85;margin-bottom:1.1rem;}
.ficha-lista{list-style:none;columns:2;column-gap:2rem;}
.ficha-lista li{font-size:.85rem;color:var(--text2);padding:.45rem 0;border-bottom:1px solid var(--border);break-inside:avoid;display:flex;gap:.6rem;}
.ficha-lista li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold2);flex-shrink:0;margin-top:.6rem;}
.ficha-lista.una{columns:1;}
.ficha-h3{font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem;}
.ficha-ojo{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--gold);padding:1.4rem 1.8rem;margin-top:2rem;}
.ficha-ojo p{font-size:.86rem;color:var(--text2);line-height:1.75;margin:0;}
.ficha-ojo p+p{margin-top:.6rem;}
/* galería */
.gal-filtros{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.8rem 0 1.5rem;}
.gal-filtro{font-family:'Inter',sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.45rem 1rem;border:1px solid var(--bord2);background:none;color:var(--text2);cursor:pointer;}
.gal-filtro.activo,.gal-filtro:hover{background:var(--brown);border-color:var(--brown);color:#fff;}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.gal-grid button{border:none;padding:0;background:var(--cream3);cursor:zoom-in;aspect-ratio:4/3;overflow:hidden;}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gal-grid button:hover img{transform:scale(1.05);}
.gal-nota{font-size:.72rem;color:var(--muted);margin-top:1rem;}
.lightbox{border:none;padding:0;background:transparent;max-width:94vw;max-height:94vh;}
.lightbox::backdrop{background:rgba(42,33,24,.88);}
.lightbox img{max-width:94vw;max-height:84vh;display:block;margin:0 auto;}
.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;font-size:.78rem;padding:.8rem .2rem 0;}
.lightbox-bar button{font-family:'Inter',sans-serif;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem .9rem;cursor:pointer;font-size:.78rem;}
/* reseñas */
.resenas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.resena{background:var(--white);border:1px solid var(--border);padding:1.8rem;display:flex;flex-direction:column;gap:1rem;}
.resena-txt{font-family:'Playfair Display',serif;font-style:italic;font-size:1rem;color:var(--text);line-height:1.65;}
.resena-pie{font-size:.72rem;letter-spacing:.06em;color:var(--muted);margin-top:auto;}
.resena-pie b{color:var(--brown);font-weight:500;}
.resenas-link{display:inline-block;margin-top:1.8rem;}
/* otros deptos y cierre */
.otros-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
.otro{display:grid;grid-template-columns:140px 1fr;background:var(--white);border:1px solid var(--border);text-decoration:none;color:var(--text);transition:box-shadow .25s;}
.otro:hover{box-shadow:var(--sh2);}
.otro img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;}
.otro div{padding:1.2rem 1.4rem;}
.otro b{font-family:'Playfair Display',serif;font-weight:400;font-size:1.25rem;display:block;margin-bottom:.3rem;}
.otro span{font-size:.8rem;color:var(--text2);line-height:1.55;}
.cierre{background:var(--brown);color:var(--cream);padding:4rem 3rem;text-align:center;}
.cierre h2{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:.8rem;}
.cierre p{font-size:.9rem;color:rgba(248,244,238,.75);margin-bottom:2rem;}
.cierre .btn-outline{border-color:rgba(248,244,238,.4);color:var(--cream);margin-left:.6rem;}
@media(max-width:960px){
  .ficha-hero{grid-template-columns:1fr;}.ficha-hero-txt{padding:3rem 1.5rem;}.ficha-hero-img{height:60vw;}
  .ficha-sec{padding:3.5rem 1.5rem;}.ficha-cols{grid-template-columns:1fr;gap:2.5rem;}
  .gal-grid{grid-template-columns:repeat(2,1fr);}
  .resenas-grid,.otros-grid{grid-template-columns:1fr;}
  .ficha-lista{columns:1;}
  .cierre{padding:3rem 1.5rem;}.cierre .btn-outline{margin:.8rem 0 0;}
}
a.apt-name{display:block;text-decoration:none;}a.apt-name:hover{color:var(--brown);}
