/* ═══════════════════════════════════════════════════
   PESTANA — Base Design System
   Dark · Minimal · Liquid Glass · Playfair Display
═══════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');


/* ─── RESET ────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:#0C0905;color:#E8DFD0;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;}

/* ─── TOKENS ────────────────────────────────────────── */
:root{
  --bg:      #0C0905;
  --bg2:     #12100C;
  --text:    #E8DFD0;
  --muted:   rgba(232,223,208,0.5);
  --accent:  #6B9E7A;
  --gold:    #B0A06A;
  --sand:    #C9AB85;
  --olive:   #2A3022;
  --glass:   rgba(15,11,7,0.52);
  --gborder: rgba(232,223,208,0.11);
  --gshadow: 0 12px 48px rgba(0,0,0,0.45),inset 0 1px 0 rgba(232,223,208,0.07);
}

/* ─── GLASS ─────────────────────────────────────────── */
.glass{
  background:var(--glass);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid var(--gborder);
  box-shadow:var(--gshadow);
}

/* ─── NAV ───────────────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;height:68px;
  transition:background .4s,backdrop-filter .4s,border-bottom .4s;
}
.nav.frosted{
  background:rgba(12,9,5,0.7);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid var(--gborder);
}
.nav-logo img{height:30px;filter:brightness(0) invert(1);opacity:.88;transition:opacity .2s;}
.nav-logo:hover img{opacity:1;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{
  font-size:11px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);transition:color .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-links a.active{color:var(--sand);}
.nav-cta{
  font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:9px 22px;border-radius:999px;
  background:rgba(107,158,122,0.18);
  border:1px solid rgba(107,158,122,0.4);
  color:var(--accent);transition:background .2s,border-color .2s;
}
.nav-cta:hover{background:rgba(107,158,122,0.28);border-color:var(--accent);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--muted);}

/* MOB MENU */
.mob{
  display:none;position:fixed;inset:0;z-index:190;
  background:rgba(12,9,5,0.97);
  backdrop-filter:blur(20px);
  flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;
}
.mob.open{display:flex;}
.mob a{font-family:'Playfair Display',serif;font-size:40px;color:var(--muted);transition:color .2s;}
.mob a:hover{color:var(--text);}
.mob-x{position:absolute;top:1.5rem;right:2rem;background:none;border:none;color:var(--muted);font-size:28px;cursor:pointer;}

/* ─── BUTTONS ───────────────────────────────────────── */
.btn-glass{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:13px 26px;border-radius:999px;
  background:rgba(15,11,7,0.45);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(232,223,208,0.22);
  color:var(--text);font-size:12px;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;transition:border-color .2s,background .2s;cursor:pointer;
}
.btn-glass:hover{border-color:rgba(232,223,208,.5);background:rgba(232,223,208,.08);}
.btn-accent{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:13px 26px;border-radius:999px;
  background:var(--accent);color:var(--bg);
  font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;border:1px solid transparent;
  transition:background .2s,transform .15s;cursor:pointer;
}
.btn-accent:hover{background:#5a8a69;transform:scale(1.02);}
.btn-outline{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:13px 26px;border-radius:999px;
  background:transparent;color:var(--text);
  font-size:12px;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;border:1px solid rgba(232,223,208,0.25);
  transition:border-color .2s,background .2s;cursor:pointer;
}
.btn-outline:hover{border-color:var(--sand);background:rgba(201,171,133,.08);}

/* ─── MARQUEE ───────────────────────────────────────── */
.marquee-strip{
  background:var(--bg2);overflow:hidden;padding:11px 0;
  border-top:1px solid rgba(232,223,208,.05);
  border-bottom:1px solid rgba(232,223,208,.05);
}
.marquee-track{display:flex;white-space:nowrap;animation:mq 28s linear infinite;}
.marquee-track span{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);padding:0 2rem;flex-shrink:0;
}
.marquee-track .dot{
  display:inline-block;width:3px;height:3px;border-radius:50%;
  background:var(--accent);margin:0 1rem;vertical-align:middle;
}
@keyframes mq{to{transform:translateX(-50%);}}

/* ─── SECTION TAG ───────────────────────────────────── */
.sec-tag{
  font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:.9rem;
  margin-bottom:1.5rem;
}
.sec-tag::before{content:'';width:28px;height:1px;background:var(--accent);}
.sec-tag.center::before,.sec-tag.center::after{content:'';width:28px;height:1px;background:var(--accent);}
.sec-tag.center{gap:.9rem;}

/* ─── REVEAL ────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(36px);
  transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.on{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}
.d4{transition-delay:.4s;}.d5{transition-delay:.5s;}

/* ─── PAGE HERO (sub-pages) ─────────────────────────── */
.page-hero{
  position:relative;height:60vh;min-height:440px;
  display:flex;align-items:flex-end;overflow:hidden;
}
.page-hero-bg{
  position:absolute;inset:-10% 0;
  background-size:cover;background-position:center;
  will-change:transform;
}
.page-hero-grad{
  position:absolute;inset:0;
  background:linear-gradient(175deg,rgba(12,9,5,.15) 0%,rgba(12,9,5,.5) 60%,rgba(12,9,5,.96) 100%);
}
.page-hero-body{
  position:relative;z-index:2;width:100%;padding:0 3rem 4rem;
}
.page-hero-label{
  font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:.9rem;
  margin-bottom:1.25rem;
}
.page-hero-label::before{content:'';width:28px;height:1px;background:var(--accent);}
.page-hero-h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(42px,7vw,90px);font-weight:400;
  line-height:.95;letter-spacing:-.025em;color:var(--text);
  max-width:700px;
}
.page-hero-h1 em{font-style:italic;color:var(--sand);}
.page-hero-sub{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:18px;font-weight:300;
  color:var(--muted);margin-top:1.25rem;max-width:480px;line-height:1.5;
}

/* ─── FOOTER ────────────────────────────────────────── */
.footer{background:var(--bg2);border-top:1px solid var(--gborder);}
.footer-top{
  max-width:1200px;margin:0 auto;
  padding:4rem 3rem;
  display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:4rem;
}
.footer-brand img{height:28px;filter:brightness(0) invert(1);opacity:.65;margin-bottom:1.25rem;}
.footer-brand p{font-size:13px;color:var(--muted);line-height:1.7;max-width:260px;}
.footer-col h5{
  font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);margin-bottom:1.25rem;
}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:.75rem;}
.footer-col a{font-size:13px;color:var(--muted);transition:color .2s;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{
  border-top:1px solid var(--gborder);padding:1.25rem 3rem;
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;
}
.footer-bottom span,.footer-bottom a{font-size:12px;color:rgba(232,223,208,.3);}
.footer-bottom a:hover{color:var(--muted);}

/* ─── NAV JS ────────────────────────────────────────── */
/* Shared JS block — injected inline in each page */

/* ─── RESPONSIVE ────────────────────────────────────── */
@media(max-width:900px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .nav{padding:0 1.5rem;}
  .page-hero-body{padding:0 1.5rem 3rem;}
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem;padding:3rem 1.5rem;}
  .footer-bottom{padding:1.25rem 1.5rem;}
}
@media(max-width:580px){
  .footer-top{grid-template-columns:1fr;gap:2rem;}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center;}
  .page-hero{height:50vh;}
}
