/* Immami: market paper, close-packed groceries, and purposeful motion. */
.faithful-ui .overhead-world{aspect-ratio:1;background-image:url('deep-market-basket.png');filter:drop-shadow(0 5px 4px #47352314);margin:8px 0 4px}
.faithful-ui .overhead-lining{inset:17% 12% 12%;border-radius:15% 15% 13% 13%;overflow:hidden;isolation:isolate}
.faithful-ui .overhead-lining:after{content:'';position:absolute;inset:0;z-index:20;pointer-events:none;border-radius:inherit;box-shadow:inset 0 8px 12px -6px #2a190c75,inset -5px -3px 8px -6px #37251165;background:linear-gradient(135deg,transparent 65%,#4933170c)}
.faithful-ui .natural-packed-food .overhead-food-art>.produce-sprite{filter:saturate(.86) brightness(.94) drop-shadow(1px 2px 1px #35231280) drop-shadow(2px 4px 3px #3523122e)}
.faithful-ui .natural-packed-food{clip-path:none}
.faithful-ui .natural-selected-dot{display:none!important}
.faithful-ui .natural-packed-food[aria-pressed="true"] .overhead-food-art>.produce-sprite{filter:saturate(.95) brightness(.99) drop-shadow(1px 2px 1px #35231280) drop-shadow(2px 4px 3px #3523122e)}
.faithful-ui .overhead-heading{display:block!important;margin-top:7px;padding:0 25px;text-align:left}
.faithful-ui .overhead-heading>div{display:block!important}
.faithful-ui .overhead-heading h2{display:block!important;font-size:28px!important;margin:6px 0 11px!important}
.faithful-ui .overhead-heading .eyebrow{font-size:7px;letter-spacing:1.2px}
.faithful-ui .overhead-heading .contents-close{left:auto;right:0;top:9px}
.faithful-ui .overhead-instructions{display:block!important;background:none;border-radius:0;margin:0 25px 0;text-align:left;padding:0;color:#59704e;font-size:11px}
.faithful-ui .overhead-instructions>span{font-size:9px}
.faithful-ui .basket-price-key{gap:7px;margin:0 7px 14px}
.faithful-ui .basket-price-key-item{background:#f3f2e8;border-color:#e1dfce;border-radius:11px;padding:12px 28px 12px 11px}
.faithful-ui .basket-price-key-item b{font-size:11px}.faithful-ui .basket-price-key-item>span{font-size:11px}
.faithful-ui .basket-price-key-item[aria-pressed="true"]{background:#e5ecd9;border-color:#91a77b;box-shadow:inset 3px 0 #49653a}
.faithful-ui .home-motion-toggle{display:block;margin:0 22px 8px auto;padding:4px 9px;border:1px solid #d5ddca;border-radius:20px;background:transparent;font-size:9px;color:#5e7452;min-height:27px}
.faithful-ui .home-banner-track>.market-poster.photo-banner{height:450px;background:#173e2e;border-radius:16px;overflow:hidden;isolation:isolate}
.market-poster .poster-photo{position:absolute;inset:0;background:url('market-poster-photo.png') 50% 65%/cover;z-index:-2;transform:scale(1.03)}
.market-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#123d2bf5 0%,#153e2bd9 26%,#163e2b15 61%,#102e1e5c 100%);z-index:-1;pointer-events:none}
.faithful-ui .market-poster .home-scene-copy{padding:26px 23px 0;text-shadow:none}
.poster-edition{display:block;font-size:8px;letter-spacing:1.7px;color:#d4dfbb;margin-bottom:15px}
.faithful-ui .market-poster h1{font-size:clamp(36px,10.5vw,46px);font-weight:600;letter-spacing:-2px;line-height:1.01;max-width:100%;margin-bottom:12px;color:#f6f3d8}
.faithful-ui .market-poster .home-scene-copy p{font-size:12px;color:#e5e7cf;line-height:1.4}
.poster-ticket{position:absolute;right:18px;top:183px;width:108px;padding:12px 12px 13px;background:#e5efb2;color:#23442c;transform:rotate(9deg);box-shadow:1px 4px 8px #182c2333;clip-path:polygon(0 0,100% 0,100% 94%,91% 100%,83% 94%,75% 100%,67% 94%,59% 100%,51% 94%,43% 100%,35% 94%,27% 100%,19% 94%,11% 100%,0 94%)}
.poster-ticket b{font-size:42px;line-height:1;letter-spacing:-2px;display:block;font-weight:600}.poster-ticket span{font-size:7px;line-height:1.5;letter-spacing:.8px;display:block;margin-top:5px}
.faithful-ui .market-poster .home-enter{left:20px;top:auto;bottom:66px;min-height:44px;background:#f7f0da;color:#23472e!important;border:1px solid #fff8e5;border-radius:24px;padding:12px 17px;gap:20px;font-size:12px;box-shadow:0 3px 10px #182e2633}
.poster-footer{position:absolute;bottom:37px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:13px;color:#f3eed6;font-size:7px;letter-spacing:1.1px}.poster-footer i{font-style:normal;font-size:16px;color:#d5e498}
.faithful-ui .home-banner-controls{bottom:6px}.faithful-ui .home-banner-controls .banner-play{min-height:27px;font-size:9px;padding:5px 10px}
/* Navigation keeps the header and tab bar still while the content changes. */
.app-ui header{view-transition-name:immami-header}.app-ui .app-tabs{view-transition-name:immami-tabs}.app-ui main{view-transition-name:immami-content}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-old(immami-content){animation:marketLeave .22s ease both}
::view-transition-new(immami-content){animation:marketArrive .42s cubic-bezier(.2,.8,.2,1) both}
body[data-page-direction="back"]::view-transition-new(immami-content){animation-name:marketReturn}
.faithful-ui .product{animation:none}
.faithful-ui .product.counter-new{animation:counterArrive .4s both;animation-delay:calc(var(--reveal-order,0)*32ms)}
.faithful-ui .category-photo{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}.faithful-ui .category-photo-grid button:active .category-photo{transform:scale(.92) rotate(-5deg)}
.faithful-ui .market-poster.banner-in-view .poster-ticket{animation:ticketStamp .65s cubic-bezier(.2,.8,.2,1) both}
.faithful-ui .market-poster.banner-in-view .poster-photo{animation:marketPhotoReveal 1.1s cubic-bezier(.2,.7,.2,1) both}
.faithful-ui .unpacking .overhead-world{animation:lookInside .65s cubic-bezier(.2,.8,.2,1) both}
.faithful-ui .basket-page-arrival{animation:lookInside .35s ease-out}
.faithful-ui .natural-packed-food.food-added .overhead-food-art{animation:packedContact .4s ease-out}
@keyframes ticketStamp{from{opacity:0;transform:translateY(-13px) rotate(18deg) scale(1.15)}to{opacity:1;transform:rotate(9deg)}}
@keyframes marketPhotoReveal{from{transform:scale(1.12);opacity:.6}to{transform:scale(1.03);opacity:1}}
@keyframes marketLeave{to{opacity:0;transform:scale(.98) translateX(-12px)}}
@keyframes marketArrive{from{opacity:0;transform:translateX(28px) scale(.985)}to{opacity:1;transform:none}}
@keyframes marketReturn{from{opacity:0;transform:translateX(-28px) scale(.985)}to{opacity:1;transform:none}}
@keyframes counterArrive{from{opacity:.2;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes lookInside{from{opacity:.3;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}
@keyframes packedContact{0%{transform:scale(.98)}35%{transform:scale(1.035) rotate(1deg)}75%{transform:scale(.995)}100%{transform:none}}
.nature-still .product,.nature-still .poster-ticket,.nature-still .poster-photo,.nature-still .overhead-world,.nature-still .overhead-food-art,.nature-still .basket-page-arrival{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.faithful-ui .product,.faithful-ui .poster-ticket,.faithful-ui .poster-photo,.faithful-ui .overhead-world,.faithful-ui .overhead-food-art,.faithful-ui .basket-page-arrival{animation:none!important;transition:none!important}::view-transition-old(immami-content),::view-transition-new(immami-content){animation:none!important}}
@media(max-width:350px){.faithful-ui .home-banner-track>.market-poster.photo-banner{height:430px}.faithful-ui .market-poster h1{font-size:35px}.poster-ticket{right:14px;top:181px;width:94px}.poster-footer{gap:8px;font-size:6px}.faithful-ui .overhead-heading{padding-left:16px}.faithful-ui .overhead-instructions{margin-left:16px}}
