:root{
  --ink:#15181c;
  --ink2:#1e2228;
  --paper:#f4f3f0;
  --paper-dim:#e8e6e0;
  --amber:#c98a3f;
  --amber-soft:#e3c094;
  --steel:#4a5a68;
  --line:rgba(21,24,28,0.12);
  --grey:#6b6f74;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden;padding-bottom:64px;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-0.01em;}
em{font-style:normal;color:var(--amber);}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* TOP BAR — transparent over hero, solid on scroll */
.topbar{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:26px 48px;transition:background .3s, padding .3s, box-shadow .3s;}
.topbar.solid{background:rgba(21,24,28,0.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,0.06);padding:18px 48px;}
.topbar .logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:-0.01em;color:#fff;}
.topbar .logo span{display:block;font-size:0.56rem;font-family:'Inter',sans-serif;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--amber-soft);margin-top:3px;}
.topbar-links{display:flex;align-items:center;gap:34px;}
.topbar-links a{font-size:0.86rem;color:#d8d6d0;}
.topbar-links a.active{color:#fff;font-weight:600;}
.topbar-cta{background:var(--amber);color:var(--ink);padding:11px 22px;font-size:0.82rem;font-weight:600;letter-spacing:0.02em;}
.topbar-cta:hover{background:var(--amber-soft);}
.topbar-burger{display:none;background:none;border:none;color:#fff;align-items:center;gap:8px;font-size:0.8rem;cursor:pointer;}
.topbar-burger .bars{display:flex;flex-direction:column;gap:4px;}
.topbar-burger .bars span{display:block;width:20px;height:1.4px;background:currentColor;}

.mobile-panel{position:fixed;top:0;right:0;bottom:0;width:78%;max-width:340px;background:var(--ink);z-index:95;padding:90px 32px 40px;transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:22px;}
.mobile-panel.open{transform:translateX(0);}
.mobile-panel a{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;color:#fff;}
.mobile-panel .btn{margin-top:10px;align-self:flex-start;}

/* BOTTOM QUICK-BOOK BAR — persistent, not a nav, just a booking strip */
.quickbook{position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 48px;font-size:0.86rem;}
.quickbook .qb-price b{color:var(--amber-soft);font-family:'Space Grotesk',sans-serif;font-size:1.05rem;margin-left:8px;}
.quickbook .btn{padding:11px 24px;font-size:0.8rem;}

.sec{padding:110px 64px;max-width:1040px;margin:0 auto;}
.sec.wide{max-width:1280px;}
.sec.narrow{max-width:640px;text-align:center;margin:0 auto;}
.kicker{font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);font-weight:700;}
.sec h2{font-size:clamp(2.1rem,4.2vw,3.1rem);margin-top:12px;}
.sec p.lead{color:var(--grey);margin-top:18px;line-height:1.75;font-size:1.02rem;}
.sec.narrow p.lead{max-width:38rem;margin-left:auto;margin-right:auto;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;font-size:0.84rem;font-weight:600;letter-spacing:0.02em;font-family:'Inter',sans-serif;}
.btn-solid{background:var(--amber);color:var(--ink);}
.btn-solid:hover{background:var(--amber-soft);}
.btn-outline{border:1px solid var(--ink);color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}
.btn-outline-light{border:1px solid rgba(255,255,255,0.5);color:#fff;}
.btn-outline-light:hover{background:rgba(255,255,255,0.12);}

footer{padding:60px 64px 40px;border-top:1px solid var(--line);color:var(--grey);font-size:0.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);}
[data-reveal].in-view{opacity:1;transform:translateY(0);}

.page-top{padding:168px 64px 64px;max-width:1040px;}
.page-top .kicker{color:var(--amber);}
.page-top h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-top:14px;}

@media (max-width:980px){
  .topbar-links{display:none;}
  .topbar-burger{display:flex;}
}
@media (max-width:860px){
  .sec,.sec.wide{padding:90px 24px;}
  .topbar{padding:20px 24px;}
  .topbar.solid{padding:16px 24px;}
  .quickbook{padding:12px 20px;flex-wrap:wrap;gap:10px;}
  footer{padding:50px 24px 30px;}
  .page-top{padding:140px 24px 50px;}
  body{padding-bottom:98px;}
}
