
:root {
  --bg-main:#0b2a1e;
  --bg-alt:#122f23;
  --gold:#d4b46a;
  --gold-soft:#e4c887;
  --text-main:#f8f5e9;
  --text-muted:#cfd4cc;
  --font-heading:"Playfair Display",serif;
  --font-body:"Inter",system-ui,sans-serif;
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);background:var(--bg-main);color:var(--text-main);line-height:1.6}
.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}
.section{padding:4.5rem 0}
.section__eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--gold-soft);margin-bottom:.5rem}
.section__title{font-family:var(--font-heading);font-size:2rem;margin:0 0 1rem}
.section__title--center{text-align:center}
.section__text{font-size:.96rem;color:var(--text-muted);margin-bottom:1rem}
.section__grid{display:grid;gap:2.5rem}
.section__grid--2{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.header{position:sticky;top:0;z-index:10;background:rgba(5,20,12,.95);border-bottom:1px solid rgba(212,180,106,.4);backdrop-filter:blur(10px)}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem}
.logo{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-main)}
.logo img{width:44px;height:44px;object-fit:contain}
.logo__title{font-family:var(--font-heading);font-size:1rem;text-transform:uppercase;letter-spacing:.18em}
.logo__subtitle{font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--gold-soft)}
.nav{display:flex;gap:1.5rem;font-size:.9rem}
.nav a{color:var(--text-main);text-decoration:none;position:relative}
.nav a::after{content:"";position:absolute;left:0;bottom:-.25rem;width:0;height:2px;background:var(--gold);transition:width .2s}
.nav a:hover::after{width:100%}
.nav__cta{border-radius:999px;border:1px solid var(--gold);padding:.3rem .9rem;font-size:.8rem}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer}
.nav-toggle span{width:20px;height:2px;background:var(--gold)}
.hero{position:relative;min-height:64vh;display:flex;align-items:center;padding:4.5rem 0 4rem;background-size:cover;background-position:center}
.hero--home{background-image:url("images/pavilion.jpg")}
.hero--rooms{background-image:url("images/suite-main.jpg")}
.hero--dining{background-image:url("images/pavilion.jpg")}
.hero--gallery{background-image:url("images/lobby.jpg")}
.hero--contact{background-image:url("images/pavilion.jpg")}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.85),rgba(7,30,19,.95))}
.hero__content{position:relative;z-index:1;max-width:640px}
.hero__eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold-soft);font-size:.8rem;margin-bottom:.4rem}
.hero__title{font-family:var(--font-heading);font-size:2.5rem;margin:0 0 .8rem}
.hero__text{font-size:.96rem;color:var(--text-muted);margin-bottom:1.5rem}
.booking{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1rem;border-radius:1.1rem;background:rgba(6,25,16,.96);border:1px solid rgba(212,180,106,.35)}
.booking__field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-soft);margin-bottom:.25rem}
.booking__field input,.booking__field select{width:100%;padding:.45rem .6rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.12);background:rgba(7,30,19,.9);color:var(--text-main);font-size:.85rem}
.btn{border-radius:999px;border:none;padding:.6rem 1.3rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500;cursor:pointer;font-family:var(--font-body)}
.btn--primary{background:var(--gold);color:#132115}
.btn--primary:hover{background:var(--gold-soft)}
.btn--full{width:100%}
.section--about{background:#0f2c21}
.section--rooms{background:#0f2c21}
.section--dining{background:#122f23}
.section--contact{background:#0f2c21}
.about__card{border-radius:1.1rem;background:#071911;border:1px solid rgba(212,180,106,.35);padding:1.6rem 1.4rem;display:grid;gap:1rem}
.about__stat{display:flex;align-items:baseline;gap:.6rem}
.about__stat-number{font-size:1.4rem;font-family:var(--font-heading);color:var(--gold-soft)}
.about__stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted)}
.about__note{font-size:.9rem;font-style:italic;color:var(--text-muted)}
.list{list-style:none;padding:0;margin:0;font-size:.95rem;color:var(--text-muted)}
.list li+li{margin-top:.4rem}
.list--check li::before{content:"✓";color:var(--gold);margin-right:.4rem}
.highlights{margin-top:2rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.highlight{padding:1.4rem 1.2rem;border-radius:1.1rem;background:#071911;border:1px solid rgba(212,180,106,.35)}
.highlight__icon{font-size:1.6rem;margin-bottom:.6rem}
.highlight__title{font-family:var(--font-heading);font-size:1.05rem;margin-bottom:.4rem}
.highlight__text{font-size:.9rem;color:var(--text-muted)}
.cards{display:grid;gap:1.5rem;margin-top:2rem}
.cards--rooms{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{border-radius:1.1rem;background:#071911;border:1px solid rgba(212,180,106,.35);overflow:hidden}
.card__image{height:190px;background-size:cover;background-position:center}
.card__body{padding:1.2rem 1.3rem 1.4rem}
.card__title{font-family:var(--font-heading);font-size:1.1rem;margin-bottom:.4rem}
.card__text{font-size:.9rem;color:var(--text-muted)}
.card__tags{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}
.card__tags li{font-size:.75rem;border-radius:999px;border:1px solid rgba(212,180,106,.35);padding:.15rem .6rem;color:var(--gold-soft)}
.dining__image{border-radius:1.2rem;min-height:260px;background-size:cover;background-position:center;border:1px solid rgba(212,180,106,.35)}
.gallery{margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.gallery__item{width:100%;height:180px;object-fit:cover;border-radius:.9rem;border:1px solid rgba(212,180,106,.35);cursor:pointer}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:999}
.lightbox__img{max-width:90%;max-height:80%;border-radius:1rem;border:2px solid var(--gold)}
.lightbox__close{position:fixed;top:1.3rem;right:1.4rem;font-size:2rem;color:#fff;cursor:pointer}
.form{border-radius:1.1rem;background:#071911;border:1px solid rgba(212,180,106,.35);padding:1.6rem 1.4rem}
.form__field{margin-bottom:1rem}
.form__field label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-soft);margin-bottom:.25rem}
.form__field input,.form__field textarea{width:100%;padding:.55rem .65rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.08);background:rgba(7,30,19,.95);color:var(--text-main);font-size:.9rem}
.form__note{margin-top:.6rem;font-size:.85rem;color:var(--text-muted)}
.map iframe{width:100%;height:260px;border:0;margin-top:2rem}
.footer{background:#050f0a;border-top:1px solid rgba(212,180,106,.4)}
.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding:2.3rem 1.5rem 1.8rem}
.footer__logo{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.16em;color:var(--gold-soft);font-size:1rem;margin-bottom:.5rem}
.footer__text{font-size:.85rem;color:var(--text-muted)}
.footer__col h4{font-size:.9rem;margin-bottom:.7rem;font-family:var(--font-heading)}
.footer__col a{display:block;font-size:.85rem;color:var(--text-muted);text-decoration:none;margin-bottom:.3rem}
.footer__col a:hover{color:var(--gold-soft)}
.footer__bottom{border-top:1px solid rgba(212,180,106,.22);padding:.9rem 0}
.footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-muted)}
.footer__to-top{color:var(--gold-soft);text-decoration:none}
@media(max-width:960px){
 .section__grid--2{grid-template-columns:1fr}
 .booking{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cards--rooms,.highlights,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
 .nav{position:absolute;inset-inline:0;top:100%;flex-direction:column;gap:.8rem;background:rgba(5,20,12,.98);padding:.6rem 1.5rem 1rem;transform:translateY(-220%);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
 .nav.nav--open{transform:translateY(0);opacity:1;pointer-events:auto}
 .nav-toggle{display:flex}
 .booking{grid-template-columns:1fr}
 .cards--rooms,.highlights,.gallery{grid-template-columns:1fr}
 .footer__inner{grid-template-columns:1fr}
 .footer__bottom-inner{flex-direction:column;align-items:flex-start;gap:.4rem}
}

.wa-float{
 position:fixed;
 bottom:20px;
 right:20px;
 background:#25D366;
 color:#fff;
 font-size:28px;
 padding:12px 16px;
 border-radius:50%;
 text-decoration:none;
 z-index:999;
 box-shadow:0 4px 10px rgba(0,0,0,.3);
}

.hero__highlight-banner {
  margin-top: 1.5rem;
  padding: 1.8rem;
  max-width: 620px;
  background: rgba(10, 30, 20, 0.75);
  border: 1px solid rgba(212, 180, 106, 0.35);
  border-radius: 1.2rem;
}
.hero__subheadline {
  font-family: var(--font-heading);
  color: var(--gold-soft);
  font-size: 1.4rem;
  margin-bottom: .6rem;
}
.hero__subtext {
  font-size: .95rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
  line-height: 1.6;
}
.hero__features {
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--gold-soft);
  font-size: .9rem;
  line-height: 1.8;
}

.hero--centered{
  min-height:80vh;
}
.hero__content--center{
  text-align:center;
  max-width:720px;
  margin-inline:auto;
}
.hero__title--large{
  font-size:2.8rem;
}
.hero__tagline{
  font-size:1rem;
  color:var(--text-muted);
  margin-bottom:1.4rem;
}
.hero__buttons{
  display:flex;
  gap:0.8rem;
  justify-content:center;
  flex-wrap:wrap;
}
.section--intro{background:#0f2c21;}
.intro__card{
  border-radius:1.2rem;
  background:#071911;
  border:1px solid rgba(212,180,106,.35);
  padding:1.6rem 1.4rem;
}
.intro__title{
  font-family:var(--font-heading);
  font-size:1.1rem;
  margin-bottom:0.6rem;
}
.intro__list{
  list-style:none;
  padding:0;
  margin:0;
  font-size:.9rem;
  color:var(--text-muted);
}
.intro__list li+li{margin-top:0.4rem;}
.section--signature{background:#122f23;}
.section--rooms-preview{background:#0f2c21;}
.section__rooms-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
}
.link-inline{
  font-size:.85rem;
  color:var(--gold-soft);
  text-decoration:none;
}
.link-inline:hover{text-decoration:underline;}
.home-rooms{
  margin-top:2rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
}
.home-room{
  border-radius:1.1rem;
  background:#071911;
  border:1px solid rgba(212,180,106,.35);
  overflow:hidden;
}
.home-room__image{
  height:170px;
  background-size:cover;
  background-position:center;
}
.home-room__body{
  padding:1rem 1.2rem 1.3rem;
}
.home-room__title{
  font-family:var(--font-heading);
  font-size:1.05rem;
  margin-bottom:0.4rem;
}
.home-room__text{
  font-size:.9rem;
  color:var(--text-muted);
}
.section--dining-preview{background:#122f23;}
.dining-preview__image{
  border-radius:1.2rem;
  min-height:260px;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(212,180,106,.35);
}
.section--location{background:#071911;}
.location__card{
  border-radius:1.2rem;
  background:#050f0a;
  border:1px solid rgba(212,180,106,.4);
  padding:1.6rem 1.4rem;
}
@media(max-width:960px){
  .home-rooms{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:768px){
  .hero__title--large{font-size:2.2rem;}
  .section__rooms-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .home-rooms{grid-template-columns:1fr;}
}

.hero__title--large{
  font-size:3.2rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
}
.hero__content--center{
  text-align:center;
  max-width:760px;
  margin-inline:auto;
}
.hero__tagline{
  font-size:1.05rem;
}
/* ============================= */
/*       HERO A PREMIUM STYLE    */
/* ============================= */

.heroA {
    position: relative;
    height: 92vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.heroA-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: brightness(0.65);
    z-index: 1;
}

.heroA-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(5, 15, 10, 0.45);
    z-index: 2;
}

.heroA-content {
    position: relative;
    z-index: 3;
    text-align: left;
    max-width: 900px;
    padding: 20px;
    color: #fff;
}

.heroA-eyebrow {
    font-size: 1rem;
    letter-spacing: 1px;
    color: #d4b46a;
    margin-bottom: 12px;
}

.heroA-title {
    font-size: 4.5rem;
    font-weight: 700;
    line-height: 1.1;
    color: #d4b46a;
    margin-bottom: 15px;
}

.heroA-subtitle {
    font-size: 1.3rem;
    color: #ffffffd9;
    margin-bottom: 30px;
}

/* Buttons */
.heroA-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.btn-gold {
    background: #d4b46a;
    color: #0b1d14;
    padding: 14px 28px;
    font-size: 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
}

.btn-outline {
    border: 2px solid #d4b46a;
    padding: 12px 26px;
    color: #d4b46a;
    font-size: 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
}

.btn-gold:hover {
    background: #e3c983;
}

.btn-outline:hover {
    background: #d4b46a;
    color: #0b1d14;
}

/* Mobile */
@media (max-width: 768px) {
    .heroA-title {
        font-size: 2.8rem;
    }
    .heroA-subtitle {
        font-size: 1.1rem;
    }
    .heroA-content {
        text-align: center;
    }
    .heroA-buttons {
        justify-content: center;
    }
}
