:root{--primary:#252c30;--accent:#d8b480;--light:#f7f5f0;--dark:#252c30;--white:#fff;--muted:#686b6b;--line:#deded7}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-family:'Poppins',sans-serif;color:var(--dark);background:var(--light);line-height:1.7}h1,h2,h3,.serif{font-family:'Playfair Display',serif;font-weight:400;line-height:1.15}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #b38142;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:#fff;z-index:3000}.skip-link:focus{top:15px}.eyebrow{display:block;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;margin-bottom:22px}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid #9a7c52;padding:10px 0;font-size:.85rem;font-weight:500}.text-link span{transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}
nav{position:fixed;inset:0 0 auto;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5%;color:#fff;transition:background .3s,padding .3s,color .3s;isolation:isolate}nav.scrolled,nav.menu-open{background:rgba(250,249,246,.97);color:var(--dark);padding:15px 5%;box-shadow:0 1px 0 #00000010;backdrop-filter:blur(12px)}.logo{font-size:1.75rem;line-height:1.1;white-space:nowrap}.logo span{display:block;font:500 .55rem/1.5 'Poppins',sans-serif;letter-spacing:.23em;margin-top:8px}.nav-links{display:flex;align-items:center;gap:34px;list-style:none}.nav-links a{font-size:.76rem;letter-spacing:.07em;position:relative}.nav-links a:not(.nav-reserve)::after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:100%;bottom:-6px;transition:right .3s}.nav-links a:hover::after{right:0}.nav-reserve{display:inline-block;border:1px solid #ffffff60;padding:11px 20px}.scrolled .nav-reserve,.menu-open .nav-reserve{border-color:#252c3050}.menu-toggle{display:none}
.hero{position:relative;min-height:740px;height:92svh;max-height:1080px;color:white;display:flex;align-items:center;padding:145px 7% 120px;overflow:hidden;background:#292b2c;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2;animation:heroZoom 1.8s ease-out both}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.63) 0%,rgba(0,0,0,.30) 48%,rgba(0,0,0,.03) 78%),linear-gradient(180deg,rgba(0,0,0,.28),transparent 27%,transparent 76%,rgba(0,0,0,.38))}.hero-content{max-width:880px}.hero .eyebrow{display:flex;align-items:center;gap:15px;animation:enter .8s both}.hero .eyebrow::before{content:'';height:1px;width:36px;background:var(--accent)}.hero h1{font-size:clamp(3.2rem,5.2vw,5.8rem);letter-spacing:-.035em;margin-bottom:26px;animation:enter .9s .12s both;text-shadow:0 2px 28px #0002}.hero h1 em{font-weight:400;color:#ead4b4}.hero p{font-size:1rem;line-height:1.9;color:#f3f1ec;animation:enter .9s .25s both}.hero-actions{display:flex;gap:32px;align-items:center;margin-top:36px;animation:enter .9s .4s both}.btn{border:none;border-radius:3px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 28px;background:var(--accent);color:#252c30;font-size:.8rem;font-weight:500;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover{background:#e5c59a;transform:translateY(-3px);box-shadow:0 8px 24px #0002}.btn span{font-size:1.2rem}.hero-link{font-size:.8rem;border-bottom:1px solid #ffffff80;padding:8px 0;display:flex;gap:18px}.hero-bottom{position:absolute;bottom:35px;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:20px;font-size:.68rem;letter-spacing:.07em}.hero-bottom a{display:flex;gap:20px}.hero-bottom a span{animation:nudge 2.5s 3}.stay-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1250px;margin:auto;padding:32px 3%;align-items:center;border-bottom:1px solid var(--line)}.stay-strip span{text-align:center;font-size:.78rem;border-right:1px solid var(--line)}.stay-strip span:last-child{border:0}.stay-strip strong{font-family:'Playfair Display',serif;font-weight:400;font-size:1.65rem;margin-right:10px}
.about{padding:120px 5%;display:grid;grid-template-columns:1fr 1fr;gap:90px;max-width:1320px;margin:auto;align-items:center}.about-img{position:relative}.about-img img{width:100%;aspect-ratio:4/4.5;object-fit:cover;border-radius:4px}.about-badge{position:absolute;right:-24px;bottom:28px;width:145px;padding:20px;background:var(--light);text-align:center;border:1px solid var(--line)}.about-badge span{font:400 3rem/1.1 'Playfair Display',serif}.about-text h2{font-size:clamp(2.3rem,3.5vw,3.6rem);margin-bottom:28px}.about-text p{color:var(--muted);font-size:.9rem;line-height:1.9;margin-bottom:18px}.features{padding:0 5% 90px}.features-grid{max-width:1188px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.feature-card{padding:28px 18px 24px 0;border-top:1px solid #bdb6a9;transition:transform .3s}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:1.6rem;color:#957649;margin-bottom:24px}.feature-card h3{font-size:1.35rem;margin-bottom:12px}.feature-card p{font-size:.78rem;color:var(--muted);line-height:1.85}
.apartments{padding:95px 5% 110px;background:#eeeee8;text-align:center}.apartments h2,.gallery-section h2,.contact-section h2{font-size:clamp(2.2rem,3.7vw,3.7rem);margin-bottom:20px}.apartments>p,.gallery-section>p,.contact-section>p{font-size:.9rem;color:var(--muted);margin:0 auto 50px;max-width:720px}.apt-grid{max-width:1188px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.apt-card{background:#fff;text-align:left;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .35s,transform .35s}.apt-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #252c3010}.apt-img{height:310px;position:relative;overflow:hidden}.apt-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.apt-card:hover .apt-img img{transform:scale(1.045)}.apt-tag{position:absolute;z-index:1;left:20px;top:20px;background:#fffffff0;padding:7px 15px;font-size:.68rem;letter-spacing:.04em}.apt-info{padding:28px 32px 20px;flex:1}.apt-info h3{font-size:1.75rem;margin-bottom:18px}.apt-details{display:flex;gap:25px;font-size:.8rem;color:#626562}.apt-perks{margin-top:20px;border-top:1px solid #e6e6df;padding-top:20px}.apt-perks p{font-size:.8rem!important;line-height:1.85}.apt-perks ul{list-style:none;font-size:.78rem;color:#626562}.apt-perks li{margin-bottom:5px}.apt-perks li::before{content:'—';margin-right:9px;color:#a88754}.apt-actions{display:flex;gap:18px;justify-content:space-between;margin:0 32px;padding:20px 0 25px;border-top:1px solid #e6e6df;font-size:.75rem;font-weight:500}.apt-actions button{border:0;background:none;font-size:inherit;color:inherit}.apt-actions a:hover,.apt-actions button:hover{color:#88663a}
.location-section{max-width:1320px;margin:auto;padding:115px 5%;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.location-section h2{font-size:clamp(2.5rem,4vw,4rem)}.location-section p{color:var(--muted);font-size:.9rem;margin-bottom:20px}.gallery-section{background:#fff;padding:95px 5% 110px;text-align:center}.gallery-grid{max-width:1188px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:auto}.gallery-item{border:0;background:var(--light);height:285px;overflow:hidden;border-radius:3px;position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.055)}.gallery-item::after{content:'↗';position:absolute;bottom:15px;right:15px;background:#fff;padding:6px 14px;font-size:1.2rem;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}.gallery-item:hover::after,.gallery-item:focus-visible::after{opacity:1;transform:translateY(0)}
.contact-section{padding:100px 5%;text-align:center}.contact-container{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;max-width:1188px;margin:auto;text-align:left}.contact-info-item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}.contact-icon{font-size:1.4rem;width:40px;flex-shrink:0}.contact-text h3{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:7px}.contact-text p{font-size:1rem;overflow-wrap:anywhere}.contact-info-item:hover{border-color:#a88754}.contact-form-wrap{background:#fff;padding:35px;border:1px solid #e7e5df;border-radius:4px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-group{margin-bottom:20px;min-width:0}.form-group label{font-size:.7rem;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea,.form-group select{width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid #d5d5ce;border-radius:2px;background:white;font-size:.85rem;color:var(--dark);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#9b794a;outline:0;box-shadow:0 0 0 3px #d8b48030}.form-group textarea{resize:vertical;min-height:130px}.form-note{font-size:.7rem;color:var(--muted);line-height:1.8;margin-bottom:18px}.form-note a{text-decoration:underline}.btn-submit{width:100%;background:var(--primary);color:white}.btn-submit:hover{background:#3c464b}.btn-submit:disabled{opacity:.6;cursor:wait;transform:none}.form-status{font-size:.8rem;line-height:1.7;margin-top:15px}.form-status:empty{margin:0}.form-status[data-state=error]{color:#a22e23}.form-status[data-state=success]{color:#245f42}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.map-wrapper{max-width:1188px;margin:65px auto 0;height:320px;overflow:hidden;border-radius:4px}.map-wrapper iframe{height:100%;width:100%;border:0}
footer{background:var(--primary);color:#eee;padding:65px 5% 25px}.footer-content{max-width:1188px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:65px}.footer-col h3{font-size:1.6rem;color:#e5c59a;margin-bottom:20px}.footer-col p{font-size:.8rem;line-height:1.9;color:#d1d5d6;margin-bottom:10px}.footer-col a:hover{color:#e5c59a}.copyright{max-width:1188px;margin:40px auto 0;padding-top:22px;border-top:1px solid #ffffff20;font-size:.65rem;color:#c1c7c9}.float-btn{position:fixed;bottom:26px;right:26px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#276047;color:white;font-size:1.75rem;box-shadow:0 5px 20px #0002;z-index:900;transition:transform .25s}.float-btn:hover{transform:translateY(-4px)}.mobile-contact{display:none}
.lightbox{position:fixed;inset:0;background:#111e;z-index:2000;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px 70px 40px;backdrop-filter:blur(10px)}.lightbox[hidden]{display:none}.lightbox-img-container{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;width:100%;min-height:0}.lightbox-img{max-height:78svh;max-width:100%;object-fit:contain}.close-btn,.nav-btn{background:#252c30b3;border:0;color:#fff;min-width:48px;min-height:48px;font-size:1.7rem}.close-btn{position:absolute;top:12px;right:20px;font-size:2rem}.nav-btn{position:fixed;top:50%;transform:translateY(-50%)}.prev-btn{left:12px}.next-btn{right:12px}.lightbox-counter{color:#fff;font-size:.75rem;letter-spacing:.12em;margin-top:18px}.lightbox-error{color:#fff;font-size:.8rem;margin-top:12px}.lightbox-error:empty{display:none}
.reveal{opacity:1;transform:none}.reveal-pending{opacity:0;transform:translateY(26px)}.reveal.active{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:1600px){.hero{padding-left:max(7%,calc((100vw - 1400px)/2))}}
@media(max-width:1000px){.nav-links{gap:22px}.about,.location-section{gap:50px}.contact-container{gap:35px}.apt-img{height:260px}.apt-info{padding:24px}.apt-actions{margin:0 24px;flex-wrap:wrap}.gallery-item{height:230px}.hero h1{font-size:4rem}.hero{min-height:660px}.footer-content{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:90px}nav{padding:20px 6%}.logo{font-size:1.5rem}.logo span{font-size:.48rem}.menu-toggle{display:block;background:none;border:1px solid currentColor;color:inherit;padding:7px 11px;font-size:.75rem}.menu-toggle span{margin-left:8px}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#faf9f6;padding:15px 6% 24px;color:var(--dark);border-bottom:1px solid var(--line)}nav.menu-open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-links a{display:block;padding:12px 0}.nav-links .nav-reserve{padding:12px;text-align:center;margin-top:12px}.hero{height:89svh;min-height:620px;max-height:900px;padding:140px 6% 115px;align-items:flex-end}.hero-photo{object-position:57% center}.hero::before{background:linear-gradient(180deg,#0005,transparent 25%,#0006 48%,#000b 100%)}.hero h1{font-size:clamp(2.7rem,8.7vw,4rem);margin-bottom:20px}.hero p{font-size:.84rem}.hero .eyebrow{font-size:.6rem;margin-bottom:18px}.hero-actions{gap:20px;margin-top:26px;flex-wrap:wrap}.btn{padding:16px 21px;font-size:.74rem;gap:18px}.hero-link{font-size:.74rem}.hero-bottom{left:6%;right:6%;bottom:24px;font-size:.58rem}.hero-bottom>span{max-width:145px}.stay-strip{grid-template-columns:1fr 1fr;gap:16px;padding:24px 4%}.stay-strip span{font-size:.68rem}.stay-strip span:nth-child(2){border:0}.stay-strip strong{font-size:1.4rem}.about{grid-template-columns:1fr;gap:45px;padding:70px 6%}.about-img img{aspect-ratio:1.2}.about-badge{right:16px;bottom:-20px;width:115px;padding:12px}.about-badge span{font-size:2.5rem}.about-text h2{font-size:2.6rem}.features{padding:0 6% 60px}.features-grid{grid-template-columns:repeat(2,1fr);gap:20px}.feature-card{padding-right:0}.feature-card h3{font-size:1.25rem}.feature-card p{font-size:.74rem}.feature-icon{margin-bottom:16px}.apartments,.gallery-section,.contact-section{padding:65px 6%}.eyebrow{font-size:.62rem;letter-spacing:.16em}.apt-grid{grid-template-columns:1fr;gap:25px}.apt-img{height:265px}.apt-info h3{font-size:1.65rem}.apt-actions{font-size:.73rem}.location-section{grid-template-columns:1fr;padding:65px 6%;gap:30px}.location-section h2{font-size:2.7rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-item{height:190px}.gallery-item::after{opacity:1;transform:none;font-size:.85rem;padding:3px 10px;bottom:10px;right:10px}.contact-container{grid-template-columns:1fr;gap:30px}.contact-form-wrap{padding:23px 18px}.contact-text p{font-size:.95rem}.form-row{gap:12px}.form-group input,.form-group textarea,.form-group select{font-size:16px;padding:10px}.map-wrapper{height:260px;margin-top:35px}.footer-content{grid-template-columns:1fr;gap:25px}footer{padding:50px 6% 100px}.footer-col h3{margin-bottom:12px}.copyright{line-height:1.8}.float-btn{bottom:84px;right:18px;width:45px;height:45px;font-size:1.5rem}.mobile-contact{display:grid;grid-template-columns:1fr 1.3fr;position:fixed;bottom:0;left:0;right:0;z-index:950;padding-bottom:env(safe-area-inset-bottom);background:var(--primary);box-shadow:0 -3px 20px #0001}.mobile-contact a{padding:15px;text-align:center;background:var(--light);font-size:.8rem}.mobile-contact a:last-child{background:var(--primary);color:white}.lightbox{padding:60px 12px 90px}.nav-btn{top:auto;bottom:25px;transform:none}.prev-btn{left:25%}.next-btn{right:25%}.lightbox-img{max-height:70svh}}
@media(max-width:360px){.hero h1{font-size:2.55rem}.hero{min-height:660px}.hero-bottom>span{max-width:120px}.form-row{grid-template-columns:1fr}.apt-img{height:220px}.gallery-item{height:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.hero-photo{transform:none}}

.feature-icon svg{width:30px;height:30px}.float-btn svg{width:30px;height:30px}
.photo-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:inherit}.apt-img .photo-trigger{height:100%}.photo-trigger:focus-visible{position:relative;z-index:2;outline-offset:-5px}.apt-tag,.about-badge{pointer-events:none}.gallery-item{cursor:zoom-in}
