:root{--ink:#100c0a;--black:#090807;--red:#8f1723;--red2:#5e0e16;--cream:#f2e7d1;--paper:#d9c9ae;--gold:#b6935d;--line:rgba(242,231,209,.18);--serif:"Noto Serif JP",serif;--display:"Shippori Mincho",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--serif);font-size:16px;line-height:1.9;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.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}.site-header{position:fixed;top:0;left:0;right:0;z-index:30;height:88px;display:flex;align-items:center;padding-left:4vw;background:linear-gradient(180deg,rgba(4,3,3,.9),transparent);transition:.35s}.site-header.scrolled{height:72px;background:rgba(9,8,7,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;line-height:1.15;min-width:250px}.brand-small{font-size:11px;letter-spacing:.3em;color:var(--gold)}.brand-name{font-size:17px;letter-spacing:.12em}.brand-name strong{font-size:24px;margin-left:8px}.global-nav{display:flex;gap:2.2vw;margin-left:auto;margin-right:28px}.global-nav a{font-size:13px;letter-spacing:.12em;position:relative}.global-nav a:after{content:"";position:absolute;bottom:-8px;left:50%;right:50%;height:1px;background:var(--red);transition:.25s}.global-nav a:hover:after{left:0;right:0}.header-reserve{align-self:stretch;width:128px;background:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3;transition:.25s}.header-reserve:hover{background:#a51d2a}.header-reserve span{font-size:16px;letter-spacing:.18em}.header-reserve small{font-size:10px;opacity:.75}.menu-toggle{display:none}.hero{min-height:100svh;position:relative;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:url("hero-seafood.png") 58% center/cover no-repeat;filter:saturate(.88)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,4,.98) 0%,rgba(5,4,4,.75) 38%,rgba(5,4,4,.12) 72%),linear-gradient(0deg,rgba(5,4,4,.72),transparent 45%)}.hero-copy{position:relative;z-index:2;margin-left:10vw;padding-top:70px}.eyebrow,.kicker{font-family:Georgia,serif;color:var(--gold);font-size:12px;letter-spacing:.34em;text-transform:uppercase}.hero h1{margin:.18em 0 .25em;font-family:var(--display);font-weight:500;font-size:clamp(56px,7.4vw,118px);line-height:1.08;letter-spacing:.08em;text-shadow:0 3px 20px #000}.hero h1 em{font-style:normal;color:#cf3342;font-size:1.12em}.hero-lead{font-size:18px;letter-spacing:.1em;line-height:2.1;color:#e4d9c8}.hero-actions{display:flex;gap:12px;margin-top:36px}.btn{display:inline-flex;min-height:58px;padding:0 30px;align-items:center;justify-content:center;letter-spacing:.11em;border:1px solid rgba(255,255,255,.35);transition:.25s}.btn-primary{background:var(--red);border-color:var(--red)}.btn-primary:hover{background:#a91d2b;transform:translateY(-2px)}.btn-ghost{background:rgba(0,0,0,.25)}.btn-ghost:hover{background:var(--cream);color:var(--black)}.btn span{font-size:13px;margin-left:12px}.scroll-cue{position:absolute;z-index:2;bottom:35px;left:4vw;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.25em;writing-mode:vertical-rl}.scroll-cue i{height:60px;width:1px;background:linear-gradient(var(--cream),transparent);animation:pulse 2s infinite}.hero-note{position:absolute;right:18px;bottom:12px;z-index:2;font-size:11px;color:rgba(255,255,255,.6)}@keyframes pulse{50%{opacity:.25;transform:translateY(10px)}}.section{position:relative;padding:130px max(6vw,24px)}.concept{min-height:720px;background:radial-gradient(circle at 70% 40%,#211614 0,transparent 40%),linear-gradient(135deg,#0b0908,#17100e);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;overflow:hidden}.section-mark{position:absolute;right:-1vw;top:40px;font-family:var(--display);font-size:220px;color:rgba(255,255,255,.025);writing-mode:vertical-rl;line-height:1}.concept-copy{max-width:600px;margin-left:5vw}.concept h2,.section-heading h2,.space-copy h2,.reservation h2{font-family:var(--display);font-weight:500;font-size:clamp(38px,5vw,72px);line-height:1.45;letter-spacing:.08em;margin:.3em 0}.red-line{height:1px;width:100px;background:var(--red);margin:35px 0}.concept-copy>p:not(.kicker){color:var(--paper);max-width:520px}.concept-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.concept-stats div{padding:34px 12px;text-align:center;border-right:1px solid var(--line)}.concept-stats div:last-child{border:0}.concept-stats strong{display:block;font-family:var(--display);font-size:44px;color:var(--gold);line-height:1.2}.concept-stats strong small{font-size:15px}.concept-stats span{font-size:12px;letter-spacing:.1em;color:#bcad99}.menu-section{background:#e8dec9;color:#241915}.section-heading{max-width:760px;margin:0 auto 70px;text-align:center}.section-heading .kicker{color:var(--red)}.section-heading h2{margin:.15em 0}.section-heading>p:last-child{color:#645349}.feature-grid{display:grid;grid-template-columns:1.4fr .8fr .55fr;gap:18px;max-width:1320px;margin:auto}.feature{background:#160f0d;color:var(--cream);min-height:580px;display:flex;flex-direction:column;overflow:hidden}.feature-image{height:330px;background-size:cover;background-position:center;position:relative;transition:.7s}.feature:hover .feature-image{transform:scale(1.025)}.feature-image.seafood{background-image:url("hero-seafood.png")}.feature-image.meat{background-image:url("grilled-pork.png");background-position:62% center}.feature-image span{position:absolute;right:10px;bottom:6px;font-size:10px;color:rgba(255,255,255,.65)}.feature-body{position:relative;padding:32px}.feature-body b{font-family:Georgia,serif;color:var(--red);font-size:14px;letter-spacing:.15em}.feature-body h3{font-family:var(--display);font-size:27px;letter-spacing:.08em;margin:7px 0}.feature-body p{color:#cbbfae;font-size:14px}.text-feature{background:linear-gradient(180deg,#73111b,#280c0d);justify-content:center;position:relative}.text-feature:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18)}.vertical-accent{font-family:var(--display);font-size:32px!important;line-height:1.6!important;color:var(--cream)!important}.menu-note,.course-note{text-align:center;font-size:12px;margin-top:30px;color:#796b61}.course-section{background:linear-gradient(rgba(8,7,6,.77),rgba(8,7,6,.88)),url("grilled-pork.png") center/cover fixed}.course-inner{max-width:1150px;margin:auto;text-align:center}.section-heading.light>p:last-child{color:#cbbfae}.course-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.course-cards article{position:relative;padding:45px 20px;background:rgba(10,8,7,.78);border:1px solid rgba(182,147,93,.35);backdrop-filter:blur(7px)}.course-cards article.recommended{border-color:var(--red);background:rgba(45,10,13,.85);transform:translateY(-10px)}.recommended i{position:absolute;top:0;right:0;background:var(--red);padding:4px 14px;font-size:11px;font-style:normal}.course-cards span{font-size:12px;color:var(--gold);letter-spacing:.15em}.course-cards h3{font-family:var(--display);font-size:25px;margin:12px 0 0}.course-cards p{font-size:13px;color:#c8b9a6}.course-note{color:#aa9c8d}.course-inner>.btn{margin-top:25px}.space-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px;padding:0;background:#0b0908}.space-copy{padding:120px 9vw;align-self:center}.space-copy p:last-child{color:#bfb19f}.space-visual{min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.05)),repeating-linear-gradient(90deg,#170d09 0,#24130d 18px,#0d0907 20px,#130b08 40px);overflow:hidden}.space-visual:after{content:"";position:absolute;inset:12%;border:1px solid rgba(182,147,93,.22)}.lantern{position:relative;z-index:2;width:110px;height:215px;background:linear-gradient(90deg,#cbb88e,#f2e4c2,#bba67b);color:#190d09;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:31px;letter-spacing:.2em;box-shadow:0 0 70px rgba(244,182,87,.35);border-radius:48% 48% 12% 12%}.space-visual p{position:absolute;bottom:8%;z-index:2;letter-spacing:.25em;color:#d4c5b0}.access-section{background:#e8dec9;color:#241915}.access-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 25px 80px rgba(40,20,12,.14)}.access-card{background:#f4ecdc;padding:55px}.access-card h3{font-family:var(--display);font-size:28px;border-bottom:1px solid #c7b99e;padding-bottom:22px;margin-top:0}.access-card dl{margin:0}.access-card dl div{display:grid;grid-template-columns:100px 1fr;padding:15px 0;border-bottom:1px solid #d8cbb6}.access-card dt{font-size:13px;color:#8f1723;font-weight:700}.access-card dd{margin:0}.access-card small{color:#786b60}.map-card{min-height:530px;background-color:#34241c;background-image:linear-gradient(30deg,transparent 24%,rgba(255,255,255,.04) 25%,rgba(255,255,255,.04) 26%,transparent 27%,transparent 74%,rgba(255,255,255,.04) 75%,rgba(255,255,255,.04) 76%,transparent 77%),linear-gradient(150deg,transparent 24%,rgba(182,147,93,.12) 25%,rgba(182,147,93,.12) 26%,transparent 27%,transparent 74%,rgba(182,147,93,.12) 75%,rgba(182,147,93,.12) 76%,transparent 77%);background-size:62px 62px;color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center}.map-pin{width:200px;height:200px;border:1px solid var(--gold);background:rgba(14,10,8,.88);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.map-pin:after{content:"";position:absolute;bottom:-12px;border:12px solid transparent;border-top-color:var(--gold);border-bottom:0}.map-pin span{font-size:12px;color:var(--gold)}.map-pin strong{font-family:var(--display);font-size:24px}.map-pin small{margin-top:8px}.map-link{margin-top:44px;border-bottom:1px solid var(--gold);padding-bottom:5px}.reservation{text-align:center;padding:120px 24px;background:linear-gradient(135deg,#551018,#921723 55%,#470b11)}.reservation h2{font-size:52px}.reserve-buttons{display:flex;justify-content:center;gap:12px;margin-top:40px}.reserve-buttons a{width:min(350px,44vw);min-height:92px;padding:16px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.4);transition:.25s}.reserve-main{background:var(--cream);color:#2a1712}.reserve-buttons a:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.2)}.reserve-buttons small{font-size:11px;letter-spacing:.12em}.reserve-buttons strong{font-size:19px;letter-spacing:.1em}footer{text-align:center;padding:80px 24px 100px;background:#090807;color:#aa9c8d}.footer-brand{display:flex;flex-direction:column;color:var(--cream);line-height:1.4}.footer-brand span{font-size:12px;color:var(--gold)}.footer-brand strong{font-family:var(--display);font-size:30px;letter-spacing:.15em}.footer-links{display:flex;justify-content:center;gap:28px;margin:30px 0}.footer-links a{border-bottom:1px solid #5f5349}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){body{padding-bottom:62px}.site-header{height:68px;padding:0 18px;background:rgba(9,8,7,.88)}.brand{min-width:0}.brand-name{font-size:12px}.brand-name strong{font-size:19px}.header-reserve{display:none}.menu-toggle{display:flex;margin-left:auto;width:44px;height:44px;background:none;border:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-toggle span:not(.sr-only){width:25px;height:1px;background:var(--cream);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)}.global-nav{position:fixed;inset:68px 0 auto 0;background:rgba(9,8,7,.98);padding:24px;display:none;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.global-nav.open{display:flex}.global-nav a{padding:13px;border-bottom:1px solid var(--line)}.hero{min-height:92svh;align-items:flex-end;padding-bottom:85px}.hero-bg{background-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(5,4,4,.98) 0%,rgba(5,4,4,.6) 62%,rgba(5,4,4,.12))}.hero-copy{margin:0;padding:0 24px}.hero h1{font-size:58px}.hero-lead{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch;max-width:390px}.scroll-cue{display:none}.section{padding:90px 24px}.concept{grid-template-columns:1fr;gap:50px}.concept-copy{margin:0}.concept-stats{grid-template-columns:repeat(3,1fr)}.concept-stats strong{font-size:34px}.concept-stats span{font-size:10px}.feature-grid{grid-template-columns:1fr}.feature{min-height:0}.feature-image{height:300px}.text-feature{min-height:370px}.course-cards{grid-template-columns:1fr}.course-cards article.recommended{transform:none}.course-section{background-attachment:scroll}.space-section{grid-template-columns:1fr}.space-copy{padding:90px 24px}.space-visual{min-height:500px}.access-grid{grid-template-columns:1fr}.access-card{padding:35px 24px}.map-card{min-height:420px}.mobile-cta{position:fixed;z-index:40;bottom:0;left:0;right:0;height:62px;display:grid;grid-template-columns:1.2fr 1fr;background:#0b0908;border-top:1px solid rgba(255,255,255,.2)}.mobile-cta a{display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.08em}.mobile-cta a:first-child{background:var(--red)}footer{padding-bottom:70px}}@media(max-width:560px){.brand-small{font-size:9px}.hero h1{font-size:48px}.hero-lead br{display:none}.section-heading{margin-bottom:45px}.feature-image{height:240px}.concept-stats{margin:0 -24px}.concept-stats div{padding:25px 5px}.access-card dl div{grid-template-columns:78px 1fr}.reserve-buttons{flex-direction:column}.reserve-buttons a{width:100%}}
