:root {
  --cream:    #faf8f4;
  --cream2:   #f3efe8;
  --white:    #ffffff;
  --navy:     #0c1f4a;
  --blue:     #1a5dc8;
  --gold:     #c8922a;
  --gold-lt:  #e8b84b;
  --text:     #1a1a2e;
  --text2:    #4a4a6a;
  --text3:    #8a8aaa;
  --border:   #e2ddd6;
  --shadow:   0 4px 24px rgba(12,31,74,.08);
  --shadow-lg:0 16px 60px rgba(12,31,74,.16);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* ── TOPBAR ── */
.topbar{background:var(--navy);color:rgba(255,255,255,.75);font-size:.75rem;letter-spacing:.04em;padding:9px 60px;display:flex;justify-content:space-between;align-items:center;}
.topbar a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s;}
.topbar a:hover{color:#fff;}
.topbar-right{display:flex;gap:24px;}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;background:var(--white);border-bottom:1px solid var(--border);padding:0 60px;display:flex;align-items:center;justify-content:space-between;height:74px;box-shadow:0 2px 16px rgba(12,31,74,.07);}
.nav-logo{display:flex;align-items:center;gap:10px;}
.nav-links{display:flex;list-style:none;}
.nav-links a{color:var(--text2);font-size:.85rem;font-weight:500;letter-spacing:.04em;text-decoration:none;padding:0 18px;display:flex;align-items:center;border-bottom:3px solid transparent;transition:color .2s,border-color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--navy);border-bottom-color:var(--gold);}
.nav-actions{display:flex;align-items:center;gap:14px;}
.nav-phone{display:flex;align-items:center;gap:6px;color:var(--text2);font-size:.82rem;font-weight:500;text-decoration:none;transition:color .2s;}
.nav-phone:hover{color:var(--navy);}
.btn-book{background:var(--navy);color:#fff;padding:11px 26px;border-radius:6px;font-size:16px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;display:inline-block;transition:background .2s,transform .2s;}
.btn-book:hover{background:var(--blue);transform:translateY(-1px);}

/* ── HERO ── */
.hero{position:relative;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right, rgba(12,31,74,.80) 0%, rgba(12,31,74,.50) 50%, rgba(12,31,74,.15) 100%);}
.hero-overlay2{position:absolute;inset:0;background:linear-gradient(to top, rgba(12,31,74,.7) 0%, transparent 50%);}
.hero-content{position:relative;z-index:2;padding:0 60px 70px;max-width:700px;margin: auto;text-align: center;}
.hero-label{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:20px;}
.hero-label::before{content:'';width:28px;height:2px;background:var(--gold-lt);border-radius:2px;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5.5vw,4.8rem);font-weight:700;line-height:1.08;color:#fff;margin-bottom:20px;text-shadow:0 2px 20px rgba(0,0,0,.3);}
.hero h1 em{font-style:italic;color:var(--gold-lt);}
.hero-desc{font-size:1.05rem;color:rgba(255,255,255,.82);line-height:1.8;max-width:500px;margin-bottom:36px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--gold);color:#fff;padding:14px 34px;border-radius:6px;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-block;}
.btn-primary:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 10px 28px rgba(200,146,42,.4);}
.btn-outline-hero{border:2px solid rgba(255,255,255,.6);color:#fff;padding:12px 30px;border-radius:6px;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .2s;display:inline-block;}
.btn-outline-hero:hover{border-color:#fff;background:rgba(255,255,255,.12);}

/* hero stats strip (over hero) */
.hero-stats-bar{position:absolute;bottom:0;right:0;z-index:3;display:flex;}
.hero-stat-box{background:rgba(255,255,255,.96);padding:22px 30px;text-align:center;border-left:1px solid var(--border);}
.hero-stat-num{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--navy);}
.hero-stat-lbl{font-size:.7rem;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;}

/* ── SEARCH BAR ── */
.search-wrap{background:var(--white);padding:0 60px;position:relative;z-index:10;}
.search-bar{background:var(--white);border:2px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:0;margin-top:-34px;}
.sf{padding:15px 22px;border-right:1px solid var(--border);}
.sf:last-of-type{border-right:none;}
.sf-lbl{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:5px;}
.sf-val select,.sf-val input{border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:.94rem;font-weight:500;color:var(--navy);width:100%;cursor:pointer;}
.search-btn{background:var(--navy);color:#fff;padding:15px 28px;border-radius:10px;font-size:.82rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;border:none;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.search-btn:hover{background:var(--blue);}

/* ── STATS STRIP ── */
.stats-strip{background:var(--navy);display:grid;grid-template-columns:repeat(4,1fr);}
.stat-block{padding:42px 30px;text-align:center;border-right:1px solid rgba(255,255,255,.1);}
.stat-block:last-child{border-right:none;}
.stat-number{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:700;color:var(--gold-lt);}
.stat-text{color:rgba(255,255,255,.55);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;}

/* ── SHARED ── */
section{padding:100px 60px;}
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.section-label::before{content:'';width:24px;height:2px;background:var(--gold);}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;color:var(--navy);line-height:1.15;}
.section-subtitle{color:var(--text2);font-size:.97rem;margin-top:12px;line-height:1.7;}
.btn-secondary{background:transparent;color:var(--navy);border:2px solid var(--navy);padding:12px 28px;border-radius:6px;font-size:.86rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .2s;display:inline-block;}
.btn-secondary:hover{background:var(--navy);color:#fff;}

/* ── HOTELS ── */
.hotels-section{background:var(--cream);}
.section-header-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;}
.hotels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.hotel-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform .3s,box-shadow .3s;text-decoration:none;color:inherit;display:block;}
.hotel-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg);}
.hc-img{height:220px;position:relative;overflow:hidden;}
.hc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.hotel-card:hover .hc-img img{transform:scale(1.06);}
.hc-overlay{position:absolute;top:14px;left:14px;display:flex;gap:6px;}
.tag{display:inline-block;padding:4px 12px;border-radius:100px;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
.tag-gold{background:rgba(200,146,42,.14);color:var(--gold);border:1px solid rgba(200,146,42,.35);}
.tag-navy{background:rgba(255,255,255,.88);color:var(--navy);border:1px solid rgba(12,31,74,.15);}
.hc-body{padding:22px 24px;}
.hc-rating{display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.stars{color:#f5a623;font-size:.82rem;}
.rating-val{font-size:.78rem;color:var(--text3);}
.hc-body h3{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--navy);margin-bottom:7px;}
.hc-loc{font-size:.8rem;color:var(--text3);margin-bottom:18px;}
.hc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border);}
.hc-price{font-size:.78rem;color:var(--text3);}
.hc-price strong{font-size:1.1rem;color:var(--navy);font-family:'Playfair Display',serif;}
.btn-view{background:var(--cream);color:var(--navy);border:1.5px solid var(--navy);padding:7px 18px;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:all .2s;}
.btn-view:hover{background:var(--navy);color:#fff;}

/* ── EXPERIENCE SPLIT ── */
.experience{background:var(--white);}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.exp-left{position:relative;}
.exp-img-main{width:100%;height:460px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-lg);}
.exp-mini{position:absolute;background:var(--white);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px 20px;}
.exp-mini-1{top:24px;right:-28px;width:180px;}
.exp-mini-2{bottom:-22px;left:-22px;width:210px;}
.exp-mini .em-icon{font-size:1.5rem;margin-bottom:7px;}
.exp-mini strong{display:block;font-size:.88rem;color:var(--navy);font-weight:600;}
.exp-mini span{font-size:.74rem;color:var(--text3);}
.feature-rows{display:flex;flex-direction:column;}
.feature-row{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);}
.feature-row:first-child{padding-top:0;}
.feature-row:last-child{border-bottom:none;}
.feature-icon-box{width:46px;height:46px;border-radius:12px;flex-shrink:0;background:rgba(12,31,74,.06);display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.feature-copy strong{font-size:.9rem;font-weight:600;color:var(--navy);display:block;margin-bottom:3px;}
.feature-copy span{font-size:.82rem;color:var(--text2);}

/* ── GALLERY STRIP ── */
.gallery-strip{padding:0 60px 80px;background:var(--white);}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px;}
.g-item{border-radius:14px;overflow:hidden;position:relative;}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.g-item:hover img{transform:scale(1.05);}
.g-item.tall{grid-row:1/3;}
.g-item-label{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,rgba(12,31,74,.7));color:#fff;font-size:.8rem;font-weight:500;letter-spacing:.05em;}

