/* ═══════════════════════════════════════
   ASHIANA LAGOON — Shared Stylesheet
   ashiana-style.css
   Used by: index.html, about.html,
            rooms.html, contact.html
═══════════════════════════════════════ */

/* ── Tokens ─────────────────────────── */
:root {
  --teal:    #005f73;
  --teal-lt: #0a9396;
  --mint:    #94d2bd;
  --sand:    #e9c46a;
  --gold:    #ca6702;
  --dark:    #001219;
  --ink:     #1a2e35;
  --mist:    #f4f8f7;
  --white:   #ffffff;
}

/* ── Reset ───────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; }
body  { font-family:'DM Sans', sans-serif; color:var(--ink); background:var(--white); overflow-x:hidden; }

/* ── Scrollbar ───────────────────────── */
::-webkit-scrollbar       { width:6px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--teal-lt); border-radius:3px; }

/* ── Utility ─────────────────────────── */
.tag {
  display:inline-block; font-size:.7rem; font-weight:600;
  letter-spacing:.15em; text-transform:uppercase; color:var(--gold);
}
.section-head          { text-align:center; margin-bottom:52px; }
.section-head h2       { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3rem); font-weight:600; color:var(--teal); line-height:1.2; }
.section-head p        { color:#5a7076; max-width:520px; margin:10px auto 0; font-size:.92rem; }

/* ── Buttons ─────────────────────────── */
.btn-primary {
  background:linear-gradient(135deg,var(--gold),var(--sand));
  color:var(--dark); padding:14px 34px; border-radius:4px;
  text-decoration:none; font-weight:600; font-size:.9rem;
  letter-spacing:.04em; transition:transform .2s, box-shadow .2s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(202,103,2,.4); }

.btn-outline {
  border:1.5px solid rgba(255,255,255,.5); color:white;
  padding:14px 34px; border-radius:4px; text-decoration:none;
  font-weight:500; font-size:.9rem; letter-spacing:.04em; transition:.3s;
}
.btn-outline:hover { border-color:var(--mint); color:var(--mint); background:rgba(148,210,189,.08); }

.btn-ghost {
  border:1.5px solid var(--teal); color:var(--teal);
  padding:12px 24px; border-radius:4px; text-decoration:none;
  font-weight:500; font-size:.86rem; transition:.2s;
  display:inline-flex; align-items:center; gap:7px;
}
.btn-ghost:hover { background:var(--teal); color:white; }

.btn-white {
  background:white; color:var(--teal); padding:13px 30px;
  border-radius:4px; text-decoration:none; font-weight:600;
  font-size:.88rem; transition:.2s; display:inline-flex; align-items:center; gap:8px;
}
.btn-white:hover { background:var(--mist); }

.btn-outline-w {
  border:1.5px solid rgba(255,255,255,.5); color:white;
  padding:12px 28px; border-radius:4px; text-decoration:none;
  font-weight:500; font-size:.88rem; transition:.2s;
}
.btn-outline-w:hover { border-color:white; background:rgba(255,255,255,.08); }

/* ═══════════════════════════════════════
   NAV  (fixed, always solid)
═══════════════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:9000;
  padding:0 6%;
  display:flex; align-items:center; justify-content:space-between;
  height:70px;
  background:rgba(0,18,25,.96);
  box-shadow:0 4px 20px rgba(0,0,0,.3);
}
.nav-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; font-weight:700; letter-spacing:.08em;
  color:var(--white); text-decoration:none; line-height:1.1;
}
.nav-logo span {
  display:block; font-size:.55rem; letter-spacing:.3em;
  font-weight:300; color:var(--mint); text-transform:uppercase;
}
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a {
  color:rgba(255,255,255,.85); text-decoration:none;
  font-size:.85rem; font-weight:500; letter-spacing:.04em; transition:.3s;
}
.nav-links a:hover,
.nav-links a.active { color:var(--sand); }
.nav-book {
  background:linear-gradient(135deg,var(--gold),var(--sand));
  color:var(--dark)!important; padding:9px 22px; border-radius:4px;
  font-weight:600!important; transition:transform .2s, box-shadow .2s!important;
}
.nav-book:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(202,103,2,.4); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:9100; }
.hamburger span { width:24px; height:2px; background:white; border-radius:2px; transition:.3s; }

/* ═══════════════════════════════════════
   PAGE HERO  (about / rooms / contact)
═══════════════════════════════════════ */
.page-hero {
  height:58vh; min-height:360px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; padding:100px 6% 60px; position:relative;
}
.page-hero h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,5vw,4rem); font-weight:600;
  color:white; line-height:1.1; margin-bottom:12px;
  opacity:0; animation:fadeUp .8s .3s forwards;
}
.page-hero h1 em { color:var(--sand); font-style:italic; }
.page-hero p {
  color:rgba(255,255,255,.75); font-size:.98rem;
  max-width:480px; font-weight:300;
  opacity:0; animation:fadeUp .8s .5s forwards;
}
.breadcrumb {
  position:absolute; bottom:20px; left:6%;
  display:flex; align-items:center; gap:8px;
  font-size:.78rem; color:rgba(255,255,255,.45);
}
.breadcrumb a { color:rgba(255,255,255,.45); text-decoration:none; transition:.2s; }
.breadcrumb a:hover { color:var(--mint); }
.breadcrumb i { font-size:.55rem; }

/* ═══════════════════════════════════════
   HOMEPAGE HERO
═══════════════════════════════════════ */
.hero {
  min-height:100vh; position:relative;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; padding:120px 6% 80px; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:url('../images/hero.jpg') center/cover no-repeat;
  transform:scale(1.05);
  animation:slowZoom 18s ease-in-out infinite alternate;
}
.hero-overlay {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(160deg,rgba(0,18,25,.72) 0%,rgba(0,95,115,.5) 60%,rgba(0,18,25,.8) 100%);
}
.hero-content { position:relative; z-index:2; max-width:780px; }
.hero-tag {
  color:var(--mint); letter-spacing:.25em; font-size:.75rem; font-weight:500;
  text-transform:uppercase; margin-bottom:18px;
  opacity:0; animation:fadeUp .8s .2s forwards;
}
.hero h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,6vw,5.2rem); font-weight:600; line-height:1.1;
  color:var(--white); margin-bottom:20px;
  opacity:0; animation:fadeUp .8s .4s forwards;
}
.hero h1 em { color:var(--sand); font-style:italic; }
.hero p {
  font-size:clamp(1rem,2vw,1.2rem); color:rgba(255,255,255,.8);
  max-width:560px; margin:0 auto 40px; font-weight:300;
  opacity:0; animation:fadeUp .8s .6s forwards;
}
.hero-btns {
  margin-bottom:40px;
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  opacity:0; animation:fadeUp .8s .8s forwards;
}
.hero-stats {
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  background:rgba(0,18,25,.85); backdrop-filter:blur(10px);
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap;
  border-top:1px solid rgba(148,210,189,.2);
}
.hero-stat {
  padding:20px 40px; text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
  flex:1; min-width:160px;
}
.hero-stat:last-child { border-right:none; }
.hero-stat .num {
  font-family:'Cormorant Garamond',serif; font-size:2rem;
  font-weight:700; color:var(--sand); line-height:1;
}
.hero-stat .lbl {
  font-size:.72rem; color:rgba(255,255,255,.55);
  letter-spacing:.1em; text-transform:uppercase; margin-top:4px;
}

