/* =============================================
   TWF HOSPITALITY — SHARED BASE STYLES
   Extracted from inline <style> blocks
   ============================================= */

/* DESIGN TOKENS */
:root{--gold:#C9A84C;--gold-light:#E4D5A0;--gold-dark:#A38A3A;--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:#B0B3B8;--text-muted:#525457;--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)}

/* RESET */
*,*::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)}

/* FIXED NAV */
.nav{position:fixed;top:24px;left:0;right:0;z-index:1000;padding:0 24px;transition:background .4s,box-shadow .4s,padding .3s,top .3s}
.nav.scrolled{background:rgba(12,18,32,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(201,168,76,.1)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:76px;transition:height .3s}
.nav.scrolled .nav-inner{height:60px}
.nav-logo{display:flex;align-items:center;gap:0}
.nav-logo img{height:40px;width:auto;transition:height .3s}
.nav.scrolled .nav-logo img{height:34px}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-link{font-size:13px;font-weight:500;color:rgba(255,255,255,.6);letter-spacing:.3px;transition:color .3s;position:relative}
.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s var(--ease)}
.nav-link:hover{color:var(--gold-light)}.nav-link:hover::after{transform:scaleX(1)}

/* NAV DROPDOWN */
.nav-dropdown{position:relative}
.nav-dropdown-trigger{font-size:13px;font-weight:500;color:rgba(255,255,255,.6);letter-spacing:.3px;transition:color .3s;cursor:pointer;display:flex;align-items:center;gap:5px;background:none;border:none;font-family:var(--font-body);padding:0}
.nav-dropdown-trigger:hover{color:var(--gold-light)}
.nav-dropdown-arrow{font-size:8px;transition:transform .3s var(--ease)}
.nav-dropdown:hover .nav-dropdown-arrow{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:200px;background:rgba(12,18,32,.97);backdrop-filter:blur(20px);border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:8px 0;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .3s var(--ease);z-index:100}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}
.nav-dropdown-item{display:block;padding:10px 20px;font-size:12px;font-weight:500;color:rgba(255,255,255,.7);letter-spacing:.3px;transition:all .2s}
.nav-dropdown-item:hover{color:var(--gold-light);background:rgba(201,168,76,.06)}

/* NAV CTAs */
.nav-ctas{display:flex;gap:10px}
.nav-cta{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;padding:9px 18px;border-radius:4px;transition:all .3s}
.nav-cta--outline{border:1px solid rgba(201,168,76,.3);color:var(--gold-light)}.nav-cta--outline:hover{border-color:var(--gold);background:rgba(201,168,76,.08)}
.nav-cta--fill{background:var(--gold);color:var(--navy)}.nav-cta--fill:hover{background:var(--gold-light);transform:translateY(-1px);box-shadow:0 4px 12px rgba(201,168,76,.3)}

