:root{--ink:#17211e;--green:#087f69;--cream:#fffaf1;--yellow:#ffc244;--line:#e8e1d6;--muted:#69736e}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:2;left:0;right:0}.brand{font:800 30px 'Outfit',sans-serif;letter-spacing:-1.5px;color:var(--green);text-decoration:none}.brand span{color:var(--ink)}.brand i{font-style:normal;color:var(--green)}nav{display:flex;gap:28px}nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.login-button{border:0;background:var(--green);color:#fff;padding:11px 20px;border-radius:24px;font:600 14px inherit;cursor:pointer}.hero{min-height:607px;overflow:hidden;position:relative;background:var(--yellow)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:570px;padding-top:65px}.eyebrow{color:var(--green);font-size:11px;font-weight:700;letter-spacing:1.3px;margin:0 0 11px}.hero h1,.stores h2,.how-it-works h2{font:800 clamp(44px,5vw,68px)/.97 'Outfit',sans-serif;letter-spacing:-2.7px;margin:0}.hero h1 em{font-style:normal;color:var(--green)}.hero-text{font-size:17px;line-height:1.5;max-width:500px;margin:24px 0}.address-search{height:60px;max-width:540px;border-radius:13px;background:#fff;box-shadow:0 9px 22px #9e711a33;display:flex;align-items:center;padding:6px 7px 6px 17px}.pin{color:var(--green);font-size:24px;margin-right:8px}.address-search input{border:0;outline:0;font:500 15px inherit;min-width:0;flex:1;color:var(--ink)}.address-search button{height:48px;border:0;border-radius:10px;background:#e0f1ea;color:var(--green);font:700 14px inherit;padding:0 16px;cursor:pointer;white-space:nowrap}.address-search button span{font-size:19px;margin-left:5px}.location-link{margin:14px 0;background:none;border:0;color:var(--green);font:600 13px inherit;cursor:pointer}.hero-art{height:420px;position:relative}.orb{position:absolute;border-radius:50%;background:#ffe396}.orb-one{width:365px;height:365px;right:50px;top:22px}.orb-two{width:94px;height:94px;right:8px;bottom:50px;background:#f9b527}.paper-bag{position:absolute;right:110px;top:85px;width:210px;height:250px;background:#c49455;clip-path:polygon(10% 8%,88% 0,100% 96%,0 100%);box-shadow:0 15px 20px #81541933;transform:rotate(5deg);display:flex;align-items:center;justify-content:center;color:#fff5dc;font:800 25px/1 'Outfit';text-align:center}.paper-bag b{position:absolute;font-size:48px}.paper-bag b:nth-of-type(1){top:-39px;left:14px;transform:rotate(-18deg)}.paper-bag b:nth-of-type(2){top:-35px;right:13px;transform:rotate(22deg)}.paper-bag b:nth-of-type(3){top:-48px;right:69px}.floating-card{position:absolute;background:#fff;border-radius:13px;padding:12px 15px;box-shadow:0 13px 26px #7d591d2e;display:flex;gap:10px;align-items:center}.delivery-card{left:0;bottom:65px}.delivery-card>span{width:35px;height:35px;display:grid;place-items:center;background:#e3f2ec;color:var(--green);border-radius:50%}.floating-card strong{display:block;font-size:13px}.floating-card small{color:var(--muted);font-size:11px}.rating-card{right:5px;top:76px;display:block}.rating-card span{color:#f5ad09;font-size:9px;letter-spacing:1px}.hero-wave{position:absolute;bottom:-1px;width:100%;height:77px}.categories{display:flex;gap:13px;transform:translateY(-31px);overflow-x:auto;padding-bottom:4px}.category{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 17px;display:flex;align-items:center;gap:8px;white-space:nowrap;font:600 14px inherit;cursor:pointer}.category span{font-size:20px}.category.active{background:var(--green);color:#fff;border-color:var(--green)}.stores{padding:33px 0 85px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.stores h2,.how-it-works h2{font-size:36px;letter-spacing:-1.4px}.text-link{border:0;background:transparent;color:var(--green);font:700 14px inherit;cursor:pointer}.store-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.store-card{background:#fff;border:1px solid #eee6d8;border-radius:17px;overflow:hidden;box-shadow:0 5px 15px #162d1b0a}.store-image{width:100%;height:154px;object-fit:cover;display:block}.store-info{padding:13px 14px 15px}.store-name{font:700 16px 'Outfit';margin:0 0 5px}.store-meta{font-size:12px;color:var(--muted);margin:0}.store-meta b{color:var(--green)}.add-button{margin-top:12px;width:100%;background:#eff7f4;color:var(--green);border:0;border-radius:8px;padding:8px;font:700 12px inherit;cursor:pointer}.how-it-works{background:#e5f3ed;padding:75px 0}.how-it-works h2{margin-bottom:36px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{background:#fffaf1;border-radius:14px;padding:24px}.steps span{color:var(--green);font:700 13px 'Outfit'}.steps h3{font:700 20px 'Outfit';margin:29px 0 8px}.steps p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.basket{position:fixed;right:27px;bottom:26px;z-index:4}.basket-button{border:0;border-radius:14px;background:var(--green);color:#fff;padding:14px 17px;box-shadow:0 8px 20px #087f6959;font:700 14px inherit;display:flex;gap:8px;align-items:center;cursor:pointer}.basket-button b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--green);font-size:11px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,90px);opacity:0;transition:.25s;background:var(--ink);color:#fff;border-radius:10px;padding:12px 18px;font-size:14px;z-index:5}.toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:780px){.shell{width:min(100% - 32px,600px)}nav{display:none}.hero{min-height:680px}.hero-grid{display:block;padding-top:137px}.hero-art{height:270px;margin-top:12px}.orb-one{width:245px;height:245px;right:16px;top:0}.paper-bag{transform:scale(.72) rotate(5deg);transform-origin:top right;right:34px;top:42px}.delivery-card{bottom:5px;left:3px}.rating-card{right:1px;top:24px}.address-search{height:auto}.address-search button{padding:0 10px}.categories{width:100%;padding-left:16px}.store-grid{grid-template-columns:repeat(2,1fr);gap:12px}.store-image{height:125px}.store-info{padding:11px}.stores{padding-top:22px}.section-heading{align-items:center}.section-heading .text-link{font-size:12px}.steps{grid-template-columns:1fr}.how-it-works{padding:55px 0}.hero h1{font-size:48px}.basket{right:16px;bottom:16px}.basket-button span{display:none}}@media(max-width:390px){.address-search{padding-left:10px}.address-search button{font-size:12px}.hero-text{font-size:15px}}

/* Store menu and basket flow */
.store-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.scrim{position:fixed;inset:0;background:#17211e80;opacity:0;visibility:hidden;transition:.2s;z-index:7}.scrim.show{visibility:visible;opacity:1}.store-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.2s;z-index:8}.store-modal.show{visibility:visible;opacity:1}.modal-card{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;position:relative;background:var(--cream);border-radius:22px;box-shadow:0 22px 55px #17211e55}.close-button{border:0;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink);font:400 28px/1 inherit;cursor:pointer;display:grid;place-items:center}.modal-card>.close-button{position:absolute;right:17px;top:17px;z-index:1}.menu-hero{height:185px;position:relative}.menu-hero img{width:100%;height:100%;object-fit:cover}.menu-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17211e8f,transparent)}.menu-title{position:absolute;left:25px;bottom:19px;color:#fff;z-index:1}.menu-title h2{font:700 30px 'Outfit';margin:0}.menu-title p{margin:4px 0 0;font-size:13px}.menu-body{padding:25px}.menu-body h3{font:700 20px 'Outfit';margin:0 0 5px}.menu-body>p{font-size:13px;color:var(--muted);margin:0 0 17px}.menu-item{background:#fff;border:1px solid #eee6d8;border-radius:12px;padding:13px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-item h4{font:700 15px 'Outfit';margin:0 0 3px}.menu-item p{font-size:12px;color:var(--muted);margin:0}.menu-item b{font-size:13px;white-space:nowrap}.menu-item button{border:0;border-radius:8px;background:var(--green);color:#fff;width:30px;height:30px;font-size:20px;cursor:pointer}.cart-drawer{position:fixed;z-index:9;right:0;top:0;height:100vh;width:min(430px,100%);background:var(--cream);padding:26px;transform:translateX(100%);transition:.25s;box-shadow:-12px 0 35px #17211e24;display:flex;flex-direction:column}.cart-drawer.show{transform:translateX(0)}.cart-drawer header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.cart-drawer header h2{font:700 30px 'Outfit';margin:0}.cart-content{flex:1;overflow:auto}.empty-basket{text-align:center;color:var(--muted);padding:76px 25px}.empty-basket span{display:block;font-size:42px;margin-bottom:10px}.cart-store{padding:22px 0 10px;font:700 16px 'Outfit'}.cart-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line h4{margin:0 0 3px;font-size:14px}.cart-line p{margin:0;color:var(--muted);font-size:12px}.qty-control{display:flex;align-items:center;gap:7px}.qty-control button{border:0;background:#e0f1ea;color:var(--green);width:27px;height:27px;border-radius:7px;font-size:17px;cursor:pointer}.checkout-box{margin-top:auto;background:#fff;border:1px solid var(--line);padding:17px;border-radius:14px}.total-row{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.total-row.total{padding-top:10px;margin-top:10px;border-top:1px solid var(--line);font:700 17px 'Outfit'}.checkout-button{margin-top:13px;width:100%;border:0;border-radius:10px;padding:14px;background:var(--green);color:#fff;font:700 14px inherit;cursor:pointer}.tracking{padding:39px 0;text-align:center}.tracking-icon{width:66px;height:66px;display:grid;place-items:center;background:#e0f1ea;border-radius:50%;margin:0 auto 14px;font-size:30px}.tracking h3{font:700 24px 'Outfit';margin:0 0 8px}.tracking>p{color:var(--muted);font-size:14px;line-height:1.5}.timeline{text-align:left;border-left:2px solid #d6e9e1;margin:28px 12px;padding-left:19px}.timeline p{position:relative;font-size:13px;margin:0 0 20px}.timeline p:before{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);left:-25px;top:4px}.timeline p:last-child:before{background:#fff;border:2px solid #b4d4c7;width:7px;height:7px}@media(max-width:780px){.cart-drawer{padding:20px}.menu-body{padding:19px}}

/* Premium motion: composited transforms only, with a calm reduced-motion fallback. */
html{scroll-behavior:smooth}.topbar{animation:fade-down .65s .08s both}.hero-copy{animation:rise-in .75s .18s both}.hero-art{animation:rise-in .85s .32s both}.paper-bag{animation:bag-float 5.5s ease-in-out infinite;will-change:transform}.delivery-card{animation:float-card 4.7s ease-in-out infinite;will-change:transform}.rating-card{animation:float-card 5.3s .6s ease-in-out infinite;will-change:transform}.category{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.category:hover{transform:translateY(-3px);box-shadow:0 9px 18px #17211e14}.store-card{animation:rise-in .55s var(--delay,0ms) both;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}.store-card:hover{transform:translateY(-7px);box-shadow:0 17px 29px #17211e18}.store-image{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.store-card:hover .store-image{transform:scale(1.055)}.login-button,.address-search button,.add-button,.checkout-button,.menu-item button,.basket-button,.close-button{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.login-button:hover,.address-search button:hover,.checkout-button:hover,.basket-button:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 9px 18px #087f6933}.add-button:hover,.menu-item button:hover{transform:scale(1.06)}.basket-button.is-active{animation:basket-pop .38s cubic-bezier(.2,.9,.25,1.35)}.store-modal.show .modal-card{animation:modal-pop .32s cubic-bezier(.2,.8,.2,1) both}.cart-drawer.show{animation:drawer-in .3s cubic-bezier(.2,.8,.2,1) both}.menu-item{animation:rise-in .35s both}.menu-item:nth-of-type(2){animation-delay:.06s}.menu-item:nth-of-type(3){animation-delay:.12s}.menu-item:nth-of-type(4){animation-delay:.18s}.tracking-icon{animation:tracking-pulse 2.2s ease-in-out infinite}@keyframes fade-down{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes bag-float{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(3deg) translateY(-10px)}}@keyframes float-card{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes basket-pop{50%{transform:scale(1.09)}100%{transform:scale(1)}}@keyframes modal-pop{from{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes tracking-pulse{0%,100%{box-shadow:0 0 0 0 #087f6933}50%{box-shadow:0 0 0 12px #087f6900}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Live-delivery tracking prototype */
.delivery-map{height:190px;border-radius:16px;position:relative;overflow:hidden;background-color:#d9eee6;background-image:linear-gradient(115deg,transparent 0 42%,#fbfaf2 42% 47%,transparent 47% 100%),linear-gradient(25deg,transparent 0 35%,#fbfaf2 35% 41%,transparent 41% 100%),linear-gradient(178deg,transparent 0 61%,#fbfaf2 61% 68%,transparent 68% 100%);border:1px solid #c9e3d9;margin-bottom:22px}.delivery-map:before,.delivery-map:after{content:'';position:absolute;border:1px solid #a7d4c1;border-radius:50%;opacity:.65}.delivery-map:before{width:125px;height:125px;right:-39px;top:-37px}.delivery-map:after{width:76px;height:76px;left:-22px;bottom:-29px}.map-label{position:absolute;background:#fff;border-radius:8px;padding:6px 9px;box-shadow:0 5px 14px #087f6924;font-size:11px;font-weight:700}.map-label.store{top:27px;left:26px}.map-label.home{bottom:25px;right:24px}.route-line{position:absolute;left:74px;top:71px;width:220px;height:77px;border-left:3px dashed #087f69;border-bottom:3px dashed #087f69;border-radius:0 0 0 33px;transform:rotate(-8deg);opacity:.75}.rider-dot{position:absolute;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#087f69;color:#fff;box-shadow:0 6px 14px #087f6950;font-size:14px;animation:rider-route 6.5s ease-in-out infinite;will-change:transform}.eta-pill{display:inline-flex;align-items:center;gap:6px;background:#e0f1ea;color:#087f69;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:700}.tracking-status{font:700 22px 'Outfit';margin:12px 0 6px}.rider-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;text-align:left;margin:17px 0}.rider-avatar{height:36px;width:36px;display:grid;place-items:center;border-radius:50%;background:#ffe4a1;font-size:18px}.rider-card strong{font-size:13px;display:block}.rider-card small{font-size:11px;color:var(--muted)}.rider-card button{margin-left:auto;border:0;background:#e0f1ea;color:#087f69;border-radius:8px;padding:7px 9px;font:700 11px inherit;cursor:pointer}@keyframes rider-route{0%,100%{transform:translate(74px,69px)}48%{transform:translate(164px,88px)}78%{transform:translate(252px,125px)}}

/* Soft embossed treatment for the primary account action. */
.login-button{border-radius:10px;background:linear-gradient(180deg,#24a88e 0%,#087f69 42%,#056754 100%);box-shadow:inset 0 2px 0 #ffffff70,inset 0 -3px 0 #034d3f,inset 0 10px 14px #ffffff1f,0 4px 7px #05675435;text-shadow:0 -1px 0 #034d3f70}

/* Rectangular actions share the login button's softly rounded silhouette. */
.login-button,.address-search button,.category,.add-button,.basket-button,.checkout-button,.auth-switch,.rider-card button{border-radius:10px}

/* A gentle, touch-friendly category carousel. */
.categories{scroll-behavior:auto;scroll-snap-type:x proximity;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{scroll-snap-align:start}

/* Hero carousel: category-aware imagery remains a soft part of the yellow brand field. */
.hero-category-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-category-image{position:absolute;inset:-5%;opacity:0;background:center/cover no-repeat;mix-blend-mode:multiply;filter:saturate(.72) contrast(.9);transform:scale(1.02);will-change:opacity,transform;transition:opacity 1500ms cubic-bezier(.4,0,.2,1)}.hero-category-image.is-visible{opacity:.1;animation:hero-category-zoom 8s cubic-bezier(.2,.65,.2,1) both}.hero-grid,.categories{z-index:1}.hero-grid{position:relative}.categories{position:absolute;left:0;right:0;bottom:26px;width:min(1180px,calc(100% - 48px));margin:auto;transform:none;z-index:3;overscroll-behavior-x:contain}.hero-wave{z-index:2;pointer-events:none}@keyframes hero-category-zoom{from{transform:scale(1.02)}to{transform:scale(1.16)}}

@media(max-width:780px){.hero{min-height:590px}.hero-grid{min-height:0;padding-top:121px}.hero-art{display:none}.categories{top:478px;bottom:auto;width:calc(100% - 24px);padding-left:0}.hero-wave{height:48px}.hero-category-image{background-position:64% center}}

/* Shared rectangular corner language: gently softened, never pill-like. */
.login-button,.address-search,.address-search button,.category,.store-card,.add-button,.floating-card,.basket-button,.toast,.modal-card,.menu-item,.menu-item button,.cart-drawer,.checkout-box,.checkout-button,.qty-control button,.auth-card,.auth-card input,.auth-switch,.account-card,.saved-address,.address-form input,.address-form button,.rider-card,.rider-card button,.delivery-map,.map-label,.eta-pill{border-radius:9px}

/* Customer account modal */
.auth-modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.2s}.auth-modal.show{opacity:1;visibility:visible}.auth-card{position:relative;width:min(420px,100%);padding:31px;background:var(--cream);border-radius:20px;box-shadow:0 22px 55px #17211e55;animation:modal-pop .32s cubic-bezier(.2,.8,.2,1) both}.auth-card>.close-button{position:absolute;top:15px;right:15px}.auth-card h2{font:700 29px 'Outfit';margin:0}.auth-copy{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 21px}.auth-card label{display:grid;gap:6px;font-size:12px;font-weight:700;margin-top:13px}.auth-card label[hidden]{display:none}.auth-card input{height:45px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:0 12px;font:400 14px inherit;outline-color:var(--green)}.auth-message{min-height:18px;margin:11px 0 0;color:#bc4336;font-size:12px}.auth-message.success{color:var(--green)}.auth-switch{width:100%;border:0;background:transparent;color:var(--green);padding:14px 4px 0;font:700 12px inherit;cursor:pointer}

