:root {
  --sand:#F5F0E8; --sand-dark:#E8DFD0; --ocean:#2A5F6E;
  --ocean-light:#4A8FA0; --gold:#C8965A; --gold-light:#E8C48A;
  --text:#1A2830; --text-muted:#5A6872; --white:#FDFBF8;
}
*{margin:0;padding:0;box-sizing:border-box;} html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--white);color:var(--text);overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 4.5rem;background:rgba(253,251,248,0.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(200,150,90,0.15);box-shadow:0 1px 8px rgba(0,0,0,0.06);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;letter-spacing:0.12em;color:var(--ocean);font-weight:400;}
.nav-logo span{display:block;font-size:0.65rem;font-family:'Jost',sans-serif;font-weight:300;letter-spacing:0.3em;color:var(--text-muted);text-transform:uppercase;}
nav ul{list-style:none;display:flex;gap:3rem;}
nav ul a{text-decoration:none;font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--text-muted);transition:color 0.3s;}
nav ul a:hover{color:var(--gold);}
.nav-cta{background:var(--ocean)!important;color:var(--white)!important;padding:0.55rem 1.4rem;border-radius:2px;}
.nav-cta:hover{background:var(--ocean-light)!important;}
.hero{height:100vh;min-height:700px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-video-wrap{position:absolute;inset:0;z-index:1;overflow:hidden;}
.hero-video-wrap iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:100vh;min-height:56.25vw;transform:translate(-50%,-50%);border:0;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,40,48,0.58) 0%,rgba(42,95,110,0.32) 60%,rgba(200,150,90,0.12) 100%);z-index:2;}
.hero-content{position:relative;z-index:3;text-align:center;color:var(--white);padding:2rem;max-width:800px;}
.hero-eyebrow{font-size:0.7rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--gold-light);opacity:0.9;background:rgba(0,0,0,0.21);display:inline-block;padding:0.5rem 1.2rem;border-radius:2px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:300;line-height:1.1;margin-bottom:1.5rem;}
.hero-title em{font-style:italic;color:var(--gold-light);}
.hero-sub{font-size:0.85rem;letter-spacing:0.2em;opacity:0.8;text-transform:uppercase;margin-bottom:2.5rem;}
.hero-cta{display:inline-block;background:var(--gold);color:var(--white);padding:1rem 2.5rem;text-decoration:none;font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;border-radius:2px;transition:background 0.3s;}
.hero-cta:hover{background:var(--gold-light);}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.5rem;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.6);}
.hero-scroll::after{content:'';width:1px;height:40px;background:rgba(255,255,255,0.4);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.4;}50%{opacity:1;}}
.stats-band{background:var(--ocean);color:var(--white);display:flex;justify-content:center;flex-wrap:wrap;}
.stat{padding:1.8rem 3rem;text-align:center;border-right:1px solid rgba(255,255,255,0.1);}
.stat:last-child{border-right:none;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--gold-light);display:block;}
.stat-label{font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;opacity:0.7;margin-top:0.3rem;}
.about{padding:7rem 4rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.section-label{font-size:0.65rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem;}
.about-text h2{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;line-height:1.2;margin-bottom:1.5rem;color:var(--text);}
.about-text h2 em{font-style:italic;color:var(--ocean);}
.about-text p{font-size:0.95rem;line-height:1.85;color:var(--text-muted);margin-bottom:1.2rem;}
.about-image{position:relative;padding-right:2rem;}
.about-images{display:grid;grid-template-rows:1fr 1fr;gap:0.8rem;height:520px;}
.about-images img{width:100%;height:100%;object-fit:cover;border-radius:2px;}
.about-badge{position:absolute;top:15%;right:0;background:var(--gold);color:var(--white);padding:1.5rem;text-align:center;border-radius:2px;z-index:2;}
.about-badge .bn{font-family:'Cormorant Garamond',serif;font-size:1.1rem;display:block;line-height:1.3;}
.about-badge .bl{font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;opacity:0.9;}
.features{background:var(--sand);padding:10rem 4rem 8rem;}
.features-inner{max-width:1200px;margin:0 auto;}
.features-header{text-align:center;margin-bottom:4rem;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;line-height:1.25;color:var(--text);}
.section-title em{font-style:italic;color:var(--ocean);}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.feature-card{background:var(--white);padding:2.5rem 2rem;border-radius:2px;border-top:2px solid var(--gold);}
.feature-icon{margin-bottom:1rem;color:var(--gold);} .feature-icon svg{width:32px;height:32px;stroke-width:1.5;}
.feature-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--ocean);margin-bottom:0.6rem;}
.feature-desc{font-size:0.82rem;line-height:1.7;color:var(--text-muted);}

