:root{--navy:#0F1942;--green:#2D5A1B;--cream:#F5F0E0;--cream-dark:#E8E0BC;--gray:#6B7280;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"DM Sans",sans-serif;color:var(--navy);background:#fff;}
img{max-width:100%;height:auto;display:block;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,18,40,0.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,0.08);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:110px;}
.nav-logo img{height:90px;width:auto;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:0.1em;text-decoration:none;color:rgba(255,255,255,0.75);text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover{color:#fff;}
.nav-book{background:var(--cream);color:var(--navy);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:12px 24px;text-decoration:none;transition:background 0.2s;white-space:nowrap;}
.nav-book:hover{background:var(--cream-dark);}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;}

.hero{height:100vh;min-height:600px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px 80px;background:url('images/hero.jpg') center 30%/cover no-repeat;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,12,28,0.68),rgba(5,12,28,0.52) 60%,rgba(5,12,28,0.72));}
.hero-content{position:relative;z-index:2;max-width:640px;}
.hero-tagline{font-family:"Lora",serif;font-size:clamp(30px,5vw,58px);font-style:italic;color:#fff;line-height:1.2;margin-bottom:18px;}
.hero-sub{font-size:15px;color:rgba(255,255,255,0.65);line-height:1.85;margin-bottom:40px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.btn-primary{background:var(--cream);color:var(--navy);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:15px 32px;text-decoration:none;transition:background 0.2s;}
.btn-primary:hover{background:var(--cream-dark);}
.btn-outline{background:transparent;color:#fff;font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:15px 32px;text-decoration:none;border:1px solid rgba(255,255,255,0.4);transition:all 0.2s;}
.btn-outline:hover{border-color:#fff;}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(15,25,66,0.08);}
.stat{padding:26px 16px;text-align:center;border-right:1px solid rgba(15,25,66,0.07);}
.stat:last-child{border-right:none;}
.stat-num{font-family:"Cinzel",serif;font-size:22px;color:var(--navy);margin-bottom:4px;}
.stat-label{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray);}

section{padding:80px 48px;}
.section-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:10px;font-weight:500;}
.section-title{font-family:"Cinzel",serif;font-size:clamp(24px,3vw,38px);font-weight:600;color:var(--navy);margin-bottom:18px;line-height:1.25;}
.section-body{font-family:"Lora",serif;font-size:16px;line-height:1.9;color:#3a4458;max-width:520px;}

.about{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about-photo img{width:100%;height:460px;object-fit:cover;}
.review-block{margin-top:28px;padding:20px 24px;background:#fff;border-left:3px solid var(--green);}
.review-quote{font-family:"Lora",serif;font-size:15px;font-style:italic;color:#1a2440;line-height:1.75;margin-bottom:10px;}
.review-attr{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--green);font-weight:600;}

.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);height:420px;}
.strip-img{overflow:hidden;}
.strip-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 0.4s;}
.strip-img:hover img{transform:scale(1.03);}

.amenities{background:#fff;}
.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:48px;}
.amenity{background:var(--cream);padding:28px 24px;transition:background 0.2s;}
.amenity:hover{background:var(--cream-dark);}
.amenity-icon{font-size:24px;margin-bottom:12px;}
.amenity-name{font-family:"Cinzel",serif;font-size:13px;font-weight:600;letter-spacing:0.05em;color:var(--navy);margin-bottom:6px;}
.amenity-desc{font-size:12px;color:var(--gray);line-height:1.65;}

.availability{background:var(--navy);text-align:center;}
.availability .section-label{color:rgba(226,215,162,0.55);}
.book-btns{display:flex;flex-direction:column;gap:12px;max-width:320px;margin:0 auto;}
.book-btn{display:block;text-align:center;padding:16px 32px;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;transition:all 0.2s;}
.book-primary{background:var(--cream);color:var(--navy);}
.book-primary:hover{background:var(--cream-dark);}
.book-secondary{background:transparent;color:var(--cream);border:1px solid rgba(255,255,255,0.3);}
.book-secondary:hover{border-color:var(--cream);}

.guides{background:var(--cream);}
.guides-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;}
.guide-card{background:#fff;padding:24px;border:1px solid rgba(15,25,66,0.08);transition:all 0.2s;}.guide-card-static{background:#fff;padding:24px;border:1px solid rgba(15,25,66,0.08);}
.guide-card:hover{border-color:var(--navy);transform:translateY(-3px);}
.guide-icon{width:38px;height:38px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:17px;}
.guide-title{font-family:"Cinzel",serif;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:6px;}
.guide-desc{font-size:12px;color:var(--gray);line-height:1.65;margin-bottom:12px;}
.guide-badge{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--green);font-weight:600;border-bottom:1px solid var(--green);padding-bottom:1px;}

.local{background:#fff;}
.local-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:44px;}
.local-item{background:var(--cream);padding:24px 28px;display:flex;gap:16px;}
.local-num{font-family:"Cinzel",serif;font-size:28px;color:rgba(15,25,66,0.1);line-height:1;min-width:38px;}
.local-name{font-family:"Cinzel",serif;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:4px;}
.local-info{font-size:12px;color:var(--gray);line-height:1.65;}
.local-dist{font-size:10px;color:var(--green);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-top:4px;}

.instagram{background:var(--navy);text-align:center;padding:72px 48px;}
.instagram .section-label{color:rgba(226,215,162,0.5);}
.ig-handle{font-family:"Cinzel",serif;font-size:24px;color:var(--cream-dark);margin:18px 0 5px;}
.ig-tag{font-size:14px;color:rgba(255,255,255,0.4);letter-spacing:0.06em;margin-bottom:36px;}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;max-width:560px;margin:0 auto 32px;}
.ig-cell{aspect-ratio:1;overflow:hidden;}
.ig-cell img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s;}
.ig-cell:hover img{transform:scale(1.05);}
.btn-ig{display:inline-block;background:transparent;border:1px solid rgba(255,255,255,0.3);color:var(--cream);font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:13px 28px;text-decoration:none;transition:all 0.2s;}
.btn-ig:hover{border-color:var(--cream);}