/* ═══════════════════════════════════════
   ABOUT STRIP  (homepage)
═══════════════════════════════════════ */
.about { display:flex; align-items:center; flex-wrap:wrap; background:var(--mist); }
.about-img { flex:1; min-width:300px; height:520px; overflow:hidden; position:relative; }
.about-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.about-img:hover img { transform:scale(1.04); }
.about-img-badge {
  position:absolute; bottom:28px; left:28px;
  background:rgba(0,18,25,.9); border:1px solid rgba(148,210,189,.3);
  color:white; padding:12px 18px; border-radius:6px; font-size:.8rem;
}
.about-img-badge strong {
  display:block; font-family:'Cormorant Garamond',serif;
  font-size:1.3rem; color:var(--sand);
}
.about-text { flex:1; min-width:300px; padding:70px 6%; }
.about-text .tag { margin-bottom:12px; }
.about-text h2 {
  font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3.5vw,3rem);
  font-weight:600; line-height:1.2; margin-bottom:20px; color:var(--teal);
}
.about-text p { color:#4a5e65; font-size:.95rem; line-height:1.85; margin-bottom:16px; font-weight:300; }
.about-features { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; }
.about-feat { display:flex; align-items:center; gap:10px; font-size:.85rem; color:var(--teal); font-weight:500; }
.about-feat i { color:var(--gold); width:18px; }

/* ═══════════════════════════════════════
   ROOMS  (homepage cards)
═══════════════════════════════════════ */
.rooms { padding:90px 6%; background:var(--white); }
.rooms-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:28px; }
.room-card {
  background:var(--white); border-radius:14px; overflow:hidden;
  border:1px solid rgba(0,95,115,.1);
  transition:transform .3s, box-shadow .3s; display:flex; flex-direction:column;
}
.room-card:hover { transform:translateY(-8px); box-shadow:0 24px 50px rgba(0,95,115,.12); }
.room-card.featured { border-color:var(--gold); position:relative; }
.room-badge {
  position:absolute; top:16px; left:16px; z-index:2;
  background:linear-gradient(135deg,var(--gold),var(--sand));
  color:var(--dark); font-size:.65rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:20px;
}
.room-img-wrap { position:relative; height:230px; overflow:hidden; }
.room-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.room-card:hover .room-img-wrap img { transform:scale(1.06); }
.room-body { padding:24px; flex:1; display:flex; flex-direction:column; }
.room-body h3 {
  font-family:'Cormorant Garamond',serif; font-size:1.5rem;
  font-weight:600; color:var(--teal); margin-bottom:8px;
}
.room-feats { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.room-feat { font-size:.72rem; background:var(--mist); color:var(--teal); padding:4px 10px; border-radius:20px; font-weight:500; }
.room-price-row {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-top:auto; padding-top:16px; border-top:1px solid var(--mist);
}
.room-price {
  font-family:'Cormorant Garamond',serif; font-size:2rem;
  font-weight:700; color:var(--teal); line-height:1;
}
.room-price span { font-size:.85rem; font-weight:400; color:#5a7076; font-family:'DM Sans',sans-serif; }
.room-btn {
  background:var(--teal); color:white; padding:9px 20px; border-radius:5px;
  text-decoration:none; font-size:.8rem; font-weight:600; letter-spacing:.04em;
  transition:background .2s, transform .2s;
}
.room-btn:hover { background:var(--teal-lt); transform:translateY(-2px); }
.room-card.featured .room-btn { background:linear-gradient(135deg,var(--gold),var(--sand)); color:var(--dark); }

/* ═══════════════════════════════════════
   AMENITIES
═══════════════════════════════════════ */
.amenities { padding:90px 6%; background:var(--dark); position:relative; overflow:hidden; }
.amenities::before {
  content:''; position:absolute; top:-100px; right:-100px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(0,147,150,.15),transparent 70%);
  pointer-events:none;
}
.amenities .section-head h2 { color:var(--white); }
.amenities .section-head p  { color:rgba(255,255,255,.5); }
.amenities-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.amenity-card {
  background:rgba(255,255,255,.04); border:1px solid rgba(148,210,189,.12);
  border-radius:12px; padding:32px 24px; text-align:center; transition:.3s; cursor:default;
}
.amenity-card:hover {
  background:rgba(0,147,150,.12); border-color:rgba(148,210,189,.35); transform:translateY(-6px);
}
.amenity-icon {
  width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg,rgba(202,103,2,.2),rgba(233,196,106,.2));
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
  font-size:1.5rem; color:var(--sand);
}
.amenity-card h4 { color:var(--white); font-size:.95rem; font-weight:600; margin-bottom:8px; }
.amenity-card p  { color:rgba(255,255,255,.5); font-size:.82rem; line-height:1.65; }

/* ═══════════════════════════════════════
   REVIEWS
═══════════════════════════════════════ */
.reviews { padding:90px 6%; background:var(--mist); }
.reviews-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-top:48px; }
.review-card {
  background:var(--white); border-radius:14px; padding:30px;
  border:1px solid rgba(0,95,115,.07); transition:box-shadow .3s;
}
.review-card:hover { box-shadow:0 12px 35px rgba(0,95,115,.1); }
.review-stars { color:var(--gold); font-size:.85rem; margin-bottom:14px; letter-spacing:.1em; }
.review-text  { font-size:.93rem; line-height:1.8; color:#3a5058; font-weight:300; margin-bottom:20px; font-style:italic; }
.review-author { display:flex; align-items:center; gap:12px; }
.review-avatar {
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--teal-lt));
  display:flex; align-items:center; justify-content:center;
  color:white; font-weight:700; font-family:'Cormorant Garamond',serif; font-size:1.1rem;
}
.review-name { font-weight:600; font-size:.85rem; color:var(--teal); }
.review-via  { font-size:.72rem; color:#8a9ea3; }
.reviews-cta { text-align:center; margin-top:40px; }
.reviews-cta a {
  color:var(--teal); font-size:.9rem; font-weight:600; text-decoration:none;
  letter-spacing:.04em; border-bottom:1.5px solid var(--mint); padding-bottom:2px; transition:.2s;
}
.reviews-cta a:hover { color:var(--gold); border-color:var(--gold); }

/* ═══════════════════════════════════════
   CONTACT & MAP  (homepage section)
═══════════════════════════════════════ */
.contact { padding:90px 6%; background:var(--white); }
.contact-wrap { display:flex; gap:40px; flex-wrap:wrap; align-items:stretch; margin-top:50px; }
.contact-form {
  flex:1; min-width:300px; background:var(--mist); border-radius:16px; padding:40px;
  border:1px solid rgba(0,95,115,.08);
}
.contact-form h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--teal); margin-bottom:6px; }
.contact-form > p { font-size:.85rem; color:#5a7076; margin-bottom:28px; }
.form-row { display:flex; gap:16px; flex-wrap:wrap; }
.form-group { flex:1; min-width:200px; margin-bottom:18px; }
.form-group label {
  display:block; font-size:.78rem; font-weight:600; color:var(--teal);
  letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px;
}
.form-group input,
.form-group textarea,
.form-group select {
  width:100%; padding:11px 14px; border:1.5px solid #dde7e9; border-radius:7px;
  font-family:'DM Sans',sans-serif; font-size:.9rem; color:var(--ink);
  background:var(--white); transition:border-color .2s, box-shadow .2s; outline:none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color:var(--teal-lt); box-shadow:0 0 0 3px rgba(0,147,150,.12);
}
.form-group textarea { resize:vertical; min-height:110px; }
.submit-btn {
  width:100%; background:linear-gradient(135deg,var(--teal),var(--teal-lt));
  color:white; border:none; padding:14px; border-radius:8px; cursor:pointer;
  font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:600;
  letter-spacing:.05em; transition:.3s; margin-top:4px;
}
.submit-btn:hover { opacity:.9; transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,95,115,.3); }
.contact-info { flex:1; min-width:300px; display:flex; flex-direction:column; gap:20px; }
.map-wrap { flex:1; min-height:280px; border-radius:14px; overflow:hidden; border:1px solid rgba(0,95,115,.1); }
.map-wrap iframe { width:100%; height:100%; min-height:280px; border:0; display:block; }
.info-cards { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:14px; }
.info-card { background:var(--dark); border-radius:10px; padding:18px; color:white; }
.info-card i { color:var(--mint); font-size:1.1rem; margin-bottom:8px; display:block; }
.info-card .ic-label { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:4px; }
.info-card .ic-val   { font-size:.88rem; font-weight:500; line-height:1.4; }
.info-card .ic-val a { color:var(--sand); text-decoration:none; }

