:root{--navy:#0d2431;--gold:#d3b274;--cream:#f4f0e8;--ink:#16242b;--muted:#647078}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.05}.page-header{height:88px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:"Playfair Display",serif;font-size:1.45rem}.brand-name i{color:var(--gold)}.brand-sub{text-transform:uppercase;letter-spacing:.28em;font-size:.56rem;margin-top:7px}.back-link{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;border-bottom:1px solid rgba(255,255,255,.45)}.property-intro{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding:5rem 7vw 3rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;font-weight:600;color:#8d6c35;margin-bottom:1rem}.property-intro h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.04em;margin-bottom:1rem}.property-intro p:last-child{color:var(--muted);max-width:760px}.book-button{display:inline-flex;background:var(--gold);padding:1rem 1.4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600;white-space:nowrap}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;padding:0 3vw 5rem}.photo-button{border:0;padding:0;background:#d9d4cb;cursor:zoom-in;overflow:hidden;min-height:260px}.photo-button:nth-child(1){grid-column:span 8;grid-row:span 2}.photo-button:nth-child(2){grid-column:span 4}.photo-button:nth-child(3){grid-column:span 4}.photo-button:nth-child(n+4){grid-column:span 4}.photo-button img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .35s ease}.photo-button:hover img{transform:scale(1.025)}.photo-count{position:fixed;right:1.4rem;bottom:1.4rem;background:rgba(13,36,49,.9);color:white;padding:.55rem .8rem;font-size:.72rem;letter-spacing:.1em;z-index:2}.lightbox{position:fixed;inset:0;background:rgba(4,14,19,.96);z-index:20;display:none;align-items:center;justify-content:center;padding:4rem 6vw}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:86vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.1);color:white;width:48px;height:48px;cursor:pointer;font-size:1.4rem}.lightbox-close{top:1.2rem;right:1.2rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-status{position:absolute;bottom:1rem;color:rgba(255,255,255,.75);font-size:.75rem;letter-spacing:.12em}footer{background:#091c26;color:rgba(255,255,255,.62);padding:2.5rem 5vw;font-size:.78rem;display:flex;justify-content:space-between;gap:2rem}
@media(max-width:760px){.page-header{height:76px;padding:0 5vw}.property-intro{grid-template-columns:1fr;padding:3.5rem 6vw 2.5rem}.property-intro h1{font-size:3rem}.book-button{justify-self:start}.gallery{grid-template-columns:1fr;padding:0 4vw 4rem}.photo-button,.photo-button:nth-child(n){grid-column:auto;grid-row:auto;min-height:240px}.photo-button img{min-height:240px}.lightbox{padding:4rem 1rem}.lightbox-prev{left:.25rem}.lightbox-next{right:.25rem}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-button img{transition:none}}
.brand{align-items:center;width:max-content}.brand-logo{display:block;width:118px;height:auto}
.live-calendar{padding:1rem 7vw 4.5rem;display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:5vw;align-items:start}.live-calendar[hidden]{display:none}.live-calendar h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.035em;margin-bottom:0}.live-calendar .eyebrow{margin-bottom:.6rem}
@media(max-width:760px){.live-calendar{grid-template-columns:1fr;padding:0 6vw 3.5rem;gap:1.5rem}}
