/* JR Bites navigation and language entry. Brand colors come from the supplied palette. */
[hidden]{display:none!important}
.site-header{background:#180e1d;color:#fff;border:0;box-shadow:0 8px 24px #170e201c}
.header-inner{max-width:1320px;min-height:82px;display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto;gap:clamp(12px,2vw,30px);padding:9px 22px;align-items:center}
.brand-home{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:inherit;padding:0;white-space:nowrap}
.brand-logo{width:67px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 9px #0007)}
.brand-wordmark{font:italic 900 clamp(1.65rem,2.3vw,2.4rem)/1 Georgia,serif;letter-spacing:-.055em;color:#fff9e7;text-shadow:1px 1px 0 #c98907,2px 2px 0 #8e5600,0 0 16px #f4b51542}
.brand-wordmark em{font-style:italic;color:#f4b515}
.header-action:hover{color:#f4b515}
.header-search{height:48px;display:flex;align-items:center;flex-direction:row-reverse;min-width:0;background:#33213d;border:1px solid #6b4978;border-radius:17px;transition:border-color .2s,box-shadow .2s}
.header-search:focus-within{border-color:#f4b515;box-shadow:0 0 0 3px #f4b51532}
.header-search input{flex:1;min-width:0;width:100%;height:100%;padding:0 15px 0 3px;border:0;outline:0;background:transparent;color:#fff;font-size:1rem}
.header-search input::placeholder{color:#e0d5e6}
.header-search input::-webkit-search-cancel-button{filter:grayscale(1) brightness(2)}
.header-search button{display:grid;place-items:center;flex:none;width:46px;height:46px;border:0;background:transparent;color:#fff}
.header-search svg,.header-action svg,.info-icon svg{width:23px;height:23px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.header-action,.header-language{position:relative;display:grid;place-items:center;min-width:44px;height:44px;border:0;border-radius:15px;background:transparent;color:#fff;transition:transform .18s,background .18s,color .18s}
.header-action:active,.header-language:active{transform:scale(.92)}
.cart-action{background:#f4b515;color:#1b1320}
.cart-action:hover{color:#1b1320;background:#ffd45e}
.cart-count{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 3px;border-radius:50%;background:#fff;color:#1a1020;font-size:.7rem;font-weight:900}
.header-language{display:flex;align-items:center;justify-content:center;gap:6px;margin-left:5px;min-width:65px;padding:0 9px;border:1px solid #725c79;background:#ffffff12;font-weight:800}
.header-language img{width:23px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 1px 5px #0008}
.announcement{background:#0d0a0f;color:#e6dfea;font-size:.75rem;padding:7px 12px}
#menu{scroll-margin-top:145px}
.search-empty{padding:24px;text-align:center;color:#6d6173;font-weight:700}
.info-content{display:flex;flex-direction:column;align-items:center;gap:18px;padding:42px 26px;text-align:center}
.info-content p{max-width:360px;margin:0;line-height:1.5;color:#61546a}
.info-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:25px;background:#f1e5f7;color:#7629a8}
.info-icon svg{width:36px;height:36px}

.language-screen{isolation:isolate;background:radial-gradient(circle at 51% 28%,#6c377d76,transparent 30%),radial-gradient(circle at 88% 82%,#b879122a,transparent 34%),linear-gradient(145deg,#130b18,#281332 58%,#100b14);color:#fff;padding:35px 18px 44px}
.language-screen:before{width:620px;height:620px;max-width:110vw;max-height:110vw;border:1px solid #e5af5961;box-shadow:0 0 0 32px #e6bb3920,0 0 0 70px #eee0aa0c;transform:translateY(-12%) rotate(-18deg) scaleX(1.18);animation:gateOrbit 18s ease-in-out infinite alternate}
.gate-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,#7629a84f,transparent 55%)}
.language-panel{max-width:850px}
.gate-logo-stage{position:relative;display:grid;place-items:center;min-height:165px;animation:gateEnter .7s both}
.gate-ring{position:absolute;width:195px;height:195px;border-radius:50%;border:1px solid #f4b51566;background:radial-gradient(circle,#f4b51530,transparent 65%);box-shadow:0 0 55px #f4b51530}
.gate-logo{position:relative;width:clamp(145px,18vw,195px);max-height:170px;object-fit:contain;filter:drop-shadow(0 18px 24px #0009)}
.gate-kicker{color:#f4b515;text-transform:uppercase;letter-spacing:.25em;font-size:.72rem;font-weight:900;margin-top:14px;animation:gateEnter .7s .12s both}
.language-panel h1{color:#fff;font-size:clamp(2.45rem,6vw,5rem);letter-spacing:-.065em;margin:12px auto 10px;animation:gateEnter .75s .19s both}
.gate-period{color:#f4b515}
.gate-english{font-size:.68em;color:#eaddec;letter-spacing:-.045em}
.language-panel p{color:#d4c6d8;animation:gateEnter .7s .27s both}
.language-grid{max-width:670px;margin-top:28px}
.language-card{min-height:220px;background:linear-gradient(145deg,#fffdf8,#ede6ee);color:#211629;border:1px solid #f7e9c4;border-radius:27px;overflow:hidden;box-shadow:0 22px 45px #05030680,inset 0 1px 0 #fff;animation:gateCardEnter .8s .34s both}
.language-card:nth-child(2){animation-delay:.46s}
.language-card:before{content:"";position:absolute;inset:-120% auto auto -90%;width:80%;height:300%;transform:rotate(28deg);background:linear-gradient(90deg,transparent,#fff9,transparent);pointer-events:none;transition:left .55s ease}
.language-card:hover:before{left:135%}
.language-card:hover{border-color:#f4b515;box-shadow:0 30px 55px #050306a1,0 0 0 2px #f4b51545;transform:translateY(-9px) rotateX(4deg) rotateY(-3deg)}
.language-card.selected{border-color:#f4b515;box-shadow:0 0 0 3px #f4b515,0 25px 65px #f4b5156b;transform:translateY(-10px) scale(1.025)}
.flag-disc{background:#fff;box-shadow:0 14px 24px #21102727,inset 0 1px 0 #fff}
.flag-disc img{animation:flagBreathe 4s ease-in-out infinite}
.language-card:nth-child(2) .flag-disc img{animation-delay:-2s}
.language-sub{color:#6a5c6e}
.language-arrow{background:#7629a8}
.gate-foot{display:block;margin-top:24px;color:#d8c3de;font-size:.8rem;animation:gateEnter .7s .6s both}
.language-screen.is-leaving .language-card:not(.selected){opacity:.35;transform:scale(.95)}
.language-screen.is-leaving .language-panel h1,.language-screen.is-leaving .language-panel p{opacity:.25;transform:translateY(-10px);transition:opacity .25s,transform .25s}
@keyframes gateEnter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gateCardEnter{from{opacity:0;transform:translateY(42px) rotateX(-9deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
@keyframes gateOrbit{to{transform:translateY(-10%) rotate(18deg) scaleX(1.18)}}
@keyframes flagBreathe{50%{transform:translateY(-4px) scale(1.025)}}
@media(max-width:850px){.header-inner{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;min-height:0;padding:7px 14px 10px}.brand-home{grid-column:1;grid-row:1}.header-actions{grid-column:2;grid-row:1}.header-install{grid-column:1;grid-row:2;justify-self:start}.header-search{grid-column:2;grid-row:2;width:min(56vw,340px)}.brand-logo{width:54px;height:51px}.brand-wordmark{font-size:1.8rem}.announcement{font-size:.7rem}}
@media(max-width:520px){.header-inner{padding-inline:10px;column-gap:5px}.brand-home{gap:3px}.brand-logo{width:43px;height:43px}.brand-wordmark{font-size:1.42rem}.header-actions{gap:1px}.header-action{min-width:35px;width:35px;height:39px;border-radius:12px}.header-action svg{width:21px;height:21px}.header-language{min-width:54px;height:39px;padding:0 5px;margin-left:2px;font-size:.76rem}.header-language img{width:19px;height:14px}.header-search{width:min(54vw,290px);height:42px}.header-search button{width:40px;height:40px}.header-search input{font-size:.86rem}.language-screen{padding-top:max(18px,env(safe-area-inset-top))}.gate-logo-stage{min-height:145px}.gate-ring{width:160px;height:160px}.language-panel h1{font-size:clamp(2.1rem,8vw,3rem)}.language-grid{gap:12px;margin-top:22px}.language-card{min-height:200px;padding:16px;border-radius:23px}.flag-disc{width:78px;height:78px;margin-bottom:13px}.gate-foot{font-size:.72rem}}
@media(max-width:350px){.brand-logo{width:37px}.brand-wordmark{font-size:1.22rem}.header-action{min-width:30px;width:30px}.header-language{min-width:45px;gap:3px}.header-language img{width:16px}.header-search{width:58vw}.language-card{padding:12px;min-height:185px}.language-name{font-size:1.17rem}.flag-disc{width:62px;height:62px}}
@media(max-height:680px) and (orientation:landscape){.gate-logo-stage{min-height:95px}.gate-logo{width:95px}.gate-ring{width:110px;height:110px}.language-panel h1{font-size:clamp(1.7rem,4vw,2.6rem);margin:5px auto}.language-grid{margin-top:12px}.language-card{min-height:110px}.flag-disc{width:52px;height:52px;margin-bottom:4px}.gate-foot{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.language-screen:before,.gate-logo-stage,.gate-kicker,.language-panel h1,.language-panel p,.language-card,.flag-disc img,.gate-foot{animation:none!important}.language-card:before{display:none}}

/* A more expressive, logo-inspired title and stronger one-time entrance. */
.gate-logo{animation:gateLogoReveal 1s cubic-bezier(.2,1.3,.28,1) both}
.gate-ring{animation:gateHalo 3.8s ease-in-out infinite alternate}
.language-panel h1{font-family:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;font-size:clamp(3.35rem,7.8vw,6.3rem);line-height:1.12;letter-spacing:-.065em;margin:16px auto 18px;animation:none}
.gate-title-line{display:block;white-space:nowrap;overflow:visible;padding-block:.07em}
.gate-title-es{font-weight:700;animation:gateTextReveal .95s .19s cubic-bezier(.2,.8,.16,1) both}
.gate-title-es em{font-weight:700;font-style:italic;color:#f4b515;text-shadow:0 2px 0 #6d450a,0 0 22px #f4b51573}
.gate-title-en{font-size:.51em;font-weight:400;letter-spacing:-.035em;color:#f3e5f4;margin-top:11px;animation:gateTextReveal .95s .35s cubic-bezier(.2,.8,.16,1) both}
.language-panel p{animation:gateTitleReveal .8s .52s both}
.language-card{animation:gateCardReveal 1s .6s cubic-bezier(.16,1,.3,1) both}
.language-card:nth-child(2){animation-delay:.76s}
.gate-foot{animation:gateTitleReveal .65s .95s both}
.gate-social{max-width:670px;margin:22px auto 0;padding-top:15px;border-top:1px solid #f4b51546;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#eadbec;font-size:.83rem;animation:gateTitleReveal .65s 1.05s both}
.gate-social-links{display:flex;align-items:center;gap:9px}
.gate-social-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 13px;border:1px solid #aa78be7d;border-radius:14px;background:#ffffff10;color:#fff;text-decoration:none;font-weight:800;transition:transform .2s,background .2s,border-color .2s}
.gate-social-link svg{width:21px;height:21px;flex:none}
.gate-social-link:not(.pending):hover{transform:translateY(-3px);background:#7629a8;border-color:#d09be6}
.gate-social-link.pending{opacity:.65;cursor:default}
@keyframes gateLogoReveal{0%{opacity:0;transform:translateY(-26px) scale(.65) rotate(-8deg)}65%{opacity:1;transform:translateY(2px) scale(1.09) rotate(2deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes gateHalo{from{transform:scale(.84);opacity:.35;box-shadow:0 0 12px #f4b51518}to{transform:scale(1.12);opacity:1;box-shadow:0 0 70px #f4b51550}}
@keyframes gateTitleReveal{from{opacity:0;transform:translateY(44px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0)}}
@keyframes gateTextReveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes gateCardReveal{from{opacity:0;transform:perspective(900px) translateY(80px) rotateX(-17deg) scale(.91)}to{opacity:1;transform:perspective(900px) translateY(0) rotateX(0) scale(1)}}
@media(max-width:520px){.language-panel h1{font-size:clamp(2.46rem,10vw,3.35rem);margin:12px auto 14px}.gate-title-en{font-size:.55em;margin-top:9px}.gate-social{margin-top:18px;font-size:.72rem}.gate-social-link{width:44px;padding:0}.gate-social-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
@media(max-width:350px){.language-panel h1{font-size:2.25rem}.gate-social{flex-direction:column;gap:8px}}
@media(max-height:680px) and (orientation:landscape){.language-panel h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:5px auto}.gate-title-en{margin-top:3px}.gate-social{margin-top:8px;padding-top:8px}}
@media(prefers-reduced-motion:reduce){.gate-logo,.gate-ring,.gate-title-es,.gate-title-en,.gate-social{animation:none!important}.gate-social-link{transition:none}}

/* Keep the two primary actions available while browsing and customizing. */
.app{--jr-bottom-bar-height:calc(68px + env(safe-area-inset-bottom));padding-bottom:var(--jr-bottom-bar-height)}
.bottom-bar{z-index:120;height:var(--jr-bottom-bar-height);align-items:center}
.bottom-bar button{display:flex;align-items:center;justify-content:center;gap:8px}
.bottom-bar .cart-tab svg{width:22px;height:22px;flex:none}
.bottom-cart-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#211629;color:#fff;font-size:.75rem}
.full-overlay{bottom:var(--jr-bottom-bar-height)}
.product-screen,.cart-screen{height:100%}
.full-overlay .screen-bottom{padding-bottom:12px}

/* A small, tactile tilt keeps navigation responsive without delaying the action. */
.bottom-bar{perspective:800px}
.bottom-bar button{transform-style:preserve-3d;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background-color .22s}
.bottom-bar button:hover{transform:translateY(-3px) rotateX(5deg);box-shadow:0 8px 16px #21162918}
.bottom-bar button:active{transform:translateY(2px) rotateX(-7deg) scale(.96);box-shadow:inset 0 2px 5px #21162925}
.bottom-bar .menu-tab{background:#f4edf7;color:#392341}
.cart-toast{position:fixed;z-index:140;left:50%;bottom:calc(var(--jr-bottom-bar-height) + 13px);transform:translateX(-50%);padding:11px 18px;border-radius:99px;background:#27142e;color:#fff;font-weight:800;white-space:nowrap;box-shadow:0 12px 26px #0004;animation:jrToastIn .35s cubic-bezier(.2,.9,.2,1) both}
@keyframes jrToastIn{from{opacity:0;transform:translate(-50%,15px) rotateX(-15deg)}to{opacity:1;transform:translate(-50%,0) rotateX(0)}}
.product-photo{display:flex;align-items:center;justify-content:center;background:#fff;perspective:1200px}
.product-photo img{width:min(94%,620px);height:94%;object-fit:contain;object-position:center;transform-origin:center;animation:jrFoodTurn 17s ease-in-out infinite alternate;filter:drop-shadow(0 12px 15px #210c251c);backface-visibility:hidden}
.tile-photo{display:flex;align-items:center;justify-content:center;background:#fff}
.tile-photo img{display:block;width:100%;height:100%;padding:4px;object-fit:contain;object-position:center}
.product-photo{height:clamp(290px,72vw,440px)}
.product-photo img{display:block;width:min(100%,700px);height:100%;object-fit:contain;object-position:center;filter:none}
.basket-photo{background:#fff}
.basket-photo img{display:block;object-fit:contain;object-position:center}
@keyframes jrFoodTurn{0%{transform:rotateY(-6deg) rotateX(1deg) scale(.96)}50%{transform:rotateY(4deg) rotateX(-1deg) scale(1)}100%{transform:rotateY(-3deg) rotateX(1deg) scale(.97)}}
.promo-poster{display:grid;grid-template-columns:49% 51%;padding:0;background:linear-gradient(125deg,#130b16,#321739 70%,#110c14)}
.promo-poster-art{position:relative;overflow:hidden;background:#130b16}
.promo-poster-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;mask-image:linear-gradient(#000 0%,#000 63%,transparent 86%)}
.promo-poster-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:24px clamp(20px,3vw,50px)}
.promo-poster-copy>img{width:clamp(95px,16vw,170px);height:auto;max-height:170px;object-fit:contain;filter:drop-shadow(0 10px 16px #0009)}
.promo-poster-copy h2{font-size:clamp(2.2rem,5vw,5.1rem);line-height:.92;color:#f4b515;text-transform:uppercase;margin:10px 0 0}
.promo-poster-copy p{margin:0;color:#fff4e2}
@media(max-width:700px){.promo-poster{grid-template-columns:55% 45%;padding:0}.promo-poster-copy{justify-content:flex-start;padding:8px 8px 43px;gap:3px}.promo-poster-copy>img{width:clamp(62px,18vw,90px);max-height:75px}.promo-poster-copy h2{font-size:clamp(1.08rem,5vw,1.65rem);line-height:.94;margin:1px 0 0}.promo-poster-copy p{display:none}.promo-poster-copy .promo-cta{min-height:29px;margin-top:3px;padding:0 8px;font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.bottom-bar button{transition:none}.bottom-bar button:hover,.bottom-bar button:active{transform:none}.cart-toast,.product-photo img{animation:none}}

.install-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid #f4b51585;border-radius:13px;background:#f4b51518;color:#ffe69b;font-weight:800;white-space:nowrap;transition:transform .2s,background .2s}
.install-logo{width:27px;height:27px;flex:none;object-fit:contain}
.install-trigger:hover{transform:translateY(-2px);background:#f4b51532}
.install-trigger:active{transform:scale(.96)}
.install-trigger:disabled{cursor:progress;opacity:.7;transform:none}
.install-trigger:disabled::after{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;animation:installWaiting 1.15s ease-in-out infinite}
@keyframes installWaiting{50%{opacity:.3;transform:scale(.65)}}
.header-install{justify-self:start;min-height:44px;padding:6px 11px;color:#fff7df;background:#ffffff13}
.gate-install{position:absolute;z-index:3;top:max(18px,env(safe-area-inset-top));right:18px}
.announcement{text-align:center}
body.is-installed .install-trigger{display:none!important}
.install-screen{max-width:460px}
.language-screen ~ .full-overlay{bottom:0}
body.is-installing .full-overlay{bottom:0;z-index:130}
.install-content{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;gap:20px;overflow-y:auto;padding:30px 26px;text-align:center}
.install-content img{width:128px;height:128px;border-radius:29px;box-shadow:0 16px 35px #24102d38}
.install-content p{max-width:360px;margin:0;line-height:1.55;color:#4b3c50}
.install-guide{align-items:stretch;justify-content:flex-start;gap:19px;padding:24px 22px calc(28px + env(safe-area-inset-bottom));text-align:left;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.install-hero{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid #f0e8dd;border-radius:22px;background:linear-gradient(125deg,#fffaf1,#fff 68%)}
.install-hero img{width:70px;height:70px;flex:none;border-radius:17px;box-shadow:0 9px 21px #24102d29}
.install-hero strong{display:block;color:#2c1631;font-size:1.22rem;line-height:1.15}
.install-hero p{margin-top:6px;font-size:.9rem}
.install-quick-card{padding:23px 20px;border:1px solid #eee8ef;border-radius:22px;background:#fff;box-shadow:0 8px 28px #2c16310e}
.install-guide .install-quick-kicker{max-width:none;color:#8a4b59;font-size:.83rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.install-quick-flow{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px 12px;margin:17px 0;color:#2c1631;font-size:clamp(1.05rem,4.6vw,1.28rem);line-height:1.2}
.install-quick-flow strong{font-weight:900}
.install-quick-share,.install-quick-dots{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;background:#f4b515;color:#2c1631}
.install-quick-share svg{width:24px;height:24px}
.install-quick-dots{font-size:1.8rem;line-height:1}
.install-quick-arrow{grid-column:1;justify-self:center;color:#b16872;font-size:1.5rem;transform:rotate(90deg)}
.install-guide .install-quick-confirm{max-width:none;color:#594c5d;font-size:.96rem}
.install-help{border:1px solid #eee8ef;border-radius:18px;background:#fff}
.install-help summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;color:#442846;font-size:.9rem;font-weight:800;cursor:pointer;list-style:none}
.install-help summary::-webkit-details-marker{display:none}
.install-help summary::after{content:'+';font-size:1.4rem;line-height:1;color:#a06168}
.install-help[open] summary::after{content:'−'}
.install-help-body{display:grid;gap:15px;padding:0 18px 18px}
.install-help-body p{max-width:none;color:#594c5d;font-size:.88rem}
.install-link-box{display:grid;gap:8px;padding:15px;border-radius:18px;background:#2c1631;color:#fff}
.install-link-box label{font-size:.82rem;font-weight:800;color:#ffe5a1}
.install-link-row{display:flex;gap:7px;min-width:0}
.install-link-row input{flex:1;min-width:0;padding:10px 11px;border:1px solid #fff5;border-radius:11px;background:#fff;color:#2c1631;font-size:.8rem}
.install-link-row button{flex:none;padding:9px 12px;border:0;border-radius:11px;background:#f4b515;color:#2c1631;font-weight:850;cursor:pointer;transition:transform .2s,background .2s}
.install-link-row button:hover{background:#ffd45b;transform:translateY(-2px)}
.install-link-row button:active{transform:scale(.96)}
.install-copy-status{min-height:1.25em;color:#fff1cb;font-size:.79rem}
@media(max-width:400px){.install-guide{padding:18px 15px 28px;gap:13px}.install-quick-card{padding:19px 16px}.install-quick-flow{gap:7px 9px}.install-link-row{flex-direction:column}.install-link-row button{min-height:40px}}
@media(max-width:520px){.gate-install{top:max(12px,env(safe-area-inset-top));right:12px;padding:6px 9px;font-size:.77rem}.gate-install .install-logo{width:24px;height:24px}.announcement{font-size:.67rem}}
@media(max-width:520px){.header-install{min-height:42px;padding:5px 8px;font-size:.83rem}.language-panel{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.install-trigger,.install-link-row button{transition:none}.install-trigger:disabled::after{animation:none}}

/* Keep search at the visual center without crowding the brand and actions. */
.header-inner{grid-template-columns:minmax(0,1fr) minmax(230px,400px) minmax(0,1fr)}
.header-left{min-width:0;display:flex;align-items:center;gap:clamp(8px,1vw,16px)}
.header-search{width:100%;grid-column:2;justify-self:center}
.header-actions{grid-column:3}
#menu{scroll-margin-top:100px}
.jr-dust-canvas{position:fixed;inset:0;z-index:210;width:100vw;height:100vh;height:100dvh;pointer-events:none}
.jr-star-canvas{position:fixed;inset:0;z-index:210;width:100vw;height:100vh;height:100dvh;pointer-events:none}
.promo-slide{animation:none}
.promo-banner{touch-action:pan-y;user-select:none}
@media(max-width:1100px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:7px 12px;padding:8px 14px 10px}
  .header-left{display:contents}
  .brand-home{grid-column:1;grid-row:1;justify-self:start}
  .header-actions{grid-column:2;grid-row:1}
  .header-install{grid-column:1 / -1;grid-row:2;justify-self:center}
  .header-search{grid-column:1 / -1;grid-row:3;width:min(100%,520px);height:44px}
  #menu{scroll-margin-top:175px}
}
@media(max-width:520px){
  .header-inner{padding-inline:10px;gap:5px 7px}
  .header-search{width:100%}
  .brand-logo{width:43px;height:43px}
  .brand-wordmark{font-size:1.42rem}
}

/* Keep the Club invitation small and beside App instead of a separate homepage card. */
.header-inner{grid-template-columns:minmax(0,1.4fr) minmax(230px,380px) minmax(0,.75fr)}
.header-utilities{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0}
.header-utilities .header-install{flex:none;justify-self:auto;min-height:37px;padding:5px 8px;font-size:.79rem}
.header-utilities .install-logo{width:22px;height:22px}
.header-club{display:flex;align-items:center;gap:7px;min-width:0;padding:5px 7px;border:1px solid #b28ac166;border-radius:14px;background:linear-gradient(115deg,#ffffff16,#7629a834);box-shadow:0 5px 14px #0002}
.header-club-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.header-club-copy small{color:#f4c85c;font-size:.55rem;font-weight:900;letter-spacing:.06em;line-height:1.1}
.header-club-copy span{color:#fff9ef;font-size:.64rem;font-weight:700;line-height:1.15}
.header-club-actions{display:flex;flex-direction:column;gap:3px;flex:none}
.header-club-actions button{min-height:23px;padding:2px 7px;border:1px solid #d9afe6;border-radius:8px;background:#f8edf9;color:#4d1a62;font:inherit;font-size:.62rem;font-weight:850;white-space:nowrap;transition:transform .18s,background .18s}
.header-club-actions button+button{background:transparent;color:#fff}
.header-club-actions button:hover{transform:translateY(-1px);background:#f4d8fa}
.header-club-actions button+button:hover{background:#7629a8}
.header-club-actions button:active{transform:scale(.96)}
@media(max-width:1250px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto}
  .header-left{display:contents}
  .header-utilities{grid-column:1 / -1;grid-row:2;justify-content:space-between;width:100%}
  .header-club{flex:1;max-width:460px}
  .header-search{grid-column:1 / -1;grid-row:3}
}
@media(max-width:520px){
  .header-utilities{gap:6px}
  .header-club{gap:5px;padding:4px 6px;border-radius:12px}
  .header-club-copy span{font-size:.61rem}
  .header-club-actions button{font-size:.59rem;padding-inline:5px}
}
@media(prefers-reduced-motion:reduce){.header-club-actions button{transition:none}}
.header-club-signed-in{border-color:#f4c85c99;background:linear-gradient(115deg,#4d1a62,#7629a8)}
.header-club-signed-in .header-club-copy span{font-size:.76rem}
.header-club-signed-in .header-club-actions button{min-height:30px;padding-inline:10px}