/* Gallery Bento + Lightbox */
.gallery-section{padding:7rem 4rem;max-width:1300px;margin:0 auto;}
.gallery-header{text-align:center;margin-bottom:4rem;}
.gallery-bento{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:600px;}
.gallery-item{position:relative;overflow:hidden;border-radius:2px;cursor:pointer;}
.gallery-item:first-child{grid-row:1 / -1;}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-more{position:relative;}
.gallery-more-overlay{position:absolute;inset:0;background:rgba(26,40,48,0.6);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--white);z-index:1;transition:background 0.3s;}
.gallery-more:hover .gallery-more-overlay{background:rgba(26,40,48,0.75);}
.gallery-more-number{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;line-height:1;}
.gallery-more-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:4px;opacity:0.8;}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,0.92);display:none;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--white);font-size:32px;cursor:pointer;padding:8px;z-index:10;opacity:0.7;transition:opacity 0.2s;}
.lightbox-close:hover{opacity:1;}
.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:2px;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--white);font-size:40px;padding:16px;cursor:pointer;opacity:0.6;transition:opacity 0.2s;}
.lightbox-nav:hover{opacity:1;}
.lightbox-prev{left:16px;}
.lightbox-next{right:16px;}
.lightbox-counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.7);font-size:13px;letter-spacing:1px;}

.video-section{background:var(--text);padding:6rem 4rem;text-align:center;}
.video-section .section-label{color:var(--gold);}
.video-preview{max-width:960px;margin:2rem auto 0;border-radius:3px;overflow:hidden;position:relative;cursor:pointer;}
.video-preview img{width:100%;display:block;}
.video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:rgba(200,150,90,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.3s;}
.video-preview:hover .video-play-btn{transform:translate(-50%,-50%) scale(1.1);}
.video-play-btn::after{content:'';border-left:28px solid white;border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px;}
.amenities{padding:6rem 4rem;background:var(--sand);}
.amenities-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:start;}
.amenities-list{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.amenity-item{display:flex;align-items:center;gap:0.75rem;font-size:0.85rem;color:var(--text-muted);padding:0.5rem 0;border-bottom:1px solid rgba(200,150,90,0.15);}
.amenity-item::before{content:'\2726';color:var(--gold);font-size:0.5rem;flex-shrink:0;}
.location-section{padding:6rem 4rem;max-width:1200px;margin:0 auto;}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3rem;}
.map-wrap{border-radius:3px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.1);height:100%;}
.map-wrap iframe{width:100%;height:100%;min-height:420px;border:none;display:block;}
.nearby-list{display:flex;flex-direction:column;}
.nearby-item{display:flex;justify-content:space-between;align-items:center;padding:0.9rem 0;border-bottom:1px solid var(--sand-dark);}
.nearby-name{font-size:0.85rem;color:var(--text);}
.nearby-dist{font-size:0.75rem;color:var(--gold);letter-spacing:0.1em;}
.booking-section{background:var(--ocean);padding:6rem 4rem;text-align:center;}
.booking-section .section-label{color:var(--gold-light);}
.booking-section .section-title{color:var(--white);margin-bottom:0.75rem;}
.booking-sub{color:rgba(255,255,255,0.65);font-size:0.9rem;margin-bottom:3rem;}
.booking-widget{max-width:700px;margin:0 auto;background:rgba(255,255,255,0.08);border-radius:4px;padding:2.5rem;border:1px solid rgba(255,255,255,0.1);}
.booking-btn{width:100%;background:var(--gold);color:var(--white);border:none;padding:1.1rem;font-size:0.8rem;letter-spacing:0.3em;text-transform:uppercase;cursor:pointer;border-radius:2px;margin-top:0.5rem;font-family:'Jost',sans-serif;transition:background 0.3s;}
.booking-btn:hover{background:var(--gold-light);}
.booking-links{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap;}
.booking-link{display:inline-flex;align-items:center;color:rgba(255,255,255,0.7);text-decoration:none;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;padding:0.6rem 1.2rem;border:1px solid rgba(255,255,255,0.25);border-radius:2px;transition:all 0.3s;}
.booking-link:hover{border-color:var(--gold);color:var(--gold-light);}
footer{background:var(--text);color:rgba(255,255,255,0.6);padding:4rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;font-size:0.8rem;line-height:1.8;}
.footer-smv-logo{height:36px;margin-top:1.2rem;filter:brightness(1.6) saturate(0.7);opacity:0.7;transition:opacity 0.3s;} .footer-smv-logo:hover{opacity:1;}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--white);margin-bottom:1rem;font-weight:300;}
.footer-tagline{font-size:0.8rem;opacity:0.6;margin-bottom:1rem;}
.footer-heading{font-size:0.65rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:0.5rem;}
.footer-links a{color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.3s;}
.footer-links a:hover{color:var(--gold);}
.footer-bottom{background:rgba(0,0,0,0.3);text-align:center;padding:1.2rem;font-size:0.7rem;letter-spacing:0.15em;color:rgba(255,255,255,0.3);}