/* ═══════════════════════════════════════
   FAQ
═══════════════════════════════════════ */
.faq-section { padding:90px 6%; background:var(--mist); }
.faq-list { max-width:760px; margin:48px auto 0; }
.faq-list details {
  background:white; border-radius:10px; margin-bottom:12px;
  border:1px solid rgba(0,95,115,.1); overflow:hidden;
}
.faq-list details summary {
  padding:18px 22px; cursor:pointer; font-weight:600; color:var(--teal);
  font-size:.95rem; list-style:none; display:flex; justify-content:space-between; align-items:center;
}
.faq-list details summary::-webkit-details-marker { display:none; }
.faq-list details summary i { font-size:.75rem; color:var(--gold); transition:transform .3s; }
.faq-list details[open] summary i { transform:rotate(180deg); }
.faq-list details p { padding:0 22px 18px; color:#4a5e65; font-size:.9rem; line-height:1.8; }

/* ═══════════════════════════════════════
   ABOUT PAGE — Story
═══════════════════════════════════════ */
.story { display:flex; align-items:stretch; flex-wrap:wrap; }
.story-img { flex:1; min-width:300px; min-height:500px; overflow:hidden; position:relative; }
.story-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.story-img:hover img { transform:scale(1.04); }
.story-img-overlay {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to right, transparent 60%, rgba(0,18,25,.15));
}
.story-text { flex:1; min-width:300px; padding:80px 6%; display:flex; flex-direction:column; justify-content:center; }
.story-text .tag { margin-bottom:12px; }
.story-text h2 {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:600; color:var(--teal); line-height:1.25; margin-bottom:22px;
}
.story-text p { color:#4a5e65; font-size:.93rem; line-height:1.9; margin-bottom:14px; font-weight:300; }
.story-text p:last-of-type { margin-bottom:28px; }

/* ── Stats Bar ── */
.stats-bar {
  background:var(--dark); display:flex; justify-content:center; flex-wrap:wrap;
  border-top:1px solid rgba(148,210,189,.12); border-bottom:1px solid rgba(148,210,189,.12);
}
.stat-item { flex:1; min-width:160px; padding:36px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.06); }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:700; color:var(--sand); line-height:1; }
.stat-lbl { font-size:.72rem; color:rgba(255,255,255,.45); letter-spacing:.12em; text-transform:uppercase; margin-top:5px; }