.contact{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:72px;}
.contact-details{display:flex;flex-direction:column;gap:14px;margin-top:28px;}
.cd{display:flex;gap:12px;align-items:flex-start;}
.cd-label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--green);font-weight:600;min-width:60px;padding-top:2px;}
.cd-val{font-size:14px;color:#3a4458;}
.contact-form{display:flex;flex-direction:column;gap:12px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field{display:flex;flex-direction:column;gap:4px;}
.field label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray);font-weight:500;}
.field input,.field textarea{border:1px solid rgba(15,25,66,0.18);background:#fff;padding:12px 14px;font-family:"DM Sans",sans-serif;font-size:13px;color:var(--navy);outline:none;transition:border-color 0.2s;width:100%;}
.field input:focus,.field textarea:focus{border-color:var(--navy);}
.field textarea{height:100px;resize:vertical;}
.btn-submit{background:var(--navy);color:var(--cream);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:14px 32px;border:none;cursor:pointer;transition:background 0.2s;align-self:flex-start;}
.btn-submit:hover{background:var(--green);}

footer{background:var(--navy);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
footer img{height:52px;opacity:0.9;}
.footer-links{display:flex;gap:22px;list-style:none;}
.footer-links a{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.2s;}
.footer-links a:hover{color:rgba(255,255,255,0.8);}
.footer-copy{font-size:10px;color:rgba(255,255,255,0.25);}


/* MOBILE OVERFLOW FIX */
html, body { overflow-x: hidden; width: 100%; }
* { max-width: 100%; }
@media(max-width:768px){
  nav{padding:0 16px;height:80px;}
  .nav-logo img{height:70px;}
  .nav-links{display:none;position:fixed;top:90px;left:0;right:0;background:rgba(10,18,40,0.97);flex-direction:column;padding:20px;gap:0;}
  .nav-links.open{display:flex;}
  .nav-links li{border-bottom:1px solid rgba(255,255,255,0.08);}
  .nav-links a{display:block;padding:14px 0;}
  .nav-toggle{display:block;}
  .nav-book{display:none;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .about{grid-template-columns:1fr;gap:32px;padding:48px 24px;}
  .about-photo img{height:280px;}
  .photo-strip{height:200px;}
  .amenities-grid{grid-template-columns:repeat(2,1fr);}
  .guides-grid{grid-template-columns:1fr;}
  .local-grid{grid-template-columns:1fr;}
  .ig-grid{grid-template-columns:repeat(2,1fr);max-width:100%;}
  .contact{grid-template-columns:1fr;gap:40px;padding:48px 24px;}
  section{padding:48px 20px;}
  .photo-strip{grid-template-columns:1fr;height:auto;}
  .strip-img{height:220px;}
  .amenities-grid{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stat-num{font-size:18px;}
  .hero-tagline{font-size:32px;}
  .hero-sub{font-size:14px;}
  .btn-primary,.btn-outline{padding:13px 24px;font-size:11px;}
  .book-btns{width:100%;}
  .book-btn{padding:14px 20px;}
  .ig-grid{max-width:100%;width:100%;}
  footer{flex-direction:column;text-align:center;padding:28px 20px;gap:16px;}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:14px;}
  footer img{height:44px;}
  .contact{grid-template-columns:1fr;gap:32px;padding:48px 20px;}
  .form-row{grid-template-columns:1fr;}
  .guides-grid{grid-template-columns:1fr;}
  .local-grid{grid-template-columns:1fr;}
  .about{grid-template-columns:1fr;padding:48px 20px;}
  .about-photo img{height:260px;}
}

/* EMAIL CAPTURE POPUP */
.popup-overlay{position:fixed;inset:0;background:rgba(10,18,40,0.75);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity 0.4s;pointer-events:none;}
.popup-overlay.visible{opacity:1;pointer-events:all;}
.popup{background:#fff;max-width:480px;width:100%;position:relative;overflow:hidden;border-radius:4px;}
.popup-hero{height:180px;background:url('images/hero.jpg') center 35%/cover no-repeat;position:relative;}
.popup-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,12,28,0.3),rgba(5,12,28,0.65));}
.popup-hero-text{position:absolute;bottom:20px;left:24px;right:24px;z-index:2;}
.popup-hero-text h3{font-family:"Cinzel",serif;font-size:20px;color:#fff;line-height:1.2;margin-bottom:4px;}
.popup-hero-text p{font-size:12px;color:rgba(255,255,255,0.7);letter-spacing:0.06em;}
.popup-body{padding:24px;}
.popup-body p{font-family:"Lora",serif;font-size:14px;color:#3a4458;line-height:1.8;margin-bottom:20px;}
.popup-email-btn{display:block;background:#0F1942;color:#F5F0E0;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:14px;text-align:center;text-decoration:none;margin-bottom:12px;transition:background 0.2s;}
.popup-email-btn:hover{background:#2D5A1B;}
.popup-close{position:absolute;top:12px;right:14px;background:rgba(255,255,255,0.2);border:none;color:#fff;font-size:18px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:50%;transition:background 0.2s;}
.popup-close:hover{background:rgba(255,255,255,0.35);}
.popup-skip{text-align:center;margin-top:4px;font-size:11px;color:#9CA3AF;cursor:pointer;letter-spacing:0.06em;}
.popup-skip:hover{color:#6B7280;}

a.guide-card-static:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(15,25,66,0.15);transition:all 0.2s;}
a.guide-card-static{transition:all 0.2s;}

/* Popup form styles */
.popup-form{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;}
.popup-email-input{width:100%;padding:12px 14px;border:1px solid rgba(15,25,66,0.2);font-family:"DM Sans",sans-serif;font-size:14px;color:var(--navy);outline:none;box-sizing:border-box;}
.popup-email-input:focus{border-color:var(--navy);}
.popup-form .popup-email-btn{margin-bottom:0;border:none;cursor:pointer;font-size:12px;}
