:root{--yellow:#efbb3a;--mango:#f4a025;--pink:#e94f8a;--cream:#fff3d5;--blush:#ffe8f4;--brown:#955612;--espresso:#241a17;--white:#fffaf0;--r:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--espresso);font-family:Barlow,Arial,sans-serif}.loader{position:fixed;inset:0;z-index:99;background:var(--yellow);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;transition:.45s}.loader img{width:150px;animation:bob .7s infinite alternate}.loader span{font-weight:900;letter-spacing:.12em}.loader.hide{opacity:0;pointer-events:none}@keyframes bob{to{transform:translateY(-8px) rotate(-2deg)}}.nav{height:78px;display:flex;align-items:center;gap:34px;padding:10px 5vw;position:sticky;top:0;background:rgba(255,243,213,.92);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid rgba(36,26,23,.08)}.brand img{width:110px}.nav nav{display:flex;gap:24px;margin:auto}.nav a{text-decoration:none;color:inherit;font-size:13px;font-weight:800}.btn{display:inline-block;border:0;border-radius:8px;padding:13px 18px;font-weight:900;text-decoration:none;cursor:pointer}.btn-pink{background:var(--pink);color:white}.btn-outline{background:transparent;color:var(--espresso);border:2px solid var(--espresso)}.hamb{display:none}.hero{min-height:650px;background:linear-gradient(120deg,var(--yellow),#ffd85a);display:grid;grid-template-columns:.9fr 1.1fr;padding:55px 6vw 0;overflow:hidden}.hero-copy{position:relative;z-index:2}.hero h1{font-family:'Luckiest Guy';font-size:clamp(76px,9vw,150px);line-height:.78;color:#e91473;letter-spacing:1px;margin:0}.lead{font-size:19px}.actions{display:flex;gap:12px}.hero-food{position:relative;align-self:end;height:600px;display:flex;justify-content:center}.hero-food img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 25px 30px rgba(50,20,0,.2))}.bubble{position:absolute;right:4%;top:6%;background:white;border:3px solid var(--espresso);border-radius:50%;padding:22px;font-family:'Luckiest Guy';transform:rotate(-7deg);text-align:center}.scribble{font-family:'Luckiest Guy';font-size:20px;transform:rotate(-6deg);display:block}.s1{position:absolute;right:-40px;top:170px}.moods{padding:26px 5vw 48px;display:grid;grid-template-columns:250px 1fr;gap:30px;background:#fffaf0}.section-kicker small,.manifesto small,.happening small,.spin small{font-family:'Luckiest Guy';color:var(--pink);font-size:22px}.section-kicker h2,.section-head h2,.location h2{font:40px/0.9 'Luckiest Guy';margin:5px 0}.mood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mood-grid article{height:250px;position:relative;border-radius:var(--r);overflow:hidden;background:var(--pink);color:white;padding:18px;display:flex;flex-direction:column;justify-content:end}.mood-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.78)}.mood-grid b,.mood-grid span{position:relative}.mood-grid b{font:30px 'Luckiest Guy'}.manifesto{display:grid;grid-template-columns:1.05fr .95fr;background:var(--blush);min-height:540px}.noodle-close{overflow:hidden}.noodle-close img{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}.manifesto-copy{padding:50px 6vw;position:relative}.manifesto-copy h2{font:64px/.8 'Luckiest Guy';margin:6px 0 25px}.manifesto-copy h3{font-size:24px}.manifesto-copy p{max-width:520px;font-size:18px}.manifesto-copy .scribble{position:absolute;right:5%;bottom:12%;color:var(--pink)}.favorites{padding:45px 5vw;text-align:center;background:#fffaf0}.section-head{display:flex;justify-content:space-between;text-align:left}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.product-grid article{display:flex;flex-direction:column}.product-grid img{height:230px;width:100%;object-fit:cover;background:var(--cream);border-radius:14px}.product-grid b{font:21px 'Luckiest Guy';margin-top:10px}.club{min-height:500px;background:var(--espresso);color:white;display:grid;grid-template-columns:.4fr .6fr;overflow:hidden}.club-copy{padding:60px 6vw;align-self:center}.club h2{font:64px/.85 'Luckiest Guy';margin:0}.club p{font-size:20px}.club img{width:100%;height:100%;object-fit:cover}.happening{padding:40px 5vw;background:var(--pink);display:grid;grid-template-columns:280px 1fr;gap:25px}.happening h2{font:42px/.9 'Luckiest Guy';margin:5px 0}.happening a{color:white;font-weight:900}.posters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.posters img{width:100%;height:250px;object-fit:cover;border-radius:12px}.spin{background:var(--yellow);padding:40px 5vw;display:grid;grid-template-columns:1fr 260px 1fr;align-items:center;gap:40px}.spin h2{font:48px 'Luckiest Guy';color:var(--pink);margin:0}.wheel{width:240px;height:240px;border-radius:50%;background:conic-gradient(var(--pink) 0 25%,var(--cream) 25% 50%,var(--mango) 50% 75%,#fff 75%);position:relative;border:8px solid white;box-shadow:0 12px 30px #0002}.wheel span{position:absolute;font-size:28px}.wheel span:nth-child(1){top:20px;left:100px}.wheel span:nth-child(2){right:25px;top:100px}.wheel span:nth-child(3){left:25px;bottom:55px}.wheel button{position:absolute;inset:72px;border-radius:50%;border:0;background:var(--pink);color:white;font-weight:900}.wheel.spinning{animation:spin .8s ease}@keyframes spin{to{transform:rotate(720deg)}}.result{display:flex;flex-direction:column;gap:10px}.result strong{font:30px 'Luckiest Guy';color:var(--pink)}.location{padding:45px 5vw;background:#fffaf0}.location-card{display:grid;grid-template-columns:320px 1fr;gap:25px;background:white;border-radius:16px;padding:14px;max-width:900px}.location-card img{width:100%;height:200px;object-fit:cover;border-radius:12px}.location-card div{display:flex;flex-direction:column;gap:7px;justify-content:center}.location-card strong{font:28px 'Luckiest Guy'}.location-card .actions{flex-direction:row}.join{display:grid;grid-template-columns:1fr 1fr}.join>div{padding:45px 6vw;background:var(--mango)}.join>div+div{background:var(--blush)}.join h2{font:44px/.9 'Luckiest Guy';color:var(--pink);margin:0}.join form{display:flex;gap:8px}.join input{padding:13px;border:0;border-radius:8px;min-width:240px}footer{background:var(--yellow);padding:35px 5vw;display:flex;align-items:center;gap:35px;font-size:12px}footer img{width:100px}footer nav{margin:auto}.mobilebar{display:none}
@media(max-width:800px){.nav{height:64px;padding:8px 18px}.brand img{width:90px}.nav nav,.order{display:none}.hamb{display:block;margin-left:auto;border:0;background:none;font-size:25px}.hero{min-height:auto;grid-template-columns:1fr;padding:30px 20px 0}.hero h1{font-size:76px}.lead{font-size:15px}.hero-food{height:360px}.bubble{padding:12px;font-size:14px}.s1{display:none}.moods{grid-template-columns:1fr;padding:25px 18px}.section-kicker h2{font-size:34px}.mood-grid{display:flex;overflow:auto}.mood-grid article{min-width:170px;height:210px}.manifesto{grid-template-columns:1fr}.noodle-close{height:330px}.manifesto-copy{padding:35px 20px 70px}.manifesto-copy h2{font-size:50px}.manifesto-copy .scribble{bottom:15px}.product-grid{display:flex;overflow:auto}.product-grid article{min-width:250px}.product-grid img{height:240px}.club{grid-template-columns:1fr}.club-copy{padding:40px 20px}.club h2{font-size:50px}.club img{height:380px}.happening{grid-template-columns:1fr;padding:35px 18px}.posters{display:flex;overflow:auto}.posters img{min-width:230px}.spin{grid-template-columns:1fr;text-align:center;justify-items:center;padding:35px 18px}.location{padding:35px 18px}.location-card{grid-template-columns:1fr}.join{grid-template-columns:1fr}.join>div{padding:38px 20px}.join form{flex-direction:column}.join input{min-width:0}footer{padding:30px 18px 85px;flex-direction:column;text-align:center}footer nav{margin:0}.mobilebar{position:fixed;bottom:0;left:0;right:0;height:58px;background:var(--pink);display:flex;justify-content:space-around;align-items:center;z-index:30}.mobilebar a{color:white;text-decoration:none;font-size:12px;font-weight:900}}
/* V2 refinement */
:root{--shadow:0 18px 55px rgba(36,26,23,.14)}
body{overflow-x:hidden}a,button{transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(36,26,23,.15)}
.hero{background:radial-gradient(circle at 70% 28%,#ffd96d 0 18%,transparent 45%),linear-gradient(120deg,var(--yellow),var(--mango))}.hero-copy{align-self:center;padding-bottom:70px}.hero h1{text-shadow:2px 3px 0 rgba(255,255,255,.22)}.hero-food img{object-fit:contain;transform:scale(1.03)}
.mood-grid article,.product-grid article,.posters img{transition:transform .25s ease}.mood-grid article:hover,.product-grid article:hover{transform:translateY(-6px)}.posters img:hover{transform:rotate(-1deg) scale(1.015)}
.product-grid img{object-fit:contain;padding:10px}.product-grid article:nth-child(n+3) img{object-fit:cover;padding:0}
.conversation{background:var(--cream);padding:85px 7vw;text-align:center;overflow:hidden}.conversation .eyebrow{font-weight:900;letter-spacing:.2em;color:var(--pink)}.conversation h2{font:clamp(48px,6vw,92px)/.88 'Luckiest Guy';color:var(--espresso);margin:12px 0 45px}.chat{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.chat span{display:block;width:max-content;max-width:90%;padding:14px 20px;border:2px solid var(--espresso);border-radius:999px;background:white;font-weight:700;font-size:18px;box-shadow:5px 6px 0 var(--pink)}.chat span:nth-child(even){justify-self:end;background:var(--yellow);box-shadow:5px 6px 0 var(--mango)}.conversation-end{margin:45px auto 0;max-width:580px;font-size:20px;font-weight:700}
.mobile-menu{display:none}.nav.scrolled{box-shadow:0 8px 30px rgba(36,26,23,.08)}
@media(max-width:800px){.hero-copy{padding-bottom:15px}.hero h1{line-height:.82}.hero-food img{transform:none}.conversation{padding:60px 18px}.conversation h2{font-size:47px}.chat{grid-template-columns:1fr}.chat span{font-size:15px}.chat span:nth-child(even){justify-self:end}.mobile-menu{position:fixed;inset:64px 0 0;background:var(--pink);z-index:19;padding:34px 24px 90px;flex-direction:column;gap:20px}.mobile-menu.open{display:flex}.mobile-menu a{font:38px/1 'Luckiest Guy';color:white;text-decoration:none}.mobile-menu span{margin-top:auto;color:white;font-weight:900;letter-spacing:.15em}.product-grid img{object-fit:contain}.location-card .actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* V2.1 content + UX refinement */
.mood-grid article{cursor:pointer}.mood-grid article em{position:relative;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.05em;opacity:0;transform:translateY(8px);transition:.2s}.mood-grid article:hover em,.mood-grid article:focus em{opacity:1;transform:none}.product-grid img.contain{object-fit:contain!important;padding:10px!important}.full-menu{background:var(--espresso);color:white;padding:70px 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.full-menu small{font-weight:900;letter-spacing:.18em;color:var(--yellow)}.full-menu h2{font:clamp(54px,7vw,100px)/.82 'Luckiest Guy';color:var(--pink);margin:8px 0 22px}.full-menu p{font-size:19px;max-width:480px}.menu-tags{display:flex;flex-wrap:wrap;gap:12px}.menu-tags span{border:2px solid white;border-radius:999px;padding:12px 18px;font-weight:900}.menu-tags span:nth-child(3n+1){background:var(--pink)}.menu-tags span:nth-child(3n+2){background:var(--mango);color:var(--espresso)}.posters a{position:relative;text-decoration:none;color:white}.posters a b{position:absolute;left:12px;bottom:12px;background:var(--espresso);padding:7px 10px;border-radius:6px;font-size:11px;letter-spacing:.06em}.result strong small{display:block;font:700 12px Barlow;margin-top:8px;color:var(--espresso)}#locationGrid{display:grid;gap:16px}.location-card small{font-size:13px;opacity:.72}.location-card a{text-align:center}.nav a:focus-visible,.btn:focus-visible,.hamb:focus-visible,.mood-grid article:focus-visible{outline:3px solid white;outline-offset:3px}.hero-food img,.product-grid img{image-rendering:auto}
@media(max-width:800px){.full-menu{grid-template-columns:1fr;padding:55px 20px}.full-menu h2{font-size:58px}.menu-tags{gap:8px}.menu-tags span{font-size:12px;padding:9px 12px}.mood-grid article em{opacity:1;transform:none}.posters a{min-width:230px}.posters a img{min-width:100%}}
