:root{--ink:#171612;--paper:#f5efe3;--white:#fffdf7;--gold:#d29a16;--gold-dark:#a87305;--red:#be3a27;--muted:#706d65;--line:rgba(23,22,18,.14);--shadow:0 28px 80px rgba(28,22,10,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button,a{color:inherit}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2vw;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-weight:700;font-size:20px}.brand-name{font-family:"Playfair Display",serif;font-size:24px;font-weight:700}.site-header nav{display:flex;gap:34px;font-size:14px;font-weight:600}.site-header nav a,.text-link,footer a{text-decoration:none;position:relative}.site-header nav a:after,.text-link:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-5px;background:currentColor;transition:.25s}.site-header nav a:hover:after,.text-link:hover:after{right:0}.cart-pill{border:0;border-radius:999px;background:var(--ink);color:white;padding:10px 12px 10px 20px;display:flex;align-items:center;gap:14px;cursor:pointer;font-weight:700}.cart-pill strong{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink)}
.hero{min-height:680px;padding:54px 5.2vw 72px;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--gold-dark)}.eyebrow{display:flex;gap:10px;align-items:center}.eyebrow span{width:34px;height:2px;background:var(--gold)}h1,h2{font-family:"Playfair Display",serif;margin:0;line-height:1}.hero h1{font-size:clamp(58px,7vw,104px);letter-spacing:-.055em;margin:24px 0 28px}.hero h1 em{font-weight:600;color:var(--gold-dark)}.hero-copy>p{font-size:18px;line-height:1.7;max-width:590px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:27px;margin:36px 0 52px}.btn{border:0;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:16px 23px;cursor:pointer;font-weight:700;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:var(--ink)}.btn-primary:hover{background:#e2aa28}.text-link{font-weight:700;font-size:14px}.service-row{display:flex;gap:0}.service-row div{padding:0 28px;border-left:1px solid var(--line);display:flex;flex-direction:column}.service-row div:first-child{padding-left:0;border:0}.service-row b{font-family:"Playfair Display",serif;font-size:22px}.service-row small{color:var(--muted);margin-top:4px}.hero-visual{height:550px;position:relative;background:#c7961f;overflow:hidden;border-radius:240px 240px 18px 18px}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(25deg,rgba(22,18,10,.35),transparent 55%)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 48%;mix-blend-mode:multiply;filter:saturate(.9) contrast(1.05)}.japanese-type{position:absolute;top:30px;left:36px;color:rgba(255,255,255,.75);font-family:serif;font-size:30px;letter-spacing:.35em;z-index:2}.stamp{position:absolute;right:28px;top:42px;z-index:2;border:1px solid rgba(255,255,255,.75);border-radius:50%;width:84px;height:84px;display:grid;place-items:center;text-align:center;color:white;text-transform:uppercase;font-size:11px;font-weight:700;transform:rotate(8deg)}.hero-note{position:absolute;z-index:2;bottom:28px;left:32px;color:white;text-transform:uppercase;letter-spacing:.13em;font-size:11px;line-height:1.7}.hero-note span{display:block;color:var(--gold);font-size:13px}
.order-mode{margin:0 5.2vw;background:var(--ink);color:white;display:grid;grid-template-columns:300px 1fr;min-height:96px}.mode-tabs{display:flex;border-right:1px solid rgba(255,255,255,.16)}.mode-tab{flex:1;background:transparent;border:0;color:#aaa;cursor:pointer;font-weight:700}.mode-tab span{display:block;font-size:24px;margin-bottom:2px}.mode-tab.active{background:var(--gold);color:var(--ink)}.mode-details{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:40px;padding:18px 26px}.mode-details div{display:flex;flex-direction:column;gap:5px}.mode-details small{color:#aaa}.mode-details a{font-size:13px;color:var(--gold);font-weight:700}
.mode-tab:disabled,.fulfilment-mini button:disabled{cursor:not-allowed;opacity:.38}.mode-tab.active:disabled{background:#4a4740;color:#aaa}.service-status{color:var(--gold)!important;font-weight:700}.delivery-rule{display:block;margin:10px 0 2px;color:var(--muted);font-size:12px;line-height:1.45}.checkout-btn:disabled{cursor:not-allowed;background:#a9a49a;color:#fff;transform:none}.postal-hint{display:block;margin-top:6px;color:var(--muted);font-weight:400;line-height:1.35}
.menu-section{padding:110px 5.2vw}.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end;margin-bottom:32px}.section-heading h2,.feature-copy h2{font-size:clamp(40px,4.3vw,64px);letter-spacing:-.04em;margin-top:14px}.section-heading p{color:var(--muted);line-height:1.7;margin:0}.allergen-notice{display:flex;align-items:center;gap:18px;margin:0 0 30px;padding:15px 18px;border-left:4px solid var(--gold);background:#fff8e7;color:var(--muted);font-size:14px;line-height:1.5}.allergen-notice strong{color:var(--ink);white-space:nowrap}.allergen-notice a,.checkout-allergen a,.privacy-note a{color:var(--gold-dark);font-weight:700}.category-tabs{display:flex;gap:10px;overflow:auto;padding-bottom:8px;margin-bottom:38px;scrollbar-width:none}.category-tabs button{white-space:nowrap;border:1px solid var(--line);background:transparent;padding:10px 17px;cursor:pointer;border-radius:999px;font-weight:600;color:var(--muted)}.category-tabs button.active{background:var(--ink);border-color:var(--ink);color:white}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.menu-card{background:rgba(255,255,255,.47);min-height:182px;padding:22px;display:grid;grid-template-columns:1fr 118px;gap:16px;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.menu-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(44,33,10,.1);background:#fff}.menu-card .card-copy{display:flex;flex-direction:column}.menu-card .tag{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:700;min-height:15px}.menu-card h3{font-family:"Playfair Display",serif;font-size:23px;line-height:1.14;margin:11px 0 8px}.menu-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.menu-card .price-row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px}.menu-card .price{font-weight:700;font-size:16px}.plus{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-size:22px;font-weight:400}.menu-card img{width:118px;height:138px;object-fit:cover;filter:saturate(.88);border-radius:100px 100px 10px 10px}.menu-section>.btn{display:flex;margin:36px auto 0}.btn-outline{border:1px solid var(--ink);background:transparent}
.menu-card.sold-out{cursor:not-allowed;filter:grayscale(.75);opacity:.58}.menu-card.sold-out:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.47)}.menu-card.sold-out .plus{width:auto;padding:0 10px;border-radius:999px;background:#5b5852;color:#fff;font-size:12px;font-weight:700}.cart-item.unavailable{background:#fff2f2}.cart-item.unavailable small{color:var(--red);font-weight:700}
.feature{margin:30px 5.2vw 120px;display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;background:#e9dec9}.feature-image{position:relative;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) sepia(.15)}.feature-image span{position:absolute;bottom:30px;left:30px;color:white;font-family:"Playfair Display",serif;font-size:28px}.feature-copy{padding:70px 7vw 50px 6vw}.feature-copy p{color:var(--muted);line-height:1.7;font-size:16px;margin:25px 0 30px}.feature-copy ul{list-style:none;margin:0;padding:0}.feature-copy li{display:flex;gap:20px;border-top:1px solid var(--line);padding:19px 0}.feature-copy li>span{color:var(--gold-dark);font-size:12px;font-weight:700}.feature-copy li div{display:flex;flex-direction:column;gap:5px}.feature-copy li small{color:var(--muted);line-height:1.45}.contact-strip{padding:65px 5.2vw;background:var(--gold);display:grid;grid-template-columns:1.15fr .85fr auto;gap:50px;align-items:center}.contact-strip .kicker{color:var(--ink)}.contact-strip h2{font-size:38px;line-height:1.15;margin-top:12px}.hours{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.hours small{opacity:.65}.btn-light{background:var(--white)}footer{background:var(--ink);color:white;padding:42px 5.2vw;display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(260px,auto);gap:30px;align-items:center}footer .brand-mark{color:var(--ink)}footer p{color:#aaa;line-height:1.6;margin:0}footer .footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px;font-size:13px}
.backdrop{position:fixed;inset:0;background:rgba(17,15,10,.55);backdrop-filter:blur(3px);z-index:20;opacity:0;visibility:hidden;transition:.3s}.backdrop.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;right:0;top:0;width:min(475px,100%);height:100vh;background:var(--white);z-index:21;padding:34px;display:flex;flex-direction:column;transform:translateX(100%);transition:.38s cubic-bezier(.2,.8,.2,1)}.cart-drawer.open{transform:none}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-header small{color:var(--gold-dark);text-transform:uppercase;letter-spacing:.14em}.drawer-header h2{font-size:40px;margin-top:5px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:27px;cursor:pointer}.fulfilment-mini{background:#eee8dc;padding:4px;display:flex;margin:25px 0}.fulfilment-mini button{flex:1;border:0;padding:11px;background:transparent;cursor:pointer;font-weight:700}.fulfilment-mini button.active{background:var(--white);box-shadow:0 3px 12px rgba(30,20,5,.09)}.cart-items{overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:65px 1fr auto;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.cart-item img{width:65px;height:70px;object-fit:cover}.cart-item h4{margin:0 0 5px;font-family:"Playfair Display",serif}.cart-item small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.cart-item .item-controls{display:flex;gap:10px;align-items:center;margin-top:9px}.cart-item .item-controls button{border:0;background:#eee8dc;width:25px;height:25px;border-radius:50%;cursor:pointer}.remove-item{background:transparent!important;color:#999}.cart-summary{border-top:1px solid var(--line);padding-top:20px}.cart-summary>div{display:flex;justify-content:space-between;margin:8px 0;color:var(--muted)}.cart-summary .total{font-size:20px;color:var(--ink);padding-top:12px;margin-top:15px;border-top:1px solid var(--line)}.checkout-btn{width:100%;margin:16px 0 11px}.secure{display:block;text-align:center;color:#777;font-size:11px}.empty-cart{display:none;text-align:center;margin:auto}.empty-cart span{font-family:serif;color:var(--gold-dark);font-size:30px}.empty-cart h3{font-family:"Playfair Display",serif;font-size:28px;margin:18px 0 7px}.empty-cart p{color:var(--muted);margin:0 0 22px}
.modal{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-46%) scale(.97);width:min(910px,92vw);max-height:90vh;background:var(--white);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.25s;overflow:auto}.modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.modal>.modal-close{position:absolute;right:17px;top:17px;z-index:2;background:rgba(255,255,255,.88)}#productModal{display:grid;grid-template-columns:.9fr 1.1fr}#productModal>img{width:100%;height:100%;min-height:590px;object-fit:cover}.product-modal-body{padding:55px 48px 40px}.product-modal-body h2{font-size:46px;margin:12px 0}.product-modal-body>p{color:var(--muted);line-height:1.6}.option-group{margin:25px 0}.option-group h4{margin:0 0 10px}.option-group label{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 2px;cursor:pointer}.option-group label div{display:flex;align-items:center;gap:10px}.notes-label{display:block;font-weight:700;font-size:13px;margin-top:22px}.notes-label textarea{width:100%;height:70px;resize:none;margin-top:8px;padding:12px;border:1px solid var(--line);background:transparent}.add-row{display:flex;gap:12px;margin-top:22px}.qty-control{display:flex;align-items:center;border:1px solid var(--line)}.qty-control button{width:40px;height:50px;border:0;background:transparent;cursor:pointer;font-size:20px}.qty-control strong{min-width:25px;text-align:center}.add-row .btn{flex:1}.checkout-modal{padding:45px 50px;width:min(990px,94vw)}.checkout-head{text-align:center}.checkout-head h2{font-size:42px;margin:10px 0 20px}.steps{display:flex;align-items:center;justify-content:center;margin-bottom:28px}.steps span{width:25px;height:25px;border:1px solid #bbb;border-radius:50%;display:grid;place-items:center;font-size:11px}.steps span.active{background:var(--gold);border-color:var(--gold)}.steps i{width:60px;height:1px;background:#ccc}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.checkout-grid section{padding:24px;background:#f2ecdf}.checkout-grid h3{font-family:"Playfair Display",serif;font-size:21px;margin:5px 0 16px}.checkout-grid label{display:block;font-size:12px;font-weight:700;margin:12px 0}.checkout-grid input{display:block;width:100%;border:1px solid #cfc6b6;background:#fffdf8;padding:12px;margin-top:6px;outline:none}.checkout-grid input:focus{border-color:var(--gold-dark)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row.small{grid-template-columns:.7fr 1.3fr}.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pay-methods label{margin:0}.pay-methods input{position:absolute;opacity:0}.pay-methods span{display:block;text-align:center;padding:12px 5px;border:1px solid #ccc;cursor:pointer}.pay-methods input:checked+span{border-color:var(--gold-dark);background:#fff}.promo div{display:flex}.promo div input{margin:0}.promo button{border:0;background:var(--ink);color:white;padding:0 14px;cursor:pointer}.promo small{font-weight:400;color:var(--red)}.checkout-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.checkout-total strong{font-size:24px}.success-state{text-align:center;padding:60px 10vw;display:none}.success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font-size:35px;margin:0 auto 24px}.success-state h2{font-size:48px;margin:10px}.success-state p{color:var(--muted);line-height:1.7;max-width:520px;margin:20px auto 27px}.toast{position:fixed;left:50%;bottom:30px;z-index:50;transform:translate(-50%,20px);background:var(--ink);color:white;padding:13px 22px;opacity:0;visibility:hidden;transition:.25s;font-size:14px}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.customer-memory{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.checkout-grid .remember-customer{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.checkout-grid .remember-customer input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--gold-dark);flex:0 0 auto}.remember-customer span{display:flex;flex-direction:column;gap:3px}.remember-customer b{font-size:13px}.remember-customer small{font-size:11px;line-height:1.4;color:var(--muted);font-weight:400}.saved-customer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:9px 10px;background:#fff8e7;font-size:11px;color:var(--muted)}.saved-customer[hidden]{display:none}.saved-customer button{border:0;background:transparent;padding:0;color:var(--red);font-weight:700;cursor:pointer;white-space:nowrap}.privacy-note{display:block;margin-top:9px;color:var(--muted);line-height:1.4}.checkout-allergen{margin:17px 0 2px;padding:11px 12px;background:#fff8e7;border-left:3px solid var(--gold);font-size:12px;line-height:1.45}.checkout-allergen strong,.checkout-allergen span{display:block}.checkout-allergen span{margin-top:3px;color:var(--muted)}.checkout-grid .terms-agreement{display:flex;align-items:flex-start;gap:9px;margin:16px 0 4px;font-size:12px;line-height:1.45;cursor:pointer}.checkout-grid .terms-agreement input{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--gold-dark)}.terms-agreement a{color:var(--gold-dark);font-weight:700}
@media(max-width:980px){.hero{grid-template-columns:1fr .85fr;gap:4vw}.hero-visual{height:480px}.menu-grid{grid-template-columns:repeat(2,1fr)}.feature{grid-template-columns:1fr 1fr}.contact-strip{grid-template-columns:1fr 1fr}.contact-strip .btn{grid-column:1/-1;width:max-content}.site-header nav{display:none}}
@media(max-width:720px){.site-header{height:70px;padding:0 20px}.brand-name{font-size:20px}.hero{display:flex;flex-direction:column;padding:42px 20px 40px}.hero h1{font-size:58px}.hero-visual{width:100%;height:390px}.service-row div{padding:0 14px}.service-row b{font-size:18px}.order-mode{margin:0 20px;grid-template-columns:1fr}.mode-tabs{height:76px;border:0}.mode-details{grid-template-columns:1fr auto;gap:10px}.mode-details div:nth-child(2){display:none}.menu-section{padding:80px 20px}.section-heading{grid-template-columns:1fr;gap:18px}.allergen-notice{align-items:flex-start;flex-direction:column;gap:6px}.menu-grid{grid-template-columns:1fr}.feature{margin:0 20px 70px;grid-template-columns:1fr}.feature-image{height:380px}.feature-copy{padding:45px 25px}.contact-strip{padding:50px 20px;grid-template-columns:1fr}.contact-strip .btn{grid-column:auto}footer{padding:40px 20px;grid-template-columns:1fr;align-items:flex-start;gap:16px}footer .footer-links{justify-content:flex-start}.cart-drawer{padding:25px 20px}#productModal{display:block}.modal{max-height:94vh}#productModal>img{height:230px;min-height:0}.product-modal-body{padding:35px 24px 25px}.product-modal-body h2{font-size:36px}.checkout-modal{padding:42px 20px 25px}.checkout-grid{grid-template-columns:1fr;gap:14px}.checkout-head h2{font-size:34px}.checkout-grid section{padding:18px}.field-row{grid-template-columns:1fr}.field-row.small{grid-template-columns:1fr 1fr}}
.category-tabs button small{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:99px;background:rgba(23,22,18,.08);font-size:10px}.category-tabs button.active small{background:rgba(255,255,255,.16)}
.brand-logo{width:58px;height:58px;display:block;object-fit:contain;flex:0 0 auto}.brand.light .brand-logo{width:64px;height:64px;padding:3px;background:#fff;border-radius:50%}@media(max-width:720px){.brand-logo{width:46px;height:46px}.brand.light .brand-logo{width:52px;height:52px}}
.hero-visual{background:radial-gradient(circle at 50% 42%,#f0c95e 0,#d39a16 48%,#8b5808 100%)}.hero-visual:after{background:linear-gradient(25deg,rgba(22,18,10,.3),transparent 58%)}.hero-visual img{object-fit:contain;object-position:center;padding:54px 28px 22px;mix-blend-mode:normal;filter:drop-shadow(0 28px 24px rgba(45,25,0,.32)) saturate(1.04)}
.photo-placeholder{width:118px;height:138px;border:1px dashed rgba(168,115,5,.42);border-radius:100px 100px 10px 10px;background:linear-gradient(145deg,#f0e5cf,#fbf7ef);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--gold-dark);gap:5px}.photo-placeholder span{font-family:serif;font-size:25px}.photo-placeholder small{text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:700}.cart-item .photo-placeholder{width:65px;height:70px;border-radius:30px 30px 6px 6px}.cart-item .photo-placeholder span{font-size:16px}.cart-item .photo-placeholder small{font-size:6px}.product-media{position:relative;min-height:590px;background:#f0e5cf}.product-media>img{width:100%;height:100%;min-height:590px;object-fit:cover}.product-placeholder{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#ead9b8,#faf5eb);color:var(--gold-dark);gap:10px}.product-placeholder span{font-family:serif;font-size:58px}.product-placeholder small{text-transform:uppercase;letter-spacing:.18em;font-weight:700}
@media(max-width:720px){.hero-visual img{padding:38px 18px 18px}.product-media,.product-media>img{height:230px;min-height:230px}}
.success-cancel{max-width:520px;margin:0 auto 26px;padding:18px 20px;border:1px solid #d7c89d;background:#f8f1df}.success-cancel>strong{display:block;font-size:18px}.success-cancel p{margin:7px auto 14px;font-size:14px;line-height:1.55}.success-call{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;text-decoration:none}
.order-live-status{display:flex;max-width:520px;margin:0 auto 16px;padding:18px 20px;border:1px solid #b9d5c8;background:#edf8f3;flex-direction:column;gap:6px}.order-live-status>span{color:#316c55;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.order-live-status>strong{font-family:"Playfair Display",serif;font-size:25px}.order-live-status>small{color:var(--muted)}.order-live-status.ready{border-color:#75ba97;background:#dcf5e8}.order-live-status.refunded{border-color:#d4c9c9;background:#f4f0f0}
