:root{--blue:#24a9e8;--ink:#171717;--muted:#686868;--line:#e9e9e9;--warm:#f7f4ef;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand img{width:150px}.nav{display:flex;gap:34px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav a{position:relative}.nav a:after{content:"";position:absolute;height:2px;background:var(--blue);left:0;right:100%;bottom:-10px;transition:.25s}.nav a:hover:after{right:0}.nav-cta{border:1px solid var(--blue);padding:10px 18px;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.hero{min-height:calc(100vh - 78px);position:relative;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.16),rgba(0,0,0,.05)),url('assets/images/Teatro_01.webp') center/cover;transform:scale(1.04);animation:ken 18s ease-out infinite alternate}.hero-content{position:relative;color:white;padding-left:7vw;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--blue);margin:0 0 14px}.hero h1{font-family:var(--serif);font-size:clamp(64px,9vw,126px);line-height:.86;margin:0 0 28px;font-weight:600}.location{text-transform:uppercase;letter-spacing:.15em;font-weight:700}.offered{margin:24px 0 0;color:#eee}.offered strong{display:block;font-family:var(--serif);font-size:44px;font-weight:600;color:#fff}.hero-actions,.contact-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:12px}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.ghost{color:#fff;background:rgba(0,0,0,.25)}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:#fff;font-size:38px}.stats{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);background:white}.stats div{text-align:center;padding:34px 12px;border-right:1px solid var(--line)}.stats div:last-child{border-right:0}.stats span{display:block;font-family:var(--serif);font-size:28px}.stats small{text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:11px}.split{display:grid;grid-template-columns:1.12fr .88fr;min-height:560px}.split.reverse{grid-template-columns:.88fr 1.12fr}.split.reverse .photo-panel{order:2}.photo-panel img,.feature-band img{width:100%;height:100%;object-fit:cover}.copy-panel{display:flex;flex-direction:column;justify-content:center;padding:7vw;background:#fff}.copy-panel h2,.section-heading h2,.feature-text h2{font-family:var(--serif);font-size:clamp(34px,4vw,58px);line-height:1.04;margin:0 0 24px;font-weight:600}.copy-panel p,.feature-text p{color:#4b4b4b;line-height:1.75;font-size:16px}.feature-band{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--warm);align-items:stretch}.feature-text{padding:7vw;align-self:center}.tour-section,.community,.gallery{padding:84px 5vw}.section-heading{text-align:center;max-width:760px;margin:0 auto 38px}.matterport{position:relative;max-width:1180px;margin:auto;border-radius:22px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.12);background:#ddd}.matterport:before{content:"";display:block;padding-top:56.25%}.matterport iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.community{background:var(--warm)}.amenities{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;max-width:1180px;margin:0 auto 40px;background:#ddd}.amenities div{background:var(--warm);padding:26px 16px;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:auto}.community-grid img{height:285px;width:100%;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-grid button{border:0;padding:0;background:none;cursor:pointer;overflow:hidden}.gallery-grid img{height:230px;width:100%;object-fit:cover;transition:transform .35s}.gallery-grid button:hover img{transform:scale(1.04)}.contact{padding:78px 5vw;background:linear-gradient(90deg,#f3f8fc,#fff)}.agent-card{max-width:1180px;margin:auto;display:grid;grid-template-columns:220px 1fr 1fr;gap:44px;align-items:center}.headshot{max-height:260px;object-fit:contain;align-self:end}.agent-logo{width:245px;margin-bottom:18px}.contact-links{flex-direction:column;margin:0}.contact-links a:not(.button){font-weight:800}footer{text-align:center;background:#141414;color:#bdbdbd;font-size:11px;padding:18px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:200;display:none;align-items:center;justify-content:center;padding:36px}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:92vw;box-shadow:0 20px 80px rgba(0,0,0,.35)}.lightbox button{position:absolute;top:22px;right:28px;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes ken{to{transform:scale(1.1) translate3d(-1.5%,0,0)}}@media (max-width:900px){.site-header{height:auto;padding:14px 20px}.brand img{width:132px}.nav{display:none}.nav-cta{font-size:11px}.hero{min-height:84vh}.hero-content{padding:110px 26px 80px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(even){border-right:0}.split,.split.reverse,.feature-band{grid-template-columns:1fr}.split.reverse .photo-panel{order:0}.photo-panel img,.feature-band img{height:360px}.copy-panel,.feature-text{padding:54px 28px}.amenities{grid-template-columns:repeat(2,1fr)}.community-grid,.gallery-grid{grid-template-columns:1fr 1fr}.agent-card{grid-template-columns:1fr;text-align:center;gap:20px}.headshot{margin:auto;max-height:260px}.agent-logo{margin:0 auto 16px}.contact-links{align-items:center}.button{width:100%;max-width:300px}.hero-bg{background-position:center}.offered strong{font-size:36px}}@media (max-width:560px){.hero h1{font-size:64px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}.community-grid{grid-template-columns:1fr}.stats span{font-size:25px}}

.location-section{padding:84px 5vw;background:#fff}.location-card{max-width:1180px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.08);background:#fff}.map-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}.map-copy h3{font-family:var(--serif);font-size:36px;line-height:1.1;margin:0 0 18px;font-weight:600}.map-copy p{color:#4b4b4b;line-height:1.7;margin:0 0 26px}.map-copy .button{align-self:flex-start}.map-embed{min-height:430px;background:#eee}.map-embed iframe{width:100%;height:100%;min-height:430px;border:0;display:block}@media (max-width:900px){.location-card{grid-template-columns:1fr}.map-copy{padding:36px 28px}.map-copy .button{align-self:stretch}.map-embed,.map-embed iframe{min-height:360px}}

/* Mobile gallery fix: gallery content is no longer hidden behind reveal animation or JS injection. */
.gallery-grid{opacity:1 !important;transform:none !important;min-height:1px}.gallery-grid .gallery-item{display:block}.gallery-grid img{background:#f3f3f3}.gallery-grid img[data-fallback]{opacity:1}
@media (max-width:560px){.gallery{padding:60px 18px}.gallery-grid{gap:12px}.gallery-grid img{height:245px;border-radius:4px}.gallery-grid button{border-radius:4px}}
