body{display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}.app-header__in{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem clamp(12px,4vw,24px);max-width:var(--maxw);margin:0 auto}.app-header__logo{display:flex;align-items:center;gap:.55rem}.app-header__logo img{height:38px;width:auto}.app-header__logo b{font-size:1rem;letter-spacing:.2px}.cart-btn{position:relative;background:var(--brand);color:#fff;border:none;border-radius:999px;height:44px;min-width:44px;padding:0 .9rem;font-weight:700;display:flex;align-items:center;gap:.4rem;cursor:pointer}.cart-btn__count{position:absolute;top:-6px;right:-6px;background:var(--accent);color:#3a2a12;border-radius:999px;font-size:.72rem;font-weight:800;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tap);padding:.35rem 0;font-size:.72rem;font-weight:600;color:var(--ink-soft);position:relative}.bottom-nav a.active{color:var(--brand)}.bottom-nav svg{width:22px;height:22px}.bottom-nav .nav-badge{position:absolute;top:2px;right:calc(50% - 20px);background:var(--brand);color:#fff;border-radius:999px;font-size:.66rem;font-weight:800;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center}@media (min-width:768px){.bottom-nav{display:none}.bottom-nav~.site-footer{padding-bottom:1.25rem}}main.view{max-width:var(--maxw);margin:0 auto;padding:1rem clamp(12px,4vw,24px) .75rem;width:100%;min-width:0}main.view:has(.hp-hero){overflow-x:clip}:root{--font-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;--font-script:"Segoe Script","Bradley Hand","Brush Script MT","Lucida Handwriting",cursive}.hp-script{font-family:var(--font-script);font-style:italic;line-height:1.15;margin:0}.hp-heart{display:inline-block;margin-left:.3em;color:var(--brand)}.hp-hero{position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.hp-hero{display:block}.hp-hero__body{position:relative;z-index:2;width:44%;padding:1.3rem 0 1.3rem clamp(1rem,4.5vw,1.6rem);display:flex;flex-direction:column;align-items:flex-start}.hp-hero__portrait{width:clamp(56px,17vw,78px);height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;background:#000;margin-bottom:.55rem}.hp-hero__brand{width:clamp(140px,42vw,220px);height:auto;object-fit:contain;margin-bottom:.75rem}.hp-hero__desc{color:var(--ink-soft);font-size:clamp(.82rem,3.3vw,.95rem);line-height:1.5;margin:0 0 1.1rem;max-width:19em}.hp-hero__ctas{display:flex;flex-direction:column;gap:.6rem;align-self:stretch;width:100%}.hp-hero__cta{border-radius:var(--radius-sm);font-size:clamp(.9rem,3.6vw,1rem);font-weight:700;min-height:48px;padding-inline:1.3rem;flex:1}.hp-hero__ctas .btn--primary{box-shadow:0 6px 16px #c1121f38}.hp-hero__cta.btn--ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.hp-hero__cta.btn--ghost:hover{background:var(--surface-2)}.hp-hero__media{position:absolute;top:0;right:0;bottom:0;width:56%;z-index:1;overflow:hidden;pointer-events:none}.hp-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}.hp-hero__media:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--surface-2) 0%,var(--surface-2) 8%,transparent 32%)}@media (min-width:820px){.hp-hero{aspect-ratio:3.9}.hp-hero__body{width:42%;justify-content:center;padding:1.5rem clamp(1.25rem,2.5vw,2rem) 1.5rem clamp(1.5rem,3vw,2.25rem)}.hp-hero__brand{width:clamp(205px,18vw,260px);margin-bottom:.85rem}.hp-hero__desc{max-width:14em;margin-bottom:1.15rem}.hp-hero__ctas{flex-direction:row;max-width:420px}.hp-hero__media{width:70%}.hp-hero__media:before{background:linear-gradient(to right,var(--surface-2) 0%,var(--surface-2) 6%,transparent 28%)}}.hp-section__title{font-size:clamp(1.15rem,4.2vw,1.4rem);text-align:center}.hp-cats{margin-top:1.6rem}.hp-cats__grid{display:grid;grid-template-columns:1fr;gap:.7rem}@media (min-width:640px){.hp-cats__grid{grid-template-columns:repeat(3,1fr)}}.hp-cat{display:flex;flex-direction:row;align-items:center;text-align:left;gap:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.hp-cat:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.hp-cat__icon{width:48px;height:48px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}.hp-cat__icon img{width:100%;height:100%;object-fit:contain}.hp-cat__body{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0}.hp-cat__name{font-size:1.05rem;letter-spacing:.04em;color:var(--brand)}.hp-cat__desc{color:var(--ink-soft);font-size:.85rem;line-height:1.4;text-align:left}.hp-experience{margin-top:1.8rem;text-align:center}.hp-experience__sub{color:var(--ink-soft);font-size:clamp(.85rem,3.2vw,.98rem);margin:0}.hp-steps{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:1.4rem;max-width:900px;margin-inline:auto;align-items:start}@media (min-width:760px){.hp-steps{grid-template-columns:1fr 56px 1fr 56px 1fr}}.hp-step{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}.hp-step__badge{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:.6rem}.hp-step__num{font-weight:800;font-size:1rem;letter-spacing:.02em;color:#fff;background:var(--brand);border-radius:50%;width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.hp-step__icon{width:52px;height:52px;flex:0 0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--brand)}.hp-step__icon img{width:100%;height:100%;object-fit:contain}.hp-step__title{font-size:1rem;color:var(--ink)}.hp-step__desc{color:var(--ink-soft);font-size:.85rem;line-height:1.4;max-width:230px}.hp-step-sep{display:none}@media (min-width:760px){.hp-step-sep{display:block;width:100%;height:0;border-top:1px dashed var(--line);margin-top:26px}}.hp-store{position:relative;margin-top:2.2rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.hp-store__photo img{width:100%;height:auto;display:block}.hp-store__info{position:absolute;left:0;right:0;bottom:0;padding:2.2rem clamp(1rem,4.5vw,1.6rem) 1.2rem;text-align:left;color:#fff;background:linear-gradient(to top,rgba(20,12,6,.88) 0%,rgba(20,12,6,.55) 60%,transparent 100%)}.hp-store__name{font-weight:800;letter-spacing:.03em;font-size:clamp(1.3rem,5vw,1.7rem);line-height:1;margin:0;color:#fff}.hp-store__sub{font-size:clamp(.85rem,3.2vw,1rem);margin:.35rem 0 .55rem;color:#ffffffeb}.hp-store__addr{display:flex;align-items:center;gap:.35rem;font-size:clamp(.78rem,3vw,.9rem);line-height:1.3;margin:0;color:#fff}.hp-store__addr svg{width:1.05em;height:1.05em;flex:0 0 auto;stroke-width:2;color:#fff}@media (min-width:760px){.hp-store__info{padding:2.6rem clamp(1.4rem,3vw,2.2rem) 1.6rem}}.hp-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.8rem}.hp-contact__card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem .5rem;text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:.35rem}.hp-contact__icon{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#fbe4e5;color:var(--brand)}.hp-contact__icon svg{width:19px;height:19px}.hp-contact__icon--ig{color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.hp-contact__title{font-size:clamp(.72rem,2.8vw,.86rem);line-height:1.2;color:var(--ink);font-weight:700}.hp-contact__val{font-size:clamp(.68rem,2.8vw,.86rem);font-weight:800;color:var(--brand);max-width:100%;word-break:break-word}.hp-contact__addr{font-size:clamp(.66rem,2.6vw,.8rem);line-height:1.3;color:var(--ink-soft)}.hp-contact__btn{margin-top:auto;align-self:center;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:.4rem .6rem;font-size:clamp(.62rem,2.4vw,.82rem);font-weight:700;color:var(--ink);background:var(--surface-2);white-space:nowrap}.hp-contact__btn:active{transform:translateY(1px)}.hp-order-cta{position:relative;overflow:hidden;margin-top:1.8rem;padding:1.4rem clamp(1.2rem,5vw,2.2rem);border-radius:var(--radius);background:var(--brand);color:#fff;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.hp-order-cta__body{position:relative;z-index:1}.hp-order-cta h2{margin:0 0 .3rem;font-size:clamp(1.3rem,5vw,1.7rem)}.hp-order-cta p{margin:0 0 1.1rem;opacity:.92;font-size:clamp(.88rem,3.4vw,1rem)}.hp-order-cta__btn{background:#fff;color:var(--brand-dark);min-height:52px;padding-inline:1.6rem;font-size:1.02rem}.hp-order-cta__btn:hover{background:var(--surface-2)}.hp-order-cta__btn svg{width:1.1em;height:1.1em;flex:0 0 auto}.hp-order-cta__media{width:clamp(120px,22vw,190px);flex:0 0 auto}.hp-order-cta__media img{width:100%;height:auto;object-fit:contain;display:block}.hp-order-cta__slogan{color:#fff;font-size:clamp(1rem,3.6vw,1.3rem);line-height:1.2;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.3)}.hp-order-cta__slogan .hp-heart{color:#fff}@media (min-width:640px){.hp-order-cta{flex-direction:row;justify-content:space-between;text-align:left}.hp-order-cta__body{flex:1 1 auto;text-align:center}.hp-order-cta__slogan{flex:0 0 auto;text-align:left;max-width:180px}.hp-order-cta__media{width:clamp(160px,20vw,230px);align-self:stretch;display:flex;align-items:center;justify-content:flex-end}.hp-order-cta__media img{width:auto;height:90%;max-height:150px}}.hp-ig{margin-top:1.8rem;padding:1.8rem clamp(1rem,4vw,2rem);text-align:center;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.hp-ig__row{display:flex;flex-direction:column;gap:1.2rem}.hp-ig-gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;flex:1;min-width:0}@media (min-width:560px){.hp-ig-gallery__grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.hp-ig-gallery__grid{grid-template-columns:repeat(5,1fr)}}.hp-ig-gallery__item{aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.hp-ig-gallery__item img{width:100%;height:100%;object-fit:cover}.hp-ig-side{display:flex;flex-direction:column;align-items:center;gap:.9rem}.hp-ig-cta__btn{min-height:50px;padding-inline:1.4rem;white-space:nowrap}.hp-ig-side__slogan{color:var(--brand-dark);font-size:clamp(1rem,3.4vw,1.2rem);text-align:center}@media (min-width:900px){.hp-ig__row{flex-direction:row;align-items:center;text-align:left}.hp-ig-side{flex:0 0 auto;width:220px}}.hp-footer{margin-top:2rem;padding:1.8rem clamp(1rem,5vw,2rem) 1.4rem;text-align:center;border-top:1px solid var(--line)}.hp-footer__logo{height:48px;width:auto;margin:0 auto .5rem}.hp-footer__tag{color:var(--brand-dark);font-weight:700;font-size:.95rem;margin:0}.hp-footer__grid{display:grid;grid-template-columns:1fr;gap:1.6rem;max-width:560px;margin:0 auto;text-align:center}@media (min-width:480px){.hp-footer__grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.hp-footer__grid{grid-template-columns:repeat(4,1fr);max-width:none;text-align:left}}.hp-footer__col{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem}.hp-footer__col b{color:var(--ink);font-size:.88rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.hp-footer__col a,.hp-footer__col span{color:var(--ink-soft)}.hp-footer__col a:hover,.hp-footer__col a:focus-visible{color:var(--brand-dark)}.hp-footer__col--brand{align-items:center}.hp-footer__col--brand .hp-footer__logo{margin:0 0 .5rem}@media (min-width:900px){.hp-footer__col--brand{align-items:flex-start}.hp-footer__col--brand .hp-footer__logo{margin-left:0;margin-right:0}}.hp-footer__col--slogan{color:var(--brand-dark);font-size:1.05rem;text-align:center}@media (min-width:900px){.hp-footer__col--slogan{text-align:right;align-items:flex-end}}.hp-footer__copy{margin:1.5rem 0 0;color:var(--ink-soft);font-size:.8rem}.cat-chips{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 .5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cat-chips::-webkit-scrollbar{display:none}.cat-chip{flex:0 0 auto;padding:.5rem .95rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap}.cat-chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.menu-section{margin-top:1.4rem}.menu-section h2{display:flex;align-items:center;gap:.5rem}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:.7rem}@media (min-width:768px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(4,1fr)}}.p-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.p-card__media{aspect-ratio:1/1;background:var(--surface-2);position:relative;overflow:hidden}.p-card__media img{width:100%;height:100%;object-fit:cover}.p-card__media--fallback{background:var(--surface)}.p-card__media--fallback img{object-fit:contain;padding:16%}.p-card__body{padding:.6rem .65rem .7rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.p-card__name{font-weight:700;font-size:.92rem;line-height:1.25}.p-card__hint{font-size:.72rem;color:var(--brand);font-weight:700;margin-top:-.15rem}.add-btn--has{background:var(--brand-dark);font-size:1rem}.p-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.4rem}.p-card .price{font-size:1rem}.add-btn{border:none;background:var(--brand);color:#fff;border-radius:999px;height:38px;min-width:38px;font-size:1.35rem;line-height:1;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.add-btn:active{transform:scale(.92)}.qty-inline{display:flex;align-items:center;gap:.35rem;background:var(--surface-2);border-radius:999px;padding:.15rem}.qty-inline button{border:none;background:var(--surface);width:32px;height:32px;border-radius:50%;font-size:1.1rem;font-weight:700;cursor:pointer}.qty-inline span{min-width:20px;text-align:center;font-weight:800}.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:.7rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}.cart-line img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--surface-2)}.cart-line__name{font-weight:700;font-size:.92rem}.cart-line__ctl{display:flex;align-items:center;gap:.5rem;margin-top:.35rem}.cart-line__ctl button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-weight:800;cursor:pointer}.link-danger{color:var(--danger);background:none;border:none;font-size:.82rem;cursor:pointer;padding:.2rem 0}.summary-row{display:flex;justify-content:space-between;padding:.3rem 0}.summary-row--total{font-size:1.15rem;font-weight:800;border-top:2px solid var(--line);margin-top:.4rem;padding-top:.6rem}.sticky-cta{position:fixed;left:0;right:0;bottom:calc(var(--tap) + env(safe-area-inset-bottom,0px));padding:.6rem clamp(12px,4vw,24px);background:linear-gradient(180deg,transparent,var(--bg) 30%);z-index:55}.sticky-cta .btn{max-width:var(--maxw);margin:0 auto;box-shadow:var(--shadow)}.empty{text-align:center;padding:3rem 1rem;color:var(--ink-soft)}.empty img{height:54px;opacity:.5;margin:0 auto 1rem}.order-done{text-align:center;padding:1.5rem 0}.order-done__num{font-size:2rem;font-weight:900;letter-spacing:1px;color:var(--brand);margin:.4rem 0}.order-done img{height:60px;margin:0 auto 1rem}.skeleton{background:linear-gradient(90deg,var(--surface-2),#fff,var(--surface-2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--radius)}@keyframes sk{to{background-position:-200% 0}}