/* TOP LINE */
.top-line{position:fixed;top:0;left:0;right:0;z-index:1001;background:#060a12;padding:0 24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease)}
.top-line-inner{max-width:1200px;width:100%;display:flex;align-items:center;justify-content:flex-end;gap:16px}
.top-line-link{font-size:10px;font-weight:500;letter-spacing:.5px;color:rgba(255,255,255,.6);transition:color .2s}
.top-line-link:hover{color:var(--gold-light)}
.top-line-sep{width:1px;height:10px;background:rgba(255,255,255,.08)}
@media(max-width:768px){.top-line{display:none}}

/* EMERGENCY PILL */
.nav-cta--emergency{background:#C0392B;color:#fff;display:flex;align-items:center;gap:6px;border:none}
.nav-cta--emergency:hover{background:#E74C3C;transform:translateY(-1px);box-shadow:0 4px 16px rgba(192,57,43,.3)}
.nav-emergency-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.5s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* MOBILE NAV */
.nav-mobile{display:none;width:28px;height:28px;position:relative;z-index:1001}
.nav-mobile span{display:block;width:20px;height:2px;background:var(--white);position:absolute;left:4px;transition:all .3s var(--ease)}
.nav-mobile span:nth-child(1){top:8px}.nav-mobile span:nth-child(2){top:13px}.nav-mobile span:nth-child(3){top:18px}
.nav-mobile.open span:nth-child(1){top:13px;transform:rotate(45deg)}.nav-mobile.open span:nth-child(2){opacity:0;transform:translateX(8px)}.nav-mobile.open span:nth-child(3){top:13px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(12,18,32,.98);backdrop-filter:blur(24px);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--font-display);font-size:28px;color:var(--white);padding:16px 0;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s,color .3s}
.mobile-menu.open a{opacity:1;transform:translateY(0)}
.mobile-menu.open a:nth-child(1){transition-delay:.1s}.mobile-menu.open a:nth-child(2){transition-delay:.15s}.mobile-menu.open a:nth-child(3){transition-delay:.2s}.mobile-menu.open a:nth-child(4){transition-delay:.25s}
.mobile-menu a:hover{color:var(--gold)}
.mobile-menu-ctas{display:flex;flex-direction:column;gap:12px;margin-top:32px;width:240px;opacity:0;transform:translateY(16px);transition:opacity .4s .35s,transform .4s .35s}
.mobile-menu.open .mobile-menu-ctas{opacity:1;transform:translateY(0)}
.mobile-menu-cta{display:block;text-align:center;padding:14px;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-radius:4px}
.mobile-menu-cta--gold{background:var(--gold);color:var(--navy)}
.mobile-menu-cta--outline{border:1px solid var(--gold);color:var(--gold-light)}

/* CTA BAND */
.cta-band{background:var(--navy);color:var(--white);padding:64px 0;text-align:center}
.cta-band-headline{font-family:var(--font-display);font-size:clamp(24px,4vw,36px);font-weight:600;margin-bottom:40px;line-height:1.2}
.cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.cta-btn{display:inline-block;padding:16px 32px;font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;border-radius:4px;transition:all .3s var(--ease);text-decoration:none}
.cta-btn--primary{background:var(--gold);color:var(--navy)}.cta-btn--primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 20px rgba(201,168,76,.3)}
.cta-btn--secondary{border:1px solid var(--gold);color:var(--gold-light)}.cta-btn--secondary:hover{background:rgba(201,168,76,.08);border-color:var(--gold-light);transform:translateY(-2px)}

/* FOOTER */
.footer{background:var(--navy);color:rgba(255,255,255,.8);padding:64px 0 40px;border-top:1px solid rgba(201,168,76,.08)}
.footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:48px;margin-bottom:32px}
.footer-logo{height:32px;width:auto;margin-bottom:16px}
.footer-brand-text{font-size:12px;line-height:1.7;color:rgba(255,255,255,.65);margin-bottom:16px}
.footer-phone{display:block;font-size:14px;font-weight:600;color:var(--gold-light);text-decoration:none;transition:color .2s}
.footer-phone:hover{color:var(--gold)}
.footer-col-title{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(201,168,76,.5);margin-bottom:16px}
.footer-link{display:block;font-size:12px;color:rgba(255,255,255,.65);margin-bottom:12px;transition:color .2s;text-decoration:none}
.footer-link:hover{color:var(--gold-light)}
.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid rgba(201,168,76,.08);font-size:11px;color:rgba(255,255,255,.5)}
.footer-copy{margin-bottom:12px}
.footer-legal{display:flex;justify-content:center;gap:24px}
.footer-legal a{color:rgba(255,255,255,.5);transition:color .2s}
.footer-legal a:hover{color:rgba(255,255,255,.8)}

/* MOBILE SHARED */
@media(max-width:768px){
.nav-links{display:none}
.nav-ctas{display:none}
.nav-mobile{display:block}
.footer-top{grid-template-columns:1fr;gap:32px}
.cta-buttons{flex-direction:column;align-items:center}
.cta-btn{width:100%;max-width:280px}
.mobile-call-float{position:fixed;bottom:20px;right:20px;background:var(--gold);color:var(--navy);padding:14px 20px;border-radius:4px;font-size:12px;font-weight:600;z-index:100;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(201,168,76,.3);transition:all .3s}
.mobile-call-float:active{transform:translateY(2px)}
}

/* ACCESSIBILITY */
*:focus-visible{outline:2px solid var(--gold,#C9A84C);outline-offset:2px;border-radius:2px}
.skip-to-content:focus{position:fixed!important;left:0!important;top:0!important;width:auto!important;height:auto!important;overflow:visible!important}