/* Contact Modal */
.contact-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;}
.contact-modal.open{display:flex;}
.contact-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.contact-modal-content{position:relative;background:var(--white);border-radius:6px;padding:2.5rem;max-width:480px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.3);}
.contact-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:28px;color:var(--text-muted);cursor:pointer;padding:4px;line-height:1;}
.contact-modal-close:hover{color:var(--text);}
.contact-modal-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--ocean);margin-bottom:0.3rem;}
.contact-modal-sub{font-size:0.85rem;color:var(--text-muted);margin-bottom:1.5rem;}
.contact-field{margin-bottom:1rem;}
.contact-field label{display:block;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.4rem;}
.contact-field input,.contact-field textarea{width:100%;border:1px solid var(--sand-dark);border-radius:3px;padding:0.75rem 1rem;font-family:'Jost',sans-serif;font-size:0.9rem;color:var(--text);background:var(--sand);transition:border-color 0.2s;}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--ocean);}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:rgba(90,104,114,0.4);}
.contact-field textarea{resize:vertical;min-height:100px;}
.contact-submit{width:100%;background:var(--gold);color:var(--white);border:none;padding:0.9rem;font-family:'Jost',sans-serif;font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;border-radius:3px;cursor:pointer;transition:background 0.3s;margin-top:0.5rem;}
.contact-submit:hover{background:var(--gold-light);}
.contact-success{text-align:center;padding:2rem 0;}
.contact-success p{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--ocean);line-height:1.6;}

@media(max-width:900px){
  nav ul{display:none;}
  nav{padding:1.4rem 1.5rem;}
  .about,.amenities-inner,.location-grid,footer{grid-template-columns:1fr;}
  .about-images{height:auto;grid-template-rows:auto auto;}
  .features-grid{grid-template-columns:1fr 1fr;}
  .gallery-bento{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;height:auto;}
  .gallery-item:first-child{grid-row:1 / 3;}
  .booking-row{grid-template-columns:1fr;}
  nav,.about,.features,.amenities,.gallery-section,.video-section,.booking-section,.location-section{padding:4rem 1.5rem;}
}