/* ── LOCATIONS ── */
.locations{background:var(--cream);}
.loc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.loc-card{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform .28s,box-shadow .28s;cursor:pointer;background:var(--white);}
.loc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.loc-img{height:170px;overflow:hidden;position:relative;}
.loc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.loc-card:hover .loc-img img{transform:scale(1.07);}
.loc-info{padding:16px 18px;}
.loc-info h4{font-family:'Playfair Display',serif;font-size:1rem;color:var(--navy);margin-bottom:4px;}
.loc-info p{font-size:.78rem;color:var(--text3);}
.loc-badge{display:inline-block;margin-top:8px;background:rgba(12,31,74,.06);color:var(--navy);font-size:.68rem;font-weight:600;letter-spacing:.09em;padding:3px 10px;border-radius:100px;}

/* ── TESTIMONIALS ── */
.testimonials{background:var(--white);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.testi-card{background:var(--cream);border-radius:16px;padding:28px;border:1px solid var(--border);transition:box-shadow .2s;}
.testi-card:hover{box-shadow:var(--shadow-lg);}
.quote-mark{font-family:'Playfair Display',serif;font-size:3.5rem;line-height:.6;color:var(--gold);margin-bottom:16px;display:block;}
.testi-text{font-size:.9rem;color:var(--text2);line-height:1.8;margin-bottom:22px;font-style:italic;}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-av{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0;}
.testi-name{font-size:.88rem;font-weight:600;color:var(--navy);}
.testi-loc{font-size:.75rem;color:var(--text3);}
.testi-stars{color:#f5a623;font-size:.78rem;margin-bottom:3px;}

/* ── CTA BAND ── */
.cta-band{position:relative;overflow:hidden;}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cta-overlay{position:absolute;inset:0;background:rgba(12,31,74,.82);}
.cta-inner{position:relative;z-index:2;padding:90px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.cta-inner h2{font-family:'Playfair Display',serif;font-size:2.5rem;color:#fff;margin-bottom:10px;}
.cta-inner p{color:rgba(255,255,255,.7);font-size:1rem;}
.cta-btns{display:flex;gap:14px;flex-shrink:0;}
.btn-gold{background:var(--gold);color:#fff;padding:14px 34px;border-radius:6px;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .2s;display:inline-block;}
.btn-gold:hover{background:var(--gold-lt);transform:translateY(-2px);}
.btn-outline-white{border:2px solid rgba(255,255,255,.4);color:#fff;padding:12px 28px;border-radius:6px;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .2s;display:inline-block;}
.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,.1);}

/* ── FOOTER ── */
footer{background:var(--cream2);border-top:1px solid var(--border);}
.footer-main{padding:70px 60px 50px;display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr;gap:60px;}
.footer-brand img{height:72px;margin-bottom:16px;object-fit:contain;}
.footer-social{display:flex;gap:8px;}
.soc-btn{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;cursor:pointer;color:var(--navy);transition:all .2s;}
.soc-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.footer-col h4{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin-bottom:18px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col li a{color:var(--text2);font-size:.87rem;text-decoration:none;transition:color .2s;}
.footer-col li a:hover{color:var(--gold);}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;color:var(--text2);font-size:.87rem;margin-bottom:12px;}
.footer-bottom{border-top:1px solid var(--border);padding:20px 60px;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--text3);}

/* ── ANIMATIONS ── */
[data-fade]{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease;}
[data-fade].in{opacity:1;transform:none;}
