:root {
  --forest:   #1e2d1f;
  --moss:     #3d5a3e;
  --bark:     #6b4f3a;
  --cream:    #f5f0e8;
  --ivory:    #faf7f2;
  --gold:     #c8a96e;
  --mist:     #dde4d8;
  --charcoal: #2a2a2a;
  --t: 0.5s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--ivory);color:var(--charcoal);overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 4rem;transition:background var(--t),padding var(--t)}
nav.scrolled{background:rgba(30,45,31,.97);backdrop-filter:blur(14px);padding:1rem 4rem}
nav.solid{background:rgba(30,45,31,.97);backdrop-filter:blur(14px)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;color:var(--cream);text-decoration:none;letter-spacing:.05em;flex-shrink:0}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;gap:0;list-style:none;align-items:center}
.nav-links a{color:rgba(245,240,232,.8);text-decoration:none;font-size:.75rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;transition:color .3s;padding:.5rem 1.1rem;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:0;left:1.1rem;right:1.1rem;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-book{background:var(--gold)!important;color:var(--forest)!important;padding:.55rem 1.4rem!important;font-weight:500!important;margin-left:.8rem}
.nav-book::after{display:none!important}
.nav-book:hover{background:var(--cream)!important;color:var(--forest)!important}

/* ── PAGE HERO (non-home) ── */
.page-hero{position:relative;height:42vh;min-height:320px;display:flex;align-items:flex-end;padding-bottom:3.5rem;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:hzoom 10s ease-out forwards}
@keyframes hzoom{from{transform:scale(1.04)}to{transform:scale(1)}}
.page-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,20,10,.25) 0%,rgba(10,20,10,.65) 100%)}
.page-hero-content{position:relative;z-index:2;padding-left:8rem}
.page-hero-eyebrow{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.8rem}
.page-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;color:var(--cream);line-height:1.1}
.page-hero-title em{font-style:italic;color:var(--gold)}

/* ── SHARED ── */
.container{max-width:1200px;margin:0 auto;padding:0 4rem}
.section-label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:1rem;display:block}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.15;color:var(--forest)}
.section-title em{font-style:italic}
.btn-primary{background:var(--gold);color:var(--forest);text-decoration:none;padding:.85rem 2rem;font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;transition:background .3s,transform .3s;display:inline-block;font-family:'Jost',sans-serif}
.btn-primary:hover{background:var(--cream);transform:translateY(-2px)}
.btn-forest{background:var(--forest);color:var(--cream);text-decoration:none;padding:.85rem 2rem;font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;transition:background .3s;display:inline-block;font-family:'Jost',sans-serif}
.btn-forest:hover{background:var(--moss)}
.btn-ghost{color:var(--cream);text-decoration:none;padding:.85rem 2rem;font-size:.78rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(245,240,232,.4);transition:border-color .3s,color .3s;display:inline-block;font-family:'Jost',sans-serif}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}

/* ── TRUST BAR ── */
.trust-bar{background:var(--forest);padding:1rem 4rem;display:flex;justify-content:center;align-items:center;gap:3.5rem;flex-wrap:wrap;border-bottom:1px solid rgba(200,169,110,.15)}
.trust-item{display:flex;align-items:center;gap:.6rem;color:rgba(245,240,232,.65);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.trust-item strong{color:var(--gold);font-weight:500}

/* ── GRID UTILS ── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--mist)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--mist)}
.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.grid-text-img{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}

/* ── CARDS ── */
.feature-card{background:var(--ivory);padding:2.5rem 2.2rem;transition:background var(--t);position:relative;overflow:hidden}
.feature-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.feature-card:hover{background:var(--cream)}.feature-card:hover::before{transform:scaleX(1)}
.feature-card-icon{font-size:1.6rem;margin-bottom:1.1rem;display:block}
.feature-card h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--forest);margin-bottom:.7rem}
.feature-card p{color:#666;font-size:.9rem;line-height:1.75}
.feature-card .tag{display:inline-block;margin-top:.9rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bark)}

/* ── REVIEW CARDS ── */
.review-card{background:var(--cream);padding:2.5rem;transition:background var(--t)}
.review-card:hover{background:var(--ivory)}
.review-stars{color:var(--gold);font-size:.8rem;margin-bottom:1.1rem;letter-spacing:.1em}
.review-text{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic;line-height:1.65;color:var(--forest);margin-bottom:1.4rem}
.review-author{display:flex;align-items:center;gap:.8rem}
.review-flag{font-size:1.1rem}
.review-name{font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.review-origin{font-size:.7rem;color:#999;margin-top:.1rem}
.review-platform{font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bark)}

/* ── STAT CARDS ── */
.stat-card{background:var(--ivory);padding:2.5rem;text-align:center;transition:background var(--t)}
.stat-card:hover{background:var(--cream)}
.stat-number{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--moss);line-height:1;display:block}
.stat-label{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#888;margin-top:.5rem;display:block}

/* ── AMENITY TAGS ── */
.amenity-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.amenity-tag{background:rgba(61,90,62,.1);color:var(--moss);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .9rem;border:1px solid rgba(61,90,62,.2)}

/* ── DARK SECTION ── */
.section-dark{background:var(--forest)}
.section-dark .section-title{color:var(--cream)}
.section-dark .section-label{color:var(--gold)}

/* ── PAGE SECTIONS ── */
.section-pad{padding:7rem 0}
.section-pad-sm{padding:4rem 0}

/* ── FOOTER ── */
footer{background:#141a14;padding:5rem 4rem 2.5rem;color:rgba(245,240,232,.5)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem}
.footer-brand .nav-logo{font-size:1.8rem;display:block;margin-bottom:1rem}
.footer-brand p{font-size:.85rem;line-height:1.8;max-width:260px}
.footer-rating{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem}
.footer-rating-score{background:var(--moss);color:var(--cream);padding:.2rem .6rem;font-size:.8rem;font-weight:500}
.footer-rating-text{font-size:.75rem;color:rgba(245,240,232,.4)}
.footer-col h4{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;font-weight:400}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.6rem}
.footer-col ul li a{color:rgba(245,240,232,.45);text-decoration:none;font-size:.85rem;transition:color .3s}
.footer-col ul li a:hover{color:var(--gold)}
.footer-col address{font-style:normal;font-size:.85rem;line-height:2}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}
.lang-switcher{display:flex;gap:1rem}
.lang-switcher a{color:rgba(245,240,232,.35);text-decoration:none;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;transition:color .3s}
.lang-switcher a:hover{color:var(--gold)}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  nav,nav.scrolled,nav.solid{padding:1rem 1.5rem}
  .nav-links{gap:0}
  .nav-links a{padding:.5rem .7rem;font-size:.7rem}
  .container{padding:0 1.5rem}
  .trust-bar{padding:1rem 1.5rem;gap:1.2rem}
  .page-hero-content{padding-left:1.5rem}
  .grid-2,.grid-3,.grid-2-col,.grid-text-img{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
}
