:root{
  --bg:#090909;--panel:#111;--gold:#c79a3b;--gold2:#e1b65b;--text:#f3f0e9;
  --muted:#a7a39c;--line:rgba(255,255,255,.12);--max:1320px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}
body.menu-open{overflow:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
.header{height:82px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(199,154,59,.25);transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent)}
.header.scrolled{height:68px;background:rgba(8,8,8,.93);backdrop-filter:blur(16px)}
.wordmark{font-family:"Manrope",sans-serif;letter-spacing:.44em;font-size:22px;color:var(--gold2);font-weight:400}
.nav{display:flex;gap:34px;align-items:center;font-size:13px}.nav a{color:#eee;transition:.25s}.nav a:hover{color:var(--gold2)}.nav-reserva{color:var(--gold2)!important}
.menu-btn{display:none;background:none;border:0;width:42px;height:42px;padding:10px}.menu-btn span{display:block;height:1px;background:white;margin:8px 0}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;border-bottom:1px solid rgba(199,154,59,.35)}
.hero-media{position:absolute;inset:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.94) 0%,rgba(3,3,3,.78) 38%,rgba(3,3,3,.12) 75%),linear-gradient(0deg,rgba(0,0,0,.46),transparent 55%)}
.hero-copy{position:relative;z-index:2;width:min(670px,88vw);margin-left:max(28px,calc((100vw - var(--max))/2));padding-top:70px}
.kicker,.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.23em;color:var(--gold2);font-weight:500}
.hero h1,.section h2,.menu-panel h2,.wide-feature h2,.reservation h2,.contact h2{font-family:"Playfair Display",serif;font-weight:400;letter-spacing:-.03em}
.hero h1{font-size:clamp(48px,6vw,88px);line-height:.98;margin:24px 0 28px;max-width:820px}.hero h1 em{color:var(--gold2);font-weight:400}
.hero-text{max-width:510px;color:#d7d3cb;font-size:17px;line-height:1.65}.actions,.reservation-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:175px;padding:16px 20px;font-size:13px;border:1px solid rgba(255,255,255,.45);transition:.25s}
.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#111}.btn-ghost{background:rgba(0,0,0,.18)}
.hero-index{position:absolute;right:34px;bottom:30px;font-family:"Playfair Display",serif;font-size:52px;color:rgba(255,255,255,.16)}.scroll{position:absolute;left:max(28px,calc((100vw - var(--max))/2));bottom:30px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold2)}.scroll span{margin-left:10px}
.section{max-width:var(--max);margin:auto;padding:120px 28px}.section-label{padding-bottom:26px;border-bottom:1px solid var(--line)}
.concept-grid{display:grid;grid-template-columns:.82fr 1.25fr;gap:80px;padding-top:54px;align-items:center}.jp{color:var(--gold2);font-size:13px;letter-spacing:.2em}.concept h2{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:18px 0 30px}.concept p{color:var(--muted);font-size:15px;line-height:1.8;max-width:540px}.concept .lead{color:#ece8df;font-family:"Playfair Display",serif;font-size:25px;line-height:1.45}.concept-image{margin:0;position:relative;height:600px}.concept-image:after{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid rgba(199,154,59,.35);z-index:-1}.concept-image figcaption{position:absolute;left:20px;bottom:18px;font-size:11px;letter-spacing:.17em;text-transform:uppercase;background:rgba(5,5,5,.75);padding:10px 12px}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.section-heading h2{font-size:clamp(40px,5vw,68px);line-height:1.05;margin:14px 0 0}.section-heading>p{max-width:390px;color:var(--muted);line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#101010;border:1px solid var(--line);overflow:hidden;transition:.35s}.card:hover{transform:translateY(-8px);border-color:rgba(199,154,59,.5)}.card-image{height:330px;overflow:hidden}.card-image img{transition:.7s}.card:hover img{transform:scale(1.04)}.card-body{padding:24px}.card-body span{font-size:11px;color:var(--gold2);letter-spacing:.18em}.card-body h3{font-family:"Playfair Display",serif;font-size:27px;font-weight:400;margin:12px 0}.card-body p{color:var(--muted);font-size:14px;line-height:1.65}
.menu-panel{max-width:var(--max);margin:40px auto 120px;padding:68px 28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;border-top:1px solid rgba(199,154,59,.35);border-bottom:1px solid rgba(199,154,59,.35)}.menu-panel h2{font-size:clamp(42px,5vw,70px);line-height:1.05;margin:18px 0 26px}.menu-copy p{color:var(--muted);line-height:1.75;max-width:480px}.text-link{display:inline-block;color:var(--gold2);font-size:13px;margin-top:20px}.text-link span{margin-left:12px}.menu-list a{display:grid;grid-template-columns:54px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:25px 0;font-family:"Playfair Display",serif;font-size:25px}.menu-list span{font-family:"DM Sans";font-size:11px;color:var(--gold2);letter-spacing:.16em}.menu-list b{font-family:"DM Sans";font-weight:400;color:var(--gold2);transition:.25s}.menu-list a:hover b{transform:translate(4px,-4px)}
.wide-feature{height:78vh;min-height:620px;position:relative}.wide-feature img{position:absolute;inset:0}.wide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.15)),linear-gradient(0deg,rgba(0,0,0,.35),transparent)}.wide-copy{position:absolute;left:max(28px,calc((100vw - var(--max))/2));bottom:80px}.wide-copy h2{font-size:clamp(48px,6vw,90px);line-height:.98;margin:18px 0 0}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:460px 460px;gap:18px;padding-top:44px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid img{transition:.7s}.gallery-grid figure:hover img{transform:scale(1.03)}.g1{grid-row:1/3}.g2,.g3,.g4{min-height:0}.g2{display:none}
.reservation{padding:130px 28px;background:linear-gradient(rgba(5,5,5,.74),rgba(5,5,5,.84)),url("assets/sake.jpg") center/cover fixed;border-top:1px solid rgba(199,154,59,.35);border-bottom:1px solid rgba(199,154,59,.35)}.reservation-inner{max-width:850px;margin:auto;text-align:center}.reservation h2{font-size:clamp(46px,6vw,82px);line-height:1.05;margin:18px 0}.reservation p{color:#d5d0c7}.reservation-actions{justify-content:center}
.contact-main h2{font-size:clamp(42px,5vw,72px);line-height:1.05;margin:20px 0 55px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr 1.4fr 1fr;border-top:1px solid var(--line)}.contact-grid>div{padding:30px 22px 30px 0;border-right:1px solid var(--line)}.contact-grid>div:not(:first-child){padding-left:22px}.contact-grid>div:last-child{border-right:0}.contact-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold2)}.contact-grid p{font-size:14px;line-height:1.75;color:var(--muted);overflow-wrap:anywhere}
footer{max-width:var(--max);margin:auto;padding:32px 28px 50px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);color:#7f7b75;font-size:11px}.footer-mark{font-size:17px;letter-spacing:.35em;color:var(--gold2)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
 .header{padding:0 20px}.menu-btn{display:block}.nav{position:fixed;inset:0;background:#090909;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px;gap:24px;transform:translateX(100%);transition:.35s;font-family:"Playfair Display";font-size:34px}.nav.open{transform:none}.nav-reserva{margin-top:20px}
 .hero-copy{margin-left:22px;padding-right:22px}.hero-overlay{background:linear-gradient(90deg,rgba(2,2,2,.9),rgba(2,2,2,.35)),linear-gradient(0deg,rgba(0,0,0,.55),transparent)}.hero h1{font-size:52px}.hero-text{font-size:15px}
 .section{padding:88px 20px}.concept-grid,.menu-panel{grid-template-columns:1fr;gap:48px}.concept-image{height:460px}.section-heading{display:block}.section-heading>p{margin-top:22px}.cards{grid-template-columns:1fr}.card-image{height:380px}
 .menu-panel{margin:0 20px 90px;padding:55px 0}.menu-list a{font-size:21px}.wide-feature{height:70vh;min-height:560px}.wide-copy{left:22px;bottom:56px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid figure{height:360px}.g1{grid-row:auto}.g2{display:block}
 .contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div{border-bottom:1px solid var(--line)}.contact-grid>div:nth-child(2){border-right:0}.contact-grid>div:nth-child(3){padding-left:0}
 footer{flex-direction:column;gap:18px;text-align:center}
}
@media(max-width:560px){
 .wordmark{font-size:18px}.hero h1{font-size:44px}.hero{min-height:760px}.hero-media{object-position:66% center}.btn{width:100%}.concept-image{height:380px}.card-image{height:290px}.menu-list a{grid-template-columns:42px 1fr auto;font-size:18px}.wide-feature{min-height:520px}.gallery-grid figure{height:300px}.reservation{padding:95px 20px;background-attachment:scroll}.contact-grid{grid-template-columns:1fr}.contact-grid>div{border-right:0!important;padding:25px 0!important}.hero-index{display:none}
}
.lang-switch{display:flex;align-items:center;gap:7px;margin-left:4px;font-size:11px;letter-spacing:.12em;color:#76716a}
.lang-btn{appearance:none;border:0;background:transparent;color:#8e8982;padding:4px 2px;cursor:pointer;font:inherit;letter-spacing:.12em}
.lang-btn.active,.lang-btn:hover{color:var(--gold2)}
@media(max-width:900px){
  .lang-switch{margin-top:20px;font-family:"DM Sans",sans-serif;font-size:14px}
}
