:root{--paper:#f2efe7;--paper2:#e8e3d8;--ink:#171714;--muted:#6f6c64;--line:rgba(23,23,20,.18);--red:#a92c20;--shell:min(1240px,calc(100% - 64px));--serif:'Noto Serif JP',serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin-inline:auto}.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}.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:#fff;padding:12px}.skip-link:focus{top:16px}.site-header{position:fixed;inset:0 0 auto;z-index:1000;border-bottom:1px solid transparent;transition:.25s;background:transparent}.site-header.is-scrolled,.site-header.menu-open{background:rgba(242,239,231,.96);border-color:var(--line);backdrop-filter:blur(16px)}.header-inner{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{justify-self:start;display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:24px;letter-spacing:.16em}.brand small{font-size:14px;color:var(--red);letter-spacing:0}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a,.header-book{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);transition:.25s}.desktop-nav a:hover:after{right:0}.header-book{justify-self:end;font-size:12px;letter-spacing:.14em;border-bottom:1px solid;padding-bottom:5px}.menu-toggle,.mobile-menu{display:none}.hero{min-height:100vh;padding:150px 0 80px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:9vw;align-items:center}.hero-copy{padding-top:30px}.eyebrow,.section-no{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;margin:0;line-height:.98}h1{font-size:clamp(64px,7.6vw,124px)}h1 em,h2 em{font-style:normal;color:var(--red)}.intro{font-size:17px;line-height:1.75;max-width:490px;margin:36px 0}.hero-actions{display:flex;gap:28px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--ink);font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:.25s}.button.ink{background:var(--ink);color:var(--paper)}.button.ink:hover{background:var(--red);border-color:var(--red)}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px}.hero-image{height:min(72vh,760px);margin:0;position:relative}.hero-image figcaption{position:absolute;right:-1px;bottom:-40px;display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:.18em}.hero-image figcaption span{font-family:var(--serif);font-size:22px;color:var(--red)}.hero-kanji{position:absolute;left:-.03em;bottom:-.27em;font-family:var(--serif);font-size:clamp(250px,32vw,580px);line-height:1;color:rgba(169,44,32,.055);pointer-events:none}.vertical-note{position:absolute;right:20px;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:var(--muted)}.manifesto{padding:150px 0}.manifesto-grid{display:grid;grid-template-columns:1fr 2.1fr;gap:50px}.manifesto-grid h2,.section-head h2,.editorial-copy h2,.gallery-head h2,.visit h2{font-size:clamp(54px,7vw,108px)}.manifesto-grid>div{position:relative}.manifesto-grid p:not(.section-no){max-width:570px;font-size:17px;line-height:1.8;margin:38px 0 0}.jp-mark{position:absolute;right:0;top:-80px;font-family:var(--serif);font-size:88px;color:rgba(169,44,32,.12)}.image-band{height:72vh;min-height:620px;position:relative;background:#111}.image-band img{object-position:center 45%}.image-band:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent 50%)}.image-band-label{position:absolute;left:5vw;bottom:5vw;color:#fff;z-index:1}.image-band-label span{font-family:var(--serif);font-size:80px}.image-band-label p{font-size:10px;letter-spacing:.22em}.menu-section{padding:150px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2.1fr;gap:50px;margin-bottom:100px}.section-head>div>p{max-width:460px;line-height:1.7;color:var(--muted);margin-top:28px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.menu-grid article{padding:40px 34px 0;border-right:1px solid var(--line)}.menu-grid article:first-child{padding-left:0}.menu-grid article:last-child{border-right:0;padding-right:0}.menu-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:35px}.menu-title span{font-family:var(--serif);font-size:26px;color:var(--red)}.menu-title h3{font-family:var(--serif);font-weight:500;font-size:24px;margin:0}.menu-item{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.menu-item b{font-family:var(--serif);font-weight:500}.menu-item p{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.menu-item strong{font-size:12px;font-weight:500}.menu-note{margin:40px 0 0;font-size:11px;color:var(--muted)}.editorial-split{display:grid;grid-template-columns:1fr 1fr;min-height:800px;background:#171714;color:var(--paper)}.editorial-split figure{margin:0}.editorial-copy{position:relative;padding:11vw 8vw;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.editorial-copy .section-no{color:#aaa69c}.editorial-copy p:last-child{max-width:480px;line-height:1.8;color:#c8c4ba;margin-top:38px}.giant-jp{position:absolute;right:-.1em;bottom:-.3em;font-family:var(--serif);font-size:390px;color:rgba(255,255,255,.035)}.gallery{padding:150px 0}.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:70px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:360px;gap:12px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid .wide{grid-column:span 2}.gallery-grid .tall{grid-row:span 2}.visit{position:relative;padding:160px 0;background:var(--paper2);overflow:hidden}.visit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.visit-info{padding-top:40px}.visit-info>div{display:grid;grid-template-columns:130px 1fr;padding:20px 0;border-top:1px solid var(--line)}.visit-info span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.visit-info p{margin:0;line-height:1.6}.visit-info .button{margin-top:30px}.visit-kanji{position:absolute;right:-.08em;bottom:-.35em;font-family:var(--serif);font-size:480px;color:rgba(169,44,32,.05)}.site-footer{padding:60px 0 42px;background:#171714;color:#d9d4ca}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-brand{font-family:var(--serif);font-size:30px;letter-spacing:.12em}.footer-brand span{color:#b74436}.footer-grid p,.footer-grid a{font-size:12px}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-meta{text-align:right;color:#8e8a82}.footer-meta a{color:#d9d4ca}.mobile-menu{position:absolute;top:82px;left:0;width:100%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:980px){:root{--shell:min(100% - 40px,760px)}.desktop-nav,.header-book{display:none}.header-inner{grid-template-columns:1fr auto}.menu-toggle{justify-self:end;display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;padding:8px}.menu-toggle span:not(.sr-only){width:100%;height:1px;background:var(--ink);transition:.25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu.is-open{display:block}.mobile-menu-inner{padding:30px 0 38px;display:flex;flex-direction:column;gap:22px}.mobile-menu-inner>a:not(.button){font-family:var(--serif);font-size:28px}.hero{padding-top:120px;min-height:auto}.hero-grid{grid-template-columns:1fr;gap:60px}.hero-copy{padding-top:0}.hero-image{height:68vh;min-height:560px}.vertical-note{display:none}.manifesto,.menu-section,.gallery,.visit{padding:100px 0}.manifesto-grid,.section-head{grid-template-columns:1fr;gap:25px}.section-head{margin-bottom:60px}.menu-grid{grid-template-columns:1fr}.menu-grid article,.menu-grid article:first-child,.menu-grid article:last-child{padding:34px 0;border-right:0;border-bottom:1px solid var(--ink)}.editorial-split{grid-template-columns:1fr;min-height:auto}.editorial-split figure{height:65vh}.editorial-copy{padding:100px 7vw}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:340px}.gallery-grid .wide{grid-column:span 2}.gallery-grid .tall{grid-row:span 1}.visit-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-meta{grid-column:span 2;text-align:left}}
@media(max-width:620px){:root{--shell:calc(100% - 32px)}.header-inner{height:70px}.mobile-menu{top:70px}.brand{font-size:21px}.hero{padding:105px 0 60px}.hero-grid{gap:42px}h1{font-size:clamp(52px,17vw,78px)}.intro{font-size:15px;margin:26px 0}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-image{height:58vh;min-height:430px}.hero-image figcaption{bottom:-30px}.manifesto,.menu-section,.gallery,.visit{padding:78px 0}.manifesto-grid h2,.section-head h2,.editorial-copy h2,.gallery-head h2,.visit h2{font-size:clamp(48px,15vw,72px)}.jp-mark{font-size:62px;top:-45px}.image-band{height:66vh;min-height:500px}.image-band-label span{font-size:58px}.section-head{margin-bottom:40px}.editorial-split figure{height:60vh}.editorial-copy{padding:78px 24px}.giant-jp{font-size:260px}.gallery-head{display:block}.gallery-head h2{margin-top:18px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:440px;gap:8px}.gallery-grid .wide{grid-column:auto}.visit-grid{gap:35px}.visit-info>div{grid-template-columns:100px 1fr}.visit-kanji{font-size:300px}.footer-grid{grid-template-columns:1fr}.footer-meta{grid-column:auto}.button{width:100%}.hero-actions .text-link{width:auto}.menu-item{padding:18px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
