/* ══════════════════════════════════════════════════
   TWF Hospitality — Shared Baseline
   Cached externally so every page loads faster.
   ══════════════════════════════════════════════════ */

/* ── Utility Bar (cross-site nav) ── */
.twf-utility-bar{background:#060a12;padding:0 40px;display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;z-index:1001;font-size:11px;height:28px;border-bottom:1px solid rgba(201,168,76,0.1);font-family:var(--font-body,'DM Sans',sans-serif)}
.twf-utility-bar .utility-bar-left{display:flex;align-items:center;gap:0}
.twf-utility-bar .utility-bar-left a{color:rgba(255,255,255,0.62);font-size:10px;font-weight:500;letter-spacing:0.5px;text-decoration:none;transition:color 0.2s}
.twf-utility-bar .utility-bar-left a:hover{color:rgba(255,255,255,0.85)}
.twf-utility-bar .utility-bar-left .ub-brand{color:rgba(255,255,255,0.65);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:color 0.2s}
.twf-utility-bar .utility-bar-left .ub-brand:hover{color:rgba(255,255,255,0.85)}
.twf-utility-bar .utility-bar-left .ub-active{color:#C9A84C;font-size:10px;font-weight:600;letter-spacing:0.5px;border-bottom:1px solid rgba(201,168,76,0.4);padding-bottom:1px}
.twf-utility-bar .ub-sep{color:rgba(255,255,255,0.12);margin:0 12px}
.twf-utility-bar .utility-bar-right{display:flex;align-items:center;gap:14px}
.twf-utility-bar .utility-bar-right .ub-social{color:rgba(255,255,255,0.55);transition:color 0.2s;display:flex}
.twf-utility-bar .utility-bar-right .ub-social:hover{color:#C9A84C}
.twf-utility-bar .utility-bar-right .ub-email{color:rgba(255,255,255,0.55);font-size:10px;text-decoration:none;transition:color 0.2s}
.twf-utility-bar .utility-bar-right .ub-email:hover{color:rgba(255,255,255,0.8)}
.twf-utility-bar .utility-bar-right .ub-cta{display:inline-flex;align-items:center;gap:5px;background:#C9A84C;color:#0C1220;padding:3px 12px;border-radius:20px;font-size:10px;font-weight:800;text-decoration:none;letter-spacing:0.3px;transition:opacity 0.2s}
.twf-utility-bar .utility-bar-right .ub-cta:hover{opacity:0.9}
.twf-utility-bar .ub-divider{color:rgba(255,255,255,0.12)}
@media(max-width:1024px){.twf-utility-bar .utility-bar-left a:not(.ub-brand),.twf-utility-bar .utility-bar-left .ub-active,.twf-utility-bar .ub-sep:not(:first-of-type){display:none!important}.twf-utility-bar .utility-bar-right .ub-email,.twf-utility-bar .utility-bar-right .ub-divider{display:none!important}}
@media(max-width:640px){.twf-utility-bar{display:none!important}}
/* Legacy top-bar compat (keep old class working during transition) */
.top-bar{display:none!important}

/* ── Design Tokens ── */
:root{
  --gold:#C9A84C;--gold-light:#E4D5A0;--gold-dark:#A38A3A;--gold-text:#8B7535;
  --gold-glow:rgba(201,168,76,.12);
  --navy:#0C1220;--navy-light:#141E30;--navy-mid:#101828;
  --cream:#FAF8F3;--cream-dark:#F0EBE0;--white:#FFF;
  --text-light:#E8E6E1;--text-dim:#9A9B9E;--text-muted:#6A6C70;
  --border-light:rgba(12,18,32,.08);
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'DM Sans',-apple-system,sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}

/* ── Resets ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--navy);background:var(--cream);overflow-x:hidden;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:var(--font-body);cursor:pointer;border:none;background:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ── Scroll Reveals ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease-out)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.12s}.reveal-d2{transition-delay:.24s}.reveal-d3{transition-delay:.36s}.reveal-d4{transition-delay:.48s}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s var(--ease),transform .8s var(--ease-out)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .8s var(--ease),transform .8s var(--ease-out)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .8s var(--ease),transform .8s var(--ease-out)}
.reveal-scale.visible{opacity:1;transform:scale(1)}
