@font-face{font-family:Grapalat;src:url("assets/fonts/grapalat-regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:Grapalat;src:url("assets/fonts/grapalat-bold.otf") format("opentype");font-weight:700;font-display:swap}
html[lang=hy]{--ui:Grapalat,Arm,sans-serif}
html[lang=hy] h1,html[lang=hy] h2,html[lang=hy] h3{font-family:Grapalat,sans-serif}
html[lang=hy] h1{font-weight:700;letter-spacing:-.025em}
html body{background:#101511 url("assets/photos/ink-background.png") center center/cover fixed no-repeat}
.hero-visual{mask-image:linear-gradient(#000 0%,#000 70%,transparent 100%)}
.menu-section{padding-block:42px 65px}
.menu-section h2{font-family:var(--ui);font-weight:600;letter-spacing:-.035em}
.menu-toolbar{margin-bottom:30px}
.dish-grid{gap:24px}
.dish{display:flex;flex-direction:column;border-radius:23px;border:1px solid #c5d4b921;background:#141c17eb;box-shadow:0 12px 32px #0002;transition:transform .3s,border-color .3s,box-shadow .3s}
.dish:hover{transform:translateY(-5px);border-color:#b9d58c70;box-shadow:0 18px 40px #0004}
.dish-photo{height:255px;min-height:0;border-radius:22px 22px 0 0;background:#080a08}
.dish-photo>.food-photo{width:100%;height:100%;min-height:0;transition:transform .45s}
.dish:hover .food-photo{transform:scale(1.035)}
.dish-content{padding:20px 23px 22px;min-height:160px;flex:1;width:100%;gap:0}
.dish h3{font-family:var(--ui);font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.02em}
.dish-description{font-size:11px;line-height:1.7;margin-top:9px}
.dish-price{justify-content:flex-start;font-size:16px;margin-top:auto;padding-top:18px;font-weight:700;color:#c8dfa4}
.dram-sign{font-family:Arm,"Segoe UI",sans-serif;font-weight:400;display:inline-block;margin-inline-start:.25em}
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img,svg{-webkit-user-drag:none;-webkit-touch-callout:none}
button,a,summary{-webkit-tap-highlight-color:transparent}
.dish-description:empty,#viewer-description:empty{display:none}
html .contacts{background:none;border:0;border-radius:0;box-shadow:none;padding:44px 0;margin-bottom:0}
.contact-info>div,.contact-info>a{border:0}
.contact-heading h2{font-family:var(--ui);font-size:38px;font-weight:600;line-height:1.3}

/* One quiet photo stage, with only a close control above the dish. */
#viewer[data-kind=dish]{background:#121b15;border-radius:28px;overflow:auto}
#viewer[data-kind=dish] .viewer-top{position:absolute;right:14px;top:14px;padding:0;min-height:0;z-index:2}
#viewer-category{display:none}
#viewer[data-kind=dish] .viewer-bottom{display:none}
#viewer[data-kind=dish] .close{background:#152019e6;backdrop-filter:blur(12px)}
#viewer[data-kind=dish] .viewer-layout{padding:16px;gap:8px}
#viewer[data-kind=dish] #viewer-media{border-radius:20px}
#viewer[data-kind=dish] #viewer-media>.food-photo{height:min(60dvh,500px)}
#viewer[data-kind=dish] .viewer-details{padding:36px 25px}
#viewer[data-kind=dish] .viewer-details h2{font-size:29px;font-weight:600;line-height:1.4}
#viewer[data-kind=dish] #viewer-price{border:0;padding:0;margin-top:28px;font-size:29px}

/* Independent scale keeps press feedback from fighting entrance transforms. */
button,a,summary{transition:color .22s,background-color .25s,border-color .25s,box-shadow .25s,scale .18s cubic-bezier(.2,.8,.2,1)}
button:active,summary:active,.socials a:active,.contact-phone:active{scale:.965}
.categories button{transition:background-color .35s,color .3s,box-shadow .3s,scale .18s}
.categories button.active{box-shadow:0 4px 18px #b9d58c12}
.categories button i{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.categories button:hover i{transform:translateY(-2px)}
.dish{transition:transform .35s,border-color .35s,box-shadow .35s,scale .18s}
.gallery button{transition:box-shadow .35s,scale .2s}
.socials a{transition:transform .25s,background-color .25s,scale .18s,box-shadow .25s}
.socials a:hover{box-shadow:0 0 22px #b9d58c14}
@media(prefers-reduced-motion:reduce){
 button:active,summary:active,.socials a:active,.contact-phone:active{scale:none}
 .categories button:hover i{transform:none}
}

@media(max-width:900px){.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dish-photo{height:240px}}
@media(max-width:650px){
 #viewer[data-kind=dish] .viewer-layout{padding:10px;display:block}
 #viewer[data-kind=dish] .viewer-details{padding:21px 13px 20px}
 #viewer[data-kind=dish] .viewer-details h2{font-size:24px}
 #viewer[data-kind=dish] #viewer-media>.food-photo{height:min(46dvh,390px)}
 #viewer[data-kind=dish] #viewer-price{font-size:22px;margin:0}
 #viewer[data-kind=dish] .viewer-top{right:18px;top:18px}
}
@media(max-width:600px){
 html body{background-size:100% 100vh}
 .menu-section{padding-block:25px 40px}
 .dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .dish{display:flex;border-radius:18px}
 .dish-photo{height:auto;aspect-ratio:1;min-height:0;border-radius:17px 17px 0 0}
 .dish-photo>.food-photo{width:100%;height:100%;min-height:0}
 .dish-content{padding:13px 12px 16px;min-height:118px}
 .dish h3{font-size:17px;line-height:1.35;overflow-wrap:normal}
 .dish-description{display:block}
 .dish-price{font-size:15px;padding-top:15px}
 .categories button{font-size:13px}
 html .contacts{padding:30px 0}
 .contact-heading h2{font-size:32px}
 .search input{font-size:14px}
}
@media(max-width:350px){.dish-grid{gap:10px}.dish-content{padding:12px 10px;min-height:125px}.dish h3{font-size:16px}.dish-price{font-size:14px}.categories button{font-size:12px}}

/* Charcoal menu with a restrained salmon accent, matched to the food. */
.language-picker{--gold:#e6b094}
.language-picker summary{background:#20201fed;border-color:#ffffff20;color:#f4efea}
.language-picker .languages{background:#20201ff7;border-color:#ffffff20;box-shadow:0 18px 48px #0007}
.language-picker .languages button{color:#ded8d2}
.language-picker .languages button.active{background:#e6b09422;color:#edb99d}
.language-picker .languages button:hover{background:#e6b09416;color:#f4efea}
.language-picker .languages button.active:hover{background:#e6b09430;color:#edb99d}
.language-picker .languages button>span{color:#aaa19a;opacity:1}
.language-picker .languages button.active>span{color:#d6a88f}
.menu-section,#viewer{--gold:#e6b094;--muted:#aaa5a0;--line:#e6cbb522;--text:#f4efea}
.menu-section .eyebrow{color:#c6a391}
.contact-email{grid-column:1/-1;min-width:0}
.contact-email strong{overflow-wrap:anywhere}
.falling-fans{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:4}
.falling-fans span{position:absolute;top:-90px;left:3%;width:40px;animation:fan-fall 26s linear infinite;opacity:0}
.falling-fans img{display:block;width:100%;animation:fan-sway 6s ease-in-out infinite alternate}
.falling-fans span:nth-child(2){left:20%;width:28px;animation-delay:-12s;animation-duration:32s}
.falling-fans span:nth-child(3){left:42%;width:34px;animation-delay:-23s;animation-duration:29s}
.falling-fans span:nth-child(4){left:63%;width:26px;animation-delay:-7s;animation-duration:35s}
.falling-fans span:nth-child(5){left:82%;width:38px;animation-delay:-18s;animation-duration:31s}
.falling-fans span:nth-child(6){left:94%;width:30px;animation-delay:-3s;animation-duration:28s}
@keyframes fan-fall{0%{transform:translate3d(0,0,0) rotate(-20deg);opacity:0}8%,85%{opacity:.72}100%{transform:translate3d(0,calc(var(--fan-travel-height) + 180px),0) rotate(150deg);opacity:0}}
@keyframes fan-sway{from{transform:translateX(-12px) rotate(-12deg)}to{transform:translateX(12px) rotate(12deg)}}
@media(max-width:600px){.falling-fans span:nth-child(even){display:none}.falling-fans span{width:28px}}
@media(prefers-reduced-motion:reduce){.falling-fans{display:none}}
.contacts,footer{--gold:#e6b094;--muted:#aaa5a0;--text:#f4efea;--line:#ffffff18;color:var(--text)}
html .contacts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:36px 0 24px}
.contact-heading>i{width:26px;height:26px;margin-bottom:12px}
.contact-heading h2{font-size:clamp(27px,3vw,36px);max-width:440px;margin:10px 0 18px;line-height:1.25}
.contact-phone{font-size:22px;gap:12px;min-height:44px}
.contact-info>a,.contact-info>div{padding:12px 0;gap:14px}
.contact-info small{font-size:11px;color:#b9aea5;margin-bottom:5px}
.contact-info strong{font-size:15px;line-height:1.55}
.contact-info span{font-size:11px;margin-top:4px}
.contact-info>a:hover strong{color:var(--gold)}
.contact-info .socials{gap:10px;padding-top:16px}
.socials a{width:46px;height:46px;border-color:#e6b09430;background:#24211f;color:var(--gold)}
.socials a:hover{background:#e6b09420;border-color:#e6b09480}
.socials i{width:23px;height:23px;flex-basis:23px}
html footer{padding-block:22px;gap:18px;color:#aaa5a0;font-size:10px}
footer a:hover{color:#f4efea}
@media(max-width:760px){
 html .contacts{grid-template-columns:1fr;gap:20px;padding:28px 0 16px}
 .contact-heading h2{max-width:440px;font-size:29px}
 .contact-heading>i{display:none}
 .contact-info{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px 20px}
 .contact-info .socials{grid-column:1/-1;padding-top:6px}
 .contact-info strong{font-size:13px}
 .contact-info>a,.contact-info>div{gap:10px}
 html footer{flex-wrap:wrap;gap:12px;font-size:10px}
 footer>a:last-child{width:100%;font-size:11px}
}
@media(max-width:380px){.contact-info{grid-template-columns:1fr;gap:0}.contact-heading h2{font-size:27px}}
.categories{background:#20201f;border-color:#ffffff12;border-radius:16px}
.categories{--category-padding:5px;padding:var(--category-padding)}
.categories::after{content:'';grid-column:1/-1;grid-row:2;height:1px;margin:2px calc(-1 * var(--category-padding));background:#ffffff1c;pointer-events:none}
.categories button[data-category=all]{grid-row:1;border-bottom:0}
.categories button:not([data-category=all]){grid-row:3}
@media(max-width:600px){.categories{--category-padding:4px}}
.categories button{color:#cdc9c3}
.categories button.active{background:#e6b094;color:#2c201a;box-shadow:0 3px 14px #0002}
.search{background:#20201f;border-color:#ffffff18;box-shadow:none}
.search-symbol{background:#e6b09412;color:#e6b094}
.search input::placeholder{color:#a7a19a}
.search:focus-within{border-color:#c99376;box-shadow:0 0 0 3px #e6b0940d}
.dish{background:#1c1c1beF;border-color:#ffffff12;border-radius:20px;box-shadow:0 10px 25px #0002}
.dish:hover{border-color:#e6b09465;box-shadow:0 15px 32px #0004;transform:translateY(-3px)}
.dish-photo{height:225px;border-radius:19px 19px 0 0}
.dish-photo,#viewer[data-kind=dish] #viewer-media{background:#050705}
.dish-content{padding:17px 20px 19px;min-height:138px}
.dish h3{font-size:20px;color:#f4efea}
.dish-description{color:#aaa5a0}
.dish-price{color:#e6b094;padding-top:14px;font-size:16px}
#viewer[data-kind=dish]{width:min(840px,calc(100% - 32px));background:#1c1c1b;border-color:#ffffff18;border-radius:24px}
#viewer[data-kind=dish] .viewer-layout{padding:12px;gap:4px;grid-template-columns:1.2fr 1fr}
#viewer[data-kind=dish] .close{background:#242322ed;border-color:#ffffff25;color:#f4efea}
#viewer[data-kind=dish] #viewer-media{border-radius:16px}
#viewer[data-kind=dish] #viewer-media>.food-photo{height:min(52dvh,400px)}
#viewer[data-kind=dish] .viewer-details{padding:26px 22px}
#viewer[data-kind=dish] .viewer-details h2{font-size:25px;color:#f4efea}
#viewer[data-kind=dish] #viewer-description{color:#aaa5a0;font-size:12px;margin-top:14px}
#viewer[data-kind=dish] #viewer-price{color:#e6b094;font-size:25px;margin-top:20px}
@media(max-width:650px){
 #viewer[data-kind=dish]{width:calc(100% - 24px)}
 #viewer[data-kind=dish] .viewer-layout{padding:9px;display:block}
 #viewer[data-kind=dish] #viewer-media>.food-photo{height:min(38dvh,320px)}
 #viewer[data-kind=dish] .viewer-details{padding:18px 12px 17px;gap:10px 14px}
 #viewer[data-kind=dish] .viewer-details h2{font-size:22px}
 #viewer[data-kind=dish] #viewer-description{margin-top:0;font-size:11px}
 #viewer[data-kind=dish] #viewer-price{margin-top:0;font-size:21px}
}
@media(max-width:600px){
 .dish{border-radius:17px}
 .dish-photo{height:auto;aspect-ratio:1;border-radius:16px 16px 0 0}
 .dish-content{padding:12px 12px 15px;min-height:110px}
 .dish h3{font-size:17px}
 .dish-price{font-size:15px;padding-top:12px}
}

/* Keep the illustrated folds readable while the fans drift. */
.falling-fans span{width:54px}
.falling-fans span:nth-child(2){width:42px}
.falling-fans span:nth-child(3){width:48px}
.falling-fans span:nth-child(4){width:40px}
.falling-fans span:nth-child(5){width:52px}
.falling-fans span:nth-child(6){width:44px}
@media(max-width:600px){.falling-fans span:nth-child(n){width:38px}}

/* Responsive layout: full-width menu controls and a quiet reading surface. */
html body{background:#111110;background-image:linear-gradient(#11111040,#11111080),url('assets/photos/washi-background.png');background-position:center;background-size:cover;background-attachment:fixed}
.hero{min-height:650px;padding-block:150px 90px}
.hero-visual{height:100%}
.hero-visual>img{object-position:center;filter:none}
.hero-visual:after{background:linear-gradient(90deg,#111110cf,transparent 80%),linear-gradient(0deg,#111110,transparent 35%)}
.hero-desc{color:#ddd5cd}
.menu-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:stretch}
.menu-toolbar .search{width:100%;max-width:none}
.contact-info{display:grid;grid-template-columns:1fr;gap:2px}
.contact-hours{order:1}.contact-address{order:2}.contact-number{order:3}.contact-email{order:4}.contact-info .socials{order:5}
#viewer-media{touch-action:none;overflow:hidden;position:relative}
#viewer-media .zoom-photo{overflow:visible;max-width:100%;touch-action:none}
#viewer-media .zoom-photo img,#viewer-media>.food-photo{transform-origin:center;will-change:transform;transition:none}
@media(max-width:600px){
 .hero{min-height:560px;padding:260px 0 56px}
 .hero-visual>img{object-position:65% center}
 .hero-visual:after{background:linear-gradient(0deg,#111110 0%,#111110bb 30%,#11111010 75%)}
 .gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;width:100%;margin:0;padding:0;overflow:visible;gap:12px;scroll-snap-type:none}
 .gallery button,.gallery button:first-child{width:100%;height:200px;min-width:0;flex:none;border-radius:16px;grid-row:auto}
 .gallery button:first-child{grid-column:1/-1;height:280px}
 .gallery button>span{left:12px;bottom:14px;font-size:11px}
 .gallery button:before{top:12px;left:12px}
 .contact-info{grid-template-columns:1fr;gap:2px}
 .contact-info>a,.contact-info>div{padding-block:10px}
 .contact-info strong{font-size:15px}
}

/* Centered invitation with two balanced contact columns. */
html .contacts{grid-template-columns:1fr;gap:26px;padding-block:40px}
.contact-heading{text-align:center}
.contact-heading>i{margin-inline:auto}
.contact-heading .eyebrow{justify-content:center}
.contact-heading h2{max-width:620px;margin:10px auto 0}
.contact-info{width:min(780px,100%);margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(28px,7vw,110px);row-gap:8px}
.contact-hours{grid-column:1;grid-row:1}
.contact-address{grid-column:1;grid-row:2}
.contact-number{grid-column:2;grid-row:1}
.contact-email{grid-column:2;grid-row:2}
.contact-info .socials{grid-column:1/-1;grid-row:3;justify-content:center;padding-top:18px}
@media(max-width:600px){
 html .contacts{gap:20px;padding-block:30px}
 .contact-heading h2{font-size:27px;max-width:420px}
 .contact-info{grid-template-columns:1fr;gap:2px;max-width:400px}
 .contact-info>.contact-hours,.contact-info>.contact-address,.contact-info>.contact-number,.contact-info>.contact-email{grid-column:1;grid-row:auto}
 .contact-info .socials{grid-row:auto}
}

/* Keep the hero copy clear of the food at every screen size. */
.gallery button::before{content:none}
.hero-copy h1{max-width:520px;font-size:clamp(36px,3.25vw,54px);line-height:1.2;text-wrap:balance}
.hero-copy .hero-desc{max-width:360px;line-height:1.8}
.hero-visual>img{object-position:70% center}
@media(min-width:901px){
 .hero-copy h1{max-width:44%}
 .hero-copy .hero-desc{max-width:36%}
}
@media(min-width:601px) and (max-width:900px){
 .hero-copy h1{max-width:48%;font-size:36px}
 .hero-copy .hero-desc{max-width:42%}
}
@media(max-width:600px){
 .hero{display:flex;min-height:0;padding:340px 0 38px;align-items:flex-start}
 .hero-visual{height:355px;inset:0 0 auto;mask-image:linear-gradient(#000 0%,#000 72%,transparent 100%)}
 .hero-visual>img{object-position:75% center}
 .hero-visual:after{background:linear-gradient(0deg,#111110,transparent 35%)}
 .hero-copy h1{max-width:100%;font-size:clamp(29px,7.6vw,40px);margin:0 0 15px;line-height:1.25}
 .hero-copy .hero-desc{max-width:340px;font-size:12px;color:#d7cec6}
}
.gallery button:nth-child(n)::before{content:none}

/* Reserve separate space for the headline and the complete plate. */
@media(min-width:601px){
 .hero-visual{left:42%;width:58%;mask-image:linear-gradient(90deg,transparent,#000 12%),linear-gradient(#000 72%,transparent);mask-composite:intersect}
 .hero-visual>img{object-position:80% center}
 .hero-visual:after{background:linear-gradient(0deg,#111110,transparent 30%)}
 .hero-copy h1{max-width:36%;font-size:clamp(30px,3vw,48px);line-height:1.25;text-wrap:balance}
 .hero-copy .hero-desc{max-width:34%;font-size:13px;line-height:1.85}
}
@media(min-width:601px) and (max-width:900px){
 .hero-copy h1{font-size:32px;max-width:39%}
 .hero-copy .hero-desc{max-width:37%;font-size:12px}
 .hero-visual{left:45%;width:55%}
}
@media(max-width:600px){
 .hero{padding-top:370px;padding-bottom:42px}
 .hero-visual{height:340px;width:100%;left:0}
 .hero-copy h1{max-width:360px;font-size:clamp(28px,7.5vw,38px);line-height:1.24;text-wrap:balance}
 .hero-copy .hero-desc{max-width:340px;margin-top:16px}
}

/* Blend the photograph into a matching charcoal surface, without a cut edge. */
.hero{background:#111110}
.hero-visual{mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-composite:add}
@media(min-width:601px){
 .hero-visual{left:0;right:0;width:100%;height:100%;mask-image:linear-gradient(to bottom,#000 65%,transparent 100%)}
 .hero-visual>img{object-position:75% center}
 .hero-visual:after{background:linear-gradient(90deg,#111110 0%,#111110f5 24%,#111110b3 40%,#11111030 58%,transparent 72%),linear-gradient(0deg,#111110,transparent 38%)}
}
@media(max-width:600px){
 .hero-visual{mask-image:linear-gradient(to bottom,#000 65%,transparent 100%)}
 .hero-visual:after{background:linear-gradient(0deg,#111110,transparent 42%)}
}
.hero:after{content:'';position:absolute;inset:auto 0 0;height:75px;background:linear-gradient(transparent,#111110);pointer-events:none;z-index:-1}

/* Neutral gallery viewer, matching the menu palette. */
#viewer[data-kind=gallery]{background:#1c1c1b;border-color:#ffffff18;box-shadow:0 24px 80px #0007;color:#f4efea}
#viewer::backdrop{background:#080808e8}
#viewer[data-kind=gallery] .close,#viewer[data-kind=gallery] .round{background:#282523;border-color:#e6b09440;color:#edc1a8}
#viewer[data-kind=gallery] .close:hover,#viewer[data-kind=gallery] .round:hover{background:#39302a;border-color:#e6b09480}
#viewer[data-kind=gallery] .viewer-top,#viewer[data-kind=gallery] .viewer-bottom{background:transparent;color:#b7aaa0}
#viewer[data-kind=gallery] #viewer-count{color:#b7aaa0}

/* One continuous page surface; fade only the photograph, never a rectangular panel. */
html body{background-color:#111110;background-image:linear-gradient(#111110b8,#111110b8),url('assets/photos/washi-background.png');background-size:cover;background-position:center;background-attachment:fixed}
.hero{background:transparent}
.hero:after{display:none}
.hero-visual{background:transparent;mask-image:linear-gradient(to bottom,#000 0%,#000 48%,#000b3 67%,#00040 84%,transparent 100%);mask-composite:add}
.hero-visual:after{background:linear-gradient(90deg,#111110ed 0%,#111110c9 23%,#11111066 42%,transparent 68%)}
@media(min-width:601px){
 .hero-visual{inset:0;width:100%;height:100%;mask-image:linear-gradient(to bottom,#000 0%,#000 48%,#000b3 67%,#00040 84%,transparent 100%)}
}
@media(max-width:600px){
 .hero-visual{inset:0 0 auto;height:340px;mask-image:linear-gradient(to bottom,#000 0%,#000 62%,#00080 82%,transparent 100%)}
 .hero-visual:after{background:linear-gradient(90deg,#11111040,transparent 65%)}
}
@media(hover:hover) and (pointer:fine){#viewer .zoom-photo{cursor:default}}

/* Compact opening composition: copy sits beside the plate, menu follows closely. */
.hero{min-height:520px;padding:160px 0 58px;align-items:center}
.hero-copy h1{font-size:clamp(30px,3vw,46px)}
.menu-section{padding-top:24px}
@media(min-width:601px) and (max-width:900px){
 .hero{min-height:440px;padding-top:135px;padding-bottom:44px}
 .hero-copy h1{font-size:30px}
}
@media(max-width:600px){
 .hero{min-height:350px;padding:155px 0 32px;align-items:flex-start}
 .hero-visual{height:350px}
 .hero-visual>img{object-position:75% center}
 .hero-visual:after{background:linear-gradient(90deg,#11111088 0%,#11111040 37%,transparent 65%)}
 .hero-copy h1{max-width:43%;font-size:clamp(21px,4.6vw,28px);line-height:1.25;margin:0;text-wrap:balance}
 .hero-copy .hero-desc{max-width:90%;font-size:11px;line-height:1.7;margin-top:48px}
 .menu-section{padding-top:16px}
 .menu-section .section-head{margin-bottom:18px}
}

/* Preserve two intentional headline lines instead of a narrow stack of words. */
html[lang=hy] .hero-copy h1{text-wrap:initial;max-width:none;width:max-content;font-size:clamp(30px,3vw,46px)}
@media(max-width:600px){
 html[lang=hy] .hero-copy h1{font-size:clamp(16px,4.1vw,24px);line-height:1.4;max-width:none}
 .hero-visual>img{object-position:57% center}
 .hero-copy .hero-desc{margin-top:76px}
}

/* Stable travel distance when mobile browser chrome expands during scrolling. */
.falling-fans{--fan-travel-height:100vh;height:var(--fan-travel-height);bottom:auto;contain:strict;transform:translateZ(0)}
@supports(height:100lvh){.falling-fans{--fan-travel-height:100lvh}}
.falling-fans span,.falling-fans img{will-change:transform;backface-visibility:hidden}
@media(hover:none) and (pointer:coarse){
 .falling-fans img{animation:none}
 html body{background-attachment:scroll;background-size:100% 100lvh;background-repeat:repeat-y}
}

/* Editorial hero: independent text and food areas, with no overlap. */
.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;min-height:520px;padding:120px max(24px,calc((100vw - 1220px)/2)) 36px;align-items:center;background:#111110}
.hero-copy{width:100%;margin:0;min-width:0}
html[lang] .hero-copy h1{width:auto;max-width:100%;font-size:clamp(30px,3vw,46px);line-height:1.25;text-wrap:initial;margin:0 0 18px}
.hero-copy .hero-desc{max-width:390px;margin:0;font-size:13px;line-height:1.85}
.hero-visual{position:relative;inset:auto;width:100%;height:auto;z-index:0;opacity:1;mask-image:none;min-width:0}
.hero-visual>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;filter:none;border-radius:0;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.hero-visual:after{display:none}
@media(max-width:700px){
 .hero{grid-template-columns:1fr;gap:6px;min-height:0;padding:115px 18px 22px}
 .hero-copy{text-align:center}
 html[lang] .hero-copy h1{font-size:clamp(25px,6.5vw,36px);margin:0 0 12px;line-height:1.28}
 .hero-copy .hero-desc{max-width:360px;margin-inline:auto;font-size:11px;line-height:1.7}
 .hero-visual{max-width:480px;margin-inline:auto}
 .menu-section{padding-top:18px}
}

/* Hide scrollbar chrome while preserving native scrolling. */
html,body{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}

/* Brief, non-blocking brand introduction; CSS also dismisses it without JS. */
.brand-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#111110;pointer-events:none;animation:intro-dismiss 1.1s ease forwards}
.brand-intro img{width:clamp(130px,24vw,180px);height:auto;animation:intro-logo 1.1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes intro-logo{0%{opacity:0;transform:translateY(10px) scale(.88)}30%,60%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-6px) scale(1.035)}}
@keyframes intro-dismiss{0%,58%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none;animation:none}.brand-intro img{animation:none}}

/* Let the page texture emerge gradually beneath the charcoal hero. */
.hero{background:linear-gradient(to bottom,#111110 0%,#111110 55%,#111110e6 72%,#11111080 88%,transparent 100%)}

/* A single stable texture from the header to contacts, independent of viewport chrome. */
html body{background:#111110 url('assets/photos/washi-background.png') center top / 1536px 1024px repeat;background-attachment:scroll}
.hero{background:transparent}
.hero-visual,.hero-copy,.header{transform:none}
@media(max-width:700px){html body{background-size:768px 512px}}

/* Feather the food photograph around its subject instead of its rectangular edges. */
.hero-visual>img{mask-image:radial-gradient(ellipse 65% 43% at 50% 53%,#000 45%,#000000e8 61%,#00080 78%,transparent 100%);mask-composite:add}


/* The hero asset has real transparency; show the page texture through it. */
.hero-visual>img{mask-image:none;-webkit-mask-image:none;background:transparent}

/* One shared texture on desktop and mobile, including beneath the transparent platter. */
html body{background:#111110 url('assets/photos/washi-background.png') center top / 768px 512px repeat; background-attachment:scroll}
.hero,.hero-visual{background:transparent}

/* Balance the cutout lighting with the dark page surface. */
.hero-visual>img{filter:brightness(.82) saturate(.94)}

/* Desktop should show the same quiet charcoal center of the paper as mobile.
   Prevent small washi tiles (and their warm edges) repeating across wide screens. */
@media (min-width:701px) {
  html body {
    background-color:#111110;
    background-image:linear-gradient(#1111108c,#1111108c),url('assets/photos/washi-background.png');
    background-position:center top,center top;
    background-size:100% 100%,195vw auto;
    background-repeat:no-repeat,repeat-y;
    background-attachment:scroll,scroll;
  }
}

/* Keep a dark canvas behind the page while mobile browsers repaint on fast flicks. */
html{
 background-color:#111110;
 overscroll-behavior-y:auto;
}
body{
 min-height:100vh;
 overscroll-behavior-y:auto;
}
@media(max-width:700px){
 html body{
  background-color:#111110;
  background-image:linear-gradient(#1111102a,#1111102a),url('assets/photos/washi-background.png');
  background-size:100% 100%,768px 512px;
  background-position:center top,center top;
  background-repeat:no-repeat,repeat-y;
  background-attachment:scroll,scroll;
 }
}
