:root{--bg:#070707;--panel:#111;--gold:#d8a31a;--gold2:#f0c34d;--text:#f5f2e9;--muted:#b9b2a3;--line:#5a4310}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,#1c1609 0,#080808 30%,#050505 70%);color:var(--text);font-family:Inter,Arial,sans-serif}.wrap{width:min(1180px,92%);margin:auto}.top{position:sticky;top:0;z-index:30;background:#050505e8;backdrop-filter:blur(10px);border-bottom:1px solid #2a210d}.nav{height:78px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:54px;height:54px;object-fit:contain}.brand b{font-family:Georgia,serif;color:var(--gold2);font-size:22px}.nav a{color:#eee;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.nav a:hover{color:var(--gold2)}.reserve{border:1px solid var(--gold);padding:10px 15px;border-radius:4px;color:var(--gold2)!important}.hero{min-height:690px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:70px 0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 42%,#bd8d2018,transparent 28%);pointer-events:none}.eyebrow{letter-spacing:.33em;color:var(--gold2);font-size:14px}.hero h1,.pagehero h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-weight:400;font-size:clamp(54px,8vw,110px);line-height:.86;margin:16px 0 20px;text-transform:uppercase}.hero h1 span,.pagehero h1 span{color:var(--gold)}.tag{font-size:38px;text-transform:uppercase;letter-spacing:.06em;margin:20px 0 8px}.sub{max-width:530px;color:#ddd;font-size:20px;line-height:1.5}.buttons{display:flex;gap:14px;margin-top:28px}.btn{display:inline-block;background:linear-gradient(#efc348,#c68d0c);color:#0b0b0b;padding:14px 24px;border-radius:4px;text-decoration:none;font-weight:800;text-transform:uppercase}.btn.alt{background:transparent;color:#fff;border:1px solid var(--gold)}.crest-stage{display:grid;place-items:center;min-height:500px;position:relative}.crest-stage:before{content:"";position:absolute;width:360px;height:360px;border:1px solid #9c731b;border-radius:50%;box-shadow:0 0 70px #b7831940,0 0 160px #b7831920}.crest-stage img{width:min(430px,90%);position:relative;filter:drop-shadow(0 0 28px #b58221aa)}.coming{position:absolute;right:5%;bottom:45px;border:1px solid var(--gold);background:#050505e8;padding:18px 28px;text-align:center}.coming small{color:var(--gold2);letter-spacing:.2em}.coming strong{display:block;font-size:34px;margin:6px 0}.section{padding:68px 0;border-top:1px solid #2c220d}.title{text-align:center;margin-bottom:30px}.title h2{font-size:36px;color:var(--gold2);text-transform:uppercase;letter-spacing:.08em;margin:0}.title p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(180deg,#151515,#0a0a0a);border:1px solid #5b4210;border-radius:7px;padding:24px;min-height:170px;box-shadow:inset 0 0 30px #000}.card h3{color:var(--gold2);text-transform:uppercase;margin-top:0}.card p,.card li{color:#c9c4b8;line-height:1.55}.week{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.event{border:1px solid #6b4e11;background:#0c0c0c;padding:18px 12px;text-align:center;min-height:185px}.event b{color:var(--gold2);font-size:12px;letter-spacing:.13em}.event h3{font-size:20px;margin:16px 0 8px}.event p{font-size:13px;color:#bbb}.feature{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.feature .card{min-height:220px}.pagehero{padding:90px 0 55px;border-bottom:1px solid #34280d;background:radial-gradient(circle at 75% 30%,#6b4c1218,transparent 35%)}.pagehero h1{font-size:72px}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.price{float:right;color:var(--gold2)}.membership-card{aspect-ratio:1.6;background:linear-gradient(135deg,#171717,#050505);border:1px solid #c99a24;border-radius:18px;padding:28px;position:relative;box-shadow:0 18px 50px #000}.membership-card img{width:72px}.membership-card .name{position:absolute;left:28px;bottom:28px;color:var(--gold2);font-size:26px;font-family:Georgia,serif}.membership-card .member{position:absolute;right:28px;bottom:30px;letter-spacing:.18em}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ph{aspect-ratio:4/3;border:1px solid #5e4614;background:radial-gradient(circle at 40% 30%,#6d501d,#131313 45%,#070707);display:grid;place-items:center;color:#d1b15e;text-align:center;padding:15px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form input,.form select,.form textarea{width:100%;padding:14px;background:#0d0d0d;color:#eee;border:1px solid #4e3b13;border-radius:4px}.form textarea{grid-column:1/-1;min-height:130px}.form button{grid-column:1/-1;border:0;cursor:pointer}.footer{padding:40px 0;border-top:1px solid #3a2d0f;color:#aaa}.footer-row{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.intro{position:fixed;inset:0;background:#020202;z-index:100;display:grid;place-items:center;transition:opacity .7s ease,visibility .7s}.intro.hide{opacity:0;visibility:hidden}.intro-inner{text-align:center}.intro img{width:min(430px,70vw);animation:spin3d 2.4s cubic-bezier(.2,.8,.2,1),glow 1.3s ease-in-out infinite alternate;transform-style:preserve-3d}.intro p{color:var(--gold2);letter-spacing:.28em;text-transform:uppercase}.skip{position:absolute;right:25px;top:20px;background:none;border:1px solid #6c5016;color:#d8b45c;padding:8px 12px;cursor:pointer}@keyframes spin3d{0%{transform:rotateY(0deg) scale(.7);opacity:0}35%{opacity:1}100%{transform:rotateY(720deg) scale(1)}}@keyframes glow{from{filter:drop-shadow(0 0 10px #8d671f)}to{filter:drop-shadow(0 0 35px #e0b13f)}}@media(max-width:900px){.nav a:not(.reserve){display:none}.hero{grid-template-columns:1fr;min-height:auto}.crest-stage{min-height:380px}.coming{position:static;margin:0 auto 40px;width:min(92%,440px)}.grid,.feature{grid-template-columns:1fr 1fr}.week{grid-template-columns:1fr 1fr 1fr}.two{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}}@media(max-width:600px){.grid,.feature,.week,.gallery,.form{grid-template-columns:1fr}.hero h1{font-size:64px}.pagehero h1{font-size:54px}.form textarea,.form button{grid-column:auto}.brand b{font-size:17px}.nav{gap:10px}.reserve{padding:8px 10px;font-size:11px!important}}
/* Vercel-ready local image assets: no external or machine-local paths */
.hero{background-image:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.78) 38%,rgba(5,5,5,.18) 100%),url('hero-bar.jpg');background-size:cover;background-position:center;border-radius:0 0 12px 12px;padding-left:28px;padding-right:28px}
.feature .card{background-size:cover;background-position:center;position:relative;overflow:hidden}.feature .card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.94) 62%);z-index:0}.feature .card>*{position:relative;z-index:1}.feature .card:nth-child(1){background-image:url('food.jpg')}.feature .card:nth-child(2){background-image:url('drinks.jpg')}.feature .card:nth-child(3){background-image:url('sports.jpg')}.feature .card:nth-child(4){background-image:url('membership.jpg')}.feature .card:nth-child(5){background-image:url('community.jpg')}
.pagehero{background-image:linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.55)),url('hero-bar.jpg');background-size:cover;background-position:center}
.gallery .ph{background-size:cover;background-position:center;text-shadow:0 2px 8px #000}.gallery .ph:nth-child(1){background-image:linear-gradient(#0005,#0009),url('hero-bar.jpg')}.gallery .ph:nth-child(2){background-image:linear-gradient(#0005,#0009),url('food.jpg')}.gallery .ph:nth-child(3){background-image:linear-gradient(#0005,#0009),url('drinks.jpg')}.gallery .ph:nth-child(4){background-image:linear-gradient(#0005,#0009),url('sports.jpg')}.gallery .ph:nth-child(5){background-image:linear-gradient(#0005,#0009),url('community.jpg')}.gallery .ph:nth-child(6){background-image:linear-gradient(#0005,#0009),url('landing-reference.png')}


/* Lantzalot entrance music */
.intro .skip{right:auto;top:auto;left:50%;bottom:52px;transform:translateX(-50%);background:linear-gradient(#efc348,#c68d0c);border:1px solid #f1c34d;color:#070707;font-weight:900;text-transform:uppercase;letter-spacing:.12em;padding:14px 24px;border-radius:4px;box-shadow:0 0 28px #d8a31a44;min-width:190px}
.intro .skip:hover{filter:brightness(1.1);box-shadow:0 0 38px #d8a31a66}
.music-toggle{position:fixed;right:18px;bottom:18px;z-index:90;background:#070707e8;color:#f0c34d;border:1px solid #8b681b;border-radius:999px;padding:11px 15px;font-weight:800;cursor:pointer;box-shadow:0 6px 24px #0008;backdrop-filter:blur(8px)}
.music-toggle:hover{border-color:#f0c34d}
@media(max-width:600px){.music-toggle{right:12px;bottom:12px;padding:9px 12px;font-size:12px}.intro .skip{bottom:34px}}


/* Synchronized Lantzalot logo/music entrance */
.crest-spin-active {
  animation: lantzalotCrestSpin 3s linear infinite !important;
  transform-style: preserve-3d;
  will-change: transform, filter;
  filter: drop-shadow(0 0 24px rgba(212,175,55,.65));
}
.music-playing {
  cursor: default;
}
.intro-exit {
  opacity: 0 !important;
  transform: scale(1.04);
  transition: opacity .9s ease, transform .9s ease;
  pointer-events: none;
}
@keyframes lantzalotCrestSpin {
  0%   { transform: perspective(900px) rotateY(0deg) scale(1); }
  50%  { transform: perspective(900px) rotateY(180deg) scale(1.06); }
  100% { transform: perspective(900px) rotateY(360deg) scale(1); }
}


/* Enter Lantzalot control — fixed lower-right on splash screen */
.enter-lantzalot,
#enterLantzalot {
  position: fixed !important;
  right: 28px !important;
  bottom: 26px !important;
  z-index: 99999 !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  border: 1px solid rgba(212, 175, 55, .9);
  border-radius: 999px;
  background: rgba(7, 7, 7, .86);
  color: #d4af37;
  font: 700 13px/1.1 Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow:
    0 0 0 1px rgba(212,175,55,.12) inset,
    0 0 22px rgba(212,175,55,.22);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  animation: lantzalotEnterPulse 2.1s ease-in-out infinite;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.enter-lantzalot:hover,
#enterLantzalot:hover {
  transform: translateY(-2px) scale(1.02);
  background: rgba(20, 16, 5, .95);
  box-shadow:
    0 0 0 1px rgba(212,175,55,.18) inset,
    0 0 34px rgba(212,175,55,.38);
}

.enter-lantzalot:focus-visible,
#enterLantzalot:focus-visible {
  outline: 2px solid #d4af37;
  outline-offset: 4px;
}

.music-playing .enter-lantzalot,
.music-playing #enterLantzalot {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease;
}

@keyframes lantzalotEnterPulse {
  0%,100% { box-shadow: 0 0 0 1px rgba(212,175,55,.12) inset, 0 0 18px rgba(212,175,55,.18); }
  50%     { box-shadow: 0 0 0 1px rgba(212,175,55,.20) inset, 0 0 34px rgba(212,175,55,.36); }
}

@media (max-width: 640px) {
  .enter-lantzalot,
  #enterLantzalot {
    right: 16px !important;
    bottom: 16px !important;
    padding: 12px 16px;
    font-size: 12px;
  }
}


/* Hide any legacy centered entrance button; keep only lower-right #enterLantzalot. */
.intro .enter-button,
.intro .intro-enter,
.intro .splash-enter,
.intro .enter-site,
#intro .enter-button,
#intro .intro-enter,
#intro .splash-enter,
#intro .enter-site,
#enterSite,
#introEnter {
  display: none !important;
}

#enterLantzalot.enter-lantzalot {
  display: inline-flex !important;
  position: fixed !important;
  right: 28px !important;
  bottom: 26px !important;
  left: auto !important;
  top: auto !important;
  transform: none;
}


