:root{--sumi:#121110;--washi:#EFE8DC;--ver:#C8442E;--gold:#B89B5E;--alga:#2F3B33;--mut:#A79F92;--serif:'Cormorant Garamond',Garamond,serif;--sans:'Zen Kaku Gothic New',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sumi);color:var(--washi);font:400 16px/1.8 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block;height:auto}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1;margin:0 0 .4em}em{font-style:italic;color:var(--gold)}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--washi);color:#000;padding:8px;z-index:99}
:focus-visible{outline:1px solid var(--ver);outline-offset:4px}
.num{display:block;font:500 12px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ver);margin-bottom:22px}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:22px 40px;mix-blend-mode:normal;transition:background .4s}
.hdr.scrolled{background:rgba(18,17,16,.85);backdrop-filter:blur(8px)}
.brand svg{height:44px;width:auto}.nav{display:flex;gap:36px;align-items:center;font-size:13px;letter-spacing:.2em;text-transform:uppercase}.nav a{text-decoration:none}.nav a:not(.res-btn):hover{color:var(--gold)}
.res-btn{border:1px solid var(--ver);padding:10px 22px;color:var(--washi);transition:.3s}.res-btn:hover{background:var(--ver)}
/* hero */
.hero{position:relative;height:100vh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0}.hero-img img{width:100%;height:110%;object-fit:cover;filter:brightness(.55) contrast(1.1)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,17,16,.3),transparent 40%,rgba(18,17,16,.95))}
.hero-txt{position:relative;z-index:2;padding:0 40px 110px;max-width:1300px}
.kanji{font-family:var(--serif);color:var(--ver);font-size:22px;letter-spacing:.4em;margin:0 0 12px}
.hero h1{font-size:clamp(54px,10vw,168px);letter-spacing:-.02em;line-height:.92}.split span{display:block;overflow:hidden}.split span>i{display:inline-block;font-style:normal}
.hero-sub{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);margin-top:28px}
.hero-scroll{position:absolute;right:40px;bottom:40px;z-index:2;writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:14px}.hero-scroll span{width:1px;height:70px;background:linear-gradient(var(--washi),transparent);animation:drop 2s infinite}@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* manifest */
.manifest{padding:180px 40px;max-width:1300px;margin:0 auto}.big-quote{font:400 clamp(34px,5.4vw,82px)/1.08 var(--serif);margin:0;letter-spacing:-.01em}.big-quote .w{opacity:.15;transition:opacity .3s}
/* story */
.story{padding:40px 40px 160px}.story-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:5fr 6fr 4fr;gap:60px;align-items:center}
.st-img{margin:0;overflow:hidden}.st-img img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(.2)}.st-b{align-self:end;margin-bottom:-80px}.st-b img{aspect-ratio:4/5}
.st-txt h2{font-size:clamp(40px,4.4vw,66px)}.st-txt p{color:#cfc6b8}.sign{font:italic 400 30px var(--serif);color:var(--gold)!important}
/* horizontal */
.hscroll{overflow:hidden;background:var(--alga)}.h-track{display:flex;gap:40px;padding:120px 40px;width:max-content;align-items:center}
.h-intro{width:min(480px,80vw);flex:none;padding-right:40px}.h-intro h2{font-size:clamp(46px,6vw,92px)}.h-intro p{color:#cfd3c9}
.h-card{width:min(420px,78vw);flex:none}.h-card img{width:100%;aspect-ratio:4/5;object-fit:cover}.h-card span{display:block;font:italic 400 28px var(--serif);color:var(--gold);margin:18px 0 4px}.h-card h3{font-size:34px}.h-card p{color:#cfd3c9;margin:0}
/* carta */
.carta{padding:160px 40px;max-width:1100px;margin:0 auto}.carta-h{text-align:center;margin-bottom:60px}.carta-h h2{font-size:clamp(50px,7vw,110px)}.carta-h p{color:var(--mut)}
.tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:50px;border-bottom:1px solid rgba(239,232,220,.12)}
.tabs button{background:none;border:0;color:var(--mut);font:500 13px var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:16px 18px;cursor:pointer;position:relative}
.tabs button[aria-selected="true"]{color:var(--washi)}.tabs button[aria-selected="true"]:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;background:var(--ver)}
.menu{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:70px}
.menu li{display:flex;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px dashed rgba(239,232,220,.15)}.menu h3{font-size:30px;margin-bottom:6px}.menu p{margin:0;color:var(--mut);font-size:15px}.menu span{font:500 26px var(--serif);color:var(--gold)}
/* gallery */
.gal{padding:0 40px 160px}.gal-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:16px}
.gal figure{margin:0;overflow:hidden}.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.gal figure:hover img{transform:scale(1.06)}
.g1{grid-column:1/8;grid-row:span 4}.g2{grid-column:8/13;grid-row:span 5}.g3{grid-column:1/5;grid-row:span 3}.g4{grid-column:5/8;grid-row:span 3}.g5{grid-column:8/13;grid-row:span 2}
/* reserve */
.reserve{background:var(--washi);color:var(--sumi);padding:150px 40px}.reserve em{color:var(--ver)}
.res-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:90px}.reserve h2{font-size:clamp(46px,6vw,92px)}
.info{margin:40px 0 0}.info div{padding:18px 0;border-top:1px solid rgba(18,17,16,.15)}.info dt{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#7a7268}.info dd{margin:4px 0 0;font:400 24px/1.35 var(--serif)}
.rform{display:grid;gap:20px}.r2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rform label{display:grid;gap:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#7a7268}
.rform input,.rform select,.rform textarea{font:400 20px var(--serif);background:transparent;border:0;border-bottom:1px solid rgba(18,17,16,.35);padding:8px 0;color:var(--sumi);border-radius:0}
.rform input:focus,.rform select:focus,.rform textarea:focus{outline:none;border-color:var(--ver)}
.rform button{background:var(--sumi);color:var(--washi);border:0;padding:18px;font:500 13px var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:.3s;margin-top:8px}.rform button:hover{background:var(--ver)}
.rmsg{margin:0;color:var(--alga);font:italic 400 20px var(--serif)}
.ftr{padding:70px 40px 30px;border-top:1px solid rgba(239,232,220,.1)}.ftr-in{max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;font-size:14px;color:var(--mut)}
.ftr svg{width:56px;height:56px}.ftr nav{display:flex;gap:24px}.ftr nav a{text-decoration:none}.ftr p{margin:0}
.demo-note{text-align:center;font-size:12px;color:var(--mut);opacity:.7;margin:40px 0 0}
@media (max-width:1000px){.story-grid{grid-template-columns:1fr 1fr}.st-txt{grid-column:1/-1;order:-1}.st-b{margin:0}.res-grid{grid-template-columns:1fr;gap:50px}.menu{grid-template-columns:1fr}}
@media (max-width:700px){.hdr{padding:16px 20px}.nav a:not(.res-btn){display:none}.brand svg{height:36px}.hero-txt{padding:0 20px 90px}.manifest{padding:110px 20px}.story{padding:20px 20px 100px}.story-grid{grid-template-columns:1fr}.st-b{display:none}
 .h-track{padding:90px 20px}.carta{padding:110px 20px}.gal{padding:0 20px 100px}.gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.g1,.g2,.g3,.g4,.g5{grid-column:auto;grid-row:span 1}.g1,.g5{grid-column:1/-1;grid-row:span 2}
 .reserve{padding:100px 20px}.r2{grid-template-columns:1fr}.hero-scroll{display:none}.tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.tabs button{white-space:nowrap;padding:14px 12px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.big-quote .w{opacity:1}}
.menu[hidden]{display:none}
