/* roboto-latin-500-normal */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2) format('woff2'), url(/assets/roboto-latin-500-normal-DQZyH_nt.woff) format('woff');
}.shop-app{--navy:#103147;--coral:#ff573f;--muted:#70808e;--line:#e4eaf0;position:relative;width:100%;height:100%;color:var(--navy);font-family:Arial,sans-serif;font-size:13px;background:#fff}
.shop-app .favorite{background:transparent;border-radius:0;box-shadow:none;width:34px;height:34px;right:3px;top:3px;padding:4px;color:#103147}.shop-app .favorite svg{filter:drop-shadow(0 1px 1px #fff9)}.shop-app .favorite.is-favorite{color:#ff573f}.shop-app .catalog-back,.sheet-return{display:flex;align-items:center;gap:7px;background:transparent;border:0;color:#103147;padding:8px 0;font:13px Arial;cursor:pointer}.sheet-return{margin-bottom:10px}
.shop-app *{box-sizing:border-box}.shop-app button{font:inherit;cursor:pointer;color:inherit;border:0}.shop-app button:focus-visible{outline:3px solid #256c93;outline-offset:2px}.shop-app button:disabled{opacity:.4;cursor:default}.shop-app h1,.shop-app h2,.shop-app h3,.shop-app p{margin:0}.shop-app img{display:block;max-width:100%}.shop-content{padding:58px 16px 160px;min-height:100%;background:#fff}.shop-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:5px}.wordmark{background:none;padding:0;font-family:Georgia,'Times New Roman',serif!important;font-size:28px!important;font-weight:bold!important;letter-spacing:-1.2px}.location{display:flex;align-items:center;gap:3px;padding:8px 0;background:none;font-size:11px!important}.search-row{display:flex;gap:8px;margin-bottom:12px}.search-field{height:39px;display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:0 10px;flex:1;min-width:0}.search-field input{width:100%;min-width:0;border:0;outline:0;background:none;color:var(--navy);font:12px Arial}.search-field input::placeholder{color:#8c97a0}.search-field button{padding:0;background:none}.filter-button{width:36px;border-radius:8px;background:#f1f4f5;display:grid;place-items:center}.hero{position:relative;border-radius:10px;overflow:hidden;height:182px;background:#0b2638}.hero>img{width:100%;height:100%;object-fit:cover;object-position:85% center}.hero-copy{position:absolute;inset:14px auto auto 16px;color:white;max-width:53%}.hero h1{font:46px/.87 Georgia,serif;letter-spacing:-1.9px}.hero p{font:10px/1.4 Georgia,serif;margin-top:14px;color:#e4eced}.hero-link{position:absolute;bottom:12px;right:12px;border:1px solid #ffffff77!important;border-radius:50%;background:#17344655;color:white!important;width:31px;height:31px;display:grid;place-items:center}.category-rail{margin:10px 0 0}.category-track{display:flex;gap:5px;padding:1px 0 4px}.category{display:flex;align-items:center;gap:5px;border:1px solid var(--line)!important;background:white;border-radius:8px;white-space:nowrap;height:36px;padding:4px 7px;font-size:11px!important}.category img{width:24px;height:24px;object-fit:cover;object-position:right;border-radius:50%}.category.active{border-color:var(--coral)!important;background:#fff6f3}.section-title{display:flex;align-items:center;justify-content:space-between;margin:13px 0 10px}.section-title h2{font:25px/1 Georgia,serif;letter-spacing:-.5px}.section-title button{background:none;color:#7c8b9a;padding:0;font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.product-image{width:100%;height:116px;padding:0;background:#edf1f1;display:block}.product-image img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}.favorite{position:absolute;right:5px;top:5px;background:#fffffff2;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.favorite.is-favorite{color:var(--coral)}.product-copy{padding:7px}.product-copy h3{font:15px/1.15 Georgia,serif;white-space:nowrap;letter-spacing:-.35px}.card-price{font-size:12px;font-weight:600;margin:5px 0 7px}.card-price span{font-size:10px;font-weight:400;color:var(--muted)}.coral{background:var(--coral);color:#fff!important;border:0;border-radius:8px;min-height:42px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:500!important;transition:background .15s}.coral:hover{background:#e94630}.coral.compact{width:100%;min-height:28px;padding:6px;font-size:11px}.wide{width:100%;justify-content:space-between;min-height:47px}.catalog-note{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);margin-top:20px;padding-top:17px;font-size:12px;line-height:1.5}.catalog-note span{font-size:11px;color:var(--muted)}.prototype-note{font-size:10px!important;color:#84909a!important;line-height:1.5!important;margin-top:18px!important;text-align:center}.bottom-chrome{position:absolute;left:12px;right:12px;z-index:20;background:#fff}.cart-ribbon{display:flex;align-items:center;gap:8px;padding:11px 12px;background:var(--navy);border-radius:7px;width:100%;color:white!important;font-size:12px!important;height:46px}.cart-ribbon strong{font-size:11px;font-weight:400;margin-left:auto}.bottom-nav{height:56px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;color:#8b98a5}.bottom-nav button.active{color:var(--coral)}.bottom-nav small{font-size:9px}.bottom-nav button>span{position:relative;display:flex}.bottom-nav b{position:absolute;right:-6px;top:-3px;background:var(--coral);color:white;border-radius:10px;padding:1px 4px;font-size:9px;border:1px solid #fff}.screen-heading{display:grid;grid-template-columns:35px 1fr 35px;align-items:center;margin:5px 0 22px;min-height:36px}.screen-heading h1{font:27px Georgia,serif;text-align:center}.icon-button{background:transparent;padding:6px 0;display:flex}.eyebrow{font-size:10px;letter-spacing:1.2px;color:#8a99a5;font-weight:600}.cart-items{margin-top:13px}.cart-item{display:grid;grid-template-columns:76px 1fr 22px;gap:10px;border-bottom:1px solid var(--line);padding:15px 0}.cart-item>img{width:76px;height:94px;object-fit:cover;object-position:right;border-radius:8px}.cart-item h3{font:17px Georgia,serif;margin-bottom:4px}.cart-item p{font-size:10px;color:var(--muted);margin-bottom:7px}.cart-item strong{font-size:14px}.remove{background:none;padding:2px;align-self:start;color:#91a0ab!important}.qty{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:8px;height:40px;padding:2px}.qty button{background:#f3f5f5;display:grid;place-items:center;border-radius:6px;width:34px;height:34px}.qty span{min-width:30px;text-align:center;font-weight:600}.qty.small{width:max-content;height:30px;margin-top:9px;gap:10px}.qty.small button{width:27px;height:25px}.qty.small span{font-size:12px}.summary{background:#f6f8f8;border:1px solid var(--line);border-radius:12px;padding:16px;margin:20px 0}.summary>div{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:13px}.summary>div:last-child{margin-bottom:0}.summary p{font-size:11px;line-height:1.5;color:var(--muted);margin-bottom:13px}.summary .summary-total{border-top:1px solid var(--line);padding-top:13px;font-size:15px}.muted{font-size:11px;line-height:1.5;color:var(--muted);margin:10px 0!important}.center{text-align:center}.empty-state{text-align:center;padding:55px 10px 30px}.empty-state>svg{color:#8fa3b1;margin:0 auto 20px}.empty-state h2{font:28px Georgia,serif;margin-bottom:12px}.empty-state p{color:var(--muted);line-height:1.6;margin-bottom:22px}.view-checkout,.view-cart,.view-profile,.view-success{padding-bottom:110px}.demo-label{padding:9px 10px;background:#fff4ed;color:#996446;border-radius:6px;font-size:10px}.form-heading{font:23px Georgia,serif;margin:23px 0 14px!important}.delivery-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delivery-options button{display:flex;flex-direction:column;align-items:start;gap:8px;background:white;border:1px solid var(--line)!important;border-radius:10px;padding:13px}.delivery-options button.selected{border-color:var(--coral)!important;background:#fff8f5}.delivery-options button.selected>svg{color:var(--coral)}.delivery-options small{font-size:9px;color:var(--muted)}.form-field{display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:7px;margin-bottom:15px}.form-field input{height:45px;border:1px solid #dce4e9;border-radius:8px;padding:10px 12px;background:white;font:14px Arial;color:var(--navy);outline:none}.form-field input:focus{border-color:var(--navy)}.form-error{padding:12px;background:#fff0ed;color:#bb351c;font-size:12px;line-height:1.5;margin-bottom:12px!important}.info-box{padding:14px;background:#f5f8f9;border-radius:9px;color:#657988;line-height:1.6;font-size:12px;margin:14px 0!important}.success-state{text-align:center;padding-top:35px}.success-state>svg{color:#1c8b76;margin:0 auto 21px}.success-state h1{font:36px Georgia,serif;margin:13px 0}.success-state>p:not(.eyebrow){color:var(--muted);line-height:1.6}.order-ticket{padding:20px;border-top:1px dashed #ccd7df;border-bottom:1px dashed #ccd7df;margin:25px 0;display:flex;flex-direction:column;gap:8px}.order-ticket strong{font:29px Georgia,serif}.order-ticket small{font-size:10px;color:var(--muted)}.profile-intro{text-align:center;padding:12px 0 24px}.profile-intro svg{margin:0 auto 12px;color:#78919f}.profile-intro h2{font:28px Georgia,serif;margin-bottom:9px}.profile-intro p{color:var(--muted);font-size:12px}.profile-info{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.profile-info h3{font:21px Georgia,serif;margin-bottom:10px}.profile-info p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:15px}.outline{display:flex;align-items:center;background:white;border:1px solid var(--line)!important;border-radius:8px;padding:12px}.shop-app .sheet-title{color:var(--navy);font-family:Georgia,serif}.product-detail{position:relative;color:var(--navy);padding-bottom:12px}.sheet-close{position:absolute;right:0;top:-66px;width:29px;height:29px;display:grid;place-items:center;background:#f0f3f4;border-radius:50%}.detail-image{width:100%;height:185px;object-fit:cover;object-position:right;border-radius:10px;margin-bottom:18px}.detail-price{display:flex;gap:8px;align-items:baseline;margin-bottom:12px}.detail-price strong{font:27px Georgia,serif}.detail-price span{color:var(--muted);font-size:12px}.product-detail>p{font-size:12px;line-height:1.65;color:#627784;margin-bottom:10px}.pack{display:flex;gap:7px;align-items:center}.quantity-line{display:flex;align-items:center;justify-content:space-between;margin:16px 0}.product-detail .coral{margin-top:10px}.info-sheet,.filter-sheet{color:var(--navy);padding-bottom:12px}.info-sheet>svg{color:var(--coral);margin-bottom:12px}.info-sheet h3{font:24px Georgia,serif;margin-bottom:12px}.info-sheet p{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:16px}.filter-sheet>p{font-size:12px;font-weight:600;margin:8px 0 12px}.filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.filter-chips button{background:#f6f8f8;border:1px solid var(--line)!important;border-radius:8px;padding:10px;font-size:12px}.filter-chips .selected{border-color:var(--coral)!important;color:var(--coral);background:#fff5f1}.sort-row{display:flex;align-items:center;justify-content:space-between;background:white;padding:13px 0;width:100%;border-bottom:1px solid var(--line)!important;font-size:13px}.sort-row.selected{color:var(--coral)}.filter-sheet .coral{margin-top:24px}
.shop-header{height:36px;margin-bottom:2px}.search-row{margin-bottom:8px}.search-field{height:35px}.hero{height:154px}.hero>img{transform:scale(1.5);transform-origin:100% 50%}.hero-copy{top:13px}.hero h1{font-size:43px}.hero p{margin-top:12px}.category-rail{margin-top:8px}.category{height:32px}.section-title{margin:10px 0 7px}.product-image{height:88px;overflow:hidden}.product-image img{transform:scale(1.8);transform-origin:100% 55%}.product-copy{padding:6px}.product-copy h3{font-size:14px}.card-price{margin:4px 0 5px}.coral.compact{min-height:26px;padding:5px}.bottom-chrome:after{content:'';position:absolute;top:100%;left:0;right:0;height:40px;background:white}.cart-item>img{object-position:100% 50%}.detail-image{object-position:100% 50%}
.bottom-sheet{--navy:#103147;--coral:#ff573f;--muted:#70808e;--line:#e4eaf0;color:var(--navy);font-family:Arial,sans-serif;font-size:13px}.bottom-sheet button{border:0;font:inherit;cursor:pointer}.bottom-sheet button:focus-visible{outline:3px solid #256c93;outline-offset:2px}.bottom-sheet button:disabled{opacity:.4}.bottom-sheet h3,.bottom-sheet p{margin-top:0}.bottom-sheet .sheet-title{font-family:Georgia,serif;color:#103147}.bottom-sheet .sheet-close{position:static;margin-left:auto;margin-bottom:8px;margin-top:-12px}
.shop-app .product-image{height:84px}

/* App-owned promotional motion. Protected mobile gestures stay unchanged. */
/* Individual food photographs replace the old slide-image crops. */
.shop-app .product-image img{transform:none;object-position:center 54%}.category img,.cart-item>img,.detail-image,.story-picture img,.story-photo>img{object-position:center!important}.shop-app .offer-card>img{object-position:right center}.offer-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,43,.94),rgba(7,29,43,.80) 39%,rgba(7,29,43,.12) 100%);pointer-events:none}.offer-copy,.offer-open{z-index:1}.shop-app .offer-card:first-child h1{font-size:31px;line-height:1.02;letter-spacing:-1px;margin-top:14px}.shop-app .offer-card:first-child p{max-width:83%;font:10px/1.55 Arial,sans-serif}.shop-benefits{margin-top:22px;background:#eef5f5;padding:18px 15px;border-radius:12px}.shop-benefits h3{font:23px/1.1 Georgia,serif;margin-bottom:18px}.shop-benefits>div{display:flex;gap:12px;align-items:center;margin:16px 0}.shop-benefits svg{flex-shrink:0;color:#dd5a3d}.shop-benefits p{font:11px/1.5 Arial,sans-serif}.shop-benefits strong{display:block;font-size:12px;margin-bottom:2px}.shop-benefits span{color:#657b89}.shop-app .benefits-link{padding:9px 0 0;display:flex;align-items:center;gap:8px;background:none;font-size:11px;font-weight:700}.info-sheet .pickup-note{font-size:11px;background:#f2f6f7;border-radius:8px;padding:12px}.bottom-sheet .info-sheet h3{font-size:24px;margin-bottom:8px}
.offers-section{margin:0 -2px 4px}.offer-track{width:100%;min-width:100%;gap:10px;padding-right:18px}.offer-card{position:relative;flex:0 0 calc(100% - 18px);height:188px;border-radius:13px;overflow:hidden;background:#102e43;color:white}.offer-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;pointer-events:none}.offer-copy{position:absolute;left:17px;top:16px;right:12px;pointer-events:none}.offer-tag{font:700 8px Arial;letter-spacing:1.3px;color:#f8c9b6}.shop-app .offer-copy h1{font:41px/.93 Georgia,serif;letter-spacing:-1.5px;white-space:pre-line;color:inherit;margin:12px 0 9px}.shop-app .offer-copy p{font:10px/1.35 Georgia,serif;white-space:pre-line;max-width:58%;color:#f0f3f4}.offer-card.is-light{color:#103147;background:#f4f6f5}.offer-card.is-light .offer-tag{color:#be4b36}.shop-app .offer-card.is-light p{color:#4c6474}.offer-card:last-child h1{font-size:32px;line-height:1.02}.shop-app .offer-open{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:33px;height:33px;border:1px solid #ffffff75;border-radius:50%;color:#fff;background:#102e4355;backdrop-filter:blur(4px)}.shop-app .is-light .offer-open{background:#fff9;color:#103147;border-color:#10314750}.offer-controls{display:flex;align-items:center;height:25px;padding:0 2px}.offer-dots{display:flex;gap:3px}.offer-dots button{padding:7px 3px;background:none;min-width:16px}.offer-dots span{display:block;width:5px;height:5px;background:#d9e1e5;border-radius:8px;transition:width .3s,background .3s}.offer-dots .active span{width:19px;background:#f06248}.offer-counter{margin-left:auto;font-size:9px;letter-spacing:1px;color:#7a8c98}.offer-pause{display:grid;place-items:center;background:none;width:25px;height:25px;padding:0;margin-left:7px;color:#81939d!important}.stories-rail{margin:2px 0 8px}.stories-track{gap:14px;padding:2px 0 3px}.story-chip{width:72px;flex:0 0 72px;background:none;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px!important;white-space:nowrap;padding:0}.story-picture{display:block;border:1.8px solid #f06248;border-radius:50%;padding:3px;transition:border-color .3s}.story-picture img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:100% 50%}.story-chip.seen .story-picture{border-color:#c9d6db}.story-chip:hover .story-picture{border-color:#103147}.collection-note{display:flex;gap:8px;align-items:flex-start;background:#fff5ef;padding:12px;border-radius:9px;color:#786453;font:12px/1.5 Arial!important;margin:3px 0 13px!important}.collection-note svg{flex-shrink:0;margin-top:2px;color:#e26948}.collection-note small{display:block;margin-top:5px;color:#918579;font-size:10px}.added-toast{position:absolute;z-index:40;left:18px;right:18px;background:#102e43f5;color:white;border-radius:13px;padding:13px 15px;display:flex;align-items:center;gap:11px;box-shadow:0 8px 24px #102e432b;pointer-events:none}.added-toast svg{color:#71d4b5;flex-shrink:0}.added-toast span{display:flex;flex-direction:column;gap:4px}.added-toast strong{font-size:12px}.added-toast small{font-size:10px;color:#c9dae3}.story-detail{color:#103147;padding-bottom:12px}.story-segments{display:flex;gap:5px;margin:0 0 12px}.story-segments button{flex:1;padding:5px 0;background:none}.story-segments span{display:block;height:3px;background:#dfe7ea;border-radius:3px;transition:background .2s}.story-segments .active span{background:#ff573f}.story-photo{height:215px;position:relative;border-radius:12px;overflow:hidden;background:#f0f4f4}.story-photo>img{width:100%;height:100%;object-fit:cover;object-position:right}.story-dismiss{position:absolute;right:10px;top:10px;width:29px;height:29px;border-radius:50%;background:#fffdf7eb;display:grid;place-items:center}.story-copy{padding-top:20px;animation:content-reveal .25s ease-out both}.story-kicker{font-size:9px;letter-spacing:1.2px;color:#eb6949;font-weight:700}.story-copy h3{font:30px/1.06 Georgia,serif;letter-spacing:-.6px;margin:11px 0 12px}.story-copy p{font:13px/1.6 Arial;color:#6b7c85;margin-bottom:20px}.story-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.story-bottom button{height:32px;width:38px;border-radius:8px;display:grid;place-items:center;background:#eff4f5;color:#103147}.story-bottom small{font:10px Arial;color:#7b8d98}.story-disclaimer{font:10px/1.5 Arial;color:#8b969e;margin:12px 0 0!important}.shop-app button,.bottom-sheet button{transition:transform .16s ease,background-color .18s,box-shadow .18s}.shop-app button:active,.bottom-sheet button:active{transform:scale(.965)}.shop-app .product-image:active{transform:none}.shop-app .product-image img{transition:filter .2s}.shop-app .product-image:active img{filter:brightness(.93)}.shop-app .coral:hover,.bottom-sheet .coral:hover{box-shadow:0 3px 9px #ef694429}.favorite.is-favorite svg{animation:heart-pop .34s cubic-bezier(.2,.8,.3,1)}.bottom-nav button>span{transition:transform .2s}.bottom-nav button.active>span{transform:translateY(-2px)}.cart-icon-bump{display:flex;animation:cart-bump .4s ease-out}.view-cart,.view-profile,.view-checkout,.view-success{animation:content-reveal .23s ease-out both}.success-state>svg{animation:success-pop .45s ease-out both}
@keyframes content-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes heart-pop{0%{transform:scale(.8)}55%{transform:scale(1.23)}100%{transform:scale(1)}}
@keyframes cart-bump{0%,100%{transform:scale(1) rotate(0)}45%{transform:scale(1.18) rotate(-8deg)}75%{transform:scale(.98) rotate(3deg)}}
@keyframes success-pop{0%{opacity:0;transform:scale(.82)}70%{opacity:1;transform:scale(1.04)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.shop-app *,.bottom-sheet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.shop-app button:active,.bottom-sheet button:active{transform:none}.bottom-nav button.active>span{transform:none}}
@media (hover: hover) and (pointer: fine) {
  .product-card { transition: scale .22s ease, box-shadow .22s ease; }
  .product-card:hover { scale: 1.025; box-shadow: 0 10px 26px rgba(16,48,66,.14); z-index: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .product-card { transition: none; }
  .product-card:hover { scale: 1; }
}

/* Pearl surfaces, tactile controls and restrained elevation. */
.shop-app .shop-content{background:radial-gradient(ellipse at 100% 0%,#e5eeef 0,transparent 42%),linear-gradient(180deg,#f7f9fa,#edf2f4);}
.shop-app{background:#f0f4f5}
.shop-app .search-field{background:#fff;border:1px solid #fff;border-radius:12px;box-shadow:inset 0 1px 3px #1031470c,0 3px 8px #10314705}
.shop-app .filter-button{background:linear-gradient(145deg,#fff,#e7edf0);border:1px solid #fff;border-radius:12px;box-shadow:0 3px 7px #10314712,inset 0 1px 0 #fff}
.shop-app .product-grid{gap:14px 12px;padding:3px 2px 12px}
.shop-app .product-card{border:1px solid #fff;border-radius:16px;background:linear-gradient(155deg,#fff,#fafbfc);box-shadow:0 2px 3px #10314706,0 8px 16px -5px #10314728,inset 0 1px 0 #fff;transition:scale .22s ease,box-shadow .22s ease}
.shop-app .product-image{height:108px;border-radius:14px 14px 0 0;position:relative}
.shop-app .product-image:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 0 #ffffff70;background:linear-gradient(180deg,transparent 78%,#10314712)}
.shop-app .product-copy{padding:10px}
.shop-app .product-copy h3{font-size:14px}
.shop-app .card-price{margin:7px 0 10px}
.shop-app .coral,.bottom-sheet .coral{background:linear-gradient(180deg,#ff7b60 0%,#f25b40 52%,#e84b31 100%);border:1px solid #ef5b42;border-top-color:#ffac94;box-shadow:inset 0 1px 0 #ffffff42,0 3px 0 #c63f2b,0 6px 12px #d64b3124;text-shadow:0 1px 1px #90301c30;border-radius:10px}
.shop-app .coral.compact{min-height:32px;margin-bottom:3px}
.shop-app .coral:active,.bottom-sheet .coral:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #8c2f2420,0 1px 0 #c63f2b,0 2px 5px #d64b3118}
.shop-app .offer-card{border:1px solid #ffffff65;border-radius:18px;box-shadow:inset 0 1px 0 #ffffff45}
.shop-app .offer-card:after{background:linear-gradient(100deg,#071d2beb 0%,#071d2bbf 40%,#071d2b05 100%);box-shadow:inset 0 1px 0 #ffffff38,inset 0 -2px 8px #071d2b33}
.shop-app .offer-copy h1{text-shadow:0 2px 7px #0005}
.shop-app .offer-open{background:linear-gradient(145deg,#ffffff40,#ffffff12);box-shadow:inset 0 1px 0 #ffffff5c,0 3px 8px #0003}
.shop-app .story-picture{background:linear-gradient(140deg,#fff,#e1e9ec);box-shadow:0 3px 7px #1031471a,inset 0 1px 0 #fff}
.shop-app .category{background:linear-gradient(180deg,#fff,#f5f7f8);border-color:#fff!important;box-shadow:0 2px 4px #1031470d,inset 0 1px 0 #fff;border-radius:10px}
.shop-app .category.active{background:linear-gradient(180deg,#fff4ee,#ffe3d8);border-color:#f5ad99!important;box-shadow:inset 0 1px 0 #fff,0 2px 5px #d45c3020}
.shop-app .bottom-chrome{background:transparent;isolation:isolate;padding-bottom:6px}
.shop-app .bottom-chrome:after{background:#edf2f4;z-index:-1}
.shop-app .cart-ribbon{background:linear-gradient(145deg,#2b536a,#14364b 65%,#0b283b);border:1px solid #49687a;border-bottom-color:#092435;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff25,0 4px 0 #092435,0 8px 18px #1031472e;margin-bottom:10px}
.shop-app .bottom-nav{height:60px;border-radius:19px;background:linear-gradient(150deg,#fffffffa,#f7fafaf5);border:1px solid #fff;box-shadow:0 6px 22px #10314720,inset 0 1px 0 #fff;backdrop-filter:blur(14px);padding:3px}
.shop-app .bottom-nav button{border-radius:14px}
.shop-app .bottom-nav button.active{background:linear-gradient(160deg,#fff0e8,#fff8f3);box-shadow:inset 0 1px 0 #fff;color:#c94731}
.shop-app .shop-benefits,.shop-app .summary{background:linear-gradient(140deg,#fff,#eaf2f2);border:1px solid #fff;box-shadow:0 6px 16px #1031470b,inset 0 1px 0 #fff;border-radius:18px}
.shop-app .shop-content{padding-bottom:190px}
.shop-app .favorite{background:transparent;box-shadow:none}
@media(hover:hover) and (pointer:fine){.shop-app .product-card:hover{scale:1.025;box-shadow:0 3px 5px #10314708,0 15px 25px -6px #10314738}.shop-app .coral:hover,.bottom-sheet .coral:hover{background:linear-gradient(180deg,#ff876d,#f05a40);box-shadow:inset 0 1px 0 #ffffff50,0 3px 0 #c63f2b,0 8px 16px #d64b3130}}
@media(prefers-reduced-motion:reduce){.shop-app .product-card{transition:none}.shop-app .product-card:hover{scale:1}.shop-app .coral:active,.bottom-sheet .coral:active{transform:none}}

/* Unified sheet navigation and editorial product detail. */
.bottom-sheet .sheet-return{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;margin:0 0 16px;background:linear-gradient(145deg,#fff,#edf3f5);border:1px solid #dfe8ec;border-radius:12px;color:#103147;box-shadow:0 3px 7px #1031470d,inset 0 1px 0 #fff;font-size:13px;font-weight:600}
.bottom-sheet .sheet-return:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #10314712}
.bottom-sheet .story-photo,.bottom-sheet .detail-image{border-radius:18px;border:1px solid #ffffffa0;box-shadow:0 9px 20px -8px #10314755}
.bottom-sheet .story-photo{height:clamp(160px,25vh,230px)}
.bottom-sheet .detail-image{height:clamp(150px,23vh,205px);margin-bottom:22px}
.bottom-sheet .story-kicker{display:inline-block;padding:6px 9px;border-radius:6px;background:#fff0e8;color:#b84b30;font-size:9px;letter-spacing:1.2px}
.bottom-sheet .story-copy h3{font-size:32px;line-height:1.08;letter-spacing:-.7px;margin-top:13px}
.bottom-sheet .story-copy p,.bottom-sheet .product-detail>p{color:#536b7b;line-height:1.7}
.bottom-sheet .detail-price{padding:0 0 14px;border-bottom:1px solid #e3ebef;margin-bottom:16px}
.bottom-sheet .detail-price strong{font-size:31px;color:#103147}
.bottom-sheet .pack{width:fit-content;border:1px solid #e3ebef;background:#f3f7f8;border-radius:9px;padding:8px 10px}
.bottom-sheet .quantity-line{padding:14px 0;border-top:1px solid #e3ebef}
.bottom-sheet .story-bottom{margin-top:20px}
/* On a real phone the browser supplies device chrome and the native keyboard. */
@media (max-width: 767px), (max-width: 1024px) and (pointer: coarse) {
  html, body, #root { width: 100%; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; }
  .phone-stage { padding: 0!important; display: block!important; height: 100dvh!important; }
  .phone-scale-box { width: 100%!important; height: 100%!important; }
  .phone-device { width: 100%!important; transform: none!important; }
  .device-screen { left: 0!important; top: 0!important; width: 100%!important; border-radius: 0!important; box-shadow: none!important; }
  .phone-bezel, .device-menu-bar, .device-camera, .status-bar, .home-indicator-svg, .android-navigation-bar, .mobile-cursor, .mobile-cursor-hotspot, .keyboard-dock { display: none!important; }
  .mobile-app-viewport { bottom: 0!important; }
  .phone-stage .shop-content { padding-top: calc(12px + env(safe-area-inset-top, 0px)); padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); padding-bottom: calc(150px + env(safe-area-inset-bottom, 0px)); }
  .bottom-chrome { bottom: env(safe-area-inset-bottom, 0px)!important; }
  .phone-stage .bottom-chrome:after { height: max(0px, env(safe-area-inset-bottom, 0px)); }
  .phone-stage .bottom-sheet { padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .search-field input, .form-field input, .bottom-sheet input { font-size: 16px!important; }
  .proposal-return { display: none!important; }
  .phone-stage .offer-copy h1 { font-size: 31px!important; line-height: 1.02!important; }
}
.shop-app .business-campaign{margin:14px 0 20px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #fff;box-shadow:0 8px 22px #10314718,0 2px 3px #1031470b}
.shop-app .campaign-image{display:block;width:100%;padding:0;background:#edf2f4}
.shop-app .campaign-image img{width:100%;height:auto;display:block}
.shop-app .campaign-action{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px;text-align:left;background:#fff;font-weight:bold;font-size:16px}
.shop-app .campaign-action small{display:block;margin-top:5px;color:#70808e;font-size:12px;line-height:1.5;font-weight:normal}
.shop-app .campaign-action svg{color:#ff573f;flex:none}
.bottom-sheet .story-photo.campaign-story,.story-photo.campaign-story{height:auto;aspect-ratio:auto}
.story-photo.campaign-story img{height:auto!important;width:100%;object-fit:contain!important}
.b2b-intro{padding:22px 4px 16px}.b2b-intro h1{font:38px/1.04 Georgia,serif;letter-spacing:-1px;margin:12px 0!important}.b2b-intro p{color:#607581;line-height:1.6;max-width:310px}.b2b-steps{display:flex;justify-content:space-between;padding:15px 0 0;font-size:10px;font-weight:bold;color:#bd503b}.buyer-paths{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 16px}.shop-app .buyer-paths button{display:flex;justify-content:space-between;align-items:center;padding:15px 12px;background:white;border:1px solid #dce5e9;border-radius:12px;box-shadow:0 3px 7px #10314709;text-align:left}.shop-app .compact-campaign{display:flex;align-items:center;gap:16px;width:100%;padding:0;overflow:hidden;border-radius:16px;background:#103147;color:white;text-align:left;margin-bottom:20px;box-shadow:0 6px 15px #10314725}.compact-campaign>img{width:42%;height:auto;align-self:stretch;object-fit:contain;background:#e9edef}.compact-campaign>span{padding:15px 10px 15px 0}.compact-campaign small{font-size:9px;letter-spacing:1px;color:#ffb6a5}.compact-campaign strong{display:block;font:24px/1.1 Georgia,serif;margin:9px 0 14px}.compact-campaign>span>span{font-size:11px;color:#fbc2b7}.product-spec{font-size:11px;line-height:1.4;color:#70808e;margin:5px 0!important}.request-room{padding:12px 0 30px}.request-room h1{font:32px/1.1 Georgia,serif;margin:20px 0 12px!important}.request-room>p,.discussion-preview p,.document-preview p{color:#70808e;line-height:1.6;margin-bottom:18px!important}.request-status{border-left:3px solid #ff573f;padding:14px 16px;margin:12px 0;background:#fff;border-radius:0 12px 12px 0}.request-status strong,.request-status span{display:block}.request-status span{font-size:12px;color:#70808e;margin-top:5px;line-height:1.5}.request-status.pending{border-left-color:#c6d5dd}.discussion-preview,.document-preview{background:#fff;padding:18px;border:1px solid #e1e8ec;border-radius:16px;margin:16px 0}.document-preview h3,.discussion-preview h3{font:22px Georgia,serif;margin:10px 0!important}.document-preview>span{display:inline-block;background:#f2f5f6;border-radius:8px;padding:9px;color:#70808e;font-size:12px}
.catalog-intro{padding:12px 0 14px}.catalog-intro>span{font-size:9px;letter-spacing:1.6px;color:#a25743;font-weight:bold}.catalog-intro h1{font:29px/1.1 Georgia,serif;margin:7px 0!important;letter-spacing:-.6px}.catalog-intro p{font-size:12px;line-height:1.45;color:#70808e}
.shop-app .procurement-banner{position:relative;width:100%;height:168px;padding:0;border-radius:16px;overflow:hidden;background:#103147;text-align:left;color:white;box-shadow:0 6px 14px #10314726}.procurement-banner>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.procurement-banner>span{position:relative;display:block;padding:20px 16px;width:57%;background:linear-gradient(90deg,#10314790,transparent)}.procurement-banner small{font-size:9px;letter-spacing:1.3px;color:#ffd1bf}.procurement-banner strong{display:block;font:28px/1.05 Georgia,serif;margin:9px 0 12px;text-shadow:0 2px 6px #0005}.procurement-banner em{display:flex;align-items:center;font-style:normal;font-size:11px}
.shop-app .delivery-strip,.shop-app .repeat-strip{display:flex;gap:10px;width:100%;align-items:center;padding:12px;margin:10px 0 16px;background:#fff;border:1px solid #e1e9eb;border-radius:12px;text-align:left}.delivery-strip svg{color:#df644b;flex:none}.delivery-strip strong,.repeat-strip strong{display:block;font-size:12px}.delivery-strip small,.repeat-strip small{display:block;font-size:10px;color:#70808e;margin-top:4px}.item-code{font-size:8px;letter-spacing:1px;color:#8a979d}.quick-qty{display:flex;align-items:center;justify-content:space-between;background:#f3f6f7;border-radius:8px;padding:3px;margin:8px 0}.shop-app .quick-qty button{width:32px;height:30px;display:grid;place-items:center;background:white;border-radius:6px}.quick-qty span{font-size:12px;font-weight:bold}.product-detail .qty input{width:62px;border:0;background:transparent;text-align:center;color:#103147;font-size:15px;outline:none}.product-detail .qty{gap:5px}.product-detail .qty>span{font-size:11px}
.request-list-card{padding:18px;margin:16px 0;background:#fff;border:1px solid #dde7eb;border-radius:16px;box-shadow:0 6px 16px #10314709}.request-list-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.request-list-card>div>span{color:#70808e;font-size:11px}.request-list-card p{margin:12px 0!important;color:#70808e}.request-chip{font-size:10px;padding:5px 8px;border-radius:8px;background:#fff0e9;color:#b64d34}.request-actions{display:flex;gap:8px;margin-top:18px}.request-actions button{padding:10px;font-size:11px!important;flex:1}.request-line-items{padding:12px;background:white;border-radius:12px}.request-line-items>div{display:flex;gap:12px;padding:8px 0;align-items:center}.request-line-items img{width:48px;height:48px;object-fit:cover;border-radius:8px}.request-line-items small{display:block;margin-top:5px;color:#70808e}.local-message{padding:12px;border-radius:12px;background:#edf4f6;color:#103147!important}.local-message small{display:block;font-size:10px;margin-top:8px;color:#70808e}.view-requests>.muted{line-height:1.5}
.shop-app .shop-header{height:64px;margin-bottom:10px}
.shop-app .wordmark{display:flex;align-items:center;gap:8px;font-size:23px!important;letter-spacing:-.6px;text-align:left}
.shop-app .brand-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}
.shop-app .wordmark small{display:block;font:9px/1.4 Arial;letter-spacing:.2px;margin-top:4px;color:#617887}
.shop-app .offer-card{height:220px;background:#102e43}
.shop-app .offer-card>img{width:52%;height:100%;left:auto;right:0;object-fit:contain;object-position:center;position:absolute}
.shop-app .offer-card:after{background:linear-gradient(90deg,#102e43 0%,#102e43 42%,#102e4333 65%,transparent 80%)}
.shop-app .offer-copy{max-width:53%;left:14px;top:22px}
.shop-app .offer-copy h1{font-size:28px!important;line-height:1.08!important;letter-spacing:-.7px}
.shop-app .offer-copy p{font-size:12px;line-height:1.4;max-width:150px}
.shop-app .product-copy h3{white-space:normal;min-height:52px;line-height:1.25;font-size:15px}
.shop-app .product-spec{min-height:36px;line-height:1.4;font-size:11px}
.shop-app .product-image img[src$="brand-logo.png"]{object-fit:contain;padding:20px;opacity:.6}
.media-caption{font-size:11px!important;color:#7a8990;margin-top:8px!important}
.shop-app .offer-card>img{width:100%;height:100%;object-fit:cover;object-position:center;left:0}
.shop-app .offer-card:after{background:linear-gradient(90deg,#102e4380 0%,#102e4320 48%,transparent 75%)}
.shop-app .offer-copy{max-width:55%;top:24px}
.shop-app .offer-copy h1{font-size:27px!important;line-height:1.08!important}
.shop-app .catalog-intro h1{font-size:30px;line-height:1.07;max-width:460px}
.shop-app .category-track{gap:12px;padding:8px 2px 14px}
.shop-app .category{height:auto;min-height:99px;justify-content:flex-start}
.shop-app .category{display:flex;flex-direction:column;flex:0 0 76px;gap:8px;background:transparent!important;border:0!important;padding:0!important;font-size:11px;line-height:1.15;text-align:center;white-space:normal;box-shadow:none!important;color:#18384a}
.shop-app .category img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid #fff;outline:1px solid #d8e3e8;box-shadow:0 5px 12px #1234491c;transition:transform .2s,outline .2s}
.shop-app .category.active img{outline:2px solid #ee6748;transform:translateY(-2px)}
.delivery-compact{padding-bottom:30px}
.delivery-compact .sheet-return{margin:0 0 12px}
.delivery-compact section{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e4ebee}
.delivery-compact section>svg{flex-shrink:0;color:#df6547;margin-top:2px}
.delivery-compact h3{font:700 15px/1.2 Arial;margin:0 0 5px}
.delivery-compact p{font:13px/1.4 Arial;color:#607681;margin:0}
.delivery-compact .delivery-other{font-size:12px;margin:13px 0}
.delivery-compact .coral{min-height:46px}
.roe-offer>p{margin:14px 0}
.shop-app .offer-card>img[src*="cans-cutout"]{width:52%;left:auto;right:0;object-fit:contain;padding:8px}
.shop-app .offer-card:has(img[src*="cans-cutout"]){background:radial-gradient(at 85% 60%,#294e67,#102e43 65%)}
.shop-app .category img[src*="cans-cutout"]{object-fit:cover;object-position:50% 0;background:#eaf1f4}
.roe-offer>a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:13px}
.shop-app .offer-card:has(img[src*="v3"]):after{background:linear-gradient(90deg,#102e43b0 0%,#102e4340 44%,transparent 60%)}
.shop-app .offer-card:has(img[src*="v3"]) .offer-copy{max-width:49%}
.shop-app .offer-card:has(img[src*="v3"]) .offer-copy h1{font-size:25px!important}

/* Consistent return controls across pages and sheets. */
.shop-app .catalog-back,.shop-app .sheet-return,.bottom-sheet .sheet-return{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  width:94px;height:44px;min-height:44px;padding:0 12px;
  border:1px solid #d6e2e8;border-radius:12px;background:#f0f5f7;
  color:#103147;font:600 13px/1 Arial,sans-serif;box-shadow:0 2px 4px #10314708;
  flex-shrink:0;margin:0 0 12px;cursor:pointer;
}
.sheet-return svg,.catalog-back svg{width:18px;height:18px;flex-shrink:0}
.shop-app .screen-heading{grid-template-columns:94px 1fr;gap:12px}
.shop-app .screen-heading .sheet-return{margin:0}
.shop-app .screen-heading h1{text-align:left;font-size:25px}
.shop-app .screen-heading>span{display:none}
.bottom-sheet{touch-action:auto}
.shop-app .delivery-strip{
  background:linear-gradient(115deg,#153c52,#0d293d);color:#fff;
  border:1px solid #34566b;border-left:4px solid #f47755;
  box-shadow:0 5px 12px #10314725,inset 0 1px 0 #ffffff18;
  padding:14px 12px;min-height:66px;
}
.shop-app .delivery-strip>svg{color:#ffae88;width:25px;height:25px}
.shop-app .delivery-strip strong{font-size:13px;color:white}
.shop-app .delivery-strip small{font-size:11px;color:#d6e7ef}

/* Native touch rails: no synthetic momentum competing with browser inertia. */
.mobile-carousel[data-native-paged="true"]>.mobile-carousel-content>*{scroll-snap-align:start;scroll-snap-stop:always}
.shop-app .offer-card:has(img[src*="v3"])>img{object-fit:contain;object-position:right top}
/* Fade the actual photo edge, not the whole card; keep full heads visible. */
.shop-app .offer-card.offer-people>img{width:auto;max-width:none;height:100%;left:auto;right:0;object-fit:contain;object-position:right top;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 12%,#000 32%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 12%,#000 32%)}
.shop-app .offer-card .offer-brand{position:absolute;left:14px;bottom:12px;width:34px;height:34px;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 4px #06182555)}
.shop-app .offer-card .offer-brand img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.shop-app .delivery-strip{background-image:linear-gradient(90deg,#0b263a80,#0b263a10),url('/assets/shop/delivery-branded-v2.webp');background-size:cover;background-position:center;min-height:86px;padding:16px 12px;border-left:0}
.shop-app .delivery-strip>svg{display:none}
.shop-app .delivery-strip span{max-width:68%}
.shop-app .delivery-strip strong{font-size:14px;text-shadow:0 1px 3px #0008}
.shop-app .delivery-strip small{line-height:1.45;max-width:190px}
.shop-app .bottom-chrome{background:none;left:8px;right:8px}
.shop-app .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));height:76px;padding:6px 4px;background:linear-gradient(160deg,#fff,#e6eef4);border:1px solid white;box-shadow:0 -4px 24px #10314720,0 3px 10px #10314725;backdrop-filter:none;border-radius:22px}
.shop-app .bottom-nav button{border-radius:15px;gap:4px;color:#617587;min-width:0}
.shop-app .bottom-nav button.active{background:linear-gradient(145deg,#ffe7da,#fff4ed);color:#b8442c;box-shadow:inset 0 1px 0 white,0 2px 5px #ad513f16}
.shop-app .bottom-nav img{width:32px;height:32px;object-fit:contain}
.shop-app .bottom-nav small{font-size:10px;font-weight:600}
.shop-app .bottom-nav button.active>span{transform:none}
.shop-app .shop-content{padding-bottom:105px}
.shop-app .product-grid{grid-template-columns:1fr;gap:12px}
.shop-app .product-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px;border-radius:16px;box-shadow:0 3px 10px #10314709;transform:none!important}
.shop-app .product-image{height:112px;border-radius:12px;overflow:hidden;margin-top:4px}
.shop-app .product-image img{transform:none;object-fit:contain;background:#f3f6f7}
.shop-app .product-copy{padding:0 24px 0 0;min-width:0}
.shop-app .product-copy h3{white-space:normal;font:600 14px/1.35 Arial;letter-spacing:0;min-height:0}
.shop-app .product-spec{font-size:11px;line-height:1.4;margin:5px 0!important;min-height:0}
.shop-app .item-code{display:none}
.shop-app .card-price{font-size:16px;margin:8px 0}
.shop-app .quick-qty{max-width:160px;margin:8px 0}
.shop-app .product-copy>.coral.compact{background:none;box-shadow:none;border:0;color:#b94d34!important;padding:4px 0;justify-content:flex-start;font-size:11px;min-height:28px}
.shop-app .favorite{right:6px;top:6px;width:32px;height:36px}
.catalog-group{margin:0 0 24px}
.catalog-group-title{display:flex;align-items:center;justify-content:space-between;font:700 17px/1.3 Arial;margin:20px 0 12px!important}
.catalog-group-title span{font:11px Arial;color:#738997}
.favorites-intro{font-size:13px;line-height:1.6;color:#607681;margin:0 0 18px!important}
.shop-app .mobile-scroll-content{min-height:100%}
.shop-app .brand-logo{width:62.4px;height:62.4px}
.shop-app .bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffffa;border:1px solid #dce6eb;box-shadow:0 -3px 18px #10314712;height:60px;padding:4px;border-radius:18px}
.shop-app .bottom-nav button{color:#627b8b;min-height:44px;gap:2px;border-radius:12px}
.shop-app .bottom-nav button.active{color:#cf563c;background:#fff0e9;box-shadow:none}
.shop-app .bottom-nav button>span{min-height:24px;align-items:center}
.shop-app .bottom-nav button>span>svg{width:23px;height:23px}
.shop-app .delivery-strip{min-height:58px;padding:9px 12px;gap:8px;background-position:center 55%;background-image:linear-gradient(90deg,#071e32ed 0%,#071e32b8 55%,#071e3210 100%),url('/assets/shop/delivery-branded-v2.webp')}
.shop-app .delivery-strip span{max-width:none;flex:1;min-width:0}
.shop-app .delivery-strip strong{font-size:13px;line-height:18px}
.shop-app .delivery-strip small{font-size:11px;line-height:15px;margin-top:2px;max-width:none}
.shop-app .delivery-strip>.delivery-chevron{display:block;width:18px;height:18px;color:white;flex:none}
@media(max-width:360px){.shop-app .wordmark{font-size:20px!important;gap:6px}.shop-app .location{font-size:10px!important}}
:root {
  color: #151515;
  background: #ffffff;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
}

html,
body,
#root {
  width: 100%;
  height: 100%;
  margin: 0;
}

.mobile-carousel {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  user-select: none;
}

.mobile-carousel::-webkit-scrollbar { display: none; }
.mobile-carousel { overflow-x: auto; overflow-y: hidden; touch-action: pan-y; }
.mobile-carousel[data-dragging="true"] { cursor: none; }
.mobile-carousel-content { display: flex; width: max-content; min-width: 100%; transform: translateX(var(--mobile-carousel-overdrag)); will-change: transform; }
.mobile-carousel-scrollbar { position: absolute; z-index: 4; inset: 0; opacity: 0; pointer-events: none; transition: opacity 150ms ease; }
.mobile-carousel-scrollbar[data-visible="true"] { opacity: 1; }
.mobile-carousel-scrollbar-thumb { position: absolute; right: 4px; bottom: 4px; height: 3px; border-radius: 999px; background: rgba(0, 0, 0, 0.35); }

body {
  min-width: 320px;
  overflow: hidden;
}

button,
input,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.phone-stage {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 24px;
}

.device-menu-bar {
  position: absolute;
  z-index: 100;
  top: 18px;
  right: 18px;
  padding: 3px;
  border-radius: 12px;
}

.device-picker-trigger {
  display: flex;
  gap: 10px;
  align-items: center;
  height: 34px;
  padding: 0 10px 0 12px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #151515;
  font: 600 14px/1 ui-sans-serif, system-ui, sans-serif;
}

.device-picker-trigger:hover,
.device-picker-trigger[data-state="open"] {
  background: rgba(0, 0, 0, 0.055);
}

.device-picker-trigger:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.72);
  outline-offset: 2px;
}

.device-picker-menu {
  z-index: 200;
  min-width: 168px;
  padding: 3px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 0 1px rgba(0, 0, 0, 0.06),
    0 0 0 1px rgba(0, 0, 0, 0.08),
    0 4px 4px rgba(0, 0, 0, 0.05);
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
  animation: device-menu-in 120ms ease-out;
}

.device-picker-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 34px;
  padding: 0 9px 0 10px;
  border-radius: 8px;
  color: #181818;
  font: 500 14px/1 ui-sans-serif, system-ui, sans-serif;
  outline: none;
  user-select: none;
}

.device-picker-item[data-highlighted] {
  background: #f0f0f0;
}

.device-picker-item[data-state="checked"] {
  font-weight: 600;
}

.device-picker-check {
  display: grid;
  place-items: center;
  color: #181818;
}

@keyframes device-menu-in {
  from {
    opacity: 0;
    transform: scale(0.98) translateY(-2px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.phone-scale-box {
  position: relative;
}

.phone-device {
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: top left;
  -webkit-user-select: none;
  user-select: none;
}

.phone-bezel {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 2;
  -webkit-user-drag: none;
  pointer-events: none;
}

.device-screen {
  position: absolute;
  overflow: hidden;
  border-radius: 42px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
  cursor: none;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;
}

.device-camera {
  position: absolute;
  z-index: 75;
  display: block;
  border-radius: 50%;
  background: #050505;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.device-screen,
.device-screen * {
  cursor: none !important;
}

.device-screen img,
.keyboard-asset {
  -webkit-user-drag: none;
  user-select: none;
}

.device-screen input,
.device-screen textarea,
.device-screen select,
.device-screen option,
.device-screen [contenteditable="true"] {
  -webkit-user-select: auto;
  user-select: auto;
}

.device-screen:active,
.device-screen:active * {
  cursor: none !important;
}

.device-screen input,
.device-screen textarea,
.device-screen button,
.device-screen a,
.device-screen [role="button"] {
  cursor: none !important;
}

.device-screen[data-cursor-debug="true"],
.device-screen[data-cursor-debug="true"] * {
  cursor: default !important;
}

.device-screen *:focus,
.device-screen *:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

.flow-stack,
.flow-scenes,
.flow-screen {
  position: absolute;
  inset: 0;
}

.mobile-app-viewport {
  position: absolute;
  inset: 0;
}

.mobile-app-viewport[data-platform="android"][data-keyboard-visible="false"] {
  bottom: var(--device-safe-area-bottom, 48px);
}

.flow-stack {
  --flow-header-height: 0px;
  --flow-header-content-height: 0px;
  --flow-header-safe-area: 0px;
  --flow-footer-height: 0px;
  --keyboard-height: 0px;
  overflow: hidden;
  background: transparent;
  touch-action: pan-y;
}

.flow-fixed-header {
  position: absolute;
  z-index: 12;
  top: 0;
  right: 0;
  left: 0;
  height: var(--flow-header-height);
  padding-top: var(--flow-header-safe-area);
  box-sizing: border-box;
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
}

.flow-fixed-footer {
  position: absolute;
  z-index: 12;
  right: 0;
  bottom: var(--keyboard-height);
  left: 0;
  height: var(--flow-footer-height);
  background: transparent;
  transition: bottom 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.flow-scenes {
  top: var(--flow-header-height);
  bottom: 0;
  overflow: hidden;
}

.flow-screen {
  overflow: hidden;
  background: transparent;
  will-change: transform;
}

.mobile-page {
  position: absolute;
  inset: 0;
  --mobile-safe-area-height: var(--device-safe-area-bottom, 34px);
  --keyboard-height: 0px;
}

.mobile-page[data-keyboard-visible="true"] {
  --mobile-safe-area-height: 0px;
}

.mobile-app-viewport[data-platform="android"] .mobile-page {
  --mobile-safe-area-height: 0px;
}

.mobile-scroll {
  position: absolute;
  top: 0;
  right: 0;
  bottom: var(--keyboard-height);
  left: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
  touch-action: none;
  user-select: none;
  transition: bottom 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.mobile-scroll::-webkit-scrollbar {
  display: none;
}

.mobile-scroll[data-dragging="true"] {
  cursor: none;
}

.mobile-cursor {
  position: absolute;
  z-index: 80;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  border: 0.5px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.7) 0 34%, rgba(255, 255, 255, 0.54) 58%, rgba(238, 238, 238, 0.48) 100%);
  box-shadow:
    inset 0 1px 2px rgba(255, 255, 255, 0.6),
    inset 0 -5px 10px rgba(0, 0, 0, 0.05),
    inset 0 0 0 1px rgba(0, 0, 0, 0.025);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 90ms ease,
    background 80ms ease,
    box-shadow 80ms ease;
  will-change: transform;
}

.mobile-cursor::before {
  position: absolute;
  top: 3px;
  left: 50%;
  width: 32px;
  height: 17px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0));
  content: "";
  pointer-events: none;
}

.mobile-cursor::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow:
    inset 1px 0 3px rgba(255, 255, 255, 0.28),
    inset -1px 0 3px rgba(0, 0, 0, 0.02);
  content: "";
  pointer-events: none;
}

.mobile-cursor-hotspot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(0, 122, 255, 0.95);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.75),
    0 0 0 3px rgba(0, 122, 255, 0.16);
  pointer-events: none;
}

.mobile-cursor-hotspot::before,
.mobile-cursor-hotspot::after {
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(0, 122, 255, 0.95);
  content: "";
  transform: translate(-50%, -50%);
}

.mobile-cursor-hotspot::before {
  width: 17px;
  height: 1px;
}

.mobile-cursor-hotspot::after {
  width: 1px;
  height: 17px;
}

.mobile-cursor[data-visible="true"] {
  opacity: 1;
}

.mobile-cursor[data-active="true"] {
  background:
    radial-gradient(circle at 50% 55%, rgba(232, 232, 232, 0.58) 0 30%, rgba(248, 248, 248, 0.5) 62%, rgba(255, 255, 255, 0.68) 100%);
  box-shadow:
    inset 0 3px 7px rgba(0, 0, 0, 0.08),
    inset 0 -4px 8px rgba(255, 255, 255, 0.34),
    inset 0 0 0 1px rgba(0, 0, 0, 0.03);
}

.mobile-cursor[data-active="true"]::before {
  background: linear-gradient(rgba(0, 0, 0, 0.055), rgba(0, 0, 0, 0));
}

.mobile-cursor[data-active="true"]::after {
  box-shadow:
    inset 0 5px 9px rgba(0, 0, 0, 0.045),
    inset 0 -3px 7px rgba(255, 255, 255, 0.28);
}

.mobile-scroll-content {
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: 0;
  will-change: transform;
}

.app-screen {
  background: #ffffff;
}

.mobile-scrollbar {
  position: absolute;
  z-index: 9;
  top: 4px;
  right: 5px;
  bottom: calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);
  width: 4px;
  opacity: 0;
  pointer-events: none;
  transition:
    bottom 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
    opacity 180ms ease;
}

.mobile-page[data-keyboard-dragging="true"] .mobile-scroll,
.mobile-page[data-keyboard-dragging="true"] .mobile-scrollbar,
.flow-stack[data-keyboard-dragging="true"] .flow-fixed-footer {
  transition: none;
}

.mobile-scrollbar[data-visible="true"] {
  opacity: 1;
}

.mobile-scrollbar-thumb {
  width: 4px;
  min-height: 36px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18);
  transition: background 120ms ease;
}

.status-bar {
  position: absolute;
  z-index: 72;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  height: 54px;
  padding: 10px 34px 0 36px;
  background: transparent;
  color: #050505;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  pointer-events: none;
}

.device-screen[data-device="pixel-10"] .status-bar {
  align-items: start;
  height: auto;
  padding: 32px 32px 0;
  font-family: "Roboto", Arial, sans-serif;
}

.status-time {
  justify-self: start;
  min-width: 58px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.status-indicators {
  display: flex;
  align-items: center;
  justify-self: end;
}

.status-indicator-svg {
  display: block;
}

.status-indicator-svg[data-platform="ios"] {
  width: 79px;
  height: 13px;
}

.status-indicator-svg[data-platform="android"] {
  width: 50px;
  height: 14px;
}

.device-screen[data-device="pixel-10"] .status-time {
  font-weight: 500;
  transform: translateY(2px);
}

.home-indicator-svg {
  position: absolute;
  z-index: 70;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: var(--device-safe-area-bottom, 34px);
  pointer-events: none;
}

.android-navigation-bar {
  position: absolute;
  z-index: 70;
  bottom: -1px;
  left: -1px;
  display: block;
  width: 428px;
  height: var(--device-safe-area-bottom, 48px);
  pointer-events: none;
  -webkit-user-drag: none;
}

h1,
h2,
p {
  margin: 0;
}

h1 {
  font-size: 26px;
  line-height: 1.08;
  letter-spacing: 0;
}

h2 {
  font-size: 15px;
}

p {
  color: #555555;
  font-size: 14px;
  line-height: 1.45;
}

.field-label {
  color: #555555;
  font-size: 13px;
  font-weight: 800;
}

.mobile-field {
  display: grid;
  gap: 8px;
}

.mobile-field input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background: #fff;
  color: #151515;
  padding: 0 12px;
  outline: 0;
}

.mobile-field input:focus {
  border-color: rgba(0, 0, 0, 0.16);
  box-shadow: none;
}

.device-screen .mobile-field input:focus,
.device-screen .mobile-field input:focus-visible {
  border-color: rgba(0, 0, 0, 0.12);
  outline: 0 !important;
  box-shadow: none !important;
}

.sheet-overlay {
  position: absolute;
  z-index: 20;
  inset: 0;
  background: rgba(0, 0, 0, 0.34);
}

.bottom-sheet {
  position: absolute;
  z-index: 21;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  min-height: 260px;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
  background: #fff;
  box-shadow: 0 -16px 48px rgba(0, 0, 0, 0.2);
  touch-action: none;
}

.sheet-handle-zone {
  display: grid;
  height: 30px;
  place-items: center;
  touch-action: none;
}

.sheet-handle {
  width: 42px;
  height: 5px;
  border-radius: 999px;
  background: #c9c9c4;
}

.sheet-header {
  display: grid;
  gap: 4px;
  padding: 0 18px 14px;
}

.sheet-title {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
}

.sheet-description {
  margin: 0;
  color: #737373;
  font-size: 13px;
  line-height: 1.35;
}

.sheet-content {
  overflow: auto;
  padding: 0 18px 24px;
}

.keyboard-dock {
  position: absolute;
  z-index: 30;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 339px;
  padding: 0;
  overflow: hidden;
  border-radius: 32px 32px 0 0;
  background: #d8d9de;
  box-shadow: none;
  pointer-events: none;
  will-change: transform;
}

.keyboard-dock[data-platform="android"] {
  border-radius: 0;
  background: #f3f2f6;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.08);
}

.keyboard-dock[data-visible="true"] {
  pointer-events: auto;
}

.keyboard-asset {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center bottom;
  -webkit-user-drag: none;
  pointer-events: none;
}

.keyboard-dock[data-platform="android"] .keyboard-asset {
  border-radius: 0;
  object-fit: fill;
}
