/* City Grill: a lightweight, code-drawn charcoal BBQ welcome. */
.bbq-intro{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#100e0c;color:#fff;isolation:isolate;animation:cg-bbq-curtain .8s cubic-bezier(.7,0,.2,1) 3.4s both;font-family:Poppins,Arial,sans-serif}
.bbq-intro-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 65%,#a83b133b,transparent 53%),radial-gradient(ellipse at 50% 100%,#ff801b20,transparent 65%)}
.bbq-intro-brand{text-align:center;animation:cg-bbq-brand .6s ease both}.bbq-intro-brand img{display:block;width:112px;height:101px;object-fit:contain;margin:auto;filter:drop-shadow(0 3px 12px #0008)}.bbq-intro-brand p{font-size:10px;font-weight:700;letter-spacing:.3em;color:#f5c492;margin:15px 0 0}
.bbq-scene{width:min(800px,96vw);height:auto;max-height:54vh;overflow:visible;flex:none;margin-top:-4px}
.bbq-grill{animation:cg-bbq-grill 1.15s cubic-bezier(.19,1,.22,1) .15s both;transform-box:view-box;transform-origin:center}
.bbq-skewer{transform-box:view-box;transform-origin:center;animation:cg-bbq-skewer 1.1s cubic-bezier(.19,1,.22,1) .65s both;translate:0 0}.bbq-skewer-kebab{animation-delay:.87s}
.bbq-heat{animation:cg-bbq-heat .85s ease-in-out 1.2s infinite alternate}.bbq-wisp{transform-box:fill-box;transform-origin:center bottom;opacity:0;animation:cg-bbq-smoke 2.3s ease-out 1.15s infinite}.wisp-b{animation-delay:1.5s}.wisp-c{animation-delay:1.8s}.bbq-sparks{opacity:0;animation:cg-bbq-sparks 1.3s ease-out 1.7s infinite}
.bbq-intro-caption{color:#e8c8a4;font-size:clamp(14px,2.8vw,19px);letter-spacing:.04em;margin:0 22px 25px;text-align:center;animation:cg-bbq-brand .7s ease 1.2s both}
.bbq-intro-skip{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));color:#e7d6bf;border:1px solid #d3b49066;background:#ffffff08;border-radius:99px;padding:11px 18px;font:600 12px Poppins,Arial,sans-serif;cursor:pointer;min-height:44px}.bbq-intro-skip span{margin-left:12px}.bbq-intro-skip:hover{background:#ffffff16}.bbq-intro-skip:focus-visible{outline:3px solid #ffb957;outline-offset:4px}
.bbq-intro.is-finished{display:none!important;pointer-events:none}.cg-intro-active{overflow:hidden}body.citygrill-home main{opacity:1}
@keyframes cg-bbq-grill{from{translate:-110vw 0;rotate:-9deg;opacity:0}to{translate:0 0;rotate:0deg;opacity:1}}
@keyframes cg-bbq-skewer{from{translate:110vw -30px;opacity:0}to{translate:0 0;opacity:1}}
@keyframes cg-bbq-smoke{0%{opacity:0;translate:0 30px;scale:.6}30%{opacity:.33}70%{opacity:.19}100%{opacity:0;translate:20px -75px;scale:1.2}}
@keyframes cg-bbq-heat{from{opacity:.25}to{opacity:.65}}
@keyframes cg-bbq-sparks{0%{opacity:0;translate:0 25px}20%{opacity:.8}100%{opacity:0;translate:12px -45px}}
@keyframes cg-bbq-brand{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes cg-bbq-curtain{0%{opacity:1;clip-path:inset(0 0 0 0);visibility:visible}85%{opacity:1}100%{opacity:0;clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none}}
@media(max-width:600px){.bbq-intro-brand img{width:102px;height:92px}.bbq-intro-brand p{font-size:9px;letter-spacing:.22em}.bbq-scene{width:110vw;max-width:none;margin:14px 0 8px}.bbq-intro-caption{margin-bottom:50px}.bbq-intro-skip{bottom:max(20px,env(safe-area-inset-bottom));right:20px}}
@media(prefers-reduced-motion:reduce){.bbq-intro{display:none!important}.cg-intro-active{overflow:auto}.bbq-intro *{animation:none!important}}

/* V4: big promotional type at left, BBQ scene at right. */
.bbq-intro{padding:28px 0 65px;box-sizing:border-box}
.bbq-intro .bbq-intro-brand{flex:none;margin:0 0 clamp(12px,3vh,28px)}
.bbq-intro-stage{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.3fr);align-items:center;width:min(1200px,92vw);gap:0;margin:0 auto}
.bbq-intro-copy{position:relative;z-index:1;padding-left:clamp(0px,2vw,24px);animation:cg-bbq-headline .75s cubic-bezier(.2,1,.3,1) .95s both}
.bbq-intro .bbq-intro-headline{font-family:Poppins,Arial,sans-serif;font-size:clamp(34px,5.2vw,74px);font-weight:800;line-height:1.02;letter-spacing:-.045em;color:#ffc400;text-transform:uppercase;text-align:left;margin:0;padding:0;text-shadow:0 4px 30px #0003}
.bbq-intro-headline span{display:block;white-space:nowrap}.bbq-intro-headline .bbq-headline-white{color:#fff;margin-bottom:.13em}
.bbq-intro-stage .bbq-scene{display:block;width:100%;max-width:none;height:auto;max-height:none;overflow:visible;margin:0;justify-self:end}
.bbq-intro-glow{background:radial-gradient(ellipse at 76% 65%,#a83b134f,transparent 53%),radial-gradient(ellipse at 50% 100%,#ff801b20,transparent 65%)}
@keyframes cg-bbq-headline{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1400px){.bbq-intro-stage{grid-template-columns:1fr 1.3fr}.bbq-intro .bbq-intro-headline{font-size:74px}}
@media(max-width:700px){
 .bbq-intro{padding:22px 0 62px}
 .bbq-intro .bbq-intro-brand{margin:0 0 15px}.bbq-intro .bbq-intro-brand img{width:80px;height:72px}
 .bbq-intro-stage{grid-template-columns:1fr;width:min(470px,90vw);gap:0}
 .bbq-intro-copy{padding-left:8px}.bbq-intro .bbq-intro-headline{font-size:clamp(29px,8.7vw,46px);line-height:1;letter-spacing:-.035em}
 .bbq-intro-headline span{display:inline}.bbq-intro-headline .bbq-headline-white{display:block;margin-bottom:.15em}.bbq-intro-headline span:nth-child(2)::after{content:' '}.bbq-intro-headline span:nth-child(3)::after{content:' '}
 .bbq-intro-stage .bbq-scene{width:100%;margin:0 0 -12px;max-height:33vh}
}
@media(max-height:560px) and (min-width:701px){.bbq-intro .bbq-intro-brand img{width:70px;height:63px}.bbq-intro .bbq-intro-brand{margin-bottom:4px}.bbq-intro-stage{width:min(900px,90vw)}.bbq-intro .bbq-intro-headline{font-size:clamp(30px,4.6vw,52px)}}
@media(max-height:650px) and (max-width:700px){.bbq-intro .bbq-intro-brand img{width:60px;height:54px}.bbq-intro .bbq-intro-headline{font-size:clamp(26px,7.8vw,36px)}.bbq-intro .bbq-intro-brand{margin-bottom:8px}.bbq-intro-stage .bbq-scene{max-height:29vh}}

/* V5: the BBQ is the permanent homepage hero, not a disappearing loader. */
.bbq-intro.bbq-banner{position:relative;inset:auto;z-index:1;width:100%;min-height:610px;min-height:min(720px,calc(100svh - 95px));padding:36px 0 45px;animation:none;clip-path:none;visibility:visible;opacity:1;display:flex!important;box-sizing:border-box}
.bbq-banner .bbq-intro-skip{display:none}
.bbq-intro.bbq-banner.is-opening{position:fixed;inset:0;z-index:9999;min-height:100svh;padding-top:28px;padding-bottom:65px}
.bbq-banner.is-opening .bbq-intro-skip{display:block}
body.cg-intro-active>.site-header,body.cg-intro-active main>section:not(.bbq-banner),body.cg-intro-active>footer,body.cg-intro-active>.cart-fab{visibility:hidden;opacity:0}
body.cg-bbq-ready>.site-header,body.cg-bbq-ready main>section:not(.bbq-banner),body.cg-bbq-ready>footer{animation:cg-content-open .65s ease both}
@keyframes cg-content-open{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.bbq-intro.bbq-banner{min-height:580px;padding:24px 0 30px}.bbq-intro.bbq-banner.is-opening{min-height:100svh;padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){.bbq-intro.bbq-banner{display:flex!important;min-height:540px}.bbq-banner *,body.cg-bbq-ready>*{animation:none!important}.bbq-banner .bbq-intro-copy,.bbq-banner .bbq-grill,.bbq-banner .bbq-skewer{opacity:1;translate:0 0;transform:none}}
