
:root{
  --ink:#141817;
  --ink2:#0c100f;
  --rice:#f3f0e9;
  --white:#fcfaf6;
  --wasabi:#a8b273;
  --lake:#829aa0;
  --stone:#d7d3ca;
  --red:#9b493f;
  --line:rgba(20,24,23,.17);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rice);color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif;overflow-x:hidden}
img{width:100%;height:100%;display:block;object-fit:cover}
a{text-decoration:none;color:inherit}
button{font:inherit}

.topbar{
  height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:0 3vw;background:var(--rice);border-bottom:1px solid var(--line);position:relative;z-index:50
}
.brand img{width:172px;height:auto}
.top-center{font:500 .58rem "DM Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:#68716d}
.desktop-nav{justify-self:end;display:flex;gap:1.8rem;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase}
.menu-btn{display:none;border:0;background:none;padding:10px}
.menu-btn span{display:block;width:28px;height:1px;background:var(--ink);margin:7px 0}

.masthead{
  min-height:850px;padding:5vw 4vw 4vw 8vw;display:grid;
  grid-template-columns:.12fr .78fr .72fr .38fr;
  grid-template-rows:1fr .52fr;gap:1vw;position:relative;background:var(--rice)
}
.vertical-word{
  grid-row:1/3;writing-mode:vertical-rl;transform:rotate(180deg);
  font:500 clamp(4rem,7vw,7.8rem)/1 "Noto Serif JP",serif;letter-spacing:.06em;color:#cbc7bd
}
.mast-copy{grid-row:1/3;padding:3vw 3vw 2vw 1vw;display:flex;flex-direction:column;justify-content:center}
.micro{font:500 .6rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.18em}
.micro.dark{color:#69706c}.micro.light{color:#bbc4be}
.mast-copy h1,.manifesto h2,.wall-intro h2,.strip-center h2,.plates-title h2,.ed-copy h2,.morges-head h2,.slot-copy h2,.evening-copy h2,.contact-main h2{
  font:500 clamp(4rem,6.4vw,7.2rem)/.91 "Noto Serif JP",serif;letter-spacing:-.045em;margin:1rem 0 1.8rem
}
.mast-copy h1 span{color:var(--red)}
.mast-copy .intro{max-width:530px;line-height:1.85;color:#626a66}
.line-link,.light-link{display:inline-flex;align-items:center;gap:2rem;align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:.5rem;margin-top:1rem;font-size:.63rem;text-transform:uppercase;letter-spacing:.14em}
.photo-one{grid-column:3;grid-row:1/3;margin:0;position:relative;overflow:hidden}
.photo-two{grid-column:4;grid-row:1;margin:0;position:relative;overflow:hidden}
.photo-one figcaption,.photo-two figcaption{
  position:absolute;bottom:1rem;left:1rem;background:var(--rice);padding:.5rem .7rem;
  font:500 .55rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.12em
}
.mast-stamp{
  grid-column:4;grid-row:2;background:var(--ink);color:white;display:flex;flex-direction:column;justify-content:space-between;
  padding:2vw;font:500 .57rem "DM Mono",monospace;letter-spacing:.15em
}
.mast-stamp strong{font:500 4rem "Noto Serif JP",serif;color:var(--wasabi);align-self:center}

.manifesto{padding:10vw 6vw;display:grid;grid-template-columns:.3fr 1.25fr .7fr;gap:5vw;background:var(--white)}
.manifesto aside{display:flex;gap:1rem;align-items:flex-start}
.manifesto aside span{width:34px;height:34px;border:1px solid;border-radius:50%;display:grid;place-items:center;font:.6rem "DM Mono",monospace}
.manifesto aside p{margin:0;font:.58rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.13em}
.manifesto-copy h2{margin-top:.8rem}
.manifesto-text{align-self:end}
.manifesto-text p{line-height:1.85;color:#606864}

.menu-wall{background:var(--ink);color:white;padding:9vw 6vw}
.wall-intro{display:grid;grid-template-columns:.4fr 1.6fr;gap:3vw;margin-bottom:5vw}
.wall-intro h2{font-size:clamp(3.6rem,5.8vw,6.5rem);margin:0}
.menu-columns{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #454a48}
.menu-columns article{min-height:400px;padding:2rem 2rem 0 0;border-right:1px solid #454a48;display:flex;flex-direction:column}
.menu-columns article+article{padding-left:2rem}
.menu-columns article:last-child{border-right:0}
.menu-columns span{font:.58rem "DM Mono",monospace;color:#87908b}
.menu-columns h3{font:500 2.3rem "Noto Serif JP",serif;margin:auto 0 1rem}
.menu-columns p{font-size:.78rem;line-height:1.7;color:#aeb6b1}
.menu-columns em{font:400 .58rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--wasabi);margin-top:1rem}

.sushi-strip{display:grid;grid-template-columns:.9fr .65fr .45fr;min-height:720px;background:var(--stone)}
.strip-image{min-height:720px}
.strip-center{padding:5vw 4vw;display:flex;flex-direction:column;justify-content:center}
.kanji{font:500 5rem "Noto Serif JP",serif;color:var(--red);margin-bottom:3rem}
.strip-center h2{font-size:clamp(3rem,4.5vw,5rem)}
.strip-center p:last-child{line-height:1.85;color:#5f6662}
.strip-image.right{min-height:520px;align-self:center;height:520px}

.plates{padding:10vw 5vw;background:var(--rice)}
.plates-title{display:grid;grid-template-columns:.4fr 1.6fr;gap:4vw;margin-bottom:5vw}
.plates-title h2{font-size:clamp(3.5rem,5.5vw,6.2rem);margin:0}
.plate-grid{display:grid;grid-template-columns:1.15fr .75fr .55fr;gap:1.3vw;align-items:end}
.plate-grid figure{margin:0}
.plate-a{height:650px}.plate-b{height:510px}.plate-c{height:410px}
.plate-grid figcaption{display:flex;justify-content:space-between;padding-top:.7rem;font:.57rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.14em}

.editorial-zeus{display:grid;grid-template-columns:.2fr .8fr 1fr;min-height:680px;background:var(--red);color:white}
.ed-number{padding:4vw 2vw;font:.62rem "DM Mono",monospace;writing-mode:vertical-rl}
.ed-copy{padding:7vw 5vw;display:flex;flex-direction:column;justify-content:center}
.ed-copy h2{font-size:clamp(3.4rem,5vw,5.6rem)}
.ed-copy p:last-child{line-height:1.85;color:#ead8d4}
.ed-photo{min-height:680px}

.morges{padding:10vw 6vw;background:#dce3e2}
.morges-head{display:grid;grid-template-columns:.2fr 1.6fr;gap:3vw;margin-bottom:5vw}
.number{width:34px;height:34px;border:1px solid;border-radius:50%;display:grid;place-items:center;font:.58rem "DM Mono",monospace}
.morges-head h2{font-size:clamp(3.4rem,5.4vw,6rem);margin:.7rem 0 0}
.morges-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:4vw;align-items:end}
.lake-card{height:620px;position:relative}
.lake-caption{position:absolute;bottom:1rem;left:1rem;background:var(--rice);padding:.6rem .8rem;font:.56rem "DM Mono",monospace;text-transform:uppercase}
.morges-copy>p{font:400 1.2rem/1.8 "Noto Serif JP",serif;max-width:520px}
.address{margin-top:4rem;border-top:1px solid var(--ink);padding-top:1rem;display:grid;grid-template-columns:.4fr 1fr}
.address span{font:.56rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.13em}
.address strong{font-size:.8rem;line-height:1.7}

.slot-note{padding:9vw 8vw;background:var(--white);display:grid;grid-template-columns:.45fr 1.4fr;gap:6vw}
.slot-title span{font:500 5rem "Noto Serif JP",serif;color:#d9d5cc;display:block;margin-bottom:2rem}
.slot-copy h2{font-size:clamp(3.2rem,4.8vw,5.4rem)}
.slot-copy p{max-width:760px;line-height:1.9;color:#656d68}

.evening{height:760px;position:relative;color:white}
.evening-photo,.evening-shade{position:absolute;inset:0}
.evening-shade{background:linear-gradient(90deg,rgba(7,11,10,.72),rgba(7,11,10,.15)),linear-gradient(0deg,rgba(7,11,10,.45),transparent)}
.evening-copy{position:relative;z-index:2;height:100%;padding:7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.evening-copy h2{font-size:clamp(4rem,6vw,6.8rem)}
.light-link{color:white}

.contact{padding:9vw 6vw;display:grid;grid-template-columns:.35fr 1fr .7fr;gap:5vw;background:var(--wasabi)}
.contact-mark{font:500 8rem "Noto Serif JP",serif;color:#70794b}
.contact-main h2{font-size:clamp(4rem,6vw,6.7rem)}
.contact-info{display:flex;flex-direction:column;justify-content:flex-end;gap:1.3rem}
.contact-info div{display:grid;grid-template-columns:.4fr 1fr;border-top:1px solid rgba(20,24,23,.3);padding-top:.8rem}
.contact-info span{font:.55rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.13em}
.contact-info strong{font-size:.78rem;line-height:1.6}
.call-btn{background:var(--ink);color:white;text-align:center;padding:1rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}

footer{padding:5vw 6vw 2.5vw;background:var(--ink2);color:white;display:grid;grid-template-columns:1.3fr .6fr .5fr;gap:4vw}
.footer-brand img{width:190px;height:auto}
.footer-brand p{font-size:.7rem;color:#75807a}
.footer-links{display:flex;flex-direction:column;gap:.55rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em}
.footer-code{font:500 .6rem "DM Mono",monospace;color:#738078;justify-self:end}
.footer-bottom{grid-column:1/-1;border-top:1px solid #303735;padding-top:1.5rem;margin-top:3rem;font:.56rem "DM Mono",monospace;color:#67716c}
.mobile-menu{display:none}

@media(max-width:980px){
  .topbar{grid-template-columns:1fr auto}.top-center,.desktop-nav{display:none}.menu-btn{display:block}
  .masthead{grid-template-columns:.12fr .8fr .75fr;grid-template-rows:1fr .45fr}.mast-copy{grid-row:1/3}.photo-one{grid-column:3;grid-row:1}.photo-two{grid-column:3;grid-row:2}.mast-stamp{display:none}
  .manifesto{grid-template-columns:.25fr 1fr}.manifesto-text{grid-column:2}
  .menu-columns{grid-template-columns:1fr 1fr}.menu-columns article{border-bottom:1px solid #454a48}
  .sushi-strip{grid-template-columns:1fr 1fr}.strip-image.right{display:none}
  .plate-grid{grid-template-columns:1fr 1fr}.plate-c{grid-column:1/-1;height:480px}
  .editorial-zeus{grid-template-columns:.15fr .85fr 1fr}
  .morges-layout{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:.25fr 1fr}.contact-info{grid-column:2}
  .mobile-menu{display:flex;position:fixed;inset:78px 0 0;background:var(--rice);z-index:40;flex-direction:column;padding:8vw;transform:translateX(100%);transition:.35s}
  .mobile-menu.open{transform:none}
  .mobile-menu a{font:500 3rem/1.5 "Noto Serif JP",serif;border-bottom:1px solid var(--line)}
}
@media(max-width:680px){
  .topbar{height:70px;padding:0 5vw}.brand img{width:150px}.mobile-menu{inset:70px 0 0}
  .masthead{display:grid;grid-template-columns:.1fr 1fr;padding:8vw 6vw 6vw;min-height:auto}
  .vertical-word{grid-column:1;grid-row:1/3;font-size:3.8rem}
  .mast-copy{grid-column:2;grid-row:1;padding:8vw 4vw}.mast-copy h1{font-size:4.2rem}
  .photo-one{grid-column:2;grid-row:2;height:500px}.photo-two{display:none}
  .manifesto{grid-template-columns:1fr;padding:18vw 6vw}.manifesto-text{grid-column:auto}
  .wall-intro{grid-template-columns:1fr}.menu-wall{padding:18vw 6vw}.menu-columns{grid-template-columns:1fr}.menu-columns article,.menu-columns article+article{padding:2rem 0;min-height:300px;border-right:0}
  .sushi-strip{grid-template-columns:1fr}.strip-image.left{height:520px;min-height:0}.strip-center{padding:18vw 7vw}
  .plates{padding:18vw 6vw}.plates-title{grid-template-columns:1fr}.plate-grid{grid-template-columns:1fr;gap:10vw}.plate-a,.plate-b,.plate-c{grid-column:auto;height:500px}
  .editorial-zeus{grid-template-columns:1fr}.ed-number{writing-mode:initial;padding:8vw 7vw 0}.ed-copy{padding:12vw 7vw}.ed-photo{min-height:520px}
  .morges{padding:18vw 6vw}.morges-head{grid-template-columns:1fr}.morges-layout{grid-template-columns:1fr}.lake-card{height:520px}.morges-copy{padding-top:2rem}
  .slot-note{grid-template-columns:1fr;padding:18vw 7vw}.slot-title span{font-size:4rem}
  .evening{height:700px}.evening-copy{padding:12vw 7vw}
  .contact{grid-template-columns:1fr;padding:18vw 7vw}.contact-mark{font-size:6rem}.contact-info{grid-column:auto}
  footer{grid-template-columns:1fr;padding:14vw 6vw 6vw}.footer-code{justify-self:start}.footer-bottom{grid-column:1}
}
