:root{--navy: #0f2741;--navy-soft: #1c3a5e;--ink: #23282e;--muted: #6b747e;--line: #e7e9ed;--bg: #ffffff;--bg-alt: #f6f5f2;--accent: #a5875b;--display: "Jost", system-ui, sans-serif;--sans: "Inter", system-ui, -apple-system, sans-serif;--maxw: 1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.15;color:var(--navy);letter-spacing:-.2px;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}.eyebrow{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);font-weight:500}.site-header{position:sticky;top:0;z-index:20;background:#ffffffe6;backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:78px}.brand{font-family:var(--display);font-size:1.4rem;font-weight:500;color:var(--navy);letter-spacing:1px;text-transform:uppercase}.header-right{display:flex;align-items:center;gap:1.75rem}.header-phone{display:inline-flex;align-items:center;font-size:.92rem;color:var(--navy);font-weight:500;white-space:nowrap}.header-phone:hover{color:var(--accent)}.phone-icon{display:none}.nav-cta{font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.5px;background:var(--navy);color:#fff;padding:.7rem 1.35rem;border-radius:2px;transition:background .2s}.nav-cta:hover{background:var(--accent)}.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#060f1a00,#060f1a1f,#060f1a6b 60%,#060f1ab3 78%,#060f1af0)}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-inner{position:relative;z-index:2;padding:0 0 4rem}.hero .chip{display:inline-block;letter-spacing:2.5px;text-transform:uppercase;font-size:.72rem;font-weight:500;color:#fff;opacity:.9;margin-bottom:1.25rem}.hero h1{color:#fff;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-.3px;max-width:26ch;margin:0 0 1.1rem;text-shadow:0 2px 16px rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.55)}.hero .meta{font-family:var(--sans);font-size:.95rem;letter-spacing:.5px;opacity:.92}.hero-cta{display:inline-block;margin-top:1.75rem;background:#fff;color:var(--navy);padding:.85rem 1.85rem;border-radius:2px;font-family:var(--sans);font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;transition:background .2s,color .2s}.hero-cta:hover{background:var(--accent);color:#fff}.section{padding:5rem 0}.section h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 2rem}.section.alt{background:var(--bg-alt)}.section-lead{color:var(--muted);max-width:58ch;margin:-1rem 0 2.5rem;font-size:1.02rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.25rem}.card{display:block;color:inherit;background:#fff}.card .img-wrap{aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-alt);border-radius:3px}.card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.card:hover .img-wrap img{transform:scale(1.04)}.card .body{padding:1.1rem .15rem 0}.card .top-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.card h3{font-size:1.3rem;font-weight:500;margin:.35rem 0 .15rem;color:var(--navy)}.card .stat{font-family:var(--sans);font-size:.86rem;color:var(--muted);letter-spacing:.3px}.card .status{font-family:var(--sans);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);font-weight:600}.specs{display:flex;flex-wrap:wrap;gap:2rem 3.5rem;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.specs .spec strong{display:block;font-family:var(--display);font-size:2rem;font-weight:400;color:var(--navy);line-height:1}.specs .spec span{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-top:.4rem;display:block}.prose{max-width:68ch;font-size:1.12rem;line-height:1.8;color:#3a4048}.prose p{margin:0 0 1.2rem}.list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.9rem 2.5rem}.list li{position:relative;padding-left:1.6rem;font-size:1rem;color:#3a4048}.list li:before{content:"";position:absolute;left:0;top:.72em;width:12px;height:1px;background:var(--accent)}.form{display:grid;gap:1.15rem;max-width:620px}.form label{font-family:var(--sans);font-size:.78rem;letter-spacing:.8px;text-transform:uppercase;font-weight:500;color:var(--navy);display:grid;gap:.4rem}.form input,.form textarea{font-family:var(--sans);font-size:1rem;text-transform:none;letter-spacing:normal;padding:.8rem .9rem;border:1px solid var(--line);border-radius:2px;width:100%;background:#fff;color:var(--ink)}.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent)}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}.form .consent{flex-direction:row;align-items:center;gap:.6rem;display:flex;text-transform:none;letter-spacing:normal;font-weight:400;font-size:.85rem;color:var(--muted)}.form .consent input[type=checkbox]{width:1.05rem;height:1.05rem;flex:0 0 auto;margin:0;padding:0;accent-color:var(--navy);cursor:pointer}.form input[type=date]{min-height:46px;color:var(--ink);appearance:none}.form input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer;filter:saturate(0)}.form input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:.9}.form input[type=date]:invalid{color:var(--muted)}.form button{justify-self:start;background:var(--navy);color:#fff;border:0;padding:.95rem 2.2rem;border-radius:2px;font-family:var(--sans);font-size:.86rem;letter-spacing:.8px;font-weight:500;cursor:pointer;transition:background .2s}.form button:hover{background:var(--accent)}.form-status{font-family:var(--sans);font-size:.9rem;margin:.25rem 0 0;color:var(--muted)}.site-footer{background:var(--navy);color:#b9c4d1;padding:3.5rem 0;margin-top:0;font-family:var(--sans);font-size:.9rem}.site-footer a{color:#fff}.site-footer a:hover{color:var(--accent)}.site-footer .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.site-footer .fbrand{font-family:var(--display);font-size:1.5rem;color:#fff;margin-bottom:.3rem}.main-nav{display:flex;gap:2rem}.main-nav a{font-family:var(--sans);font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:var(--navy);font-weight:500;transition:color .2s}.main-nav a:hover{color:var(--accent)}section[id]{scroll-margin-top:90px}.container.narrow{max-width:760px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form select{font-family:var(--sans);font-size:1rem;text-transform:none;letter-spacing:normal;padding:.8rem .9rem;border:1px solid var(--line);border-radius:2px;width:100%;background:#fff;color:var(--ink)}.form select:focus{outline:none;border-color:var(--accent)}.gallery-tabs{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.gallery-tab{background:none;border:0;border-bottom:2px solid transparent;padding:.5rem 0 .7rem;margin-bottom:-1px;font-family:var(--sans);font-size:.78rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:500;cursor:pointer;transition:color .2s,border-color .2s}.gallery-tab:hover{color:var(--navy)}.gallery-tab.active{color:var(--navy);border-bottom-color:var(--accent)}.gallery-panel{display:none}.gallery-panel.active{display:block}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.gallery-item{padding:0;border:0;background:var(--bg-alt);cursor:pointer;aspect-ratio:4 / 3;overflow:hidden;border-radius:2px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.05)}.lightbox{position:fixed;inset:0;z-index:100;background:#060f1aeb;display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox[hidden]{display:none}.lightbox-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:2px}.lightbox-close{position:absolute;top:1.25rem;right:1.75rem;background:none;border:0;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;opacity:.85}.lightbox-close:hover{opacity:1}.datepicker{position:relative}.form .datepicker .dp-display{font-family:var(--sans);font-size:1rem;padding:.8rem 2.2rem .8rem .9rem;border:1px solid var(--line);border-radius:2px;width:100%;background:#fff;color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:normal}.datepicker .dp-display:focus{outline:none;border-color:var(--accent)}.datepicker .dp-display::placeholder{color:var(--muted)}.datepicker .dp-icon{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.datepicker .dp-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:300px;max-width:90vw;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 16px 40px #0f274129;padding:1rem}.datepicker .dp-pop[hidden]{display:none}.datepicker .dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.datepicker .dp-title{font-family:var(--display);font-size:1rem;font-weight:500;color:var(--navy)}.datepicker .dp-nav{background:none;border:0;font-size:1.5rem;line-height:1;color:var(--navy);cursor:pointer;padding:.1rem .5rem;border-radius:3px;letter-spacing:normal}.datepicker .dp-nav:hover{background:var(--bg-alt);color:var(--accent)}.datepicker .dp-weekdays,.datepicker .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker .dp-weekdays span{text-align:center;font-family:var(--sans);font-size:.65rem;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:.3rem 0}.datepicker .dp-day{aspect-ratio:1;border:0;background:none;border-radius:3px;padding:0;font-family:var(--sans);font-size:.85rem;font-weight:400;letter-spacing:normal;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}.datepicker .dp-day:hover:not(.disabled){background:var(--bg-alt)}.datepicker .dp-day.selected{background:var(--navy);color:#fff}.datepicker .dp-day.disabled{color:#cfd4da;cursor:not-allowed;text-decoration:line-through}.datepicker .dp-empty{aspect-ratio:1}.datepicker .dp-note{margin:.75rem 0 0;font-family:var(--sans);font-size:.72rem;color:var(--muted)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;transition:background .2s}.lightbox-nav:hover{background:#ffffff40}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-count{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);color:#fff;font-family:var(--sans);font-size:.85rem;letter-spacing:1px;opacity:.85}.avail{max-width:720px}.avail-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.avail-months{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.avail-nav{background:none;border:1px solid var(--line);color:var(--navy);width:38px;height:38px;border-radius:3px;font-size:1.4rem;line-height:1;cursor:pointer;flex:0 0 auto}.avail-nav:hover{border-color:var(--accent);color:var(--accent)}.avail-title{font-family:var(--display);font-size:1.05rem;font-weight:500;color:var(--navy);text-align:center;margin-bottom:.75rem}.avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.avail-wd{text-align:center;font-family:var(--sans);font-size:.62rem;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding-bottom:.35rem}.avail-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.82rem;border-radius:3px}.avail-cell.empty{visibility:hidden}.avail-cell.open{color:var(--ink);background:#eef3ee;border:0;font-family:var(--sans);font-size:.82rem;cursor:pointer;transition:background .15s}.avail-cell.open:hover{background:var(--accent);color:#fff}.avail-cell.open.selected{background:var(--navy);color:#fff}.avail-cell.booked{color:#b9909a;background:#f6e9ec;text-decoration:line-through}.avail-cell.past{color:#cfd4da}.avail-legend{display:flex;gap:1.75rem;font-family:var(--sans);font-size:.82rem;color:var(--muted)}.avail-legend .sw{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:.4rem;vertical-align:middle}.avail-legend .sw-open{background:#eef3ee}.avail-legend .sw-booked{background:#f6e9ec}@media(max-width:640px){.avail-months{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:900px){.main-nav{display:none}}@media(max-width:640px){.form .row{grid-template-columns:1fr}.hero{min-height:68vh}.brand{font-size:1.45rem}.phone-text{display:none}.phone-icon{display:inline-block}}
