:root{--bg:#0b0b0c;--bg-2:#131214;--bg-3:#1c1a1e;--ink:#eae6db;--ink-dim:#eae6db9e;--ink-mute:#eae6db61;--line:#eae6db1f;--line-strong:#eae6db47;--accent:#c9a96a;--accent-2:#d8b97a;--accent-deep:#8a6e3c;--serif:"Cormorant Garamond", "Shippori Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--jp:"Shippori Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", serif;--sans:"Inter", "Noto Sans JP", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--max:1280px;--pad:clamp(20px, 4vw, 56px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--jp);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}body[data-theme=sumi]{--bg:#0b0b0c;--bg-2:#131214;--bg-3:#1c1a1e;--accent:#c9a96a;--accent-2:#d8b97a;--accent-deep:#8a6e3c}body[data-theme=navy]{--bg:#0a1118;--bg-2:#0f1922;--bg-3:#142436;--accent:#c9a96a;--accent-2:#e0c684;--accent-deep:#8a6e3c}body[data-theme=aka]{--bg:#110a08;--bg-2:#1c110d;--bg-3:#281712;--accent:#c79a5a;--accent-2:#d8b072;--accent-deep:#7a4f2a}body[data-jp-font=gothic]{--jp:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif}.grain{pointer-events:none;z-index:1;mix-blend-mode:overlay;opacity:.35;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.9  0 0 0 0 0.85  0 0 0 0 0.7  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}.nav{z-index:50;padding:18px var(--pad);justify-content:space-between;align-items:center;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(18px)saturate(140%);border-bottom:1px solid var(--line);background:#0b0b0cc7;padding-top:14px;padding-bottom:14px}.nav-logo{font-family:var(--serif);letter-spacing:.04em;align-items:baseline;gap:8px;font-size:22px;font-style:italic;display:flex}.nav-logo .amp{color:var(--accent);font-weight:500}.nav-logo .k{letter-spacing:.12em;font-style:normal;font-weight:600}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);padding:6px 0;font-size:11px;transition:color .25s;position:relative}.nav-link .jp{font-family:var(--jp);letter-spacing:.1em;opacity:.55;text-transform:none;margin-top:2px;font-size:9px;display:block}.nav-link:after{content:"";background:var(--accent);height:1px;transition:right .35s;position:absolute;bottom:-2px;left:0;right:100%}.nav-link:hover{color:var(--ink)}.nav-link:hover:after{right:0}.nav-cta{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);padding:10px 18px;font-size:11px;transition:all .3s}.nav-cta:hover{background:var(--accent);color:var(--bg)}.nav-mobile{display:none}.nav-burger{width:28px;height:18px;display:none;position:relative}.nav-burger span{background:var(--ink);height:1px;transition:transform .3s,opacity .3s;position:absolute;left:0;right:0}.nav-burger span:first-child{top:2px}.nav-burger span:nth-child(2){top:8px}.nav-burger span:nth-child(3){top:14px}.nav-burger.open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (max-width:880px){.nav-links,.nav-cta{display:none}.nav-burger{display:block}.nav-mobile{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:49;opacity:0;pointer-events:none;background:#0b0b0cf5;flex-direction:column;justify-content:center;align-items:center;gap:28px;transition:opacity .35s;display:flex;position:fixed;inset:0}.nav-mobile.open{opacity:1;pointer-events:auto}.nav-mobile .nav-link{text-align:center;font-size:14px}.nav-mobile .nav-link .jp{margin-top:4px;font-size:11px}}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.reveal-late{transition-delay:.15s}.reveal-later{transition-delay:.3s}.line-draw{display:inline-block;position:relative}.line-draw:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .2s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.line-draw.in:after{transform:scaleX(1)}.sec{padding:clamp(80px, 12vh, 140px) var(--pad);position:relative}.sec-inner{max-width:var(--max);margin:0 auto}.eyebrow{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);align-items:center;gap:14px;margin-bottom:22px;font-size:11px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:28px;height:1px}.sec-title{font-family:var(--serif);letter-spacing:-.01em;font-size:clamp(40px,6vw,72px);font-style:italic;font-weight:400;line-height:1.05}.sec-title.line-draw:after{display:none}.sec-title .jp{width:fit-content;font-family:var(--jp);letter-spacing:.3em;color:var(--ink-dim);margin:18px 0 0 1.5em;padding:0 1em;font-size:clamp(15px,1.4vw,18px);font-style:normal;font-weight:400;display:block;position:relative}.sec-title .jp:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .4s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.line-draw.in .jp:after{transform:scaleX(1)}.sec-lede{max-width:580px;color:var(--ink-dim);margin-top:28px;font-size:15px;line-height:1.95}.footer{border-top:1px solid var(--line);padding:64px var(--pad) 32px;background:var(--bg-2)}.footer-inner{max-width:var(--max);grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:48px;margin:0 auto;display:grid}.footer h4{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:11px;font-weight:500}.footer p,.footer a{color:var(--ink-dim);font-size:13px;line-height:1.9}.footer a:hover{color:var(--accent)}.footer-logo{font-family:var(--serif);color:var(--ink);margin-bottom:12px;font-size:26px;font-style:italic}.footer-bot{max-width:var(--max);border-top:1px solid var(--line);font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;margin:48px auto 0;padding-top:24px;font-size:10px;display:flex}@media (max-width:720px){.footer-inner{grid-template-columns:1fr;gap:36px}.footer-bot{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px}}.hero{justify-content:center;align-items:center;height:100vh;min-height:720px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;will-change:transform;position:absolute;inset:-10% -2%}@supports (animation-timeline:scroll()){@keyframes hero-bg-parallax{to{transform:translateY(280px)}}.hero-bg{animation:linear both hero-bg-parallax;animation-timeline:scroll(root);animation-range:0 800px}@keyframes hero-content-exit{0%{opacity:1;transform:translate(0,0)}84%{opacity:0;transform:translateY(-100px)}to{opacity:0;transform:translateY(-120px)}}.hero-content{animation:linear both hero-content-exit;animation-timeline:scroll(root);animation-range:0 800px}}.hero-img{object-fit:cover;filter:brightness(.65)saturate(.85)contrast(1.05);width:100%;height:100%;position:absolute;inset:0}.hero-vignette{background:radial-gradient(ellipse at 50% 60%, transparent 20%, #0000008c 65%, var(--bg) 100%), linear-gradient(to bottom, #00000080 0%, transparent 30%, transparent 70%, var(--bg) 100%);position:absolute;inset:0}.hero-line{background:var(--accent);transform-origin:top;z-index:2;opacity:.4;width:1px;animation:2.2s cubic-bezier(.2,.7,.2,1) .3s forwards drawLine;position:absolute;top:18%;bottom:18%;left:50%;transform:scaleY(0)}@keyframes drawLine{to{transform:scaleY(1)}}.hero-content{z-index:3;text-align:center;padding:0 var(--pad);will-change:transform, opacity;position:relative}.hero-eyebrow{font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--accent);justify-content:center;align-items:center;gap:14px;margin-bottom:36px;font-size:11px;display:flex}.hero-eyebrow .dot{background:var(--accent);border-radius:50%;width:4px;height:4px;display:inline-block}.hero-title{font-family:var(--serif);letter-spacing:-.015em;font-size:clamp(54px,9vw,124px);font-style:italic;font-weight:300;line-height:1.02}.hero-title span.hero-line-1,.hero-title span.hero-line-2,.hero-title span.hero-line-3{font-family:var(--jp);font-size:clamp(44px,7vw,96px);font-style:normal;font-weight:300;display:block}.hero-title span.hero-line-3{font-family:var(--serif);font-style:italic;font-weight:300}.hero-title em{color:var(--ink);font-style:italic}.hero-title .k-letter{color:var(--accent);letter-spacing:.04em;border-bottom:2px solid var(--accent);margin-left:12px;padding-bottom:4px;font-style:normal;font-weight:600;display:inline-block}.hero-meta{font-family:var(--sans);justify-content:center;align-items:center;gap:28px;margin-top:56px;display:flex}.hero-meta-item{flex-direction:column;align-items:center;gap:4px;display:flex}.hero-meta-item .num{letter-spacing:.22em;text-transform:uppercase;color:var(--ink);font-size:13px;font-weight:500}.hero-meta-item .lbl{font-family:var(--jp);letter-spacing:.2em;color:var(--ink-mute);font-size:10px}.hero-meta-div{background:var(--line-strong);width:1px;height:24px}@media (max-width:640px){.hero-meta{flex-wrap:wrap;gap:16px}.hero-meta-div{display:none}}.hero-scroll{z-index:4;font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);flex-direction:column;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:var(--accent);width:1px;height:56px;position:relative;overflow:hidden}.hero-scroll-line:after{content:"";background:linear-gradient(to bottom, transparent, var(--ink), transparent);height:100%;animation:2.4s ease-in-out infinite scrollCue;position:absolute;top:-100%;left:0;right:0}@keyframes scrollCue{0%{top:-100%}to{top:100%}}.rail{z-index:4;pointer-events:none;justify-content:center;align-items:center;width:36px;display:flex;position:fixed;top:0;bottom:0}.rail-left{left:0}.rail-right{right:0}.rail-text{writing-mode:vertical-rl;font-family:var(--sans);letter-spacing:.35em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;font-size:9px}.rail-left .rail-text{transform:rotate(180deg)}@media (max-width:880px){.rail{display:none}}.hero-ph{position:absolute;inset:0}.hero-ph-bg{background:radial-gradient(at 50% 30%,#c9a96a2e 0%,#0000 50%),radial-gradient(at 30% 80%,#c9a96a14 0%,#0000 60%),linear-gradient(#1a1612 0%,#0d0c0b 40%,#050505 100%);position:absolute;inset:0}.hero-ph-bottle{filter:blur(.5px);background:linear-gradient(#140e08e6 0%,#281c12e6 20%,#3c2818d9 40%,#6e4628b3 70%,#3c2818e6 100%);border-radius:8px 8px 2px 2px;width:22px;position:absolute;bottom:28%}.hero-ph-bottle:before{content:"";background:#281c12e6;border-radius:2px 2px 0 0;height:16px;position:absolute;top:-16px;left:6px;right:6px}.hero-ph-pendant{background:#c9a96a2e;width:1px;height:28%;position:absolute;top:6%}.hero-ph-glow{filter:blur(8px);background:radial-gradient(#ffc87859 0%,#0000 70%);height:64px;position:absolute;bottom:-12px;left:-32px;right:-32px}.hero-ph-counter{background:linear-gradient(#281e16cc 0%,#140e0af2 100%);border-top:1px solid #c9a96a40;height:28%;position:absolute;bottom:0;left:0;right:0}.concept{background:var(--bg);position:relative}.concept-header{margin-bottom:clamp(48px,7vh,88px)}.concept-header .sec-title em{display:inline}.concept-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:clamp(40px,6vw,96px);display:grid}@media (max-width:880px){.concept-grid{grid-template-columns:1fr;gap:40px}}.concept-img{aspect-ratio:3/4;border:1px solid var(--line);position:relative;overflow:hidden}.concept-img img{object-fit:cover;filter:brightness(.85)saturate(.95);width:100%;height:100%;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.concept-img:hover img{transform:scale(1.05)}.concept-img-cap{font-family:var(--serif);color:var(--accent);letter-spacing:.1em;font-size:13px;font-style:italic;position:absolute;bottom:14px;left:16px}@media (max-width:880px){.concept-img{aspect-ratio:16/10}}.concept-body p{color:var(--ink-dim);margin-bottom:24px;font-size:16px;line-height:2.1}.concept-body p:first-of-type{color:var(--ink);font-size:17px}.concept-sig{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:16px;margin-top:36px;font-size:11px;display:flex}.concept-sig-line{background:var(--accent);width:48px;height:1px;display:block}.concept-marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;margin-top:clamp(60px,10vh,120px);padding:28px 0;overflow:hidden}.concept-marquee-track{font-family:var(--serif);color:var(--ink-mute);gap:60px;font-size:clamp(28px,4vw,48px);font-style:italic;animation:32s linear infinite marquee;display:inline-flex}.concept-marquee-track .dot{color:var(--accent);margin:0 4px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.menu{background:var(--bg-2)}.menu-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:64px;display:flex}.menu-tabs{border-bottom:1px solid var(--line);gap:0;display:flex}.menu-tab{font-family:var(--sans);color:var(--ink-mute);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 28px;transition:color .3s;display:flex;position:relative}.menu-tab span:first-child{letter-spacing:.15em;text-transform:uppercase;font-size:13px}.menu-tab .jp{font-family:var(--jp);letter-spacing:.2em;opacity:.7;font-size:10px}.menu-tab.active{color:var(--accent)}.menu-tab.active:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:-1px;left:0;right:0}.menu-carousel{aspect-ratio:21/9;border:1px solid var(--line);margin-bottom:56px;position:relative;overflow:hidden}.menu-carousel-slide{opacity:0;pointer-events:none;transition:opacity 1s;position:absolute;inset:0}.menu-carousel-slide.active{opacity:1;pointer-events:auto}.menu-carousel-slide img{object-fit:cover;filter:brightness(.65)saturate(.9);width:100%;height:100%}.menu-carousel-overlay{background:linear-gradient(#0000 0%,#000000b8 100%);padding:48px 40px 28px;position:absolute;bottom:0;left:0;right:0}.menu-carousel-name{font-family:var(--serif);color:var(--ink);margin-bottom:6px;font-size:clamp(26px,3.5vw,48px);font-style:italic;font-weight:400;line-height:1.1}.menu-carousel-jp{font-family:var(--jp);color:var(--ink-dim);letter-spacing:.25em;font-size:clamp(11px,1.2vw,14px)}.menu-carousel-dots{z-index:2;gap:7px;display:flex;position:absolute;bottom:20px;right:24px}.menu-carousel-dot{background:#eae6db4d;border-radius:50%;width:6px;height:6px;transition:background .3s,transform .3s}.menu-carousel-dot.active{background:var(--accent);transform:scale(1.35)}@media (max-width:720px){.menu-carousel{aspect-ratio:4/3}.menu-carousel-overlay{padding:32px 20px 18px}}.course-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}@media (max-width:980px){.course-grid{grid-template-columns:1fr}}.course-card{background:var(--bg-3);border:1px solid var(--line);padding:36px 28px;transition:border-color .35s,transform .35s;position:relative}.course-card:hover{border-color:var(--accent);transform:translateY(-4px)}.course-card.featured{border-color:var(--accent);background:linear-gradient(180deg, #c9a96a0d, transparent 60%), var(--bg-3)}.course-badge{background:var(--accent);color:var(--bg);font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;padding:4px 12px;font-size:9px;font-weight:600;position:absolute;top:-10px;left:28px}.course-head{margin-bottom:18px}.course-name{font-family:var(--serif);color:var(--ink);font-size:28px;font-style:italic;font-weight:400}.course-jp{color:var(--ink-mute);letter-spacing:.15em;margin-top:4px;font-size:12px;display:block}.course-price{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;margin-bottom:18px;padding-bottom:18px;display:flex}.price-num{font-family:var(--serif);color:var(--accent);font-size:36px;font-style:italic}.price-tax{font-family:var(--sans);color:var(--ink-mute);letter-spacing:.15em;font-size:10px}.course-items{list-style:none}.course-items li{color:var(--ink-dim);gap:10px;padding:4px 0;font-size:13.5px;line-height:1.85;display:flex}.course-bullet{color:var(--accent);flex-shrink:0}.course-note{border-top:1px solid var(--line);font-family:var(--sans);letter-spacing:.15em;color:var(--ink-mute);margin-top:20px;padding-top:16px;font-size:11px}.ala{grid-template-columns:280px 1fr;gap:56px;display:grid}@media (max-width:880px){.ala{grid-template-columns:1fr;gap:32px}}.ala-cats{flex-direction:column;gap:0;display:flex}.ala-cat{border-bottom:1px solid var(--line);text-align:left;grid-template-columns:36px 1fr;gap:12px;padding:18px 0;transition:padding-left .3s;display:grid;position:relative}.ala-cat-num{font-family:var(--sans);color:var(--accent);letter-spacing:.15em;align-self:center;font-size:11px}.ala-cat-name{font-family:var(--serif);color:var(--ink-dim);grid-column:2;font-size:22px;font-style:italic}.ala-cat-jp{letter-spacing:.2em;color:var(--ink-mute);grid-column:2;margin-top:2px;font-size:11px}.ala-cat:before{content:"";background:var(--accent);width:0;height:1px;transition:width .35s;position:absolute;top:50%;left:0}.ala-cat.active{padding-left:24px}.ala-cat.active:before{width:16px}.ala-cat.active .ala-cat-name{color:var(--accent)}.ala-list{flex-direction:column;gap:0;display:flex}.ala-item{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding:18px 0;animation:.6s cubic-bezier(.2,.7,.2,1) backwards fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ala-name{font-family:var(--jp);color:var(--ink);font-size:16px}.ala-dots{border-bottom:1px dotted var(--line-strong);flex:1;position:relative;top:-6px}.ala-price{font-family:var(--serif);color:var(--accent);font-size:20px;font-style:italic}.drinks{background:var(--bg);position:relative}.drinks:before{content:"WINE & SAKE";font-family:var(--serif);color:#c9a96a0a;letter-spacing:-.02em;pointer-events:none;font-size:clamp(80px,18vw,240px);font-style:italic;position:absolute;top:8%;right:-2vw}.drinks-head{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,96px);margin-bottom:72px;display:grid}.drinks-visual{aspect-ratio:4/5;border:1px solid var(--line);align-self:stretch;overflow:hidden}.drinks-visual img{object-fit:cover;filter:brightness(.85)saturate(.95);width:100%;height:100%;animation:.8s fadeIn}@media (max-width:880px){.drinks-head{grid-template-columns:1fr;align-items:start}.drinks-visual{aspect-ratio:16/10}}.drinks-tabs-row{border:1px solid var(--line);gap:0;width:fit-content;margin-top:36px;display:flex}.drinks-tab-btn{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);border-right:1px solid var(--line);padding:10px 20px;font-size:11px;transition:color .25s,background .25s;position:relative}.drinks-tab-btn:last-child{border-right:0}.drinks-tab-btn .jp{font-family:var(--jp);letter-spacing:.15em;text-transform:none;opacity:.6;margin-top:3px;font-size:9px;display:block}.drinks-tab-btn.active{color:var(--bg);background:var(--accent)}.drinks-tab-btn.active .jp{opacity:.8}@media (max-width:640px){.drinks-tabs-row{width:100%}.drinks-tab-btn{flex:1;padding:10px 8px;font-size:10px}}.drinks-list{z-index:2;position:relative}.drink-row{border-bottom:1px solid var(--line);grid-template-columns:60px 1.6fr 1fr 100px;align-items:center;gap:24px;padding:22px 0;transition:padding-left .35s;animation:.6s cubic-bezier(.2,.7,.2,1) backwards fadeUp;display:grid}.drink-row:hover{padding-left:12px}.drink-row:hover .drink-num{color:var(--accent)}.drink-num{font-family:var(--sans);color:var(--ink-mute);letter-spacing:.2em;font-size:12px;transition:color .3s}.drink-name{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:22px;font-style:italic;font-weight:400}.drink-region{font-family:var(--sans);letter-spacing:.15em;color:var(--ink-mute);text-transform:uppercase;font-size:11px}.drink-note{color:var(--ink-dim);font-size:13px}.drink-price{font-family:var(--serif);color:var(--accent);text-align:right;font-size:20px;font-style:italic}@media (max-width:720px){.drink-row{grid-template-columns:40px 1fr 80px;gap:14px}.drink-note{display:none}}.drinks-foot{font-family:var(--jp);color:var(--ink-dim);align-items:center;gap:20px;margin-top:48px;padding-top:28px;font-size:14px;display:flex}.drinks-foot-line{background:var(--accent);width:60px;height:1px;display:block}.gallery{background:var(--bg-2)}.gallery-head{margin-bottom:56px}.gallery-stage{grid-template-columns:1fr;gap:16px;display:grid}.gallery-main{aspect-ratio:16/9}@media (max-width:720px){.gallery-main{aspect-ratio:4/5}}.gallery-photo{border:1px solid var(--line);background:var(--bg-3);width:100%;height:100%;position:relative;overflow:hidden}.gallery-photo>img{object-fit:cover;filter:brightness(.85)saturate(.95);width:100%;height:100%;animation:.8s fadeIn;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}.gallery-thumb>img{object-fit:cover;filter:brightness(.7)saturate(.9);width:100%;height:100%;transition:filter .3s;position:absolute;inset:0}.gallery-thumb:hover>img,.gallery-thumb.active>img{filter:brightness()saturate()}.gallery-photo-overlay{z-index:2;background:linear-gradient(#0000 30%,#000000bf 100%);flex-direction:column;justify-content:space-between;padding:32px;display:flex;position:absolute;inset:0}.thumb-label{z-index:2}.gallery-photo-num{font-family:var(--sans);letter-spacing:.25em;color:var(--accent);align-self:flex-start;font-size:11px}.gallery-photo-meta h3{font-family:var(--serif);color:var(--ink);font-size:36px;font-style:italic;font-weight:400}.gallery-photo-meta span{letter-spacing:.25em;color:var(--ink-dim);margin-top:4px;font-size:12px;display:block}.gallery-thumbs{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}@media (max-width:720px){.gallery-thumbs{grid-template-columns:repeat(3,1fr)}}.gallery-thumb{aspect-ratio:1;border:1px solid var(--line);opacity:.5;transition:opacity .3s,border-color .3s;position:relative;overflow:hidden}.gallery-thumb:hover,.gallery-thumb.active{opacity:1;border-color:var(--accent)}.thumb-label{font-family:var(--sans);letter-spacing:.15em;color:var(--ink);text-transform:uppercase;font-size:9px;position:absolute;bottom:8px;left:8px}.info{background:var(--bg)}.info-head{margin-bottom:56px}.info-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:64px;display:grid}@media (max-width:880px){.info-grid{grid-template-columns:1fr;gap:32px}}.info-col{border-top:1px solid var(--accent);padding-top:24px}.info-h{font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;font-size:11px;font-weight:500}.info-h .jp{font-family:var(--jp);color:var(--ink-mute);letter-spacing:.2em;margin-left:8px;font-size:10px}.info-p{font-family:var(--jp);color:var(--ink);margin-bottom:12px;font-size:16px;line-height:1.9}.info-p.info-tel{font-family:var(--serif);color:var(--accent);letter-spacing:.02em;font-size:32px;font-style:italic}.info-mute{color:var(--ink-mute);font-size:12px;line-height:1.7}.info-tbl{border-collapse:collapse;width:100%}.info-tbl th{text-align:left;font-family:var(--sans);letter-spacing:.2em;color:var(--ink-mute);text-transform:uppercase;border-bottom:1px solid var(--line);width:80px;padding:10px 0;font-size:11px;font-weight:400}.info-tbl td{font-family:var(--jp);color:var(--ink);border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.info-btn{border:1px solid var(--accent);color:var(--accent);font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;align-items:center;gap:12px;margin-top:20px;padding:12px 22px;font-size:11px;transition:all .3s;display:inline-flex}.info-btn:hover{background:var(--accent);color:var(--bg)}.info-btn:hover .arr{transform:translate(4px)}.info-btn .arr{transition:transform .3s}.info-map{aspect-ratio:16/7;background:var(--bg-3);border:1px solid var(--line-strong);margin-top:clamp(48px,7vh,80px);position:relative;overflow:hidden}.info-map iframe{filter:saturate(.55)brightness(.72)contrast(1.1);transition:filter .6s}.info-map:hover iframe{filter:saturate(.75)brightness(.82)contrast(1.05)}.map-corner{z-index:2;pointer-events:none;width:18px;height:18px;position:absolute}.map-corner-tl{border-top:1px solid var(--accent);border-left:1px solid var(--accent);top:14px;left:14px}.map-corner-tr{border-top:1px solid var(--accent);border-right:1px solid var(--accent);top:14px;right:14px}.map-corner-bl{border-bottom:1px solid var(--accent);border-left:1px solid var(--accent);bottom:14px;left:14px}.map-corner-br{border-bottom:1px solid var(--accent);border-right:1px solid var(--accent);bottom:14px;right:14px}.map-badge{z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(10px);background:#0b0b0ce0;border:1px solid #c9a96a66;padding:14px 20px;position:absolute;bottom:28px;left:28px}.map-badge-eyebrow{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:9px;display:block}.map-badge-name{font-family:var(--serif);color:var(--ink);letter-spacing:.03em;margin-bottom:6px;font-size:15px;font-style:italic;display:block}.map-badge-addr{font-family:var(--jp);color:var(--ink-dim);letter-spacing:.1em;font-size:11px;line-height:1.7;display:block}.map-badge-walk{font-family:var(--sans);letter-spacing:.14em;color:var(--accent);border-top:1px solid #c9a96a33;margin-top:8px;padding-top:8px;font-size:10px;display:block}@media (max-width:720px){.info-map{aspect-ratio:4/5}.map-badge{bottom:16px;left:16px;right:16px}}.map-grid{background-image:linear-gradient(#c9a96a0d 1px,#0000 1px),linear-gradient(90deg,#c9a96a0d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.map-road{background:#c9a96a26;position:absolute}.map-road-h{height:14px;left:0;right:0}.map-road-v{width:14px;top:0;bottom:0}.map-block{background:#eae6db0a;border:1px solid #eae6db0f;position:absolute}.map-station{align-items:center;gap:10px;display:flex;position:absolute;top:56%;left:16%}.map-station-dot{background:var(--ink-dim);border:2px solid var(--bg);border-radius:50%;width:14px;height:14px}.map-station-label{font-family:var(--jp);color:var(--ink-dim);font-size:12px;line-height:1.3}.map-station-label em{font-family:var(--sans);letter-spacing:.15em;opacity:.7;font-size:9px;font-style:normal}.map-pin{flex-direction:column;align-items:center;display:flex;position:absolute;top:36%;left:64%}.map-pin-pulse{border:1px solid var(--accent);border-radius:50%;width:56px;height:56px;animation:2.4s ease-out infinite pulse;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.map-pin-pulse:before{content:"";border:1px solid #c9a96a66;border-radius:50%;animation:2.4s ease-out 1.2s infinite pulse;position:absolute;inset:-8px}@keyframes pulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}.map-pin-dot{background:var(--accent);border:2px solid var(--bg);width:14px;height:14px;box-shadow:0 0 18px var(--accent);border-radius:50%}.map-pin-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--accent);text-align:center;white-space:nowrap;background:#0b0b0cd9;margin-top:14px;padding:10px 14px;line-height:1.4}.map-pin-label strong{font-family:var(--serif);color:var(--accent);font-size:14px;font-style:italic;font-weight:500;display:block}.map-pin-label em{font-family:var(--jp);color:var(--ink-dim);letter-spacing:.15em;font-size:11px;font-style:normal}.sns{background:var(--bg-2)}.sns-head{margin-bottom:56px}.sns-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:980px){.sns-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.sns-grid{grid-template-columns:1fr}}.sns-card{background:var(--bg-3);border:1px solid var(--line);flex-direction:column;gap:16px;padding:32px 24px;transition:all .35s;display:flex;position:relative;overflow:hidden}.sns-card:before{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.sns-card:hover{border-color:var(--accent);transform:translateY(-4px)}.sns-card:hover:before{transform:scaleX(1)}.sns-card:hover .sns-arr{color:var(--accent);transform:translate(4px)}.sns-icon{border:1px solid var(--line-strong);width:48px;height:48px;font-family:var(--serif);color:var(--accent);justify-content:center;align-items:center;font-size:22px;font-style:italic;display:flex}.sns-meta{flex-direction:column;gap:4px;display:flex}.sns-tag{font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-mute);font-size:11px}.sns-handle{font-family:var(--serif);color:var(--ink);font-size:22px;font-style:italic}.sns-note{color:var(--ink-dim);margin-top:auto;font-size:12px;line-height:1.6}.sns-arr{font-family:var(--sans);color:var(--ink-mute);transition:transform .3s,color .3s;position:absolute;top:32px;right:24px}.reserve{padding:clamp(80px, 12vh, 140px) var(--pad);background:radial-gradient(ellipse at 50% 30%, #c9a96a1a 0%, transparent 60%), var(--bg);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reserve-eyebrow{font-family:var(--sans);letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;font-size:11px}.reserve-title{font-family:var(--serif);color:var(--ink);margin-bottom:16px;font-size:clamp(40px,6vw,72px);font-style:italic;font-weight:300;line-height:1.1}.reserve-jp{font-family:var(--jp);letter-spacing:.25em;color:var(--ink-dim);margin-bottom:40px;font-size:14px}.reserve-cta{background:var(--accent);color:var(--bg);font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;align-items:center;gap:16px;padding:18px 40px;font-size:12px;font-weight:600;transition:all .3s;display:inline-flex}.reserve-cta:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 12px 32px #c9a96a4d}.reserve-cta .arr{font-size:14px}
