@font-face{font-family:Arbel;src:url('assets/ArbelG-Regular.woff2')}@font-face{font-family:Arbel;src:url('assets/ArbelG-Bold.woff2');font-weight:700}@font-face{font-family:Slowly;src:url('assets/SlowlyLife-Regular.otf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#F5F3E8;color:#1B463D;font-family:Arbel,Arial,sans-serif;font-size:19px}a{color:inherit;text-decoration:none}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #f0bd23;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h2{font-size:60px;line-height:1}h3{font-size:31px}.hand{font-family:Slowly,sans-serif;font-weight:400;direction:ltr;display:block;line-height:1.25}.skip{position:fixed;top:-100px;right:20px;z-index:50;background:#f0bd23;padding:15px}.skip:focus{top:10px}.masthead{padding:22px 4%;display:flex;align-items:center;gap:38px;border-bottom:1px solid #1B463D30}.logo{width:164px;height:auto}.navigation{display:flex;align-items:center;gap:24px;flex:1}.navigation>a:hover,footer a:hover{text-decoration:underline;text-underline-offset:6px}.nav-menu{display:none}summary{cursor:pointer}.certificates{position:relative;font-size:17px}.certificate-links{position:absolute;top:35px;left:0;z-index:10;background:#F5F3E8;border:1px solid #1B463D;min-width:230px;padding:16px}.certificate-links a{display:block;padding:8px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:#f0bd23;color:#1B463D;padding:17px 25px;font-size:22px;font-weight:700;border:1px solid transparent;min-height:52px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.button.green{background:#1B463D;color:#F5F3E8}.masthead>.button{font-size:18px;padding:13px 20px;gap:18px}.hero{background:#1B463D;color:#F5F3E8;position:relative;min-height:685px;overflow:hidden;padding:52px 5% 55px}.hero-copy{width:49%;position:relative;z-index:2}.hero .kicker{font-size:19px;letter-spacing:1px;margin-bottom:35px}.greeting{font-size:23px;margin-bottom:14px}.hero h1{font-size:clamp(100px,11.6vw,174px);line-height:.85;letter-spacing:-5px;max-width:630px}.hero h1 span{display:block}.hero h1 .name{white-space:nowrap}.hero-actions{margin-top:35px;display:flex;gap:22px;align-items:center}.hero-actions .text-link{font-size:21px;border-bottom:1px solid;padding:10px 0}.food-stage{position:absolute;left:-8%;top:110px;width:66%;transform:rotate(-10deg)}.food-stage img{width:100%;filter:drop-shadow(0 34px 20px #102f2955)}.hero-note{position:absolute;left:11%;top:38px;color:#f0bd23;font-size:39px;transform:rotate(-8deg)}.food-caption{position:absolute;left:6%;bottom:43px;font-size:20px;display:flex;gap:60px;align-items:center}.food-caption .hand{font-size:24px}.hero-bottom{background:#f0bd23;padding:15px 5%;display:flex;justify-content:space-between;gap:20px}.hero-bottom .hand{font-size:23px}.hero-bottom p{font-weight:700}.section{padding:75px 5%}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-head .hand{font-size:22px;margin-bottom:12px}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:5px}.soups{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.soup{min-width:0}.soup-image{height:270px;display:flex;align-items:center;justify-content:center;position:relative;padding:18px 12px;overflow:hidden}.soup-image img{width:100%;height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(0 17px 12px #1B463D20);transition:transform .3s}.soup:hover img{transform:translateY(-8px) rotate(-3deg)}.soup-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #1B463D;padding-top:19px;margin-top:8px}.soup-label span{font-size:27px}.soup p{font-size:18px;line-height:1.6;margin-top:7px}.soup>a{display:block}.soup-number{position:absolute;right:0;top:8px;font-size:16px}.menu-end{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #1B463D40;margin-top:45px;padding-top:28px}.menu-end p{font-size:25px}.order{background:#f0bd23;display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center;padding-block:50px}.order .hand{font-size:24px;margin-bottom:12px}.order h2{font-size:53px;max-width:400px}.order-links{display:flex;gap:12px;flex-wrap:wrap}.order-links a{flex:1;white-space:nowrap;font-size:21px;padding:19px;background:#1B463D;color:#F5F3E8;display:flex;justify-content:space-between;gap:15px}.order-links a:hover{background:#31584e}.story{background:#1B463D;color:#F5F3E8;display:grid;grid-template-columns:.9fr 1.2fr;gap:11%;align-items:center}.story-title .hand{font-size:57px;max-width:320px;transform:rotate(-6deg)}.story p{font-size:28px;line-height:1.55}.story .text-link{margin-top:22px}.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.branch{border-top:2px solid;padding-top:22px}.branch h3{font-size:38px}.branch .kosher{font-size:17px;margin-top:12px}.address{font-size:25px;margin-top:22px}.hours{display:grid;grid-template-columns:100px 1fr;gap:12px;margin:24px 0;font-size:21px;line-height:1.5}.hours dt{font-weight:700}.hours dd{margin:0}.phone{font-size:29px;display:inline-block;border-bottom:1px solid}.access{margin-top:24px;border-top:1px solid #1B463D40;padding-top:15px;font-size:17px;line-height:1.7}.access p{margin-top:10px}.branch>.text-link{font-size:17px;margin-top:15px}.club{background:#f0bd23;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.club h2{font-size:66px}.club .hand{font-size:23px;margin-bottom:12px}.club p{max-width:410px;font-size:24px;line-height:1.5;margin:20px 0 28px}.club-art{display:flex;align-items:center;justify-content:center}.club-art img{width:250px;height:auto;transform:rotate(-14deg)}.jobs{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:38px}.jobs h2{font-size:39px}.jobs .hand{font-size:23px}footer{background:#1B463D;color:#F5F3E8;padding:40px 5% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-logo{background:#F5F3E8;padding:17px;width:185px}.socials{display:flex;gap:27px;direction:ltr;font-size:20px}.footer-bottom{border-top:1px solid #F5F3E840;margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;font-size:16px}
@media(min-width:1600px){.hero{min-height:760px}.food-stage{top:80px}.soup-image{height:330px}}
@media(max-width:1150px){.masthead{gap:20px;flex-wrap:wrap}.navigation{order:3;flex-basis:100%;justify-content:space-between;border-top:1px solid #1B463D30;padding-top:15px}.masthead>.button{margin-right:auto}.hero{min-height:630px}.hero h1{font-size:12vw}.hero-copy{width:55%}.food-stage{top:150px;width:65%}.hero-actions{gap:16px}.soup-image{height:220px}.order{gap:25px;grid-template-columns:1fr}.order h2{max-width:none}}
@media(max-width:650px){body{font-size:18px}.masthead{padding:15px 20px;gap:14px}.logo{width:126px}.masthead>.button{font-size:16px;padding:12px;gap:12px;min-height:44px}.nav-menu{display:block;order:3;width:100%;border-top:1px solid #1B463D40;padding-top:11px}.nav-menu>summary{display:flex;justify-content:space-between;font-weight:700}.nav-menu>summary::after{content:'☰';font-size:19px}.nav-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:12px}.nav-menu nav>a,.nav-menu .certificates{padding:12px 0}.navigation{display:none}.certificate-links{position:static;border:0;padding:8px 0;min-width:0}.hero{min-height:670px;padding:28px 22px 26px;display:flex;flex-direction:column}.hero-copy{width:100%}.hero .kicker{font-size:15px;letter-spacing:0;margin-bottom:23px}.greeting{font-size:20px;margin-bottom:12px}.hero h1{font-size:91px;line-height:.88;letter-spacing:-2px}.hero h1 span:first-child{font-size:71px}.hero-actions{margin-top:23px;gap:20px}.hero-actions .button{font-size:19px;padding:14px 18px;gap:22px}.hero-actions .text-link{font-size:18px}.food-stage{width:112%;left:-9%;top:355px;transform:rotate(-9deg)}.hero-note{font-size:24px;left:25px;top:340px;transform:rotate(-12deg)}.food-caption{left:23px;right:23px;bottom:23px;justify-content:space-between;font-size:17px;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#1B463D;color:#F5F3E8;z-index:2}.food-caption .hand{font-size:20px}.hero-bottom{padding:14px 22px}.hero-bottom .hand{font-size:18px}.hero-bottom p{font-size:16px}.section{padding:47px 22px}h2{font-size:45px}.section-head{margin-bottom:19px;align-items:center;gap:12px}.section-head .hand{font-size:18px;margin-bottom:10px}.section-head>.text-link{font-size:16px;white-space:nowrap}.menu{padding-inline:0}.menu>.section-head,.menu-end{margin-inline:22px}.soups{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:22px;padding:0 22px 22px;scrollbar-color:#1B463D #e2e4d8;scrollbar-width:thin}.soup{flex:0 0 84%;scroll-snap-align:start}.soup-image{height:235px;overflow:hidden}.soup-image img{width:100%}.soup h3{font-size:29px}.soup p{font-size:18px}.soup-label{padding-top:15px}.menu-end{margin-top:27px;padding-top:23px;display:block}.menu-end p{font-size:23px;line-height:1.4}.menu-end .button{margin-top:20px;font-size:19px}.order{gap:26px}.order h2{font-size:45px}.order-links{display:grid;grid-template-columns:1fr;width:100%}.order-links a{font-size:22px;padding:18px 22px}.story{display:block}.story-title .hand{font-size:41px;max-width:245px;margin:5px 0 32px;transform:rotate(-5deg)}.story p{font-size:23px;line-height:1.5}.branch-grid{grid-template-columns:1fr;gap:35px}.branches .section-head{margin-bottom:30px}.branch h3{font-size:34px}.branch .kosher{font-size:16px}.address{font-size:22px;line-height:1.3}.hours{font-size:19px;grid-template-columns:90px 1fr;gap:8px}.phone{font-size:27px}.club{grid-template-columns:1fr;position:relative;overflow:hidden}.club h2{font-size:52px;max-width:245px}.club p{font-size:22px;max-width:285px}.club-art{position:absolute;left:-37px;top:27px;width:128px}.club-art img{width:128px}.club .button{font-size:20px}.jobs{flex-wrap:wrap;gap:18px}.jobs .hand{flex-basis:100%;font-size:20px}.jobs h2{font-size:34px}.jobs .button{font-size:19px}.footer-top{flex-wrap:wrap}.socials{gap:24px;font-size:18px}.footer-bottom{display:block;font-size:15px;line-height:2}.footer-bottom a{display:inline-block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

:root{--forest:#1B463D;--ivory:#F5F3E8;--yellow:#f0bd23}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.65}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #1B463D;outline-offset:4px}a:focus-visible{outline-color:currentColor}.masthead{gap:22px}.navigation{gap:18px}.navigation [aria-current=page]{text-decoration:underline;text-underline-offset:6px}.source-note{font-size:15px;line-height:1.5;margin-block:22px;max-width:75ch}.footer-copy{margin-top:28px;font-size:18px}.menu-intro{max-width:75ch;line-height:1.65;margin-bottom:35px}.bowl-copy{margin-top:25px}.jobs{flex-wrap:wrap}.jobs>p{flex-basis:100%;line-height:1.5}.order-strip .order-links a:first-child{background:#F5F3E8;color:#1B463D;border:1px solid #1B463D}.mobile-order{display:none}.inner .hero{min-height:0;padding:64px 5%!important;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:48px}.inner .hero>.container{margin:0;max-width:none;min-width:0}.inner .hero h1{font-size:clamp(52px,5.6vw,88px);line-height:1.02;letter-spacing:-1px;max-width:15ch;margin:0 0 22px;text-wrap:balance}.inner .hero p{max-width:75ch;line-height:1.6}.inner .hero .btn{margin-top:25px}.eyebrow{font-family:Slowly,Arbel,sans-serif;direction:ltr;display:inline-block;font-size:30px;color:#f0bd23;rotate:-4deg;margin-bottom:14px}.container{max-width:1240px;margin-inline:auto}.inner .section p{line-height:1.65;margin-block:14px}.inner h2{font-size:45px;line-height:1.12;margin-bottom:20px}.inner .section h2:not(:first-child){margin-top:40px}.grid{display:grid;gap:40px}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid>*{min-width:0}.inner .section--tint{background:#e8eadf}.btn{display:inline-flex;justify-content:center;align-items:center;background:#f0bd23;color:#1B463D;padding:16px 25px;border:1px solid #1B463D;font-weight:700;min-height:48px}.inner ul{padding-inline-start:25px;line-height:1.65}.branch-card{border-top:2px solid #1B463D;padding-top:22px}.branch-card dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;font-size:19px;line-height:1.5}.branch-card dd{margin:0}.branch-card dt{font-weight:700}.branch-card a[href^="tel:"]{direction:ltr;display:inline-block;text-decoration:underline}.form{max-width:740px;display:grid;gap:22px}.field{display:grid;gap:8px}.field label,.field legend{font-weight:700}.field input,.field select,.field textarea{width:100%;min-width:0;padding:13px 15px;border:1px solid #1B463D;background:#fffdf4;border-radius:0;color:#1B463D;min-height:48px}.field input[type=email],.field input[type=tel]{direction:ltr;text-align:right}.field textarea{min-height:140px;resize:vertical}.check-row,.radio-row{display:flex;align-items:baseline;gap:12px;line-height:1.5}.radio-row{flex-wrap:wrap}.radio-row label{display:flex;align-items:center;gap:8px}.radio-row input{width:auto;min-height:0}.check-row input{flex:none}.check-row a{text-decoration:underline}.form-note,.draft-banner{background:#f0bd23;color:#1B463D;padding:18px 22px;line-height:1.5}.form-note{margin-bottom:22px}.draft-banner{text-align:center;font-weight:700}.menu-note{font-size:17px;max-width:80ch}/* REV7: sticky one-row strip so the scroll-spy indicator stays in view; scrolls sideways when narrow. */
.menu-jump{position:sticky;top:0;z-index:8;margin:26px 0 8px;padding-block:9px;border-block:1px solid #1B463D40;background:var(--ivory);font-size:19px;overflow-x:auto;scrollbar-width:none}.jump-track{display:flex;gap:4px;width:max-content;position:relative;isolation:isolate}.jump-track a{display:block;padding:5px 12px;border-radius:999px;white-space:nowrap}.menu-jump a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px}.menu-jump a:hover{text-decoration-color:currentColor}.menu-group{padding-block:42px;border-top:2px solid #1B463D}/* Desk SITE-PACKSHOTS MED: every scroll the browser makes (nav anchor, focus, scrollIntoView, find) keeps its target below the sticky strip (~48px). */html:has(.menu-jump){scroll-padding-top:80px}/* Owner 2026-09-29 (every dish has a photo): a nav tap lands the section rule on the strip (80-32=48px), so the previous section's last photos scroll fully out instead of sitting under it. */.menu-group{scroll-margin-top:-32px}.menu-group-head{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}.menu-group-head h2{flex:none;margin:0!important}.leader{flex:1 1 30px;min-width:24px;border-bottom:2px dotted currentColor;position:relative;top:-.3em}.sizes{display:flex;flex:none;gap:22px;margin:0;font-size:22px}.sizes div{display:flex;gap:7px;align-items:baseline}.sizes dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.dish-price{flex:none;font-weight:700;font-size:22px;font-variant-numeric:tabular-nums;min-width:4.2ch;text-align:left}.dish-qty,.dish-tag{flex:none;font-size:16px}/* Two columns as a grid filled column by column (--rows = half the items, from build.mjs): CSS columns split photo rows in WebKit and re-balanced while photos loaded, moving the page under a pill jump (SITE-FB-1131 r4). */.inner .dishes{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--rows,1),auto);grid-auto-flow:column;column-gap:64px;align-items:start}.dish{break-inside:avoid;padding:13px 0}.dish-line{display:flex;align-items:baseline;gap:10px}.dish-line h3{font-size:25px;flex:0 1 auto}.menu-page .dish p{font-size:17px;line-height:1.5;margin:4px 0 0;max-width:52ch}.menu-page .dish .allergen{font-size:15px;font-weight:700}.with-photos .menu-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:56px;align-items:start}.menu-photos{display:grid;gap:12px;padding-top:14px}.menu-photos img{width:100%;height:140px;object-fit:contain}.menu-sub{margin-top:24px}.menu-sub h3{font-size:25px}.menu-sub .sizes{margin-top:8px}.preserved-intro{border-top:1px solid;padding-top:20px;font-size:16px}.page-club .section>.reveal{max-width:1240px;margin-inline:auto}.page-franchise .hero{border-bottom:8px solid #f0bd23}::selection{background:#f0bd23;color:#1B463D}.button{gap:12px;justify-content:center}.masthead>.button{gap:10px}.order-links a{justify-content:flex-start;gap:10px}.soups{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:34px 48px}.soup:first-child{grid-row:1/3}.soup:first-child .soup-image{height:430px}.soup:first-child h3{font-size:44px}.soup:first-child p{font-size:21px}.soup:not(:first-child)>a{display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 22px;align-items:start}.soup:not(:first-child) .soup-image{height:190px;grid-row:1/3;padding:0}.soup:not(:first-child) .soup-label{margin-top:0}.soup:not(:first-child) h3{font-size:27px}.soup-label{justify-content:flex-start}.menu-end{justify-content:flex-start}.bowl-copy h3{font-size:53px;line-height:1;margin-bottom:14px}.hero-art{min-width:0;justify-self:center}.hero-art img{display:block;max-width:100%;height:auto}.page-menu .hero,.page-job .hero,.page-contact .hero{background:#F5F3E8;color:#1B463D;border-bottom:2px solid #1B463D}.page-about .hero,.page-club .hero{background:#f0bd23;color:#1B463D}.page-club .hero .eyebrow{color:#1B463D}.page-club .hero-art{align-self:center}.page-about .hero .btn{background:#1B463D;color:#F5F3E8}.hero--plate .hero-art img{width:370px;rotate:-8deg}.hero--plate .hero-art{display:grid}.hero--plate .hero-art>img{grid-area:1/1}.page-franchise .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.page-franchise .hero-art{order:-1}.hero--sticker .hero-art{align-self:start;justify-self:end}.hero--sticker .hero-art img{width:340px;rotate:-7deg}.page-about .hero{grid-template-columns:minmax(0,1fr) auto}.hero--tag .hero-art{margin-block:-20px}.hero--tag .hero-art img{height:330px;width:auto;rotate:5deg}.hero--stamp .hero-art img{width:250px;rotate:-14deg}.page-job .hero-art{align-self:end;justify-self:start}.page-job .hero-art img{width:210px;rotate:9deg}.inner .hero--photo{padding:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0}.hero--photo>.container{padding:64px 5%;align-self:center}.hero--photo .hero-art{justify-self:stretch}.hero--photo .hero-art img{width:100%;height:100%;min-height:360px;object-fit:cover}
@media(max-width:1150px){.navigation{gap:12px}.inner .hero h1{font-size:70px}}
@media(max-width:650px){.club{overflow:visible}.club-art{position:static;width:100%;padding:20px;justify-content:center}.club-art img{width:160px;max-width:100%;height:auto}.club h2,.club p{max-width:100%}.inner .hero{padding:36px 22px!important}.inner .hero h1{font-size:54px}.inner .hero p{font-size:20px}.inner h2{font-size:36px}.grid--2,.grid--3{grid-template-columns:1fr;gap:28px}.inner .section{padding-inline:22px}.branch-card dl{grid-template-columns:80px minmax(0,1fr);font-size:18px}.inner .dishes{display:block}.dish-line h3{font-size:23px}.menu-group-head{flex-wrap:wrap;row-gap:8px}.menu-group-head .leader:has(+.sizes){display:none}.menu-group-head .sizes{flex-basis:100%}.sizes{gap:18px;font-size:19px;flex-wrap:wrap}.dish-price{font-size:20px}.with-photos .menu-body{grid-template-columns:1fr;gap:0}.menu-photos{order:-1;grid-auto-flow:column;grid-auto-columns:1fr;padding-top:10px}.menu-photos img{height:88px}.menu-group{padding-block:30px}.menu-jump{font-size:18px}.jump-track{gap:0}.order-strip .order-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.order-strip .order-links a{font-size:18px;padding:15px 12px;white-space:normal}.order-strip .order-links a:first-child{grid-column:1/-1}.mobile-order{display:flex;position:fixed;bottom:0;right:0;left:0;z-index:20;align-items:center;gap:18px;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#F5F3E8;border-top:1px solid #1B463D}.mobile-order .order-morph{flex:1;min-width:0}.mobile-order .button{flex:1;font-size:18px;padding:12px 15px;gap:8px}.hero-m4 .order-morph,.mobile-order .order-morph{--morph-h:52px}.mobile-order>a:last-child{text-decoration:underline;font-weight:700}.home{padding-bottom:var(--mobile-order-space,0px)}.source-note{font-size:15px}.inner .section img{height:auto}.inner .menu-photos img{height:88px}.hero-actions .button{gap:10px}.soups{display:grid;grid-template-columns:1fr;overflow:visible;padding:0 22px;gap:28px;scroll-snap-type:none}.soup{flex:none}.soup:first-child{grid-row:auto}.soup:first-child .soup-image{height:250px}.soup:first-child h3{font-size:34px}.soup:first-child p{font-size:18px}.soup:not(:first-child)>a{grid-template-columns:118px minmax(0,1fr);gap:0 16px}.soup:not(:first-child) .soup-image{height:104px}.soup:not(:first-child) h3{font-size:24px}.soup:not(:first-child) .soup-label{padding-top:0;border-top:0}.soup:not(:first-child) p{font-size:16px}.menu-intro,.bowl-copy{margin-inline:22px}.bowl-copy h3{font-size:45px}.inner .hero{grid-template-columns:1fr;gap:20px}.page-about .hero,.page-franchise .hero{grid-template-columns:1fr}.page-franchise .hero-art{order:0}.hero-art,.hero--sticker .hero-art{justify-self:end}.hero--plate .hero-art img{width:190px}.hero--sticker .hero-art img{width:210px}.hero--tag .hero-art{margin:0}.hero--tag .hero-art img{height:190px}.hero--stamp .hero-art img{width:150px}.page-job .hero-art img{width:140px}.page-job .hero-art{justify-self:end}.inner .hero--photo{padding:0!important;gap:0}.hero--photo>.container{padding:36px 22px}.hero--photo .hero-art img{min-height:0;height:200px}.eyebrow{font-size:25px}.form{gap:20px}}
.branch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5%}@media(max-width:650px){.branch-grid{grid-template-columns:1fr;gap:35px}}

/* REV6b: mockup-4 home hero (owner 2026-09-28 ~17:00Z): yellow field, tilted cut-out bowl, stamp, two hand phrases. */
.home .hero-m4{display:block;background:var(--yellow);color:var(--forest);padding:34px 5% 40px;min-height:720px;overflow:clip;isolation:isolate}
.hero-m4 .hero-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:23px}
.hero-m4 .greeting{margin:0;font-size:inherit}
.hero-m4 .hero-top .hand{font-size:26px;margin-left:19%}
.home .hero-m4 h1{position:relative;z-index:2;max-width:none;font-size:clamp(110px,13vw,195px);line-height:.86;letter-spacing:-5px;margin:32px 0 45px;pointer-events:none}
.home .hero-m4 h1 span{display:block;font-size:1em}
.home .hero-m4 h1 .name{display:inline-block;margin-right:7%;font-size:1.25em;white-space:nowrap}
.hero-m4 .stamp{position:absolute;left:9%;top:38px;width:126px;height:auto;rotate:15deg;z-index:3}
.hero-m4 .food{position:absolute;left:4%;top:155px;width:50%;max-width:850px;z-index:1;rotate:-6deg}
.home .hero-m4 .food-stage{position:relative;inset:auto;width:100%;transform:none;padding:0}
.hero-m4 .hero-bowl{display:grid;align-items:center}
.hero-m4 .soup-slide{grid-area:1/1;margin:0;position:relative;min-width:0}
.soup-slide+.soup-slide{visibility:hidden}
.home .hero-m4 .soup-slide img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 35px 16px #1b463d30)}
/* Caption in the branch-screen style: Arbel bold soup name on a forest tag. */
.hero-m4 figcaption{position:absolute;left:50%;bottom:3%;translate:-50% 0;rotate:9deg;background:var(--forest);color:var(--ivory);font-weight:700;font-size:23px;line-height:1.2;padding:7px 18px 8px;white-space:nowrap}
.hero-m4 .hero-foot{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:24px}
.home .hero-m4 .hero-actions{margin:0;display:flex;gap:26px;align-items:center}
.hero-m4 .licious{font-size:42px;rotate:-9deg;margin:0 35px}
/* Hero pause control (rotation + float), in the hero foot since the ticker band was removed. */
.hero-m4 .motion-toggle{border-radius:50%}
@media(min-width:1600px){.home .hero-m4{min-height:790px}.home .hero-m4 h1{font-size:210px}.hero-m4 .food{left:4%}}
.delivery-orders{background:var(--yellow)}
.delivery-orders>h2{margin-bottom:28px}
.delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.delivery-card{border-top:2px solid;padding-top:22px;min-width:0}
.delivery-card h3{font-size:34px}
.delivery-card .hours{grid-template-columns:80px minmax(0,1fr);font-size:18px}
.delivery-card .phone{font-size:25px}
@media(max-width:650px){
 .masthead{flex-wrap:nowrap;justify-content:space-between}
 .masthead>.button{display:none}
 .nav-menu{position:relative;width:auto;order:0;border:0;padding:0}
 .nav-menu>summary{gap:22px;min-height:44px;align-items:center}
 .nav-menu>nav{position:absolute;left:0;top:100%;width:min(350px,calc(100vw - 40px));background:var(--ivory);border:1px solid;padding:16px;z-index:30}
 .home .hero-m4{display:flex;flex-direction:column;padding:22px 22px 30px;min-height:0}
 .hero-m4 .hero-top{font-size:18px;align-items:flex-start}
 .hero-m4 .hero-top .hand{font-size:17px;max-width:110px;margin:0}
 .home .hero-m4 h1{font-size:98px;letter-spacing:-3px;line-height:.91;margin:30px 0 0}
 .home .hero-m4 h1 .name{display:block;font-size:1.13em;margin:0}
 .hero-m4 .stamp{width:84px;left:27px;top:87px}
 .hero-m4 .food{position:relative;left:auto;top:auto;width:96%;margin:18px auto 0;rotate:-5deg}
 .hero-m4 .motion-toggle{margin:18px 0 0 auto}
 .hero-m4 figcaption{font-size:17px;padding:5px 13px 6px}
 .hero-m4 .hero-foot{display:block;margin-top:26px}
 .home .hero-m4 .hero-actions{display:grid;gap:12px;justify-items:stretch}
 .home .hero-m4 .hero-actions .button{justify-content:space-between;font-size:22px;padding:14px 21px}
 .home .hero-m4 .hero-actions .text-link{justify-self:center;font-size:18px}
 .hero-m4 .licious{display:none}
 .delivery-grid{grid-template-columns:1fr;gap:32px}
}
/* MENU-PARITY: print-menu content on the site menu (order steps, per-size grams, numbered lists, business picks, club block). Static; no motion. */
.menu-step{display:flex;align-items:center;gap:12px;margin:40px 0 0;font-weight:700;font-size:19px;letter-spacing:.06em}
.menu-step-n{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#1B463D;color:#F5F3E8;font-size:17px;letter-spacing:0}
.menu-step+.menu-group{border-top-width:2px;margin-top:12px}
.menu-page .dish .portion-note,.portion-note{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;margin:6px 0 0}
.menu-page .menu-rec{font-weight:700;font-size:19px;margin:10px 0 0}
.menu-page .menu-free{font-weight:700;font-size:19px;margin:18px 0 0}
.menu-page .menu-pick{font-size:17px;line-height:1.6;margin:12px 0 0}
.menu-page .menu-pick b{margin-inline-end:6px}
.menu-group>.sizes,.menu-sub>.sizes{margin-top:10px}
.inner .dishes.numbered{counter-reset:item}
.dishes.numbered>li{counter-increment:item;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px}
.dishes.numbered>li::before{content:counter(item);grid-row:1/span 9;display:grid;place-items:center;width:30px;height:30px;margin-top:2px;border:2px solid #1B463D;border-radius:50%;font-weight:700;font-size:16px}
.dishes.numbered>li>*{grid-column:2}
@media(max-width:650px){.menu-step{font-size:18px;margin-top:30px}.menu-page .menu-pick{font-size:16px}}
/* Owner 2026-09-29: a photo (or brand icon tile) beside every menu item, same 3:2 box for all. */
.dish.has-photo{display:grid;grid-template-columns:128px minmax(0,1fr);column-gap:18px;align-items:start}
.dish.has-photo>*{grid-column:2}
.dish.has-photo>.dish-photo{grid-column:1;grid-row:1/span 9}
.dishes.numbered>li.has-photo{grid-template-columns:34px 128px minmax(0,1fr)}
.dishes.numbered>li.has-photo>*{grid-column:3}
.dishes.numbered>li.has-photo>.dish-photo{grid-column:2}
.dish-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin:0}
.dish-icon{display:grid;place-items:center;background:var(--yellow);color:var(--forest);border-radius:14px;inline-size:70%;justify-self:center;aspect-ratio:1}
.dish-icon svg{width:52%;height:auto}
.dish-pair{display:grid;grid-template-columns:1fr 1fr;align-items:center}.dish-pair img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.bowl-photo{display:block;width:min(420px,100%);height:auto;margin:14px 0 4px}
@media(max-width:650px){.dish.has-photo{grid-template-columns:96px minmax(0,1fr);column-gap:14px}.dishes.numbered>li.has-photo{grid-template-columns:30px 96px minmax(0,1fr)}.dish.has-photo .dish-line{flex-wrap:wrap;row-gap:2px}.dish.has-photo .dish-line h3{flex:1 1 100%}}
/* Home menu (owner 2026-09-29): all seven soups, a grid on desktop and a swipe strip on mobile, then the Souper Bowl card. */
.soup-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 30px;margin:10px 0 0}
.soup-card a{display:block;color:inherit;text-decoration:none}
.soup-card img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.soup-card h3{font-size:27px;line-height:1.15;margin:12px 0 6px}
.soup-card p{font-size:16px;line-height:1.5;margin:0}
.soup-card a:hover h3,.bowl-card:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.soup-strip:focus-visible{outline:3px solid var(--forest);outline-offset:6px}
.bowl-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:36px;margin-top:48px;padding:26px 40px;background:var(--yellow);color:var(--forest);text-decoration:none}
.bowl-card img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.home .bowl-card .bowl-copy{margin:0}
.bowl-card .bowl-copy p{margin:0;font-size:21px;line-height:1.5}
@media(max-width:1150px){.soup-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .soup-strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:22px;padding:4px 22px 16px;scrollbar-width:none;overscroll-behavior-x:contain}
 .soup-strip::-webkit-scrollbar{display:none}
 .soup-card{flex:0 0 74%;scroll-snap-align:start}
 .soup-card h3{font-size:24px}
 .soup-card p{font-size:15px}
 .bowl-card{grid-template-columns:1fr;gap:10px;margin:30px 22px 0;padding:18px 20px 24px}
 .home .bowl-card .bowl-copy{margin:0}
 .bowl-card .bowl-copy p{font-size:18px}
}
/* L2 legal (2026-09-30): footer legal links + business line, short privacy notices at forms, legal pages. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px;font-size:17px}.footer-legal a,.footer-biz a{text-decoration:underline;text-underline-offset:4px}
.footer-biz{margin-top:14px;font-size:15px;line-height:1.6;max-width:110ch;overflow-wrap:anywhere}
.privacy-notice{font-size:16px;line-height:1.6;border-inline-start:3px solid #1B463D;padding-inline-start:14px;max-width:75ch}.privacy-notice p{margin:0}.privacy-notice a{text-decoration:underline}
.legal-doc h3{font-size:25px;margin-top:28px}.legal-doc a{text-decoration:underline;text-underline-offset:3px}.legal-doc li{margin-block:6px}
/* 200% zoom of a 1440 desktop (651-1000 CSS px): menu dish rows wrap instead of overflowing sideways (WCAG 1.4.10). */
@media(min-width:651px) and (max-width:1000px){.dish-line{flex-wrap:wrap;row-gap:2px}}

:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--spring:cubic-bezier(.34,1.36,.64,1);--ease-lag:cubic-bezier(.65,0,.35,1)}
@supports(transition-timing-function:linear(0,1)){:root{--spring:linear(0,.18 5%,.5 11%,.8 18%,.98 25%,1.06 31%,1.08 36%,1.06 43%,1.02 52%,.995 64%,.998 78%,1)}}
/* Inherited m2 hover lifts are neutralised; hover is colour or underline only. */
.button:hover,.soup:hover img{transform:none}
.button:hover{background:#e3ae14}
.button.green:hover{background:#2c5a50}
.btn:not(:disabled):hover{background:#e3ae14}
.text-link:hover{box-shadow:inset 0 -2px 0 currentColor}
.soup>a:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
/* REV7 order chooser: native details. Base = final states, so reduced motion (and no transition support) swaps instantly. */
.order-morph{--morph-h:55px;--morph-bg:var(--forest);position:relative}
.order-morph--bar{--morph-bg:var(--yellow)}
.order-morph[open]{z-index:6}
.order-morph>summary{display:flex;list-style:none;cursor:pointer;height:var(--morph-h);position:relative;z-index:2}
.order-morph>summary::-webkit-details-marker,.morph-branch>summary::-webkit-details-marker{display:none}
.order-morph>summary:focus-visible,.morph-shape a:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
.order-morph[open]>summary,.order-morph[open]>summary.button:hover{background:transparent;color:var(--forest)}
.order-morph[open]>summary.button,html.motion .order-morph[open]>summary.button{transform:none}
.morph-shape{position:absolute;inset-block-end:0;inset-inline-start:0;z-index:1;width:max(100%,min(22rem,calc(100vw - 36px)));display:flex;flex-direction:column;justify-content:flex-end;padding-block-end:var(--morph-h);background:var(--ivory);color:var(--forest);border:1px solid var(--forest);border-radius:20px;overflow:clip;box-shadow:0 22px 44px -22px #1B463D80}
.morph-list{padding-block:8px 4px}
.morph-row{display:grid;grid-template-rows:1fr}
.morph-branch{min-height:0;overflow:hidden}
.morph-row+.morph-row>.morph-branch{border-top:1px solid #1B463D26}
.morph-list:has(.morph-branch[open]) .morph-row:not(:has(>.morph-branch[open])){grid-template-rows:0fr;visibility:hidden}
.morph-branch>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;min-height:48px;padding:10px 20px;font-size:21px;font-weight:700}
.morph-branch>summary:focus-visible{outline:3px solid var(--forest);outline-offset:-4px}
.morph-branch>summary::after{content:'';flex:none;width:9px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;rotate:45deg;translate:0 -3px}
.morph-branch[open]>summary::after{rotate:-135deg;translate:0 3px}
.morph-links{padding:2px 20px 14px}
.morph-links p{margin:0;font-size:18px}
.morph-links .btn{display:flex;justify-content:space-between}
.morph-links .order-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.morph-links .order-links a{font-size:19px;padding:13px 14px;justify-content:space-between}
/* REV7 menu-jump indicator: JS adds .spy-on and the edge offsets; without JS there is no pill and the links work as before. */
.jump-track::before{content:none}
.menu-jump.spy-on .jump-track::before{content:'';position:absolute;z-index:-1;inset-block:0;left:var(--jl,0px);right:var(--jr,0px);background:var(--yellow);border-radius:999px}
.motion-toggle{flex:none;margin-inline-start:auto;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;background:var(--forest);color:var(--ivory);border:0;padding:0}
.motion-toggle svg{display:block}
.motion-toggle[aria-pressed="true"] .icon-pause,.motion-toggle[aria-pressed="false"] .icon-play{display:none}
@media(prefers-reduced-motion:no-preference){
  html.motion .hero-bowl{animation:bowl-enter 560ms var(--ease-out) 0ms both}
  html.motion [data-slap]{animation:sticker-slap 560ms var(--ease-out) 40ms both}
  html.motion [data-headline]{animation:headline-rise 480ms var(--ease-out) both}
  /* Living site (owner 2026-09-29 "שדברים יזוזו, יכנסו למסך"): once motion.js runs (html.motion-live, even on a slow
     link after the head gate gave up) each [data-reveal] holds the first keyframe of its entrance (paused) and plays it
     when it scrolls well into view; motion.js staggers a batch through --d. Without JS nothing is held back. */
  html.motion-live [data-reveal]{animation:section-rise 800ms var(--ease-out) var(--d,0ms) both;animation-play-state:paused}
  html.motion-live .soup-card[data-reveal],html.motion-live .bowl-card[data-reveal],html.motion-live .delivery-card[data-reveal]{animation-name:card-rise}
  /* Menu items slide in from the reading side (right, RTL: that overflow is unreachable, so no sideways scroll); the photo lands just after. */
  html.motion-live .dish[data-reveal]{animation-name:dish-in;animation-duration:700ms}
  html.motion-live .dish[data-reveal]>.dish-photo{animation:photo-pop 900ms var(--spring) calc(var(--d,0ms) + 140ms) both;animation-play-state:paused}
  html.motion-live [data-reveal].revealed,html.motion-live .dish.revealed>.dish-photo{animation-play-state:running}
  html.motion-live [data-reveal].shown,html.motion-live .dish.shown>.dish-photo{animation:none}
  .soup-card img,.bowl-card img,.dish-photo{transition:transform 420ms var(--ease-out)}
  @media(hover:hover){html.motion .soup-card a:hover img,html.motion .bowl-card:hover img,html.motion .dish:hover>.dish-photo{transform:translateY(-6px) rotate(-2.5deg) scale(1.04)}}
  /* Tap feedback on touch (motion.js adds a passive touchstart listener so iOS Safari applies :active). */
  .soup-card a:active img,.bowl-card:active img,.dish:active>.dish-photo{transform:scale(.95) rotate(-2deg);transition-duration:160ms}
  /* Continuous life on hero food: CSS only (runs without JS), slow, paused by the toggle. */
  .food-stage{animation:bowl-float 6s ease-in-out infinite}
  .hero--plate .hero-art img:not(.hero-doodle),.bowl-photo{animation:bowl-float 7s ease-in-out infinite}
  .hero-doodle{animation:doodle-turn 60s linear infinite}
  html.motion .steam i{animation:steam-rise 2800ms ease-out infinite}
  html.motion .steam i:nth-child(2){animation-delay:800ms}
  html.motion .steam i:nth-child(3){animation-delay:1600ms}
  @media(hover:hover){html.motion .button:hover,html.motion .btn:not(:disabled):hover,html.motion .order-links a:hover{transform:translateY(-3px)}}
  .paused .food-stage,.paused .steam i,.paused .hero-art img,.paused .bowl-photo{animation-play-state:paused}
  /* Four hero packshots (owner 2026-09-29), 3s each with a crossfade, one CSS keyframe; runs without JS, off under reduced motion. */
  .soup-slide{animation:soup-cycle 12s linear infinite both}
  .soup-slide+.soup-slide{visibility:visible}
  .soup-slide:nth-child(2){animation-delay:3s}
  .soup-slide:nth-child(3){animation-delay:6s}
  .soup-slide:nth-child(4){animation-delay:9s}
  .paused .soup-slide{animation-play-state:paused}
  .button,.btn:not(:disabled),.order-links a,.motion-toggle{transition:transform 100ms var(--ease-out),opacity 150ms}
  html.motion .button:hover:active,html.motion .btn:not(:disabled):hover:active,html.motion .order-links a:hover:active{transform:scale(.97)}
  .button:active,.btn:not(:disabled):active,.order-links a:active,.motion-toggle:active{transform:scale(.97);transition-duration:160ms}
  /* REV7 order-chooser morph: one container morphs size, radius and colour; its content swaps with blur + opacity. */
  .order-morph{interpolate-size:allow-keywords}
  .order-morph::details-content{transition:content-visibility 320ms allow-discrete}
  .order-morph>summary{transition:transform 100ms var(--ease-out),background-color 220ms,color 220ms}
  .morph-shape{transition:width 620ms var(--spring),height 620ms var(--spring),border-radius 460ms var(--ease-out),background-color 240ms,border-color 240ms,box-shadow 300ms}
  .order-morph:not([open]) .morph-shape{width:100%;height:var(--morph-h);border-radius:0;background-color:var(--morph-bg);border-color:transparent;box-shadow:none;transition-duration:280ms;transition-timing-function:var(--ease-out)}
  @starting-style{.order-morph[open] .morph-shape{width:100%;height:var(--morph-h);border-radius:0;background-color:var(--morph-bg);border-color:transparent;box-shadow:none}}
  .morph-list{transition:opacity 280ms 140ms,filter 280ms 140ms}
  .order-morph:not([open]) .morph-list{opacity:.1;filter:blur(6px);transition-delay:0ms;transition-duration:160ms}
  @starting-style{.order-morph[open] .morph-list{opacity:.1;filter:blur(6px)}}
  .morph-row{transition:grid-template-rows 420ms var(--ease-out),opacity 240ms,filter 240ms,visibility 420ms}
  .morph-list:has(.morph-branch[open]) .morph-row:not(:has(>.morph-branch[open])){opacity:.1;filter:blur(4px)}
  .morph-branch::details-content{block-size:0;overflow:clip;transition:block-size 300ms var(--ease-out),content-visibility 300ms allow-discrete}
  .morph-branch[open]::details-content{block-size:auto;transition:block-size 560ms var(--spring),content-visibility 560ms allow-discrete}
  .morph-branch>summary::after{transition:rotate 360ms var(--spring),translate 360ms var(--spring)}
  .morph-links{transition:opacity 260ms 160ms,filter 260ms 160ms}
  @starting-style{.morph-branch[open] .morph-links{opacity:.1;filter:blur(6px)}}
  /* REV7 menu-jump indicator: the leading edge springs ahead, the trailing edge follows on a slower curve. */
  .menu-jump.spy-on .jump-track::before{transition:left 440ms var(--ease-out),right 440ms var(--ease-out)}
  .menu-jump.spy-on .jump-track.go-left::before{transition:left 320ms var(--spring),right 560ms var(--ease-lag) 50ms}
  .menu-jump.spy-on .jump-track.go-right::before{transition:right 320ms var(--spring),left 560ms var(--ease-lag) 50ms}
}
.steam{position:absolute;inset:12% 30% 50%;pointer-events:none;display:flex;justify-content:space-around}
.steam i{display:block;width:12px;height:65%;border-left:3px solid #fff9;border-radius:50%;opacity:0.01}
@keyframes headline-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes section-rise{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}
@keyframes card-rise{from{opacity:0;transform:translateY(64px) scale(.9) rotate(-2deg)}to{opacity:1;transform:none}}
@keyframes dish-in{from{opacity:0;transform:translateX(56px)}to{opacity:1;transform:none}}
@keyframes photo-pop{from{opacity:0;transform:scale(.6) rotate(-14deg)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes bowl-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-16px) rotate(2deg)}}
@keyframes doodle-turn{to{transform:rotate(1turn)}}
@keyframes steam-rise{0%{opacity:0;transform:translateY(14px) scaleX(.8)}35%{opacity:.75}100%{opacity:0;transform:translateY(-28px) scaleX(1.2)}}
@keyframes bowl-enter{from{opacity:0;transform:translate(-70px,40px) rotate(-24deg) scale(.9)}to{opacity:1;transform:none}}
@keyframes soup-cycle{0%{opacity:0;transform:rotate(-8deg) scale(.92)}5%{opacity:1;transform:rotate(1deg) scale(1.01)}9%,25%{opacity:1;transform:none}30%,100%{opacity:0;transform:rotate(4deg) scale(.96)}}
@keyframes sticker-slap{0%{opacity:0;transform:scale(1.35) rotate(-12deg)}60%{opacity:1;transform:scale(.96) rotate(2deg)}100%{opacity:1;transform:none}}
@media(max-width:650px){
  /* Fixed reservation prevents order-bar entry/exit from changing page height. */
  .home{padding-bottom:calc(max(84px, var(--mobile-order-space,0px)) + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  /* Non-vestibular life stays (ticket site-motion-alive): opacity-only entrances and colour feedback; nothing travels. */
  html.motion-live [data-reveal]{animation:fade-in 700ms ease-out both!important;animation-delay:var(--d,0ms)!important;animation-play-state:paused!important}
  html.motion-live [data-reveal].revealed{animation-play-state:running!important}
  html.motion-live [data-reveal].shown{animation:none!important}
  /* The order chooser's summary stays instant (REV7: reduced motion swaps it without transitions). */
  .button:not(summary),.btn,.order-links a,.text-link,.motion-toggle{transition:background-color 200ms,color 200ms,box-shadow 200ms!important}
  .hero-bowl,[data-slap]{transform:none!important}
  .button,.btn,.order-links a,.motion-toggle,[data-headline],[data-reveal],.food-stage,.steam i,.dish-photo,.soup-card img,.bowl-card img,.bowl-photo,.hero-art img{transform:none!important;translate:none!important}
  .soup-slide{opacity:1!important;transform:none!important}
  .steam{display:none!important}
  .motion-toggle{display:none!important}
}
