:root{--orange:#ff552b;--gold:#ffc400;--cream:#fff4dc;--ink:#24140d;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
html,body{overflow-x:clip}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#190f09;color:#fff;font-family:var(--sans)}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}.skip-link{position:absolute;left:-9999px;z-index:100;background:#fff;color:#000;padding:12px}.skip-link:focus{left:12px;top:12px}section{scroll-margin-top:24px}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:20}.nav-wrap{max-width:1420px;margin:auto;min-height:148px;padding:10px 5%;display:flex;align-items:flex-start;gap:28px}.brand{display:block;flex:none;width:clamp(105px,12vw,142px);height:clamp(105px,12vw,142px);border-radius:50%;overflow:hidden;box-shadow:0 6px 26px #0004}.brand img{display:block;width:100%;height:100%;object-fit:cover}.primary-nav{display:flex;align-items:center;gap:clamp(14px,2vw,34px);margin:auto 0 auto auto}.primary-nav a{font-weight:800;font-size:clamp(12px,1.25vw,16px);white-space:nowrap;position:relative;text-shadow:0 1px 7px #0008}.primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav a.active::after{content:"";position:absolute;height:4px;background:var(--gold);border-radius:5px;left:0;right:0;bottom:-10px}.book-top{margin:auto 0 auto 0;background:var(--gold);color:#1e1809;border-radius:40px;padding:13px 25px;font-weight:800;font-size:14px;white-space:nowrap;box-shadow:0 8px 24px #0003}.book-top span{font-size:20px;vertical-align:-2px;margin-right:7px}.menu-toggle{display:none}
.hero{min-height:680px;height:min(48vw,730px);position:relative;background:#26170c url("assets/hero.jpg") center 44%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,3,.88) 0%,rgba(20,10,3,.71) 34%,rgba(20,10,3,.08) 68%,rgba(20,10,3,.06) 100%),linear-gradient(0deg,#1d100858,transparent 25%)}.hero-content{position:relative;z-index:1;max-width:1420px;margin:auto;padding:155px 5% 36px}.hero h1{margin:0 0 25px;font:700 clamp(43px,4.8vw,70px)/.99 var(--serif);letter-spacing:-.04em;text-shadow:0 2px 9px #0008}.ink-underline{position:relative;display:inline-block;white-space:nowrap}.ink-underline:after{content:"";display:block;width:100%;height:5px;margin-top:8px;background:var(--gold);border-radius:100% 25% 70% 10%;transform:rotate(-1deg)}.hero-description{max-width:345px;font-size:clamp(13px,1.25vw,16px);line-height:1.5;margin:0 0 22px;text-shadow:0 1px 5px #0008}.hero-perks{display:flex;list-style:none;padding:0;margin:0 0 25px;gap:clamp(10px,2vw,25px);max-width:475px}.hero-perks li{width:78px;text-align:center;font-size:10px;font-weight:800;text-transform:uppercase;line-height:1.15;text-shadow:0 1px 5px #0008}.perk-icon{display:flex;width:50px;height:50px;margin:0 auto 8px;border-radius:50%;align-items:center;justify-content:center;color:#171008;font-size:30px;font-family:Georgia,serif;text-shadow:none;box-shadow:0 2px 10px #0003}.yellow{background:#ffda65}.green{background:#aee97b}.peach{background:#ffac86}.blue{background:#78c8e8}.hero-actions{display:flex;align-items:center;gap:19px}.pill{border:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 30px;border-radius:99px;background:var(--orange);color:#fff;text-transform:uppercase;font-weight:800;font-size:13px;letter-spacing:.02em;white-space:nowrap;box-shadow:0 8px 18px #0002;transition:transform .2s,background .2s}.pill:hover,.pill:focus-visible{transform:translateY(-2px);background:#ec431e}.pill span{font-size:21px;font-weight:500;line-height:0}.pill.small{font-size:11px;min-height:42px;padding:0 23px}.video-trigger{display:flex;align-items:center;gap:9px;color:#fff;background:none;border:0;text-transform:uppercase;font-size:12px;font-weight:800;text-align:left;line-height:1.2;padding:0}.video-trigger:hover .play{background:#fff;color:#1b130e}.play{display:flex;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;width:49px;height:49px;font-size:19px;padding-left:3px;transition:background .2s,color .2s}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#fff;border-top:5px solid #fff}.feature{position:relative;min-height:340px;background-size:cover;background-position:center}.feature-shade{position:absolute;inset:0}.feature-content{position:relative;z-index:1;padding:clamp(28px,3.5vw,52px);max-width:370px}.feature.dark{color:#fff}.feature.light{color:var(--ink)}.feature .eyebrow,.photo-spots .eyebrow,.closing .eyebrow,.booking .eyebrow{margin:0 0 13px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.16em}.eyebrow b{padding:0 5px}.feature h2,.photo-spots h2,.closing h2,.booking h2{font:700 clamp(32px,3.1vw,49px)/1.03 var(--serif);letter-spacing:-.035em;margin:0}.feature p:not(.eyebrow),.photo-spots p:not(.eyebrow){font-size:14px;line-height:1.42;margin:0 0 18px;max-width:260px}.short-rule{display:block;width:48px;height:5px;background:var(--gold);border-radius:99px;transform:rotate(-4deg);margin:12px 0 18px}.coffee{background-image:url("assets/coffee.jpg");background-position:center}.coffee .feature-shade{background:linear-gradient(90deg,#150906d9 0%,#1509069a 38%,#15090600 81%)}.food{background-image:url("assets/food.jpg");background-position:center}.food .feature-shade{background:linear-gradient(90deg,#fff8ecf2 0%,#fff8ecbb 35%,#fff8ec00 77%)}.food .feature-content{padding-top:54px}.food-heading{font:800 clamp(18px,1.75vw,26px)/1.09 var(--sans)!important;text-transform:uppercase;letter-spacing:-.025em!important}.games{background-image:url("assets/games.jpg");background-position:center}.games .feature-shade{background:linear-gradient(90deg,#08181fdb 0%,#08181faf 43%,#08181f00 83%)}.birthdays{background-image:url("assets/birthdays.jpg");background-position:center}.birthdays .feature-shade{background:linear-gradient(90deg,#fff5e5f2 0%,#fff5e5ad 40%,#fff5e500 88%)}
.photo-spots{position:relative;min-height:340px;background:url("assets/photo-spots.jpg") center 46%/cover no-repeat;color:var(--ink);border-top:5px solid #fff}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#fff3e5f5 0%,#fff3e5cb 25%,#fff3e500 62%)}.photo-content{position:relative;z-index:1;max-width:1420px;margin:auto;padding:30px 6%}.photo-content p:not(.eyebrow){max-width:235px}.closing{position:relative;min-height:320px;display:grid;place-items:center;background:url("assets/lounge.jpg") center 55%/cover no-repeat;border-top:5px solid #fff;text-align:center}.closing-shade{position:absolute;inset:0;background:#150c07b5}.closing-content{position:relative;z-index:1;padding:40px 18px}.closing .eyebrow{margin-bottom:17px}.closing h2{font-size:clamp(34px,4.5vw,64px);margin-bottom:25px}.closing .ink-underline:after{margin-top:7px}.bee-doodle{position:absolute;z-index:1;right:13%;top:30%;font:50px Georgia,serif;color:var(--gold);transform:rotate(-18deg)}.booking{display:flex;align-items:center;gap:22px;padding:28px 6%;background:#fff3dc;color:var(--ink)}.booking img{border-radius:50%;flex:none}.booking h2{font-size:25px}.booking p:not(.eyebrow){margin:7px 0 0;font-size:13px}.booking-back{margin-left:auto;color:#c73e18;font-weight:800;white-space:nowrap;font-size:13px}footer{display:flex;justify-content:space-between;padding:16px 6%;background:#20130a;color:#fff9e9;font-size:12px}
.info-dialog{position:fixed;max-width:min(530px,calc(100vw - 32px));width:100%;padding:37px;border:0;border-radius:20px;background:#fff7e9;color:var(--ink);box-shadow:0 25px 80px #0008}.info-dialog::backdrop{background:#100903c9}.info-dialog h2{font:700 36px/1.1 var(--serif);margin:0 0 12px}.info-dialog p:not(.eyebrow){line-height:1.55;margin:0 0 20px}.info-dialog .eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#bd421c;margin:0 0 10px}.dialog-close{position:absolute;right:17px;top:12px;font-size:31px;line-height:1;border:0;background:transparent;color:var(--ink)}.dialog-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.dialog-gallery img{height:105px;width:100%;object-fit:cover;border-radius:8px}
@media(max-width:900px){.nav-wrap{gap:15px}.brand{width:115px;height:115px}.primary-nav{gap:14px}.primary-nav a{font-size:12px}.book-top{padding:11px 18px;font-size:12px}.hero{min-height:620px;height:auto}.hero-content{padding-top:154px}.hero h1{font-size:clamp(42px,5.5vw,58px)}.feature{min-height:310px}}
@media(max-width:680px){.nav-wrap{min-height:90px;padding:8px 5%;align-items:center}.brand{width:76px;height:76px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:#fff7e8;border:0;border-radius:50%;width:44px;height:44px;align-items:center;justify-content:center;margin-left:auto}.menu-toggle span{height:2px;width:19px;background:#261408}.primary-nav{display:none;position:absolute;top:86px;left:4%;right:4%;border-radius:15px;background:#28190f;box-shadow:0 15px 40px #0008;padding:18px;flex-direction:column;align-items:stretch;gap:0}.primary-nav.open{display:flex}.primary-nav a{padding:10px 8px;font-size:15px}.primary-nav a.active::after,.primary-nav a:hover::after,.primary-nav a:focus-visible::after{display:none}.book-top{margin:0;padding:10px 14px}.book-top span{display:none}.hero{min-height:720px;background-position:57% center}.hero-shade{background:linear-gradient(90deg,#1a0f0ccc 0%,#1a0f0c83 65%,#1a0f0c4d),linear-gradient(0deg,#1a0f0ce8,transparent 45%)}.hero-content{padding:126px 6% 32px}.hero h1{font-size:clamp(41px,9vw,57px);margin-bottom:20px}.hero-description{max-width:320px}.hero-perks{max-width:440px;gap:5px;justify-content:space-between}.hero-perks li{font-size:8px;width:60px}.perk-icon{width:43px;height:43px;font-size:26px}.hero-actions{gap:12px;flex-wrap:wrap}.hero-actions .pill{min-height:46px;padding:0 18px;font-size:10px}.video-trigger{font-size:10px}.play{width:45px;height:45px}.feature-grid{grid-template-columns:1fr}.feature{min-height:350px}.feature-content{padding:32px 7%}.feature h2{font-size:40px}.food-heading{font-size:24px!important}.photo-spots{min-height:370px;background-position:58% center}.photo-shade{background:linear-gradient(90deg,#fff3e5ee 0%,#fff3e5b8 44%,transparent 85%)}.photo-content{padding:35px 7%}.photo-content h2{font-size:44px}.closing{min-height:310px}.bee-doodle{display:none}.booking{align-items:flex-start;gap:14px;flex-wrap:wrap}.booking img{width:62px;height:62px}.booking h2{font-size:23px}.booking-back{margin:5px 0 0 76px}}
@media(max-width:380px){.book-top{font-size:11px;padding:10px}.hero h1{font-size:39px}.hero-perks li{font-size:7px}.perk-icon{width:38px;height:38px}.hero{min-height:735px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pill,.play{transition:none}}
.games{background-image:url("assets/games-scene.jpg")}
@media(max-width:380px){.closing .ink-underline{white-space:normal}.closing h2{font-size:31px}}

/* Refined navigation, imagery and motion */
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.brand{width:clamp(137px,15.6vw,185px);height:clamp(137px,15.6vw,185px)}
.brand img{animation:logo-arrive .9s cubic-bezier(.16,1.25,.3,1) .16s both}
@keyframes logo-arrive{from{opacity:0;transform:scale(.72) rotate(-14deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.hero{min-height:730px}
.hero-content{padding-top:205px}
.perk-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;animation:icon-float 3s ease-in-out infinite}
.hero-perks li:nth-child(2) svg{animation-delay:.25s}.hero-perks li:nth-child(3) svg{animation-delay:.5s}.hero-perks li:nth-child(4) svg{animation-delay:.75s}.hero-perks li:nth-child(5) svg{animation-delay:1s}
.hero-perks li:hover .perk-icon{animation:icon-pop .5s ease}
@keyframes icon-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(4deg)}}
@keyframes icon-pop{50%{transform:scale(1.16) rotate(-5deg)}}
.games{background-image:none}
.game-slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.game-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .65s ease}
.game-slide.is-active{opacity:1}
.games .feature-shade{z-index:1;pointer-events:none}
.games .feature-content{z-index:2}
.game-controls{position:absolute;right:24px;bottom:21px;z-index:3;display:flex;align-items:center;gap:2px;padding:3px;border-radius:99px;background:#0b1724bb;backdrop-filter:blur(6px)}
.game-controls button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;font:23px/1 Georgia,serif;position:relative;isolation:isolate}
.game-controls button::before{content:"";position:absolute;z-index:-1;width:25px;height:25px;border:1px solid #ffffffb8;border-radius:50%;transition:background .2s,border-color .2s}
.game-controls button:hover,.game-controls button:focus-visible{color:#21130c}
.game-controls button:hover::before,.game-controls button:focus-visible::before{background:var(--gold);border-color:var(--gold)}
.game-count{min-width:40px;text-align:center;font-size:10px;letter-spacing:.1em;font-weight:800}
.coffee{overflow:hidden}
.coffee-steam{position:absolute;z-index:1;left:67%;bottom:63%;width:125px;height:185px;max-width:none;object-fit:fill;opacity:.48;pointer-events:none;filter:blur(.5px);animation:steam-drift 5s ease-in-out infinite}
@keyframes steam-drift{0%,100%{opacity:.24;transform:translate(-50%,8px) scale(.94)}50%{opacity:.5;transform:translate(-46%,-14px) scale(1.04)}}
.closing{overflow:hidden}
.bee-doodle{position:absolute;z-index:2;right:-115px;top:31%;width:300px;height:auto;max-width:none;transform:none;filter:drop-shadow(0 2px 2px #0004)}
footer span:last-child{font-size:11px}
footer a{text-decoration:underline;text-underline-offset:2px}footer a:hover,footer a:focus-visible{color:var(--gold)}
.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.site-header{animation:header-enter .7s ease both}
@keyframes header-enter{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px) and (min-width:681px){.brand{width:150px;height:150px}.hero-content{padding-top:180px}}
@media(max-width:680px){
  .nav-wrap{gap:6px;min-height:116px;padding:8px 10px}
  .brand{order:1;width:99px;height:99px}
  .book-top{order:2;margin:0 0 0 auto;padding:11px 12px;font-size:11px}
  .menu-toggle{order:3;flex:none;margin:0;width:44px;height:44px}
  .primary-nav{top:114px;background:rgba(34,22,14,.62);border:1px solid #fff5;box-shadow:0 15px 40px #0008;backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}
  .primary-nav a{position:relative;align-self:flex-start}
  .primary-nav a::after{content:"";display:block;position:absolute;left:8px;right:8px;bottom:4px;height:3px;background:var(--gold);border-radius:4px;transform:scaleX(0);transform-origin:left center;transition:transform .25s ease}
  .primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav a.active::after{display:block;left:8px;right:8px;bottom:4px;transform:scaleX(1)}
  .hero{min-height:910px;height:auto;background:#1b100a;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0 0 auto;height:660px;background:url("assets/hero.jpg") 80% top/auto 660px no-repeat}
  .hero-shade{z-index:1;background:linear-gradient(180deg,#160b0455 0%,#160b041c 27%,#1b100a33 37%,#1b100ae0 58%,#1b100a 73%),linear-gradient(90deg,#120b0640,transparent 80%)}
  .hero-content{z-index:2;padding:455px 6% 24px}
  .hero h1{font-size:clamp(39px,8.8vw,53px)}
  .hero-description{font-size:14px;max-width:355px}
  .hero-perks{max-width:none;gap:4px}
  .hero-perks li{min-width:0;flex:1;width:auto;font-size:9px;overflow-wrap:anywhere}
  .perk-icon{width:46px;height:46px}
  .perk-icon svg{width:29px;height:29px}
  .games{min-height:430px}
  .games .game-slide{object-position:67% center}
  .game-controls{right:15px;bottom:15px}
  .coffee-steam{left:74%;bottom:64%;width:105px;height:160px}
  .closing .bee-doodle{display:block;right:-255px;top:0;width:350px;max-width:none}
  footer{gap:12px;align-items:flex-start}footer span:last-child{max-width:190px;text-align:right}
}
@media(max-width:380px){.hero{min-height:930px}.hero-content{padding-top:465px}.hero-perks li{font-size:8px}.closing .bee-doodle{width:350px;right:-255px;top:0}}
@media(prefers-reduced-motion:reduce){.site-header,.brand img,.coffee-steam,.perk-icon svg,.hero-perks li:hover .perk-icon{animation:none!important}.coffee-steam{opacity:.35;transform:translateX(-50%)}.motion-ready .reveal,.game-slide{transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
