.hero__visual .hero__video{
  position:relative;z-index:2;width:122%;max-width:none;aspect-ratio:16/9;
  object-fit:cover;object-position:center;border-radius:3px;transform:translateX(5%);
  filter:saturate(.98) contrast(1.1);box-shadow:0 50px 120px #000
}
.categories-wrap{transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s}
.categories-wrap:not(.menu-visible){transform:translateY(-110%);opacity:0;pointer-events:none}
.page-progress{position:fixed;z-index:500;left:0;right:0;top:0;height:2px;background:transparent;pointer-events:none}.page-progress i{display:block;height:100%;width:var(--page-progress,0%);background:var(--verm);box-shadow:0 0 12px rgba(225,68,54,.7)}
.taste-marquee{height:42px;border-block:1px solid var(--line);overflow:hidden;background:#0d0d0f;display:flex;align-items:center}.taste-marquee>div{display:flex;align-items:center;flex-shrink:0;width:max-content;animation:tasteRun 28s linear infinite}.taste-marquee span{font-size:8px;font-weight:800;letter-spacing:.16em;color:#777;margin-right:55px}.taste-marquee span:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--verm);margin-left:55px;vertical-align:middle}@keyframes tasteRun{to{transform:translateX(-50%)}}
.menu-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:center;margin:-20px 0 36px;padding:14px;border:1px solid var(--line);background:rgba(17,17,20,.82);backdrop-filter:blur(18px)}
.menu-search{height:48px;display:flex;align-items:center;border:1px solid var(--line);background:#0c0c0e;padding:0 15px}
.menu-search svg{width:18px;height:18px;fill:none;stroke:var(--verm);stroke-width:1.6}.menu-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:0 12px;font-size:11px}
.menu-search input::placeholder{color:#666}.menu-filters{display:flex;gap:6px;overflow:auto;scrollbar-width:none}.menu-filters button{height:38px;padding:0 13px;border:1px solid var(--line);background:transparent;color:#888;font-size:9px;font-weight:700;white-space:nowrap}
.menu-filters button.active{background:var(--paper);color:#111;border-color:var(--paper)}.menu-result-count{grid-column:1/-1;color:#666;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.menu-empty{min-height:260px;border:1px solid var(--line);display:grid;place-items:center;align-content:center;text-align:center;gap:8px}.menu-empty[hidden]{display:none}.menu-empty b{font:600 20px Unbounded}.menu-empty span{font-size:10px;color:var(--muted)}.menu-empty button{border:0;background:transparent;color:var(--verm);font-size:10px;font-weight:800;padding:12px}
.quick-view{position:absolute;z-index:4;right:14px;top:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);background:rgba(8,8,9,.7);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;opacity:0;transform:translateY(-5px);transition:.25s}.quick-view svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.product-card:hover .quick-view,.quick-view:focus-visible{opacity:1;transform:none}
.concierge{min-height:580px;margin-block:100px;display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid #352326;background:radial-gradient(circle at 0 0,rgba(225,68,54,.16),transparent 36%),#101012;position:relative;overflow:hidden}.concierge__intro{padding:65px;position:relative}.concierge h2{font-size:clamp(34px,4vw,55px);margin:18px 0}.concierge__intro p{font-size:11px;color:var(--muted);max-width:420px}.concierge__mark{position:absolute;left:35px;bottom:-55px;font:400 190px serif;color:rgba(237,228,212,.035)}.concierge__form{padding:65px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:34px}.concierge fieldset{border:0;padding:0;margin:0}.concierge legend{font:600 13px Unbounded;margin-bottom:14px}.concierge legend span{color:var(--verm);font:700 9px Manrope;margin-right:10px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice-grid button,.people-grid button{border:1px solid var(--line);background:#141417;color:#888;min-height:84px;padding:15px;text-align:left;transition:.25s}.choice-grid b{display:block;color:#ddd;font-size:10px}.choice-grid small{font-size:8px;line-height:1.4}.choice-grid button.selected,.people-grid button.selected{border-color:var(--verm);background:rgba(225,68,54,.1);color:#fff}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.people-grid button{min-height:46px;text-align:center;font-size:9px;font-weight:800}.concierge__submit{align-self:flex-start}.concierge__result{display:none;position:absolute;inset:0;background:#101012;z-index:3;grid-template-columns:1.1fr .9fr}.concierge__result.open{display:grid;animation:conciergeIn .65s cubic-bezier(.22,1,.36,1)}@keyframes conciergeIn{from{opacity:0;transform:translateY(18px)}}
.concierge-result__image{position:relative;overflow:hidden}.concierge-result__image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#101012)}.concierge-result__image img{width:100%;height:100%;object-fit:cover}.concierge-result__copy{padding:65px;display:flex;flex-direction:column;justify-content:center}.concierge-result__copy>span{font-size:8px;color:var(--verm);font-weight:800;letter-spacing:.16em}.concierge-result__copy h3{font:600 clamp(28px,3.4vw,46px) Unbounded;margin:14px 0}.concierge-result__copy p{color:var(--muted);font-size:11px}.concierge-result__meta{display:flex;gap:20px;font-size:9px;color:#999;margin:16px 0 25px}.concierge-result__actions{display:flex;gap:9px}.concierge-result__close{position:absolute;right:20px;top:20px}
.product-modal{position:fixed;inset:0;z-index:330;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.35s}.product-modal.open{opacity:1;pointer-events:auto}.product-modal__panel{position:relative;width:min(1040px,100%);max-height:92vh;overflow:auto;background:#111114;border:1px solid var(--line);box-shadow:var(--shadow)}.product-modal__close{position:absolute;right:20px;top:20px;z-index:5;background:rgba(9,9,11,.8)}.product-detail{display:grid;grid-template-columns:1.05fr .95fr;min-height:590px}.product-detail__image{position:relative;overflow:hidden}.product-detail__image img{width:100%;height:100%;object-fit:cover}.product-detail__image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#111114)}.product-detail__copy{padding:60px;display:flex;flex-direction:column;justify-content:center}.product-detail__copy>span{font-size:8px;color:var(--verm);font-weight:800;letter-spacing:.15em}.product-detail h2{font-size:clamp(30px,4vw,50px);margin:14px 0}.product-detail__desc{color:#aaa;font-size:12px}.product-detail__stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:24px 0}.product-detail__stats div{padding:15px 8px;border-right:1px solid var(--line)}.product-detail__stats div:last-child{border:0}.product-detail__stats small{display:block;color:#666;font-size:7px;text-transform:uppercase}.product-detail__stats b{font-size:11px}.product-detail__allergens{font-size:9px;color:#777;line-height:1.7}.product-detail__buy{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.product-detail__price b{display:block;font-size:29px}.product-detail__price s{color:#666;font-size:10px}
.craft{position:relative;border-block:1px solid var(--line);background:#0c0c0e}
.craft__scroll{height:320vh}
.craft__sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}
.craft__media{position:relative;overflow:hidden;background:#050506}
.craft__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0c0c0e),linear-gradient(0deg,rgba(8,8,9,.5),transparent 45%)}
.craft__frame{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .8s,transform 1.6s cubic-bezier(.22,1,.36,1)}
.craft__frame.active{opacity:1;transform:scale(1)}
.craft__frame img{width:100%;height:100%;object-fit:cover}
.craft__kanji{position:absolute;z-index:2;left:5%;bottom:4%;font:400 clamp(90px,14vw,190px) serif;color:rgba(237,228,212,.08);line-height:1}
.craft__content{position:relative;display:flex;flex-direction:column;justify-content:center;padding:7vw;background:radial-gradient(circle at 0 50%,rgba(225,68,54,.08),transparent 40%)}
.craft__count{position:absolute;right:8%;top:10%;display:flex;align-items:baseline;gap:5px;color:#666}
.craft__count b{font:600 26px Unbounded;color:var(--paper)}.craft__count span{font-size:9px}
.craft__copy{position:absolute;left:7vw;right:7vw;top:50%;opacity:0;pointer-events:none;transform:translateY(calc(-50% + 30px));transition:opacity .6s,transform .9s cubic-bezier(.22,1,.36,1)}
.craft__copy.active{opacity:1;pointer-events:auto;transform:translateY(-50%)}
.craft__copy small{font-size:8px;color:var(--verm);font-weight:800;letter-spacing:.18em}
.craft__copy h2{font-size:clamp(34px,4vw,58px);margin:18px 0 24px}
.craft__copy p{max-width:530px;color:#aaa;font-size:12px;line-height:1.9}
.craft__copy ul{display:flex;gap:18px;list-style:none;padding:0;margin:28px 0 0;flex-wrap:wrap}
.craft__copy li{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#cac4bb}
.craft__copy li:before{content:"";display:inline-block;width:4px;height:4px;background:var(--verm);border-radius:50%;margin-right:8px}
.craft__progress{position:absolute;left:7vw;right:7vw;bottom:8%;height:1px;background:#29292e}
.craft__progress i{display:block;width:var(--craft-progress,0%);height:100%;background:var(--verm);transition:width .12s linear}
.journal{padding-block:120px}
.journal__feature{display:grid;grid-template-columns:1.2fr .8fr;min-height:480px;border:1px solid var(--line);background:#111114}
.journal__feature-image{overflow:hidden}.journal__feature-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.journal__feature:hover img{transform:scale(1.035)}
.journal__feature-copy{padding:55px;display:flex;flex-direction:column;justify-content:center}
.journal__feature-copy>span,.journal-card span{font-size:8px;color:var(--verm);font-weight:800;letter-spacing:.16em}
.journal__feature h3{font:600 clamp(25px,3vw,39px) Unbounded;line-height:1.18;letter-spacing:-.05em;margin:16px 0}
.journal__feature p,.journal-card p{font-size:11px;color:var(--muted);line-height:1.75}
.journal button{align-self:flex-start;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#fff;padding:13px 0;font-size:9px;font-weight:800}
.journal button svg{width:17px;height:17px;fill:none;stroke:var(--verm);stroke-width:2}
.journal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.journal-card{border:1px solid var(--line);background:#111114;padding-bottom:24px}
.journal-card>div{height:220px;position:relative;overflow:hidden}
.journal-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.journal-card:hover img{transform:scale(1.05)}
.journal-card div span{position:absolute;left:16px;bottom:14px;background:rgba(8,8,9,.78);backdrop-filter:blur(10px);padding:6px 8px}
.journal-card h3{font:600 15px Unbounded;letter-spacing:-.04em;line-height:1.35;margin:22px 22px 10px}
.journal-card p,.journal-card button{margin-inline:22px}
.article-modal{position:fixed;inset:0;z-index:320;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.35s}
.article-modal.open{opacity:1;pointer-events:auto}
.article-modal__panel{position:relative;width:min(820px,100%);max-height:92vh;overflow:auto;background:#111114;border:1px solid var(--line);box-shadow:var(--shadow)}
.article-modal__close{position:sticky;float:right;right:22px;top:22px;z-index:2;background:#111114}
.article-modal article{padding:70px clamp(25px,7vw,85px)}.article-modal article>span{font-size:8px;color:var(--verm);font-weight:800;letter-spacing:.16em}
.article-modal h2{font-size:clamp(29px,4vw,45px);margin:20px 0 30px}.article-modal h3{font:600 17px Unbounded;margin:35px 0 10px}
.article-modal p,.article-modal li{color:#aaa;font-size:12px;line-height:1.85}
.article-modal blockquote{margin:35px 0;padding:25px;border-left:2px solid var(--verm);background:#17171b;font:500 16px Manrope;color:var(--paper)}
@media(max-width:900px){
  .craft__sticky{grid-template-columns:1fr}.craft__media{position:absolute;inset:0}
  .craft__media:after{background:linear-gradient(0deg,#0c0c0e 6%,rgba(12,12,14,.88) 50%,rgba(12,12,14,.3))}
  .craft__content{z-index:2;padding:24px}.craft__copy{left:24px;right:24px;top:58%}.craft__copy p{font-size:11px}.craft__copy ul{gap:10px}.craft__progress{left:24px;right:24px}
  .journal__feature{grid-template-columns:1fr}.journal__feature-image{height:380px}.journal__grid{grid-template-columns:1fr 1fr}.journal-card:last-child{grid-column:span 2}
  .menu-tools{grid-template-columns:1fr}.menu-result-count{grid-column:auto}.concierge{grid-template-columns:1fr}.concierge__intro{padding:45px}.concierge__form{padding:45px;border-left:0;border-top:1px solid var(--line)}.product-detail{grid-template-columns:1fr}.product-detail__image{height:390px}.product-detail__copy{padding:38px}.product-detail__image:after{background:linear-gradient(0deg,#111114,transparent 45%)}.concierge__result{grid-template-columns:1fr}.concierge-result__image{height:280px}.concierge-result__image:after{background:linear-gradient(0deg,#101012,transparent 50%)}
}
@media(max-width:620px){
  .hero__visual .hero__video{width:145%;transform:translateX(-4%);object-position:center}
  .craft__scroll{height:270vh}.craft__copy{top:61%}.craft__copy h2{font-size:32px}.craft__copy p{line-height:1.65}.craft__copy ul{display:none}.craft__count{top:9%;right:24px}
  .journal{padding-block:70px}.journal__feature-image{height:260px}.journal__feature-copy{padding:28px 22px}.journal__grid{grid-template-columns:1fr}.journal-card:last-child{grid-column:auto}.journal-card>div{height:240px}
  .article-modal{padding:0;align-items:end}.article-modal__panel{max-height:100vh;height:100%;width:100%;border:0}.article-modal article{padding-top:90px}
  .menu-tools{margin-top:0;padding:10px}.menu-filters{margin-inline:-10px;padding-inline:10px}.menu-filters button{height:42px}.quick-view{opacity:1;transform:none}.concierge{margin-block:65px}.concierge__intro,.concierge__form{padding:28px 20px}.concierge h2{font-size:34px}.choice-grid{grid-template-columns:1fr}.choice-grid button{min-height:64px}.concierge__result{position:fixed;z-index:340;inset:0;overflow:auto}.concierge-result__image{height:42vh}.concierge-result__copy{padding:28px 20px}.concierge-result__actions{display:grid}.product-modal{padding:0;align-items:end}.product-modal__panel{height:100%;max-height:100%;border:0}.product-detail__image{height:42vh}.product-detail__copy{padding:28px 20px}.product-detail__buy{align-items:flex-start;flex-direction:column}.product-detail__buy .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .taste-marquee>div{animation:none}
  .hero__video{display:none}.hero__visual{background:url(assets/hero-japan.png) center/cover no-repeat}
  .craft__scroll{height:auto}.craft__sticky{position:relative;height:auto;display:block}.craft__media{height:55vh;position:relative}
  .craft__frame{display:none}.craft__frame:last-of-type{display:block;opacity:1;transform:none}.craft__content{padding:50px 20px}
  .craft__copy{position:relative;inset:auto!important;opacity:1;transform:none;margin-bottom:60px}.craft__count,.craft__progress{display:none}
}