/* ── Values ── */
.values { padding:90px 6%; background:var(--mist); }
.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:22px; }
.value-card {
  background:var(--white); border-radius:14px; padding:32px 28px;
  border:1px solid rgba(0,95,115,.08); transition:.3s;
}
.value-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,95,115,.1); border-color:rgba(0,95,115,.18); }
.value-icon {
  width:52px; height:52px; border-radius:12px;
  background:linear-gradient(135deg,rgba(0,95,115,.08),rgba(0,147,150,.12));
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  font-size:1.3rem; color:var(--teal-lt);
}
.value-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:600; color:var(--teal); margin-bottom:10px; }
.value-card p  { font-size:.88rem; color:#5a7076; line-height:1.8; font-weight:300; }

/* ── Team ── */
.team { padding:90px 6%; background:var(--white); }
.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:28px; }
.team-card { text-align:center; }
.team-avatar-letter {
  width:110px; height:110px; border-radius:50%; margin:0 auto 18px;
  background:linear-gradient(135deg,var(--teal),var(--teal-lt));
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:700;
  color:white; border:3px solid var(--mint);
}
.team-card h4   { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--teal); margin-bottom:4px; }
.team-card .role{ font-size:.78rem; color:var(--gold); font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; }
.team-card p    { font-size:.85rem; color:#5a7076; line-height:1.75; font-weight:300; }

/* ── Why Us ── */
.why-us { padding:90px 6%; background:var(--dark); position:relative; overflow:hidden; }
.why-us::before {
  content:''; position:absolute; bottom:-60px; left:-60px;
  width:350px; height:350px; border-radius:50%;
  background:radial-gradient(circle,rgba(0,147,150,.12),transparent 70%); pointer-events:none;
}
.why-us .section-head h2 { color:var(--white); }
.why-us .section-head p  { color:rgba(255,255,255,.45); }
.why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.why-item {
  display:flex; gap:16px; align-items:flex-start;
  background:rgba(255,255,255,.04); border:1px solid rgba(148,210,189,.1);
  border-radius:12px; padding:22px; transition:.3s;
}
.why-item:hover { background:rgba(0,147,150,.1); border-color:rgba(148,210,189,.25); }
.why-num { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:700; color:rgba(233,196,106,.3); line-height:1; flex-shrink:0; width:36px; }
.why-body h4 { color:var(--white); font-size:.95rem; font-weight:600; margin-bottom:6px; }
.why-body p  { color:rgba(255,255,255,.45); font-size:.84rem; line-height:1.7; }

/* ── Location Banner ── */
.location-banner { padding:80px 6%; background:var(--mist); display:flex; align-items:center; flex-wrap:wrap; gap:40px; }
.loc-text { flex:1; min-width:280px; }
.loc-text .tag { margin-bottom:10px; }
.loc-text h2 {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:600; color:var(--teal); margin-bottom:16px; line-height:1.25;
}
.loc-text p { color:#4a5e65; font-size:.92rem; line-height:1.85; margin-bottom:8px; font-weight:300; }
.loc-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.loc-chip {
  background:white; border:1px solid rgba(0,95,115,.15); border-radius:20px;
  padding:6px 14px; font-size:.8rem; color:var(--teal); font-weight:500;
  display:flex; align-items:center; gap:6px;
}
.loc-chip i { color:var(--gold); font-size:.75rem; }
.loc-map { flex:1; min-width:300px; height:320px; border-radius:14px; overflow:hidden; border:1px solid rgba(0,95,115,.1); }
.loc-map iframe { width:100%; height:100%; border:0; display:block; }

/* ═══════════════════════════════════════
   ROOMS PAGE — detail entries
═══════════════════════════════════════ */
.rooms-section { padding:70px 6%; background:var(--white); }
.room-entry {
  display:flex; border-radius:18px; overflow:hidden;
  border:1px solid rgba(0,95,115,.1); margin-bottom:50px;
  transition:box-shadow .3s;
}
.room-entry:hover { box-shadow:0 20px 50px rgba(0,95,115,.1); }
.room-entry.reverse { flex-direction:row-reverse; }
.room-gallery { flex:0 0 48%; position:relative; overflow:hidden; min-height:420px; }
.room-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.room-entry:hover .room-gallery img { transform:scale(1.04); }
.room-thumb-row { position:absolute; bottom:16px; left:16px; right:16px; display:flex; gap:8px; }
.room-thumb {
  flex:1; height:58px; border-radius:7px; overflow:hidden;
  cursor:pointer; border:2px solid transparent; transition:.2s; opacity:.75;
}
.room-thumb:hover,
.room-thumb.active { border-color:var(--sand); opacity:1; }
.room-thumb img { width:100%; height:100%; object-fit:cover; }
.room-detail { flex:1; padding:44px; display:flex; flex-direction:column; justify-content:space-between; }
.room-detail h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:600; color:var(--teal); margin-bottom:6px; }
.room-tagline { font-size:.82rem; color:var(--gold); font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.room-desc { font-size:.92rem; color:#4a5e65; line-height:1.85; margin-bottom:22px; font-weight:300; }
.feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px 16px; margin-bottom:24px; }
.feat-item { display:flex; align-items:center; gap:9px; font-size:.84rem; color:var(--ink); }
.feat-item i { color:var(--teal-lt); font-size:.85rem; width:16px; flex-shrink:0; }
.inclusions { background:var(--mist); border-radius:10px; padding:16px 18px; margin-bottom:24px; }
.inclusions h4 { font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#5a7076; margin-bottom:10px; }
.incl-chips { display:flex; flex-wrap:wrap; gap:8px; }
.incl-chip {
  font-size:.78rem; background:white; border:1px solid rgba(0,95,115,.12);
  border-radius:20px; padding:4px 12px; color:var(--teal); font-weight:500;
}
.room-price-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:20px; border-top:1px solid rgba(0,95,115,.08); }
.price-block .price-note   { font-size:.72rem; color:#5a7076; margin-bottom:2px; }
.price-block .price-amount { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:700; color:var(--teal); line-height:1; }
.price-block .price-per    { font-size:.8rem; color:#5a7076; font-family:'DM Sans',sans-serif; }
.room-cta-row { display:flex; gap:10px; flex-wrap:wrap; }

/* ── Compare Table ── */
.compare-section { padding:80px 6%; background:var(--dark); }
.compare-section .section-head h2 { color:white; }
.compare-section .section-head p  { color:rgba(255,255,255,.45); }
.compare-wrap { overflow-x:auto; }
.compare-table { width:100%; border-collapse:collapse; min-width:580px; }
.compare-table th {
  background:rgba(255,255,255,.05); padding:16px 20px;
  font-size:.78rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.5); font-weight:500; text-align:left;
}
.compare-table th:not(:first-child) { text-align:center; }
.compare-table td {
  padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.05);
  font-size:.88rem; color:rgba(255,255,255,.7); vertical-align:middle;
}
.compare-table td:not(:first-child) { text-align:center; }
.compare-table tr:last-child td { border-bottom:none; }
.compare-table .room-col-name { font-weight:600; color:white; font-size:.9rem; }
.check-y   { color:#2dd4a0; font-size:1rem; }
.check-n   { color:rgba(255,255,255,.2); font-size:1rem; }
.price-cell{ font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:600; color:var(--sand); }
.featured-col  { background:rgba(0,147,150,.12); border-left:1px solid rgba(0,147,150,.25); border-right:1px solid rgba(0,147,150,.25); }
.featured-head { background:rgba(0,147,150,.2)!important; color:var(--mint)!important; }
.table-cta { text-align:center; margin-top:30px; }

/* ── Policies ── */
.policies { padding:72px 6%; background:var(--mist); }
.policies h2 {
  font-family:'Cormorant Garamond',serif; font-size:clamp(1.7rem,3vw,2.4rem);
  font-weight:600; color:var(--teal); margin:10px 0 36px; text-align:center;
}
.policy-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; max-width:960px; margin:0 auto; }
.policy-card { background:white; border-radius:12px; padding:24px; border:1px solid rgba(0,95,115,.08); }
.policy-card i  { color:var(--gold); font-size:1.3rem; margin-bottom:12px; display:block; }
.policy-card h4 { font-size:.9rem; font-weight:600; color:var(--teal); margin-bottom:8px; }
.policy-card p  { font-size:.84rem; color:#5a7076; line-height:1.75; }

/* ── Filter Bar (rooms page) ── */
.filter-bar {
  background:var(--white); border-bottom:1px solid rgba(0,95,115,.08);
  padding:16px 6%; display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:12px;
  position:sticky; top:70px; z-index:800;
}
.filter-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.ftab {
  padding:8px 18px; border-radius:20px; border:1.5px solid rgba(0,95,115,.15);
  font-size:.8rem; font-weight:500; color:#5a7076; cursor:pointer; transition:.2s; background:none;
}
.ftab:hover,
.ftab.active { background:var(--teal); color:white; border-color:var(--teal); }
.checkin-strip { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.checkin-strip label { font-size:.75rem; color:#5a7076; font-weight:500; }
.checkin-strip input[type="date"] {
  padding:8px 12px; border:1.5px solid rgba(0,95,115,.15);
  border-radius:6px; font-family:'DM Sans',sans-serif; font-size:.82rem;
  color:var(--ink); outline:none; transition:.2s;
}
.checkin-strip input[type="date"]:focus { border-color:var(--teal-lt); }

/* ═══════════════════════════════════════
   CTA BAND  (shared across pages)
═══════════════════════════════════════ */
.cta-band { background:linear-gradient(135deg,var(--teal),var(--teal-lt)); padding:80px 6%; text-align:center; }
.cta-band h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,3rem); font-weight:600; color:white; margin-bottom:12px; }
.cta-band p  { color:rgba(255,255,255,.72); max-width:460px; margin:0 auto 30px; font-size:.92rem; font-weight:300; }
.cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════════════════════════════
   FLOATING BUTTONS
═══════════════════════════════════════ */
.float-btns { position:fixed; right:22px; bottom:30px; z-index:9999; display:flex; flex-direction:column; gap:12px; }
.float-btn {
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:22px; color:white;
  box-shadow:0 4px 16px rgba(0,0,0,.25); transition:transform .2s; position:relative;
}
.float-btn:hover { transform:scale(1.12); }
.float-btn.wa { background:#25D366; }
.float-btn.ph { background:#007AFF; }
.float-tooltip {
  position:absolute; right:68px; background:rgba(0,18,25,.9); color:white;
  padding:5px 12px; border-radius:5px; font-size:.75rem; white-space:nowrap;
  opacity:0; pointer-events:none; transition:opacity .2s;
}
.float-tooltip::after {
  content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%);
  border:5px solid transparent; border-left-color:rgba(0,18,25,.9);
}
.float-btn:hover .float-tooltip { opacity:1; }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer { background:var(--dark); color:rgba(255,255,255,.55); padding:56px 6% 28px; }
.footer-top {
  display:flex; flex-wrap:wrap; gap:40px;
  margin-bottom:40px; padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand { flex:2; min-width:240px; }
.footer-brand .nav-logo { font-size:1.6rem; }
.footer-brand p { font-size:.85rem; line-height:1.8; margin-top:14px; max-width:320px; }
.footer-col { flex:1; min-width:160px; }
.footer-col h5 { color:white; font-size:.82rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { color:rgba(255,255,255,.5); text-decoration:none; font-size:.85rem; transition:.2s; }
.footer-col ul li a:hover { color:var(--mint); }
.footer-col address { font-style:normal; font-size:.85rem; line-height:1.9; }
.footer-col address i { color:var(--mint); width:16px; }
.footer-links { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:20px; }
.footer-links a { color:rgba(255,255,255,.45); text-decoration:none; font-size:.85rem; transition:.2s; }
.footer-links a:hover { color:var(--mint); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); }
.footer-bottom p { font-size:.78rem; }
.footer-bottom a { color:rgba(255,255,255,.4); text-decoration:none; font-size:.78rem; transition:.2s; }
.footer-bottom a:hover { color:var(--mint); }

/* ═══════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════ */
@keyframes fadeUp    { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes slowZoom  { from{transform:scale(1.05)} to{transform:scale(1.12)} }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width:900px) {
  .room-entry,
  .room-entry.reverse { flex-direction:column; }
  .room-gallery { min-height:280px; flex:none; }
  .room-detail  { padding:30px 24px 26px; }
}
@media (max-width:768px) {
  nav { padding:0 5%; }
  .nav-links {
    display:none; flex-direction:column; position:fixed; inset:0;
    background:var(--dark); justify-content:center; align-items:center;
    gap:28px; z-index:9050;
  }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:1.2rem; }
  .hamburger { display:flex; }
  .hero-stats .hero-stat { padding:16px 20px; }
  .hero h1 { font-size:2.6rem; }
  .about-img { height:320px; }
  .about-text { padding:50px 5%; }
  .rooms-grid { grid-template-columns:1fr; }
  .amenities-grid { grid-template-columns:1fr 1fr; }
  .info-cards { grid-template-columns:1fr 1fr; }
  .footer-top { gap:28px; }
  .form-row { flex-direction:column; }
  .story-img  { min-height:280px; }
  .story-text { padding:50px 5%; }
  .stat-item  { padding:26px 16px; }
  .page-hero h1 { font-size:2.4rem; }
  .feat-grid { grid-template-columns:1fr 1fr; }
  .filter-bar { top:70px; }
  .room-price-row { flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px) {
  .amenities-grid { grid-template-columns:1fr 1fr; }
  .info-cards { grid-template-columns:1fr; }
  .hero-stats { display:grid; grid-template-columns:1fr 1fr; }
  .hero-stat  { border-right:none; border-bottom:1px solid rgba(255,255,255,.06); }
  .stats-bar  { display:grid; grid-template-columns:1fr 1fr; }
  .stat-item  { border-right:none; border-bottom:1px solid rgba(255,255,255,.06); }
  .feat-grid  { grid-template-columns:1fr; }
  .room-thumb-row { display:none; }
}

/* ── Contact page only ── */

/* Quick-contact cards row */
.quick-contacts {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:18px;
  padding:0 6% 0;
  margin-top:-40px;
  position:relative;
  z-index:10;
}
.qc-card {
  background:var(--white);
  border-radius:14px;
  padding:28px 22px;
  text-align:center;
  box-shadow:0 8px 30px rgba(0,18,25,.12);
  border:1px solid rgba(0,95,115,.08);
  text-decoration:none;
  transition:transform .2s, box-shadow .2s;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.qc-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(0,95,115,.15); }
.qc-icon {
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:white;
}
.qc-icon.wa  { background:#25D366; }
.qc-icon.ph  { background:#007AFF; }
.qc-icon.map { background:var(--teal); }
.qc-icon.web { background:linear-gradient(135deg,var(--gold),var(--sand)); color:var(--dark); }
.qc-card h4  { font-size:.85rem; font-weight:600; color:var(--teal); }
.qc-card p   { font-size:.78rem; color:#5a7076; line-height:1.5; }

/* Main contact body */
.contact-page { padding:70px 6% 90px; background:var(--white); }
.contact-page-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:50px;
  align-items:start;
}

/* Left — form */
.cp-form-wrap {
  background:var(--mist);
  border-radius:18px;
  padding:44px;
  border:1px solid rgba(0,95,115,.08);
}
.cp-form-wrap h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:2rem; font-weight:600; color:var(--teal); margin-bottom:6px;
}
.cp-form-wrap > p { font-size:.88rem; color:#5a7076; margin-bottom:30px; }

/* Right — info */
.cp-info { display:flex; flex-direction:column; gap:24px; }

.detail-block {
  background:var(--white);
  border:1px solid rgba(0,95,115,.1);
  border-radius:14px;
  padding:24px 26px;
  display:flex; gap:18px; align-items:flex-start;
  transition:.3s;
}
.detail-block:hover { box-shadow:0 8px 24px rgba(0,95,115,.08); border-color:rgba(0,95,115,.2); }
.detail-block .db-icon {
  width:46px; height:46px; border-radius:10px; flex-shrink:0;
  background:linear-gradient(135deg,rgba(0,95,115,.08),rgba(0,147,150,.12));
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; color:var(--teal-lt);
}
.detail-block h4 { font-size:.78rem; font-weight:600; color:#5a7076; letter-spacing:.1em; text-transform:uppercase; margin-bottom:5px; }
.detail-block p, .detail-block a {
  font-size:.92rem; color:var(--ink); line-height:1.65; text-decoration:none; font-weight:400;
}
.detail-block a { color:var(--teal); font-weight:500; }
.detail-block a:hover { color:var(--gold); }

/* Map */
.cp-map {
  border-radius:14px; overflow:hidden;
  border:1px solid rgba(0,95,115,.1); height:280px;
}
.cp-map iframe { width:100%; height:100%; border:0; display:block; }

/* Directions strip */
.directions-strip {
  background:var(--dark); border-radius:12px;
  padding:20px 22px; display:flex; flex-wrap:wrap; gap:14px; align-items:center;
  justify-content:space-between;
}
.directions-strip p { font-size:.85rem; color:rgba(255,255,255,.6); }
.directions-strip a {
  background:linear-gradient(135deg,var(--gold),var(--sand));
  color:var(--dark); padding:9px 20px; border-radius:5px;
  text-decoration:none; font-size:.8rem; font-weight:600;
  display:inline-flex; align-items:center; gap:7px; transition:.2s; white-space:nowrap;
}
.directions-strip a:hover { opacity:.9; }

/* Hours table */
.hours-card {
  background:var(--mist); border-radius:14px; padding:24px 26px;
  border:1px solid rgba(0,95,115,.08);
}
.hours-card h4 { font-size:.78rem; font-weight:600; color:#5a7076; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px; }
.hours-row { display:flex; justify-content:space-between; align-items:center; padding:7px 0; border-bottom:1px solid rgba(0,95,115,.06); font-size:.88rem; }
.hours-row:last-child { border-bottom:none; }
.hours-row .day { color:#5a7076; }
.hours-row .time { color:var(--teal); font-weight:600; }
.hours-row .badge-open { background:#e1f5ee; color:#0f6e56; font-size:.68rem; font-weight:700; padding:2px 8px; border-radius:20px; }

/* Nearby section */
.nearby { padding:70px 6%; background:var(--mist); }
.nearby h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.7rem,3vw,2.4rem); font-weight:600; color:var(--teal); margin:10px 0 36px; text-align:center; }
.nearby-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; max-width:900px; margin:0 auto; }
.nearby-item {
  background:var(--white); border-radius:12px; padding:20px;
  border:1px solid rgba(0,95,115,.08); display:flex; gap:14px; align-items:flex-start;
  transition:.2s;
}
.nearby-item:hover { border-color:rgba(0,95,115,.2); box-shadow:0 6px 20px rgba(0,95,115,.07); }
.nearby-item i { color:var(--gold); font-size:1.1rem; margin-top:2px; flex-shrink:0; }
.nearby-item h4 { font-size:.88rem; font-weight:600; color:var(--teal); margin-bottom:3px; }
.nearby-item p  { font-size:.78rem; color:#5a7076; }

@media(max-width:900px) {
  .contact-page-grid { grid-template-columns:fr; }
}
@media(max-width:600px) {
  .quick-contacts { grid-template-columns:1fr 1fr; margin-top:-28px; }
  .cp-form-wrap { padding:28px 20px; }
}

/* ── Room Cards (detailed) ── */
.rooms-section{padding:70px 6%;background:var(--white);}
.room-entry{display:flex;gap:0;border-radius:18px;overflow:hidden;border:1px solid rgba(0,95,115,.1);margin-bottom:50px;background:var(--white);transition:box-shadow .3s;}
.room-entry:hover{box-shadow:0 20px 50px rgba(0,95,115,.1);}
.room-entry.reverse{flex-direction:row-reverse;}

/* Gallery Side */
.room-gallery{flex:0 0 48%;position:relative;overflow:hidden;min-height:420px;}
.room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.room-entry:hover .room-gallery img{transform:scale(1.04);}
.room-badge{position:absolute;top:20px;left:20px;background:linear-gradient(135deg,var(--gold),var(--sand));color:var(--dark);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:20px;z-index:2;}
.room-thumb-row{position:absolute;bottom:16px;left:16px;right:16px;display:flex;gap:8px;}
.room-thumb{flex:1;height:58px;border-radius:7px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:.2s;opacity:.75;}
.room-thumb:hover,.room-thumb.active{border-color:var(--sand);opacity:1;}
.room-thumb img{width:100%;height:100%;object-fit:cover;}

/* Detail Side */
.room-detail{flex:1;padding:44px 44px 36px;display:flex;flex-direction:column;justify-content:space-between;}
.room-detail-top h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--teal);margin-bottom:6px;}
.room-tagline{font-size:.82rem;color:var(--gold);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.room-desc{font-size:.92rem;color:#4a5e65;line-height:1.85;margin-bottom:22px;font-weight:300;}

/* Features list */
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin-bottom:24px;}
.feat-item{display:flex;align-items:center;gap:9px;font-size:.84rem;color:var(--ink);}
.feat-item i{color:var(--teal-lt);font-size:.85rem;width:16px;flex-shrink:0;}

/* Inclusions */
.inclusions{background:var(--mist);border-radius:10px;padding:16px 18px;margin-bottom:24px;}
.inclusions h4{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5a7076;margin-bottom:10px;}
.incl-chips{display:flex;flex-wrap:wrap;gap:8px;}
.incl-chip{font-size:.78rem;background:white;border:1px solid rgba(0,95,115,.12);border-radius:20px;padding:4px 12px;color:var(--teal);font-weight:500;}

/* Price row */
.room-price-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:20px;border-top:1px solid rgba(0,95,115,.08);}
.price-block .price-note{font-size:.72rem;color:#5a7076;margin-bottom:2px;}
.price-block .price-amount{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:700;color:var(--teal);line-height:1;}
.price-block .price-per{font-size:.8rem;color:#5a7076;font-family:'DM Sans',sans-serif;}
.room-cta-row{display:flex;gap:10px;flex-wrap:wrap;}

/* ── Compare Table ── */
.compare-section{padding:80px 6%;background:var(--dark);}
.compare-section .tag{color:var(--mint);}
.compare-head{text-align:center;margin-bottom:44px;}
.compare-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;color:white;margin-top:10px;}
.compare-head p{color:rgba(255,255,255,.45);max-width:500px;margin:10px auto 0;font-size:.9rem;}

.compare-wrap{overflow-x:auto;}
.compare-table{width:100%;border-collapse:collapse;min-width:580px;}
.compare-table th{background:rgba(255,255,255,.05);padding:16px 20px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:500;text-align:left;}
.compare-table th:not(:first-child){text-align:center;}
.compare-table td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.88rem;color:rgba(255,255,255,.7);vertical-align:middle;}
.compare-table td:not(:first-child){text-align:center;}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table .room-col-name{font-weight:600;color:white;font-size:.9rem;}
.check-y{color:#2dd4a0;font-size:1rem;}
.check-n{color:rgba(255,255,255,.2);font-size:1rem;}
.price-cell{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--sand);}
.featured-col{background:rgba(0,147,150,.12);border-left:1px solid rgba(0,147,150,.25);border-right:1px solid rgba(0,147,150,.25);}
.featured-head{background:rgba(0,147,150,.2)!important;color:var(--mint)!important;}
.table-cta{text-align:center;margin-top:30px;}

/* ── Policies ── */
.policies{padding:72px 6%;background:var(--mist);}
.policies h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600;color:var(--teal);margin:10px 0 36px;text-align:center;}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:960px;margin:0 auto;}
.policy-card{background:white;border-radius:12px;padding:24px;border:1px solid rgba(0,95,115,.08);}
.policy-card i{color:var(--gold);font-size:1.3rem;margin-bottom:12px;}
.policy-card h4{font-size:.9rem;font-weight:600;color:var(--teal);margin-bottom:8px;}
.policy-card p{font-size:.84rem;color:#5a7076;line-height:1.75;}

/* ── CTA Band ── */
.cta-band{background:linear-gradient(135deg,var(--teal),var(--teal-lt));padding:72px 6%;text-align:center;}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;color:white;margin-bottom:12px;}
.cta-band p{color:rgba(255,255,255,.72);max-width:460px;margin:0 auto 30px;font-size:.92rem;font-weight:300;}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-white{background:white;color:var(--teal);padding:13px 30px;border-radius:4px;text-decoration:none;font-weight:600;font-size:.88rem;transition:.2s;display:inline-flex;align-items:center;gap:8px;}
.btn-white:hover{background:var(--mist);}
.btn-outline-w{border:1.5px solid rgba(255,255,255,.5);color:white;padding:12px 28px;border-radius:4px;text-decoration:none;font-weight:500;font-size:.88rem;transition:.2s;}
.btn-outline-w:hover{border-color:white;background:rgba(255,255,255,.08);}


/* ── Mobile ── */
@media(max-width:900px){
  .room-entry,.room-entry.reverse{flex-direction:column;}
  .room-gallery{min-height:280px;flex:none;}
  .room-detail{padding:30px 24px 26px;}
  .feat-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:fixed;inset:0;background:var(--dark);justify-content:center;align-items:center;gap:28px;z-index:800;}
  .nav-links.open{display:flex;}
  .nav-links a{font-size:1.2rem;}
  .hamburger{display:flex;z-index:810;}
  .filter-bar{top:70px;}
  .room-price-row{flex-direction:column;align-items:flex-start;}
}
@media(max-width:480px){
  .feat-grid{grid-template-columns:1fr;}
  .room-thumb-row{display:none;}
}


/* ── Shared ── */
.tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);}
.btn-book{background:linear-gradient(135deg,var(--gold),var(--sand));color:var(--dark);padding:13px 28px;border-radius:4px;text-decoration:none;font-weight:600;font-size:.88rem;letter-spacing:.04em;transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:8px;}
.btn-book:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(202,103,2,.4);}
.btn-ghost{border:1.5px solid var(--teal);color:var(--teal);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:500;font-size:.86rem;transition:.2s;display:inline-flex;align-items:center;gap:7px;}
.btn-ghost:hover{background:var(--teal);color:white;}




/* ── Filter Bar ── */
.filter-bar{background:var(--white);border-bottom:1px solid rgba(0,95,115,.08);padding:16px 6%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;position:sticky;top:70px;z-index:800;}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.ftab{padding:8px 18px;border-radius:20px;border:1.5px solid rgba(0,95,115,.15);font-size:.8rem;font-weight:500;color:#5a7076;cursor:pointer;transition:.2s;background:none;}
.ftab:hover,.ftab.active{background:var(--teal);color:white;border-color:var(--teal);}
.checkin-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.checkin-strip input[type="date"]{padding:8px 12px;border:1.5px solid rgba(0,95,115,.15);border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.82rem;color:var(--ink);outline:none;transition:.2s;}
.checkin-strip input[type="date"]:focus{border-color:var(--teal-lt);}
.checkin-strip label{font-size:.75rem;color:#5a7076;font-weight:500;}

/* ── Room Cards (detailed) ── */
.rooms-section{padding:70px 6%;background:var(--white);}
.room-entry{display:flex;gap:0;border-radius:18px;overflow:hidden;border:1px solid rgba(0,95,115,.1);margin-bottom:50px;background:var(--white);transition:box-shadow .3s;}
.room-entry:hover{box-shadow:0 20px 50px rgba(0,95,115,.1);}
.room-entry.reverse{flex-direction:row-reverse;}

/* Gallery Side */
.room-gallery{flex:0 0 48%;position:relative;overflow:hidden;min-height:420px;}
.room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.room-entry:hover .room-gallery img{transform:scale(1.04);}
.room-badge{position:absolute;top:20px;left:20px;background:linear-gradient(135deg,var(--gold),var(--sand));color:var(--dark);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:20px;z-index:2;}
.room-thumb-row{position:absolute;bottom:16px;left:16px;right:16px;display:flex;gap:8px;}
.room-thumb{flex:1;height:58px;border-radius:7px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:.2s;opacity:.75;}
.room-thumb:hover,.room-thumb.active{border-color:var(--sand);opacity:1;}
.room-thumb img{width:100%;height:100%;object-fit:cover;}

/* Detail Side */
.room-detail{flex:1;padding:44px 44px 36px;display:flex;flex-direction:column;justify-content:space-between;}
.room-detail-top h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--teal);margin-bottom:6px;}
.room-tagline{font-size:.82rem;color:var(--gold);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.room-desc{font-size:.92rem;color:#4a5e65;line-height:1.85;margin-bottom:22px;font-weight:300;}

/* Features list */
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin-bottom:24px;}
.feat-item{display:flex;align-items:center;gap:9px;font-size:.84rem;color:var(--ink);}
.feat-item i{color:var(--teal-lt);font-size:.85rem;width:16px;flex-shrink:0;}

/* Inclusions */
.inclusions{background:var(--mist);border-radius:10px;padding:16px 18px;margin-bottom:24px;}
.inclusions h4{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5a7076;margin-bottom:10px;}
.incl-chips{display:flex;flex-wrap:wrap;gap:8px;}
.incl-chip{font-size:.78rem;background:white;border:1px solid rgba(0,95,115,.12);border-radius:20px;padding:4px 12px;color:var(--teal);font-weight:500;}

/* Price row */
.room-price-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:20px;border-top:1px solid rgba(0,95,115,.08);}
.price-block .price-note{font-size:.72rem;color:#5a7076;margin-bottom:2px;}
.price-block .price-amount{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:700;color:var(--teal);line-height:1;}
.price-block .price-per{font-size:.8rem;color:#5a7076;font-family:'DM Sans',sans-serif;}
.room-cta-row{display:flex;gap:10px;flex-wrap:wrap;}

/* ── Compare Table ── */
.compare-section{padding:80px 6%;background:var(--dark);}
.compare-section .tag{color:var(--mint);}
.compare-head{text-align:center;margin-bottom:44px;}
.compare-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;color:white;margin-top:10px;}
.compare-head p{color:rgba(255,255,255,.45);max-width:500px;margin:10px auto 0;font-size:.9rem;}

.compare-wrap{overflow-x:auto;}
.compare-table{width:100%;border-collapse:collapse;min-width:580px;}
.compare-table th{background:rgba(255,255,255,.05);padding:16px 20px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:500;text-align:left;}
.compare-table th:not(:first-child){text-align:center;}
.compare-table td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.88rem;color:rgba(255,255,255,.7);vertical-align:middle;}
.compare-table td:not(:first-child){text-align:center;}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table .room-col-name{font-weight:600;color:white;font-size:.9rem;}
.check-y{color:#2dd4a0;font-size:1rem;}
.check-n{color:rgba(255,255,255,.2);font-size:1rem;}
.price-cell{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--sand);}
.featured-col{background:rgba(0,147,150,.12);border-left:1px solid rgba(0,147,150,.25);border-right:1px solid rgba(0,147,150,.25);}
.featured-head{background:rgba(0,147,150,.2)!important;color:var(--mint)!important;}
.table-cta{text-align:center;margin-top:30px;}

/* ── Policies ── */
.policies{padding:72px 6%;background:var(--mist);}
.policies h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600;color:var(--teal);margin:10px 0 36px;text-align:center;}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:960px;margin:0 auto;}
.policy-card{background:white;border-radius:12px;padding:24px;border:1px solid rgba(0,95,115,.08);}
.policy-card i{color:var(--gold);font-size:1.3rem;margin-bottom:12px;}
.policy-card h4{font-size:.9rem;font-weight:600;color:var(--teal);margin-bottom:8px;}
.policy-card p{font-size:.84rem;color:#5a7076;line-height:1.75;}

/* ── CTA Band ── */
.cta-band{background:linear-gradient(135deg,var(--teal),var(--teal-lt));padding:72px 6%;text-align:center;}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;color:white;margin-bottom:12px;}
.cta-band p{color:rgba(255,255,255,.72);max-width:460px;margin:0 auto 30px;font-size:.92rem;font-weight:300;}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-white{background:white;color:var(--teal);padding:13px 30px;border-radius:4px;text-decoration:none;font-weight:600;font-size:.88rem;transition:.2s;display:inline-flex;align-items:center;gap:8px;}
.btn-white:hover{background:var(--mist);}
.btn-outline-w{border:1.5px solid rgba(255,255,255,.5);color:white;padding:12px 28px;border-radius:4px;text-decoration:none;font-weight:500;font-size:.88rem;transition:.2s;}
.btn-outline-w:hover{border-color:white;background:rgba(255,255,255,.08);}

