/* One consistent canvas across all four highlights. */
.faithful-ui .home-banner-track>.home-scene.photo-banner{height:450px;min-height:450px;box-sizing:border-box}
.faithful-ui .home-banner-track{align-items:stretch}
.faithful-ui .harvest-banner.photo-banner .home-still{height:255px;bottom:36px}
.faithful-ui .harvest-banner.photo-banner .home-scene-copy,.faithful-ui .routine-banner.photo-banner .home-scene-copy{padding-top:28px}
.faithful-ui .routine-banner.photo-banner{background-position:61% center}
.faithful-ui .supper-banner.photo-banner{background:#e9d5a7;background-image:radial-gradient(ellipse at 70% 78%,#f8eccf 0 30%,transparent 31%);color:#314831}
.faithful-ui .supper-banner.photo-banner .home-scene-copy{text-shadow:none;padding:28px 23px 0}
.faithful-ui .supper-banner.photo-banner .home-edition{display:block;color:#7b6436;font-size:8px;letter-spacing:1.4px;margin-bottom:17px}
.faithful-ui .supper-banner.photo-banner h2{color:#2b4933;font-size:39px;max-width:100%;letter-spacing:-1.7px}
.faithful-ui .supper-banner.photo-banner .home-scene-copy p{color:#685b40;font-size:12px}
.faithful-ui .supper-banner.photo-banner .home-still{display:block;left:auto;right:-12px;width:255px;height:210px;bottom:57px;transform:rotate(-7deg)}
.supper-banner .home-orbit{display:block;position:absolute;inset:15px;background:#f8f0d8;border:1px solid #c5ae7d;border-radius:50%;box-shadow:inset 0 0 0 9px #eadbb8,0 4px 8px #77633c22;transform:none;width:auto;height:auto}
.supper-banner .home-orbit:after{display:none}.supper-banner .banner-food{position:absolute;filter:saturate(.85) drop-shadow(1px 2px 1px #54462d36)}
.supper-banner .banner-food-0{width:110px;height:110px;left:10px;bottom:18px}.supper-banner .banner-food-1{width:140px;height:140px;right:27px;top:0}.supper-banner .banner-food-2{width:75px;height:75px;right:23px;bottom:10px}.supper-banner .banner-food-3{width:90px;height:90px;left:21px;top:0}
.faithful-ui .supper-banner.photo-banner .home-enter{top:auto;bottom:54px;left:20px;background:#284d36;color:#fff8e5!important;min-height:44px;z-index:6}
/* Visible botanical accents live around the content, never over controls. */
.faithful-ui .home-studio{position:relative;isolation:isolate;overflow:hidden}.living-sprigs{position:absolute;inset:0;pointer-events:none;z-index:-1;color:#688e4f}.living-sprigs>span{position:absolute;width:92px;height:125px;right:-29px;top:560px;transform-origin:55% 95%;transform:rotate(-27deg);animation:sprigBreeze 7s ease-in-out infinite alternate}.living-sprigs svg{display:block;width:100%;height:100%}.living-sprigs>span:nth-child(2){left:-31px;right:auto;top:1040px;width:100px;transform:rotate(30deg);animation-delay:-3s;color:#8a9a60}.living-sprigs>span:nth-child(3){top:1580px;right:-34px;animation-delay:-5s;color:#799a61}.faithful-ui .home-categories,.faithful-ui .home-fresh-counter{position:relative}.faithful-ui .category-photo-grid{gap:15px 9px}.faithful-ui .category-photo{border-radius:24px 24px 12px 24px;background:#e3e9d6}.faithful-ui .category-photo-grid b{font-weight:600}.faithful-ui .category-photo-grid small{font-size:9px}
@keyframes sprigBreeze{from{rotate:-4deg}to{rotate:5deg}}
/* Keep photographic scale constant: these are food groups, not stretched tiles. */
.faithful-ui .natural-packed-food .overhead-food-art>.produce-sprite{filter:saturate(.78) brightness(.91) contrast(.95) drop-shadow(.5px 1px .6px #3425148a) drop-shadow(1px 2px 2px #34251430)}
.faithful-ui .natural-packed-food[aria-pressed="true"] .overhead-food-art>.produce-sprite{filter:saturate(.84) brightness(.94) contrast(.96) drop-shadow(.5px 1px .6px #3425148a) drop-shadow(1px 2px 2px #34251430)}
.faithful-ui .overhead-lining:after{background:linear-gradient(160deg,#fff2d008,transparent 45%,#40271212);box-shadow:inset 0 8px 14px -8px #2a190c8a,inset -6px -4px 12px -8px #37251165}
/* Gentle dissolve: no sideways push, zoom, or tilted basket entrance. */
::view-transition-old(immami-content){animation:softPageOut .14s ease-out both}
::view-transition-new(immami-content),body[data-page-direction="back"]::view-transition-new(immami-content){animation:softPageIn .26s ease-out both}
.faithful-ui .unpacking .overhead-world,.faithful-ui .basket-page-arrival{animation:softPageIn .28s ease-out both}.faithful-ui .product.counter-new{animation:softPageIn .28s ease-out both;animation-delay:calc(var(--reveal-order,0)*22ms)}
.faithful-ui .market-poster.banner-in-view .poster-ticket{animation:softPageIn .45s ease-out both}.faithful-ui .market-poster.banner-in-view .poster-photo{animation:none;transform:none}.faithful-ui .natural-packed-food.food-added .overhead-food-art{animation:quietSettle .24s ease-out}
@keyframes softPageOut{to{opacity:0}}@keyframes softPageIn{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes quietSettle{50%{transform:scale(.975)}100%{transform:none}}
/* Weekly sets: a small collection of distinct, editable market bundles. */
.faithful-ui[data-app-screen="weekly"] .weekly{margin:14px 16px 25px;padding:0}.faithful-ui .weekly-head{position:relative;display:block;padding:26px 22px 24px;border-radius:22px;background:#254b35;color:#eff4dd;overflow:hidden;margin-bottom:17px}.faithful-ui .weekly-head:after{content:'↻';position:absolute;right:12px;top:8px;font-size:114px;line-height:1;color:#b4ca8130;pointer-events:none}.faithful-ui .weekly-head .eyebrow{color:#c3d3a1;font-size:8px;letter-spacing:1.1px}.faithful-ui .weekly-head h2{font-family:Arial,Helvetica,sans-serif;font-size:34px;letter-spacing:-1.3px;line-height:1.06;color:#f6f3df;margin:13px 0}.faithful-ui .weekly-head p{font-size:12px;line-height:1.5;color:#d0dbc0;max-width:220px}.faithful-ui .weekly-head>a{display:inline-flex;background:#edf0d6;color:#28482e;border:0;border-radius:22px;padding:11px 15px;margin-top:15px;font-size:11px}
.weekly-options{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:0 0 17px}.weekly-options button{flex:none;white-space:nowrap;min-height:38px;padding:9px 14px;border-radius:20px;border:1px solid #d3dbc5;background:transparent;color:#526846;font-size:11px}.weekly-options button[aria-pressed="true"]{background:#35583b;color:#f5f5de;border-color:#35583b}
.faithful-ui .weekly-grid{display:grid;grid-template-columns:1fr;gap:17px}.faithful-ui .weekly-card{position:relative;padding:22px 19px 17px;border:1px solid #d9e0c9;border-radius:20px;background:#edf0df;overflow:hidden}.faithful-ui .weekly-card[hidden]{display:none!important}.faithful-ui .weekly-card:nth-child(2){background:#f1e7d6;border-color:#e4d7c2}.faithful-ui .weekly-card:nth-child(3){background:#e2eadd;border-color:#ccd9c2}.weekly-edition{position:absolute;right:18px;top:15px;font-size:43px;letter-spacing:-2px;color:#51684528;font-weight:600}.faithful-ui .set-tag{font-size:8px;letter-spacing:1.2px;background:none;padding:0;color:#71805e}.faithful-ui .set-art{height:145px;margin:8px 0 6px;position:relative;border-bottom:1px solid #9caa7c40}.faithful-ui .set-art .produce-sprite{width:130px;height:130px;left:calc(50% - 128px + var(--offset));top:0;bottom:auto;transform:rotate(var(--tilt));filter:saturate(.8) drop-shadow(1px 3px 2px #64704621)}.faithful-ui .weekly-card h3{font-size:26px;font-weight:600;letter-spacing:-.8px;margin:12px 0 8px;color:#2b4931}.faithful-ui .weekly-card>p{font-size:12px;line-height:1.55;color:#718066;max-width:280px;min-height:0}.weekly-food-list{font-size:10px;color:#7c886b;line-height:1.7;border-top:1px dashed #aab38e7a;padding-top:11px;margin:13px 0}.faithful-ui .set-meta{margin:12px 0 14px}.faithful-ui .set-meta strong{font-size:19px;color:#2d4b32}.faithful-ui .set-meta>span{font-size:10px;color:#7a876d}.faithful-ui .weekly-card>button{width:100%;min-height:43px;background:#35583b;border:0;border-radius:12px;color:#f9f7e7;font-size:12px;padding:12px 15px;display:flex;justify-content:space-between}.faithful-ui .saved-restock{margin-top:23px;border:1px dashed #a8b795;border-radius:18px;padding:21px;background:#f0f3e7}.faithful-ui .saved-restock h3{font-size:20px;letter-spacing:-.5px}.faithful-ui .saved-restock p{font-size:12px;line-height:1.6}
.repeat-basket{display:flex;align-items:center;gap:12px;width:calc(100% - 34px);margin:0 17px 25px;padding:16px;border:1px solid #d8e1c8;background:#e9efdd;border-radius:15px;text-align:left;color:#3d5c37}.repeat-basket>span{font-size:28px}.repeat-basket>div{flex:1}.repeat-basket b{display:block;font-size:12px;font-weight:600}.repeat-basket small{display:block;font-size:10px;margin-top:5px;line-height:1.4;color:#77876b}.repeat-basket i{font-style:normal;font-size:20px}.repeat-basket:disabled{opacity:.65}
.inside-budget{display:grid;grid-template-columns:1fr 115px;gap:13px 8px;margin:15px 5px;padding:16px;border-radius:15px;background:#edf1e2;border:1px solid #d9e1ca}.inside-budget .eyebrow{font-size:7px;letter-spacing:.8px;color:#7a896a}.inside-budget label{display:block;font-size:13px;margin-top:7px;color:#355438}.inside-budget-input{display:flex;align-items:center;gap:5px;border:1px solid #cbd8bc;border-radius:10px;background:#fafbf4;padding:7px}.inside-budget-input span{font-size:10px;color:#758864}.inside-budget-input input{width:100%;min-width:0;border:0;background:none;outline:none;font-size:14px;padding:5px 0;color:#365633}.inside-budget-input:focus-within{outline:2px solid #78985d}#inside-budget-meter{grid-column:1/-1;height:5px;border-radius:8px;background:#d5dfc6;overflow:hidden}#inside-budget-meter i{display:block;width:var(--spent,0%);height:100%;background:#638348;border-radius:8px;transition:width .25s}#inside-budget-status{grid-column:1/-1;margin:0;font-size:11px;color:#68815a}#inside-budget-status.over-budget{color:#a34c32}
.nature-still .living-sprigs>span{animation:none}.nature-still #inside-budget-meter i{transition:none}@media(prefers-reduced-motion:reduce){.living-sprigs>span{animation:none}#inside-budget-meter i{transition:none}::view-transition-old(immami-content),::view-transition-new(immami-content){animation:none!important}}
@media(max-width:350px){.faithful-ui .home-banner-track>.home-scene.photo-banner{height:430px;min-height:430px}.faithful-ui .weekly-head h2{font-size:30px}.faithful-ui .supper-banner.photo-banner h2{font-size:34px}.faithful-ui .set-art .produce-sprite{width:110px;height:110px;left:calc(50% - 121px + var(--offset))}}
