:root{--navy:#0a2740;--navy2:#071c2d;--gold:#d2a84d;--cream:#f7f3ea;--white:#fff;--ink:#17242d;--muted:#62717a;--line:#d9d5cb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--cream)}img{display:block;width:100%}a{color:inherit}.container{width:min(1180px,92%);margin:auto}.section-pad{padding:96px 0}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.58),transparent);transition:.25s}.site-header.scrolled{background:rgba(7,28,45,.97);box-shadow:0 8px 30px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-family:Playfair Display,serif}.brand strong{display:block;letter-spacing:3px;font-size:16px}.brand small{display:block;color:var(--gold);font-weight:800;letter-spacing:8px;font-size:10px;margin-top:2px}.main-nav{display:flex;align-items:center;gap:24px}.main-nav a{text-decoration:none;font-size:14px;font-weight:700}.nav-call{border:1px solid rgba(255,255,255,.55);padding:11px 16px;border-radius:999px}.nav-book{background:var(--gold);color:var(--navy)!important;padding:12px 18px;border-radius:999px}.menu-button{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#071c2d}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,35,.92) 0%,rgba(4,21,35,.62) 48%,rgba(4,21,35,.24) 100%),linear-gradient(to top,rgba(4,21,35,.72),transparent 55%)}.hero-content{position:relative;z-index:1;width:min(1180px,92%);margin:0 auto;padding:170px 0 86px}.kicker,.section-label{font-size:12px;font-weight:800;letter-spacing:3.2px;color:var(--gold);margin:0 0 18px}.hero h1,.section-heading h2,.intro h2,.amenities h2,.location h2,.booking h2{font-family:Playfair Display,Georgia,serif}.hero h1{font-size:clamp(52px,7.6vw,104px);line-height:.96;max-width:940px;margin:0 0 26px;font-weight:600}.hero h1 em{font-weight:600;color:#f3dfae}.hero-copy{max-width:680px;font-size:19px;line-height:1.7;color:#edf2f4}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;border-radius:999px;text-decoration:none;font-weight:800;border:0;cursor:pointer;font-family:inherit}.primary{background:var(--gold);color:var(--navy)}.secondary{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.08)}.dark{background:var(--navy);color:#fff}.quick-facts{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.quick-facts span{border:1px solid rgba(255,255,255,.3);background:rgba(5,26,42,.36);padding:10px 14px;border-radius:999px;font-size:13px}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.intro h2,.section-heading h2,.amenities h2,.location h2,.booking h2{font-size:clamp(38px,5vw,64px);line-height:1.06;margin:0}.intro-copy p{font-size:18px;line-height:1.85;color:var(--muted);margin-top:0}.rooms{background:var(--cream)}.section-heading{margin-bottom:42px}.section-heading.center{text-align:center}.section-heading>p:last-child{color:var(--muted);font-size:17px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.room-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(18,39,54,.11)}.room-card img{height:430px;object-fit:cover}.room-card-body{padding:34px}.room-type{font-size:11px;font-weight:800;letter-spacing:3px;color:var(--gold);margin:0 0 8px}.room-card h3{font-family:Playfair Display,serif;font-size:34px;margin:0}.room-card-body>p{color:var(--muted);line-height:1.7}.room-card ul{padding-left:20px;color:#42525c;line-height:1.8}.room-card a{display:inline-flex;margin-top:8px;text-decoration:none;font-weight:800;color:var(--navy)}.room-card a span{margin-left:8px}.amenities{background:var(--navy);color:#fff}.amenities-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.amenities-image img{height:680px;object-fit:cover;border-radius:26px}.section-label.light{color:#f0cc76}.amenities-content>h2{margin-bottom:38px}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.amenity-grid div{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16)}.amenity-grid b{font-size:12px;color:var(--gold)}.amenity-grid span{font-weight:700}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:14px}.gallery-item{border:0;padding:0;cursor:pointer;background:#ddd;overflow:hidden;border-radius:18px}.gallery-item.wide{grid-column:span 2}.gallery-item img{height:100%;object-fit:cover;transition:.4s}.gallery-item:hover img{transform:scale(1.035)}.location{background:var(--cream)}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.location-copy>p{color:var(--muted);font-size:18px;line-height:1.7}.address-block{display:flex;flex-direction:column;gap:8px;margin:28px 0}.address-block strong{font-size:21px}.address-block a{text-decoration:none;font-weight:700;color:var(--navy)}.location-photo img{height:590px;object-fit:cover;border-radius:26px;box-shadow:0 20px 60px rgba(0,0,0,.14)}.booking{background:linear-gradient(135deg,var(--navy),#113f61);color:#fff}.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.booking-copy>p{font-size:17px;line-height:1.75;color:#dce6eb}.booking-note{margin-top:34px;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.06)}.booking-note a{color:#f0cc76}.booking-panel{background:#fff;color:var(--ink);padding:34px;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:#33434c}.field input,.field select,.field textarea{width:100%;border:1px solid #d8dde0;border-radius:11px;padding:14px;font:inherit;background:#fbfcfc}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #d8b15a;border-color:transparent}.full-button{grid-column:1/-1;font-size:15px}.form-disclaimer{grid-column:1/-1;font-size:12px;color:#738089;text-align:center;margin:0}.honeypot{position:absolute!important;left:-9999px!important}.form-alert{padding:15px;border-radius:12px;margin-bottom:20px;font-size:14px}.form-alert.success{background:#eaf7ee;color:#176337}.form-alert.error{background:#fff0f0;color:#8a2020}footer{background:var(--navy2);color:#fff;padding:68px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-brand{font-family:Playfair Display,serif;font-size:28px}.footer-brand span{display:block;color:var(--gold);font-size:18px;letter-spacing:10px}.footer-grid h3{color:var(--gold);font-size:14px;letter-spacing:2px}.footer-grid p{color:#b9c5cc;line-height:1.7}.footer-grid a{display:block;text-decoration:none;color:#dce4e9;margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:22px;color:#93a4ae;font-size:13px}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.9);padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;width:auto}.lightbox button{position:absolute;right:28px;top:18px;border:0;background:none;color:#fff;font-size:44px;cursor:pointer}@media(max-width:900px){.site-header{background:rgba(7,28,45,.95)}.menu-button{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--navy2);padding:24px 5%;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{text-align:center}.intro-grid,.room-grid,.amenities-wrap,.location-grid,.booking-grid{grid-template-columns:1fr}.amenities-image img,.location-photo img{height:500px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.wide{grid-column:span 1}.footer-grid{grid-template-columns:1fr 1fr}.section-pad{padding:72px 0}}@media(max-width:600px){.hero-content{padding-top:150px}.hero h1{font-size:48px}.hero-copy{font-size:16px}.intro-grid{gap:28px}.room-card img{height:310px}.amenity-grid,.booking-form{grid-template-columns:1fr}.field.full,.full-button,.form-disclaimer{grid-column:1}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.footer-grid{grid-template-columns:1fr}.amenities-image img,.location-photo img{height:360px}.booking-panel{padding:22px}.quick-facts span{font-size:12px}.section-pad{padding:60px 0}}

.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.03);transition:opacity 1.2s ease,transform 7s ease}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-dots{position:absolute;z-index:3;right:5%;bottom:36px;display:flex;gap:10px}
.hero-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.25);padding:0;cursor:pointer}
.hero-dot.active{background:var(--gold);border-color:var(--gold)}
@media(max-width:600px){.hero-dots{right:auto;left:4%;bottom:24px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}}

.full-gallery{grid-template-columns:repeat(4,1fr)}
.full-gallery .gallery-item{min-height:260px}
.full-gallery .gallery-item img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.full-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.full-gallery{grid-template-columns:1fr}.full-gallery .gallery-item{min-height:300px}}