/* ── Floats ── */
.float-btns{position:fixed;right:22px;bottom:30px;z-index:9999;display:flex;flex-direction:column;gap:12px;}
.float-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:22px;color:white;box-shadow:0 4px 16px rgba(0,0,0,.25);transition:transform .2s;position:relative;}
.float-btn:hover{transform:scale(1.12);}
.float-btn.wa{background:#25D366;}.float-btn.ph{background:#007AFF;}
.float-tooltip{position:absolute;right:68px;background:rgba(0,18,25,.9);color:white;padding:5px 12px;border-radius:5px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;}
.float-tooltip::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:rgba(0,18,25,.9);}
.float-btn:hover .float-tooltip{opacity:1;}



/* ── Mobile ── */
@media(max-width:900px){
  .room-entry,.room-entry.reverse{flex-direction:column;}
  .room-gallery{min-height:280px;flex:none;}
  .room-detail{padding:30px 24px 26px;}
  .feat-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:fixed;inset:0;background:var(--dark);justify-content:center;align-items:center;gap:28px;z-index:800;}
  .nav-links.open{display:flex;}
  .nav-links a{font-size:1.2rem;}
  .hamburger{display:flex;z-index:810;}
  .filter-bar{top:70px;}
  .room-price-row{flex-direction:column;align-items:flex-start;}
}
@media(max-width:480px){
  .feat-grid{grid-template-columns:1fr;}
  .room-thumb-row{display:none;}
}

  .travel-strip,
  .journey-grid,
  .stay-highlights,
  .commute-cards {
    width: min(1120px, 88%);
    margin: 0 auto;
  }
  .travel-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 16px;
    margin-top: -38px;
    position: relative;
    z-index: 3;
  }
  .travel-card {
    background: #fff;
    border: 1px solid rgba(0, 95, 115, .12);
    border-radius: 14px;
    padding: 22px 20px;
    box-shadow: 0 12px 30px rgba(0, 18, 25, .08);
  }
  .travel-card strong {
    display: block;
    margin-bottom: 6px;
    color: var(--teal);
    font-size: 1.2rem;
    font-family: 'Cormorant Garamond', serif;
  }
  .travel-card span {
    color: #587076;
    font-size: .85rem;
  }
  .journey-section,
  .highlights-section {
    padding: 82px 0;
  }
  .journey-section {
    background: var(--mist);
  }
  .journey-grid,
  .stay-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 26px;
  }
  .journey-panel,
  .highlight-card,
  .commute-card {
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(0, 95, 115, .1);
    padding: 28px;
    box-shadow: 0 10px 26px rgba(0, 18, 25, .05);
  }
  .journey-panel h3,
  .highlight-card h3,
  .commute-card h3 {
    color: var(--teal);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.75rem;
    margin-bottom: 14px;
  }
  .journey-panel p,
  .highlight-card p,
  .commute-card p,
  .journey-panel li {
    color: #4a5e65;
    font-size: .92rem;
    line-height: 1.85;
  }
  .journey-panel ul,
  .highlight-card ul {
    padding-left: 18px;
    margin-top: 12px;
  }
  .route-chip-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
  }
  .route-chip {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(148, 210, 189, .18);
    color: var(--teal);
    font-size: .78rem;
    font-weight: 600;
  }
  .commute-band {
    padding: 82px 0;
    background: linear-gradient(180deg, #fff 0%, #f8fbfb 100%);
  }
  .commute-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    margin-top: 34px;
  }
  .info-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
  }
  .info-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #4a5e65;
    font-size: .9rem;
  }
  .info-row i {
    color: var(--gold);
    margin-top: 4px;
  }
  @media (max-width: 768px) {
    .travel-strip {
      width: min(92%, 1120px);
      margin-top: 24px;
    }
    .journey-section,
    .highlights-section,
    .commute-band {
      padding: 64px 0;
    }
  }

  .resort-metrics,
  .resort-grid,
  .signature-grid,
  .choice-grid {
    width: min(1120px, 88%);
    margin: 0 auto;
  }
  .resort-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 16px;
    margin-top: -38px;
    position: relative;
    z-index: 3;
  }
  .metric-card,
  .resort-card,
  .signature-card,
  .choice-card {
    background: #fff;
    border: 1px solid rgba(0, 95, 115, .12);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(0, 18, 25, .06);
  }
  .metric-card {
    padding: 22px 20px;
  }
  .metric-card strong {
    display: block;
    color: var(--teal);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    margin-bottom: 6px;
  }
  .metric-card span {
    color: #5a7076;
    font-size: .85rem;
  }
  .resort-section,
  .signature-section,
  .choice-section {
    padding: 82px 0;
  }
  .resort-section {
    background: var(--mist);
  }
  .resort-grid,
  .signature-grid,
  .choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
  }
  .resort-card,
  .signature-card,
  .choice-card {
    padding: 28px;
  }
  .resort-card h3,
  .signature-card h3,
  .choice-card h3 {
    color: var(--teal);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.7rem;
    margin-bottom: 14px;
  }
  .resort-card p,
  .signature-card p,
  .choice-card p,
  .choice-card li {
    color: #4a5e65;
    font-size: .92rem;
    line-height: 1.85;
  }
  .choice-card ul {
    padding-left: 18px;
    margin-top: 12px;
  }
  .accent-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
  }
  .accent-pills span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(233, 196, 106, .18);
    color: var(--teal);
    font-size: .78rem;
    font-weight: 600;
  }
  .contact-points {
    display: grid;
    gap: 14px;
    margin-top: 18px;
  }
  .contact-points div {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #4a5e65;
    font-size: .9rem;
  }
  .contact-points i {
    color: var(--gold);
    margin-top: 4px;
  }
  @media (max-width: 768px) {
    .resort-metrics {
      width: min(92%, 1120px);
      margin-top: 24px;
    }
    .resort-section,
    .signature-section,
    .choice-section {
      padding: 64px 0;
    }
  }