@font-face{font-family:Raleway;font-style:normal;font-weight:200;font-display:swap;src:url(assets/raleway-200.ttf) format("truetype")}
@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(assets/raleway-400.ttf) format("truetype")}
@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(assets/raleway-500.ttf) format("truetype")}
@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(assets/raleway-600.ttf) format("truetype")}
:root{--ink:#201713;--paper:#fff;--muted:#625c58;--red:#d10000;--line:#e0dbd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Raleway',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:absolute;top:-60px;background:white;padding:12px;z-index:10}.skip:focus{top:0}header{max-width:1600px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:54px;line-height:.85;letter-spacing:-4px}.brand span{display:block;font-family:'Raleway',Arial,sans-serif;font-size:12px;letter-spacing:2px;margin-top:15px;line-height:1.3}nav{display:flex;gap:34px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--ink);padding:14px 22px;font-size:14px;font-weight:600;min-height:50px}.button:hover{background:var(--ink);color:white;text-decoration:none}.button span{font-size:20px}.red{background:var(--red);color:white;border-color:var(--red)}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1.08fr;min-height:620px;padding:56px 5% 48px;gap:5%}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.6px;display:flex;align-items:center;gap:14px;margin:0 0 28px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:'Raleway',Arial,sans-serif;font-weight:400;line-height:1.04}h1{font-size:clamp(54px,5.9vw,88px);letter-spacing:-2px;margin-bottom:26px}h1 em{color:var(--red);font-weight:400}.intro{color:var(--muted);line-height:1.8;margin-bottom:30px}.actions{display:flex;align-items:center;gap:30px}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding:10px 0}.hero-note{font-size:12px;letter-spacing:.5px;margin:45px 0 0;color:var(--muted)}.hero-image{margin:0;position:relative;min-height:490px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center}.hero-image figcaption{position:absolute;bottom:0;background:linear-gradient(transparent,#000b);color:white;width:100%;padding:65px 22px 20px;display:flex;justify-content:space-between;gap:14px;font-size:12px;letter-spacing:1px}.info-strip{background:#f6f6f6;padding:20px 5%;display:flex;justify-content:space-between;gap:22px;font-size:14px}.info-strip p{margin:0}.info-strip span{color:var(--muted)}footer{padding:55px 5%;display:flex;gap:28px;align-items:center;border-top:1px solid var(--line);font-size:14px}footer p{margin:0 auto 0 20px;color:var(--muted)}footer .brand{font-size:45px}section{scroll-margin-top:30px}@media(min-width:1600px){.info-strip,footer{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}@media(max-width:950px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:center}.hero{gap:30px;min-height:570px}h1{font-size:58px}.actions{gap:15px;flex-wrap:wrap}.info-strip{flex-wrap:wrap}footer{flex-wrap:wrap}.hero-image figcaption span{display:none}}@media(max-width:650px){header{padding:20px 6%;gap:24px}.brand{font-size:46px}.header-order{padding:10px 14px}nav{gap:24px;font-size:14px}.hero{grid-template-columns:1fr;padding:44px 6% 28px;gap:32px}.hero-image{min-height:350px}h1{font-size:64px}.eyebrow{font-size:12px;letter-spacing:1.2px}.hero-note{margin-top:26px}.intro br{display:initial}.info-strip{padding:24px 6%;gap:12px;flex-direction:column}footer{padding:38px 6%;gap:24px}footer p{width:60%;margin:0}footer .brand{margin-right:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.section{padding:95px 8%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:clamp(46px,4.5vw,64px);letter-spacing:-1px;margin-bottom:0}.section-heading .text-link{flex-shrink:0}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.menu-grid figure{margin:0}.menu-grid img{width:100%;height:410px;object-fit:cover}.menu-grid figcaption{font-size:12px;letter-spacing:1.5px;margin-top:12px;color:var(--muted)}.menu-copy article{display:flex;gap:28px;border-top:1px solid var(--line);padding:24px 0}.menu-copy article>span{font-size:12px;color:var(--red);padding-top:7px}.menu-copy h3{font-size:32px;margin:0 0 12px}.menu-copy p{margin:0;color:var(--muted);font-size:15px}.menu-copy>.button{margin-top:12px}.omakase-section{background:#1c1513;color:white;padding:80px 8%;display:grid;grid-template-columns:1fr 1fr;gap:9%}.omakase-section .eyebrow{color:#ded8d5}.omakase-section h2{font-size:88px}.omakase-section h2 em{color:#fff}.omakase-title{font-size:23px}.omakase-copy{align-self:center}.omakase-copy>p:nth-child(2){color:#ded8d5}.omakase-details{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #697169;padding-top:20px;margin:25px 0;font-size:14px}.omakase-section .button{border-color:#b5bdb4;color:white}.omakase-section .button:hover{background:white;color:var(--ink)}.story-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.story-section>img{width:100%;height:510px;object-fit:cover}.story-section h2{margin-bottom:28px}.story-section p:not(.eyebrow){color:var(--muted)}.story-section .text-link{display:inline-block;margin-top:10px}.visit-section{border-top:1px solid var(--line)}.visit-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;margin:40px 0}.visit-grid h3{font-size:28px;margin-bottom:18px}.visit-grid p{font-size:15px}.muted{color:var(--muted)}.email{overflow-wrap:anywhere}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:500}details p{max-width:800px;margin:15px 0 0;color:var(--muted)}details a{text-decoration:underline}@media(max-width:950px){.section{padding:65px 6%}.menu-grid,.story-section{gap:6%}.visit-grid{gap:24px}.omakase-section{padding:65px 6%;gap:6%}.omakase-section h2{font-size:72px}}@media(max-width:650px){.section{padding:54px 6%}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:30px}.menu-grid,.story-section,.omakase-section,.visit-grid{grid-template-columns:1fr;gap:30px}.menu-grid img{height:340px}.omakase-section{padding:55px 6%;gap:30px}.omakase-section h2{font-size:72px}.story-section>img{height:390px}.visit-grid{gap:15px}.visit-grid>div{border-top:1px solid var(--line);padding-top:22px}.story-section .eyebrow{margin-top:8px}}
.story-film{margin:0;justify-self:center;width:100%;max-width:355px}.story-film video{width:100%;aspect-ratio:9/16;display:block;object-fit:contain;background:#111}.story-film figcaption{font-size:12px;color:var(--muted);letter-spacing:1px;margin-top:14px}.hero-image img{object-position:center 45%}

@media(max-width:650px){nav{gap:14px;flex-wrap:wrap}h1{font-size:clamp(52px,10vw,64px)}}

footer a:not(.brand){display:inline-flex;align-items:center;gap:9px}

/* Hana logo, typography, and colors from the supplied brand assets and existing site. */
.brand{display:block;line-height:1;letter-spacing:normal;flex-shrink:0}.brand img{display:block;width:82px;height:auto}.brand:hover{text-decoration:none}header{padding-top:16px;padding-bottom:16px}body{font-weight:500}h1{font-weight:200;letter-spacing:-1.5px;line-height:1.1}h1 em,h2 em{font-style:normal;font-weight:inherit}h2{font-weight:600;font-size:clamp(34px,3.7vw,52px);line-height:1.18;letter-spacing:-1px}h3{font-weight:600;letter-spacing:0}.menu-copy h3{font-size:24px}.visit-grid h3{font-size:23px}.omakase-section h2{font-size:clamp(38px,4.5vw,64px);font-weight:200;overflow-wrap:anywhere}footer .brand img{width:72px}@media(max-width:650px){.brand img{width:66px}header{gap:18px}.omakase-section h2{font-size:44px}h1{font-size:clamp(48px,10vw,64px)}footer p{width:auto;flex:1;min-width:160px}}

.dining-icon{display:inline-block;width:21px;height:21px;flex:none;vertical-align:middle;color:inherit}footer .dining-icon{width:18px;height:18px}.button{gap:24px}.text-link .dining-icon{margin-left:12px}

/* Small scroll movement within clipped, stable image frames. */
.hero-image,.parallax-frame{overflow:hidden}.parallax-frame{position:relative;height:410px}.menu-grid .parallax-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(min-width:769px) and (prefers-reduced-motion:no-preference){.hero-image img[data-parallax]{top:-32px;height:calc(100% + 64px);transform:translate3d(0,var(--parallax-y,0px),0)}.menu-grid .parallax-frame img[data-parallax]{top:-24px;height:calc(100% + 48px);transform:translate3d(0,var(--parallax-y,0px),0)}}
@media(max-width:650px){.parallax-frame{height:340px}}

/* Full screen photography, with portrait-aware mobile framing. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;max-width:none;min-height:700px;min-height:100svh;padding:100px 8%;margin:0;color:white;overflow:hidden}
.hero-image{position:absolute;inset:0;z-index:-2;min-height:0;margin:0;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,12,10,.83) 0%,rgba(15,12,10,.55) 42%,rgba(15,12,10,.16) 100%)}
.hero-copy{max-width:670px;align-items:flex-start}.hero h1{font-size:clamp(64px,7.7vw,112px)}.hero h1 em{color:white}.hero .intro,.hero .hero-note{color:#fff}.hero .intro{font-size:18px;max-width:470px}.hero .text-link{border-color:white}.hero .eyebrow{color:white}.hero-image figcaption{padding:70px 8% 28px;font-size:12px;background:linear-gradient(transparent,rgba(0,0,0,.55));z-index:1}.hero .hero-note{margin-top:40px}
.menu-section .menu-grid{display:block}.menu-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;align-items:start}.menu-copy article{gap:18px}.menu-copy>.button{grid-column:1/-1;justify-self:start;margin-top:24px}.menu-copy h3{font-size:24px}
.photo-full{position:relative;margin:0;width:100%;overflow:hidden}.photo-full .parallax-frame{height:100vh;height:100svh;min-height:520px}.photo-full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.photo-full figcaption{position:absolute;bottom:0;left:0;width:100%;padding:65px 8% 28px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.65));font-size:12px;letter-spacing:1.5px}
@media(min-width:769px) and (prefers-reduced-motion:no-preference){.photo-full img[data-parallax]{top:-24px;height:calc(100% + 48px);transform:translate3d(0,var(--parallax-y,0px),0)}}
@media(max-width:950px){.hero{padding:90px 6%}.menu-copy{column-gap:22px}.menu-copy article{gap:12px}.menu-copy h3{font-size:22px}}
@media(max-width:650px){.hero{min-height:720px;min-height:100svh;padding:80px 6% 110px;align-items:flex-end}.hero::after{background:linear-gradient(0deg,rgba(15,12,10,.89) 0%,rgba(15,12,10,.65) 50%,rgba(15,12,10,.2) 100%)}.hero h1{font-size:clamp(52px,14vw,76px);letter-spacing:-1px}.hero .intro{font-size:16px}.hero .eyebrow{font-size:12px;letter-spacing:1px}.hero .hero-note{margin-top:24px}.hero-image img{object-position:42% 50%}.hero-image figcaption{padding:50px 6% 22px}.hero-copy{width:100%;max-width:100%}.menu-copy{grid-template-columns:1fr;gap:0}.menu-copy article{gap:20px}.menu-copy>.button{margin-top:12px}.photo-full .parallax-frame{height:100svh;min-height:480px}.photo-full img{object-position:48% 50%}.photo-full figcaption{padding:55px 6% 22px}.story-film{max-width:min(100%,355px)}.actions{flex-wrap:wrap}}

.header-actions{display:flex;align-items:center;gap:22px}.language-controls:not([hidden]){display:flex;gap:4px}.language-controls button{font:inherit;font-size:13px;font-weight:500;background:none;border:0;border-bottom:1px solid transparent;color:var(--muted);padding:10px 6px;cursor:pointer;min-height:44px}.language-controls button[aria-pressed="true"]{border-color:var(--red);color:var(--ink)}.language-controls button:focus-visible{outline:2px solid var(--red);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[lang="ja"] body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3{font-family:inherit;line-height:1.4;letter-spacing:0}html[lang="ja"] .hero h1{font-size:clamp(48px,6.5vw,84px);font-weight:400}html[lang="ja"] .eyebrow{letter-spacing:.08em}html[lang="ja"] .omakase-section h2{font-size:clamp(32px,4vw,56px)}html[lang="ja"] .button{white-space:normal;line-height:1.5}html[lang="ja"] footer{flex-wrap:wrap}
@media(max-width:950px){header{gap:20px}.header-actions{gap:16px}nav{order:3}}@media(max-width:650px){.header-actions{flex-direction:column-reverse;align-items:flex-end;gap:5px}.language-controls button{padding:7px 6px;min-height:36px}.hero .eyebrow{max-width:100%}html[lang="ja"] .hero h1{font-size:clamp(40px,11vw,60px)}html[lang="ja"] .actions{gap:18px}html[lang="ja"] .omakase-section h2{font-size:38px}html[lang="ja"] nav{gap:10px 16px;font-size:13px}}

/* Plated sushi leads; keep the headline above the food on narrow screens. */
.hero{align-items:flex-start;padding-top:64px}.hero-copy{max-width:550px}.hero h1{font-size:clamp(64px,6vw,88px)}.hero-image img{object-position:50% 57%}.hero::after{background:linear-gradient(90deg,rgba(12,10,9,.79),rgba(12,10,9,.28) 48%,rgba(12,10,9,.04)),linear-gradient(180deg,rgba(12,10,9,.36),transparent 55%)}.hero .eyebrow{margin-bottom:20px}.hero .hero-note{margin-top:24px}.dining-room-photo img{object-position:50% 66%}
@media(max-width:650px){.hero{padding-top:40px;min-height:850px;min-height:max(850px,100svh)}.hero h1{font-size:clamp(48px,12vw,66px);margin-bottom:20px}.hero .intro{max-width:340px;margin-bottom:20px}.hero-image img{object-position:58% 50%}.hero::after{background:linear-gradient(180deg,rgba(12,10,9,.86),rgba(12,10,9,.64) 33%,rgba(12,10,9,.07) 58%,rgba(12,10,9,.05) 80%,rgba(12,10,9,.4))}.hero .hero-note{margin-top:18px;font-size:11px}.dining-room-photo img{object-position:42% 60%}}

@media(max-width:650px){.hero-image img{top:0;height:145%;object-position:58% 50%}}

/* Full-width food photographs from Hana’s supplied Frame.io collection. */
.food-photo{background:#211711}.scallop-photo img{object-position:50% 52%}.yakisoba-photo img{object-position:50% 48%}.dessert-photo img{object-position:50% 54%}
@media(max-width:650px){.scallop-photo img{object-position:55% 50%}.yakisoba-photo img{object-position:50% 45%}.dessert-photo img{object-position:50% 50%}}
