:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:#263329;background:#f6f3ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding-bottom:calc(96px + env(safe-area-inset-bottom));background:#f6f3ec}.app-header{height:78px;display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:0 28px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#284535;color:#fff;font-size:26px;font-weight:800;letter-spacing:-.11em;padding-right:4px}.brand-mark span,.cup-body span{color:#e39d6a}.brand strong{display:block;font-size:18px;letter-spacing:.15em;line-height:1.1}.brand small{display:block;margin-top:4px;font-size:8px;letter-spacing:.22em;font-weight:800;color:#7a8378}.header-cart{border:1px solid #dfe3d8;background:#fff;border-radius:15px;padding:9px 10px 9px 16px;display:flex;align-items:center;gap:12px;color:#35513d;font-size:12px;font-weight:800}.header-cart b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:8px;color:#fff;background:#315b41;font-size:11px}.main{max-width:1200px;margin:0 auto;padding:0 28px}.hero{min-height:350px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:space-between;border-radius:30px;padding:48px 7%;background:radial-gradient(circle at 75% 52%,#e8d3b6 0 17%,transparent 18%),linear-gradient(115deg,#dfe8d9,#d7e0d1 63%,#c9d7c7)}.hero:before{content:"";position:absolute;right:-100px;top:-120px;width:390px;height:390px;border:1px solid #c2cdbd;border-radius:50%;box-shadow:0 0 0 90px #d2dfcf66,0 0 0 180px #d2dfcf55}.hero-copy{position:relative;z-index:2;max-width:570px}.eyebrow{display:block;color:#6d866c;font-size:10px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}.hero h1{margin:18px 0 12px;font-size:clamp(43px,5vw,74px);letter-spacing:-.075em;line-height:1.05;color:#2a4733}.hero h1 em{font-style:normal;color:#bd6d43}.hero p{color:#637264;font-size:14px;line-height:1.7;max-width:430px;margin:0}.hero-location{display:inline-flex;align-items:center;gap:9px;margin-top:24px;border-radius:50px;padding:10px 15px;color:#3f654b;background:#ffffffa6;font-size:11px;font-weight:800}.location-dot{width:8px;height:8px;border-radius:50%;background:#6ba675;box-shadow:0 0 0 4px #d6e8d3}.hero-cup{position:relative;z-index:1;margin-right:10%;width:195px;height:210px;transform:rotate(-6deg);filter:drop-shadow(24px 22px 18px #72896e4d)}.cup-lid{position:absolute;left:12px;top:52px;width:170px;height:27px;border-radius:50% 50% 35% 35%;background:#fef9ec;box-shadow:0 7px #e7dccc,0 16px #e4d6c1}.cup-body{position:absolute;left:21px;top:78px;width:151px;height:127px;display:grid;place-items:center;padding-right:14px;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%);border-radius:8px 8px 18px 18px;background:linear-gradient(105deg,#c67b4e,#b86c42 60%,#9c5837);color:#fff9ed;font-weight:800;font-size:70px;letter-spacing:-.13em}.cup-steam{position:absolute;top:0;width:16px;height:40px;border-radius:50%;border-left:3px solid #f6f7ee;opacity:.8;transform:rotate(22deg)}.steam-one{left:72px}.steam-two{left:109px;top:8px}.menu-section,.orders-section{padding:42px 0 18px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:22px}.section-heading h2{margin:7px 0 0;color:#263d2e;font-size:clamp(27px,3.2vw,39px);letter-spacing:-.055em}.section-aside{color:#9ba79a;font-size:12px}.categories{display:flex;gap:8px;overflow:auto;padding:0 0 21px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{flex:0 0 auto;border:1px solid #e0e5db;color:#647467;background:#fff;padding:10px 18px;border-radius:13px;font-size:12px;font-weight:800}.category.active{background:#315940;border-color:#315940;color:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card{display:flex;flex-direction:column;text-align:left;min-width:0;padding:13px 13px 14px;border:1px solid #ecebe4;border-radius:23px;background:#fff;box-shadow:0 8px 20px #3f5c3b08;color:#28392c;transition:transform .18s ease,box-shadow .18s ease}.product-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 30px #3f5c3b12}.product-art{width:100%;min-height:156px;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 50% 50%,#f8ebd9 0,#f8ebd9 27%,#f1e5d5 29%,#f1e5d5 54%,#f5ede2 56%)}.product-art span{font-size:70px;line-height:1;filter:drop-shadow(2px 12px 9px #885f4550)}.product-category{color:#9ea99d;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:14px 4px 5px}.product-card strong{margin:0 4px;font-size:15px;letter-spacing:-.02em}.product-description{margin:6px 4px 0;min-height:34px;color:#97a097;font-size:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-footer{display:flex;align-items:center;justify-content:space-between;margin:auto 4px 0;padding-top:12px;color:#315940;font-size:14px}.add-button{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;color:#fff;background:#315940;font-size:20px;font-weight:400;line-height:1}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;padding:13px 16px;background:#f9e9cf;color:#805932;font-size:12px;margin:0 0 18px}.notice.error{background:#fbe5df;color:#a14d38}.notice button{border:0;background:transparent;color:inherit;font-weight:800}.loading,.empty{padding:40px 20px;text-align:center;color:#8d9a8d;font-size:13px}.bottom-nav{position:fixed;z-index:15;left:50%;bottom:0;transform:translate(-50%);width:min(100%,500px);display:flex;padding:8px 15px calc(9px + env(safe-area-inset-bottom));border:1px solid #e7e9e2;border-bottom:0;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -8px 25px #23412e0d}.bottom-nav button{position:relative;flex:1;border:0;background:transparent;color:#99a398;font-size:10px;font-weight:800;padding:3px 6px}.bottom-nav button.active{color:#315940}.bottom-nav button span{display:block;font-size:24px;line-height:1.15;font-weight:400}.bottom-nav i{position:absolute;width:5px;height:5px;border-radius:50%;background:#c97949;margin-left:5px}.floating-cart{position:fixed;z-index:14;bottom:calc(78px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 28px),480px);display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:0;border-radius:16px;color:#fff;background:#315940;box-shadow:0 10px 24px #3159404d;font-size:13px}.floating-cart span{display:flex;align-items:center;gap:10px}.floating-cart span b{background:#ffffff2e;border-radius:8px;min-width:25px;height:25px;display:grid;place-items:center}.orders-section{max-width:760px;margin:0 auto}.order-list{display:grid;gap:10px}.order-list-item{border:1px solid #e7e9e1;background:#fff;border-radius:18px;padding:15px;display:flex;align-items:center;gap:13px;text-align:left;color:#2c4234}.order-list-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#edf1e8;font-size:22px}.order-list-item span:nth-child(2){display:grid;gap:5px;flex:1}.order-list-item strong{font-size:14px}.order-list-item small{font-size:11px;color:#899b8d}.order-list-item b{font-size:13px}.order-detail{padding-bottom:28px}.back-link{border:0;background:transparent;color:#63866c;font-size:12px;font-weight:800;padding:0 0 18px}.order-banner{border-radius:24px;background:#dfeadd;padding:26px;display:flex;align-items:center;gap:20px;color:#2c4f37}.order-banner.cancelled{background:#f4e3dc;color:#945943}.order-banner-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:22px;background:#ffffff9c;font-size:30px}.order-banner .eyebrow{color:inherit;opacity:.65}.order-banner h3{font-size:24px;letter-spacing:-.04em;margin:5px 0}.order-banner p{font-size:11px;margin:0;opacity:.75;line-height:1.5}.progress{display:flex;justify-content:space-between;gap:0;margin:30px 5px}.progress-step{position:relative;flex:1;text-align:center;color:#b2bfb0}.progress-step:before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:2px;background:#e0e6da}.progress-step:first-child:before{display:none}.progress-step.done:before{background:#4d8a5b}.progress-dot{position:relative;z-index:1;display:block;width:16px;height:16px;border-radius:50%;border:3px solid #dbe5da;background:#fff;margin:0 auto 8px}.progress-step.done .progress-dot{border-color:#4d8a5b;background:#4d8a5b}.progress-step small{font-size:9px;font-weight:700}.order-receipt{background:#fff;border:1px solid #e8eae3;border-radius:21px;padding:23px;margin:18px 0}.order-receipt h3{margin:0 0 16px;font-size:16px}.receipt-line{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:12px 0;border-bottom:1px solid #edf0e9;font-size:12px}.receipt-line div{display:grid;gap:5px}.receipt-line small{font-size:10px;color:#9ba99e;line-height:1.5}.receipt-line b{white-space:nowrap}.receipt-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;font-size:13px}.receipt-total strong{color:#2b5338;font-size:19px}.primary-button{border:0;border-radius:14px;padding:15px 20px;background:#315940;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}.primary-button.full{width:100%}.primary-button:hover:not(:disabled){background:#244930}.text-button{border:0;background:transparent;color:#356342;font-size:12px;font-weight:800}.cancel-action{width:100%;margin:15px 0 2px;color:#bd7560}.demo-note{text-align:center;color:#9aa599;font-size:10px;line-height:1.6;margin:12px auto 0}.empty-orders{background:#fff;border-radius:24px;text-align:center;padding:60px 25px;border:1px solid #e8eae3}.empty-orders span{font-size:50px}.empty-orders h3{margin:16px 0 8px}.empty-orders p{color:#9ba89e;font-size:12px;line-height:1.6;margin:0 auto 22px;max-width:290px}.overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#18231bb3}.sheet{position:relative;width:min(100%,520px);max-height:min(91vh,900px);overflow:auto;padding:28px 27px calc(29px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:#fbfaf6;box-shadow:0 -12px 42px #1224162a}.sheet-close{position:absolute;top:19px;right:20px;border:0;background:#eef1eb;color:#637366;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:22px;font-weight:400;line-height:1}.sheet h2{margin:8px 0;color:#273d2e;letter-spacing:-.05em;font-size:28px}.sheet .muted{color:#b0b9ab;font-size:18px}.sheet-description{color:#8c9a8d;font-size:12px;line-height:1.6;margin:0 0 22px}.sheet-art{display:grid;place-items:center;width:100%;height:170px;margin-bottom:20px;border-radius:20px;background:radial-gradient(circle at center,#f7e3cb 0,#f7e3cb 27%,#ecddcb 28%,#ecddcb 55%,#f1e8dc 56%);font-size:80px}.option-group{margin:23px 0}.option-group h3{margin:0 0 10px;font-size:13px}.option-list{display:grid;gap:7px}.option{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #e7ebe2;background:#fff;border-radius:12px;color:#5f6e62;padding:12px 14px;font-size:12px}.option b{color:#315940}.option.selected{border-color:#4e855c;background:#eef6eb;color:#315940}.sheet-actions{position:sticky;bottom:calc(-29px - env(safe-area-inset-bottom));display:flex;gap:9px;background:#fbfaf6;padding:12px 0 calc(10px + env(safe-area-inset-bottom))}.sheet-actions .primary-button{flex:1}.quantity,.small-quantity{display:flex;align-items:center;gap:8px;border:1px solid #e4e8df;border-radius:13px;padding:4px;background:#fff}.quantity button,.small-quantity button{border:0;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#f0f4ed;color:#376344;font-size:19px;line-height:1}.quantity strong,.small-quantity b{min-width:14px;text-align:center;font-size:12px}.cart-lines{margin:20px 0 2px}.cart-line{display:flex;gap:12px;align-items:start;border-bottom:1px solid #e9ede6;padding:13px 0}.cart-line-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#f1e9dc;font-size:22px}.cart-line-main{flex:1;display:grid;gap:5px}.cart-line-main strong{font-size:12px}.cart-line-main small{color:#95a294;font-size:10px;line-height:1.4}.cart-line>b{font-size:12px;white-space:nowrap}.small-quantity{width:fit-content;gap:5px;margin-top:5px}.small-quantity button{width:24px;height:24px;font-size:15px}.small-quantity b{font-size:11px}.field{display:block;margin:18px 0;color:#334c39;font-size:12px;font-weight:800}.field span{color:#a7b3a6;font-weight:500}.field input,.field textarea{display:block;resize:vertical;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #e0e6dc;border-radius:12px;outline:none;background:#fff;color:#243b2c;font-size:13px}.field input:focus,.field textarea:focus{border-color:#6ca078;box-shadow:0 0 0 3px #7caa8227}.field input::placeholder,.field textarea::placeholder{color:#b6c0b4}@media(max-width:850px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-cup{margin-right:4%;transform:scale(.85) rotate(-6deg)}}@media(max-width:600px){.app-header{height:67px;padding:0 18px}.main{padding:0 14px}.hero{min-height:260px;border-radius:23px;padding:28px 24px}.hero h1{font-size:clamp(39px,9vw,54px);margin:14px 0 8px}.hero p{font-size:11px;max-width:270px}.hero .eyebrow{max-width:220px;line-height:1.6;font-size:8px}.hero-location{font-size:9px;margin-top:17px}.hero-cup{position:absolute;right:-61px;bottom:-44px;opacity:.66;transform:scale(.68) rotate(-6deg)}.menu-section,.orders-section{padding-top:32px}.section-aside{display:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{border-radius:17px;padding:9px}.product-art{min-height:116px;border-radius:12px}.product-art span{font-size:58px}.product-card strong{font-size:13px}.product-description{font-size:9px;min-height:28px}.product-footer{font-size:12px}.add-button{width:28px;height:28px}.order-banner{padding:19px;gap:14px}.order-banner-icon{width:50px;height:50px;flex-basis:50px;border-radius:16px}.order-banner h3{font-size:20px}.progress-step small{font-size:8px}.sheet{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){.product-card{transition:none}}