/* FINAL splash rules: one button only, lower-right */
.intro button:not(#enterLantzalot),
.intro a.enter-button,
.intro .skip,
.intro .intro-enter {
  display: none !important;
}

#enterLantzalot {
  position: fixed !important;
  right: 28px !important;
  bottom: 26px !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 100000 !important;
}

#enterLantzalot.enter-used {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .3s ease;
}

.intro-exit-final {
  opacity: 0 !important;
  transition: opacity .9s ease !important;
  pointer-events: none !important;
}


/* Now Hiring */
.hiring-section {
  border-top: 1px solid rgba(212,175,55,.22);
  border-bottom: 1px solid rgba(212,175,55,.22);
  background: linear-gradient(180deg, rgba(212,175,55,.035), rgba(0,0,0,0));
}
.hiring-section .title { text-align:center; max-width:820px; margin:0 auto 34px; }
.hiring-section .title h2 { color:#d8a31a; letter-spacing:.08em; font-size:clamp(34px,5vw,62px); margin:.25em 0; }
.hiring-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.hiring-card {
  padding:24px 20px;
  min-height:140px;
  border:1px solid rgba(212,175,55,.35);
  border-radius:14px;
  background:rgba(12,12,12,.88);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.hiring-card h3 { color:#d8a31a; margin:0 0 10px; }
.hiring-card p { margin:0; line-height:1.7; }
.hiring-cta { text-align:center; margin-top:30px; }
.hiring-btn { display:inline-flex; }
.hiring-note { opacity:.65; font-size:13px; margin-top:12px; }
@media(max-width:800px){ .hiring-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .hiring-grid{grid-template-columns:1fr;} }

/* Careers / Employment Application */
.career-hero{text-align:center;padding-top:80px;background:radial-gradient(circle at 50% 0,rgba(216,163,26,.14),transparent 50%)}
.career-hero h1{font-size:clamp(48px,8vw,88px);color:#d8a31a;margin:.15em 0;letter-spacing:.07em}
.career-lead{max-width:760px;margin:0 auto 26px;line-height:1.7}
.career-openings{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;max-width:900px;margin:auto}
.career-openings span{border:1px solid rgba(216,163,26,.38);border-radius:999px;padding:8px 13px;background:#0b0b0b}
.application-wrap{max-width:980px}
.application-heading{text-align:center;margin-bottom:30px}
.application-heading h2{color:#d8a31a;font-size:clamp(32px,5vw,52px)}
.employment-form fieldset{border:1px solid rgba(216,163,26,.32);border-radius:16px;padding:24px;margin:0 0 22px;background:rgba(10,10,10,.88)}
.employment-form legend{color:#d8a31a;font-weight:800;letter-spacing:.08em;padding:0 10px;text-transform:uppercase}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
.employment-form label{display:flex;flex-direction:column;gap:8px;font-weight:600}
.employment-form input,.employment-form select,.employment-form textarea{width:100%;box-sizing:border-box;background:#050505;color:#f4f1e8;border:1px solid #49412d;border-radius:9px;padding:13px;font:inherit}
.employment-form input:focus,.employment-form select:focus,.employment-form textarea:focus{outline:2px solid #d8a31a;outline-offset:1px}
.block{margin-top:16px}
.availability-grid,.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}
.availability-grid label,.cert-grid label,.agreement{flex-direction:row;align-items:flex-start;font-weight:500}
.availability-grid input,.cert-grid input,.agreement input{width:auto;margin-top:3px}
.resume-upload{margin-top:18px;padding:18px;border:1px dashed rgba(216,163,26,.55);border-radius:12px}
.application-submit{display:flex;margin:28px auto 10px;font-size:15px;padding:16px 25px}
.form-status{text-align:center;color:#d8a31a;max-width:700px;margin:15px auto}
.equal-note{opacity:.72;font-size:13px;line-height:1.6}
@media(max-width:700px){.form-grid,.availability-grid,.cert-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}


/* Splash logo is now the entrance control */
#enterLantzalot { display:none !important; }

.intro-crest-click {
  cursor:pointer;
  position:relative;
  z-index:100001;
  transition:filter .25s ease, transform .25s ease;
}
.intro-crest-click:hover {
  filter:drop-shadow(0 0 34px rgba(216,163,26,.85));
}
.intro-crest-click:focus-visible {
  outline:2px solid #d8a31a;
  outline-offset:10px;
  border-radius:16px;
}
.intro-crest-click::after {
  content:"";
}

/* CLEAN crest-click entrance */
#enterLantzalot, .skip, .enter-button, .intro-enter, .splash-enter { display:none !important; }

.intro { cursor:default; }
#introCrest {
  cursor:pointer !important;
  position:relative;
  z-index:10001;
  transform-style:preserve-3d;
  will-change:transform,filter;
  animation:lantzalotCrestSpin 3s linear infinite !important;
}
#introCrest:hover {
  filter:drop-shadow(0 0 36px rgba(216,163,26,.9));
}
.crest-instruction {
  margin-top:18px;
  color:#d8a31a;
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:.82;
  animation:crestInstructionPulse 1.8s ease-in-out infinite;
}
.logo-click-exit {
  opacity:0 !important;
  transform:scale(1.025);
  transition:opacity .85s ease, transform .85s ease !important;
  pointer-events:none;
}
@keyframes lantzalotCrestSpin {
  0% { transform:perspective(900px) rotateY(0deg); }
  50% { transform:perspective(900px) rotateY(180deg) scale(1.04); }
  100% { transform:perspective(900px) rotateY(360deg); }
}
@keyframes crestInstructionPulse {
  0%,100% { opacity:.48; }
  50% { opacity:1; }
}
