/* HERO */
.hero{height:100vh;min-height:760px;position:relative;overflow:hidden;background:#000}
.hero .backdrop{position:absolute;inset:0}
.hero .backdrop::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#1a1510 0%,#0a0807 35%,#050404 70%,#000 100%);transform:scale(1.05)}
.hero .plate-hero{position:absolute;left:50%;top:50%;width:min(82vh,880px);aspect-ratio:1/1;transform:translate(-50%,-50%) scale(.96);opacity:0;transition:opacity 2.2s ease 3.8s,transform 4s cubic-bezier(.2,.7,.2,1) 3.8s}
.hero.play .plate-hero{opacity:1;transform:translate(-50%,-50%) scale(1)}
.hero .plate-hero .rim{box-shadow:inset 0 0 0 1px rgba(212,162,90,.3), inset 0 0 80px rgba(0,0,0,.8), inset 0 0 200px rgba(0,0,0,.4)}

.hero .caviar{position:absolute;inset:22%;border-radius:50%;
  background:
    radial-gradient(circle at 40% 35%, #3b2c1a 0%, #1a120a 45%, #0d0805 70%, transparent 90%),
    radial-gradient(circle at 60% 60%, rgba(212,162,90,.25), transparent 50%)}
.hero .caviar::after{content:"";position:absolute;inset:0;border-radius:50%;
  background-image:
    radial-gradient(circle at 30% 40%, #d4a25a 0 1.5px, transparent 2px),
    radial-gradient(circle at 55% 55%, #b9894a 0 1.2px, transparent 2px),
    radial-gradient(circle at 70% 35%, #d4a25a 0 1.3px, transparent 2px),
    radial-gradient(circle at 45% 70%, #e6b872 0 1.1px, transparent 2px),
    radial-gradient(circle at 35% 55%, #b9894a 0 1px, transparent 2px);
  background-size:14px 14px,11px 11px,17px 17px,13px 13px,9px 9px;
  opacity:.9;mix-blend-mode:screen}

.hero .content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:120px 56px 56px}
@media (max-width:720px){.hero .content{padding:110px 22px 40px}}

.hero .title-block{max-width:620px}
.hero .hero-title{font-family:var(--serif);font-size:clamp(72px,11.5vw,190px);line-height:.92;letter-spacing:-.005em;font-weight:300;opacity:0;transform:translateY(30px);transition:all 2s cubic-bezier(.2,.7,.2,1) 1.2s}
.hero.play .hero-title{opacity:1;transform:none}
.hero .hero-title em{font-style:italic;color:var(--amber);font-weight:300}
.hero .hero-title .jp{display:block;font-family:var(--serif-jp);font-size:.18em;letter-spacing:.5em;color:var(--paper);opacity:.68;margin-top:28px;font-weight:300}

.hero .firstline{position:absolute;top:42%;left:50%;transform:translateX(-50%);text-align:center;opacity:0;animation:firstline 3.6s cubic-bezier(.2,.7,.2,1) .4s forwards}
.hero.play .firstline{animation:firstline-out 1.2s ease forwards;animation-delay:3.6s}
@keyframes firstline{0%{opacity:0;letter-spacing:.5em}25%{opacity:1;letter-spacing:.7em}75%{opacity:1;letter-spacing:.7em}100%{opacity:0;letter-spacing:1.2em}}
@keyframes firstline-out{to{opacity:0}}
.hero .firstline .word{font-family:var(--serif-jp);font-size:clamp(18px,2vw,26px);color:var(--paper);letter-spacing:.7em;font-weight:300;display:block}
.hero .firstline .en{font-family:var(--sans);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--amber);margin-top:22px;display:block}

.hero .bottombar{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.hero .bottombar > div{opacity:0;transform:translateY(20px);transition:all 1.4s ease 2.4s}
.hero.play .bottombar > div{opacity:1;transform:none}
.hero .stars{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:28px;color:var(--amber);letter-spacing:.4em}
.hero .meta{font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.hero .scroll-hint{display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--sans);font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--mute)}
.hero .scroll-hint::after{content:"";width:1px;height:40px;background:linear-gradient(to bottom,var(--amber),transparent);animation:drop 2.2s ease-in-out infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:bottom}}

.hero .side-label{position:absolute;top:50%;left:24px;writing-mode:vertical-rl;transform:rotate(180deg) translateY(50%);font-family:var(--sans);font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--mute);opacity:0;transition:opacity 1.6s ease 3s}
.hero.play .side-label{opacity:.7}
@media (max-width:900px){.hero .side-label{display:none}}

/* MARQUEE strip */
.strip{padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--ink)}
.strip .marquee{font-family:var(--serif);font-size:28px;letter-spacing:.12em;color:var(--paper);font-style:italic}
.strip .marquee .dot{color:var(--amber);margin:0 36px;font-style:normal}

/* THE MENU */
.menu-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:end}
@media (max-width:900px){.menu-intro{grid-template-columns:1fr;gap:50px}}
h2.section-title{font-family:var(--serif);font-size:clamp(64px,8vw,128px);line-height:.94;font-weight:300;letter-spacing:-.005em}
h2.section-title em{font-style:italic;color:var(--amber)}
.menu-intro .jp-title{font-family:var(--serif-jp);font-size:14px;letter-spacing:.45em;color:var(--mute);margin-top:30px;font-weight:300}
.menu-intro p.lead{font-family:var(--serif-jp);font-size:16px;line-height:2;max-width:480px;color:rgba(250,250,250,.78);font-weight:300}

.course-list{margin-top:140px;border-top:1px solid var(--line)}
.course{display:grid;grid-template-columns:80px 1fr 1.3fr 140px;gap:40px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line);transition:background .5s,padding .5s}
.course:hover{background:linear-gradient(90deg,transparent,rgba(212,162,90,.04),transparent);padding-left:20px}
.course .num{font-family:var(--serif);font-size:22px;color:var(--amber);font-style:italic}
.course .dish-jp{font-family:var(--serif-jp);font-size:22px;letter-spacing:.08em;font-weight:400}
.course .dish-en{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--mute);margin-top:4px}
.course .note{font-family:var(--serif-jp);font-size:13px;color:rgba(250,250,250,.62);line-height:1.9;font-weight:300}
.course .pair{font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);text-align:right}
.course .pair small{display:block;color:var(--mute);letter-spacing:.2em;margin-top:4px}
@media (max-width:900px){.course{grid-template-columns:40px 1fr;gap:16px}.course .note,.course .pair{grid-column:2}}

.menu-footer{display:flex;justify-content:space-between;align-items:baseline;margin-top:80px;gap:40px;flex-wrap:wrap}
.menu-footer .price{font-family:var(--serif);font-size:64px;color:var(--amber);font-style:italic;font-weight:300}
.menu-footer .price sup{font-size:.45em;color:var(--paper);margin-right:8px;font-style:normal}
.menu-footer .price small{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);display:block;margin-top:8px;font-style:normal}

/* CHEF */
.chef{background:#0a0807}
.chef-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
@media (max-width:900px){.chef-grid{grid-template-columns:1fr;gap:50px}}
.portrait{aspect-ratio:3/4;position:relative;background:linear-gradient(180deg,#141110,#080606);border:1px solid var(--line);overflow:hidden}
.portrait::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 30%,rgba(212,162,90,.18),transparent 55%),
  radial-gradient(ellipse at 30% 80%,rgba(212,162,90,.06),transparent 50%)}
.portrait::after{content:"";position:absolute;inset:0;
  background-image:linear-gradient(115deg,transparent 45%,rgba(255,255,255,.04) 50%,transparent 55%);
  mix-blend-mode:screen}
.portrait .silhouette{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:70%;aspect-ratio:3/4.5;
  background:linear-gradient(180deg,transparent 0%,transparent 20%,#040302 55%,#040302 100%);
  clip-path:polygon(40% 0%, 60% 0%, 70% 14%, 78% 28%, 85% 45%, 88% 60%, 92% 75%, 100% 95%, 100% 100%, 0% 100%, 0% 95%, 8% 75%, 12% 60%, 15% 45%, 22% 28%, 30% 14%)}
.portrait .portrait-label{position:absolute;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.portrait .portrait-label .amber{color:var(--amber)}

.chef-text .name{font-family:var(--serif);font-size:clamp(48px,5.5vw,84px);line-height:1;font-weight:300;margin-top:22px}
.chef-text .name em{font-style:italic;color:var(--amber)}
.chef-text .jp-name{font-family:var(--serif-jp);font-size:16px;letter-spacing:.4em;color:var(--mute);margin-top:14px;font-weight:300}
.chef-text .bio{font-family:var(--serif-jp);font-size:15px;line-height:2.1;margin-top:36px;color:rgba(250,250,250,.78);font-weight:300;max-width:540px}
.chef-text .bio + .bio{margin-top:24px}
.cv{margin-top:48px;border-top:1px solid var(--line)}
.cv dl{display:grid;grid-template-columns:80px 1fr;gap:18px 24px;padding:22px 0;border-bottom:1px solid var(--line);margin:0}
.cv dt{font-family:var(--serif);font-style:italic;color:var(--amber);font-size:18px}
.cv dd{margin:0;font-family:var(--serif-jp);font-size:14px;line-height:1.7;color:rgba(250,250,250,.82);font-weight:300}
.cv dd small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);margin-top:4px}

.pull-quote{margin:140px 0 0;text-align:center;max-width:900px;margin-left:auto;margin-right:auto}
.pull-quote blockquote{font-family:var(--serif);font-size:clamp(32px,4vw,56px);line-height:1.3;font-style:italic;font-weight:300;color:var(--paper);margin:0}
.pull-quote blockquote::before,.pull-quote blockquote::after{content:"";display:block;width:40px;height:1px;background:var(--amber);margin:36px auto}
.pull-quote cite{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--mute);font-style:normal}

/* INGREDIENTS */
.ingr{background:var(--ink)}
.ingr-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:120px}
@media (max-width:900px){.ingr-head{grid-template-columns:1fr;gap:40px}}
.ingr-head p{font-family:var(--serif-jp);font-size:15px;line-height:2;color:rgba(250,250,250,.76);font-weight:300}

.ingr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
@media (max-width:900px){.ingr-grid{grid-template-columns:1fr}}
.ingr-card{background:var(--ink);padding:48px 40px;position:relative;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;transition:background .6s}
.ingr-card:hover{background:#0d0b09}
.ingr-card .ing-circle{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--color-a,#3a2a18),var(--color-b,#0a0706));box-shadow:inset 0 0 0 1px rgba(212,162,90,.2), inset 0 0 40px rgba(0,0,0,.6);margin-bottom:32px;position:relative}
.ingr-card .ing-circle::after{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.08),transparent 55%)}
.ingr-card h3{font-family:var(--serif-jp);font-size:22px;font-weight:400;letter-spacing:.06em}
.ingr-card h3 em{display:block;font-family:var(--serif);font-size:15px;font-style:italic;color:var(--amber);margin-top:6px;letter-spacing:0}
.ingr-card p{font-family:var(--serif-jp);font-size:13px;line-height:1.9;color:var(--mute);margin-top:16px;font-weight:300}
.ingr-card .origin{position:absolute;top:24px;right:24px;font-family:var(--sans);font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber)}
.ingr-card .lat{font-family:var(--mono);font-size:10px;color:var(--mute-2);margin-top:14px;letter-spacing:.08em}

/* THE ROOM */
.room{background:#0a0807}
.room-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}
@media (max-width:900px){.room-hero{grid-template-columns:1fr}}
.room-visual{aspect-ratio:4/5;position:relative;background:linear-gradient(180deg,#141110,#050403);border:1px solid var(--line);overflow:hidden}
.room-visual::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 40%,rgba(212,162,90,.2),transparent 50%)}
.room-visual .table{position:absolute;bottom:12%;left:50%;transform:translateX(-50%);width:60%;aspect-ratio:2.6/1;background:linear-gradient(180deg,#1a130b,#0a0604);border-radius:4px;box-shadow:0 40px 60px rgba(0,0,0,.6),inset 0 0 0 1px rgba(212,162,90,.2)}
.room-visual .candle{position:absolute;left:50%;bottom:26%;transform:translateX(-50%);width:6px;height:50px;background:linear-gradient(180deg,#f4c678,#8a5a1c);filter:blur(.5px)}
.room-visual .flame{position:absolute;left:50%;bottom:calc(26% + 50px);transform:translateX(-50%);width:10px;height:18px;border-radius:50% 50% 20% 20%;background:radial-gradient(circle at 50% 60%,#fff4b0,#f4a628 60%,transparent 80%);filter:blur(1px);animation:flicker 2.4s ease-in-out infinite}
@keyframes flicker{0%,100%{transform:translateX(-50%) scale(1) rotate(-1deg);opacity:.9}50%{transform:translateX(-50%) scale(1.08) rotate(1deg);opacity:1}}
.room-visual .plate-sm{position:absolute;bottom:16%;width:22%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,#1a1510,#0a0806);box-shadow:inset 0 0 0 1px rgba(212,162,90,.22)}
.room-visual .plate-sm.l{left:22%}
.room-visual .plate-sm.r{right:22%}
.room-visual .caption{position:absolute;left:22px;bottom:22px;right:22px;display:flex;justify-content:space-between;font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}

.room-text p{font-family:var(--serif-jp);font-size:15px;line-height:2.1;color:rgba(250,250,250,.78);font-weight:300;margin-top:24px;max-width:540px}
.room-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:56px}
.room-specs dl{background:var(--ink);padding:28px 24px;margin:0}
.room-specs dt{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.room-specs dd{margin:0;font-family:var(--serif);font-size:28px;font-weight:300;letter-spacing:.02em}
.room-specs dd small{display:block;font-family:var(--serif-jp);font-size:12px;color:var(--mute);margin-top:4px;letter-spacing:.1em;font-weight:300}

.vessels{margin-top:140px}
.vessel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:60px}
@media (max-width:900px){.vessel-grid{grid-template-columns:repeat(2,1fr)}}
.vessel{text-align:center}
.vessel .v-shape{aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--c,#2a1f12),#060403);box-shadow:inset 0 0 0 1px rgba(212,162,90,.22), inset 0 0 40px rgba(0,0,0,.7);position:relative;margin-bottom:22px}
.vessel .v-shape::after{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.06),transparent 55%)}
.vessel h4{font-family:var(--serif-jp);font-size:16px;font-weight:400;letter-spacing:.08em}
.vessel small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);margin-top:6px}
.vessel p{font-family:var(--serif-jp);font-size:12px;line-height:1.8;color:var(--mute);margin-top:10px;font-weight:300}

/* WINE */
.wine{background:var(--ink)}
.wine-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:start}
@media (max-width:900px){.wine-layout{grid-template-columns:1fr}}
.bottle-stage{aspect-ratio:3/4;position:relative;background:linear-gradient(180deg,#0a0807,#050302);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}
.bottle-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(212,162,90,.14),transparent 60%)}
.bottle{width:70px;height:72%;position:relative}
.bottle .body{position:absolute;bottom:0;left:0;right:0;height:78%;background:linear-gradient(180deg,#1a0908 0%,#2a0e0b 40%,#120504 100%);border-radius:8px 8px 4px 4px;box-shadow:inset 2px 0 4px rgba(255,255,255,.08),inset -6px 0 12px rgba(0,0,0,.6)}
.bottle .neck{position:absolute;top:0;left:25%;right:25%;height:28%;background:linear-gradient(180deg,#0a0403,#1a0908);border-radius:3px 3px 0 0}
.bottle .label{position:absolute;bottom:18%;left:-6px;right:-6px;height:28%;background:#FAF6ED;border:1px solid #c9b88a;padding:10px 6px;font-family:var(--serif);font-size:8px;text-align:center;color:#3a2a18;line-height:1.3}
.bottle .label b{display:block;font-size:10px;letter-spacing:.15em}
.bottle .foil{position:absolute;top:-6px;left:25%;right:25%;height:18%;background:linear-gradient(180deg,#d4a25a,#8a5a1c);border-radius:3px 3px 0 0}
.bottle-stage .bars{position:absolute;left:22px;bottom:22px;right:22px;display:flex;justify-content:space-between;font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}

.wine-text h2{margin-bottom:22px}
.wine-text p{font-family:var(--serif-jp);font-size:15px;line-height:2.1;color:rgba(250,250,250,.78);font-weight:300;margin-bottom:18px;max-width:560px}

.pairing-list{margin-top:48px;border-top:1px solid var(--line)}
.pairing{display:grid;grid-template-columns:30px 1fr 1fr 80px;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pairing .n{font-family:var(--serif);font-size:14px;color:var(--amber);font-style:italic}
.pairing .dish{font-family:var(--serif-jp);font-size:15px;font-weight:400}
.pairing .dish small{display:block;font-family:var(--serif);font-style:italic;font-size:12px;color:var(--mute);margin-top:2px}
.pairing .wine-name{font-family:var(--serif);font-style:italic;font-size:14px;color:rgba(250,250,250,.78)}
.pairing .wine-name small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-top:3px;font-style:normal}
.pairing .vintage{font-family:var(--mono);font-size:12px;color:var(--amber);text-align:right}

.cellar-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:80px}
.cellar-stat > div{background:var(--ink);padding:36px 28px}
.cellar-stat dt{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.cellar-stat dd{margin:0;font-family:var(--serif);font-size:52px;font-weight:300;color:var(--amber);font-style:italic;line-height:1}
.cellar-stat small{font-family:var(--serif-jp);font-size:12px;color:var(--mute);margin-top:8px;display:block;letter-spacing:.08em;font-weight:300}

/* RESERVATION */
.reserve{background:#050404;padding:180px 0}
.reserve-head{text-align:center;max-width:820px;margin:0 auto 100px}
.reserve-head .warning{display:inline-flex;align-items:center;gap:14px;padding:10px 20px;border:1px solid var(--line-strong);font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:40px}
.reserve-head .warning .pulse{width:6px;height:6px;background:var(--amber);border-radius:50%;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1;box-shadow:0 0 12px var(--amber)}}
.reserve-head h2{margin-bottom:24px}
.reserve-head p{font-family:var(--serif-jp);font-size:16px;line-height:2;color:rgba(250,250,250,.78);font-weight:300}

.calendar{max-width:1100px;margin:0 auto;border:1px solid var(--line);background:#080606}
.cal-head{display:flex;justify-content:space-between;align-items:center;padding:28px 36px;border-bottom:1px solid var(--line)}
.cal-head .month{font-family:var(--serif);font-size:36px;font-style:italic;font-weight:300}
.cal-head .month em{color:var(--amber)}
.cal-head .nav-arrows{display:flex;gap:24px;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.cal-head .nav-arrows span{cursor:pointer;transition:color .3s}
.cal-head .nav-arrows span:hover{color:var(--amber)}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:24px 36px 36px}
.cal-dow{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);padding:16px 0;text-align:center;border-bottom:1px solid var(--line)}
.cal-day{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;position:relative;border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--paper);font-weight:300}
.cal-day:nth-child(7n+7){border-right:0}
.cal-day.closed{color:var(--mute-2)}
.cal-day.closed::before{content:"";position:absolute;inset:28%;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><line x1='2' y1='2' x2='18' y2='18' stroke='%23555' stroke-width='1'/><line x1='18' y1='2' x2='2' y2='18' stroke='%23555' stroke-width='1'/></svg>") center/contain no-repeat}
.cal-day.full::after{content:"×";position:absolute;color:#b84a4a;font-size:28px;font-family:var(--serif);opacity:.7}
.cal-day.full .n{opacity:.3}
.cal-day.wait{color:var(--mute)}
.cal-day.wait::after{content:"WAIT";position:absolute;bottom:18%;font-family:var(--sans);font-size:7.5px;letter-spacing:.2em;color:var(--amber);opacity:.8}
.cal-day.empty{opacity:0}
.cal-day.open{color:var(--amber);font-weight:400}
.cal-day.open::after{content:"";position:absolute;bottom:26%;width:5px;height:5px;background:var(--amber);border-radius:50%;box-shadow:0 0 10px var(--amber)}

.cal-legend{display:flex;gap:30px;justify-content:center;padding:24px 0;border-top:1px solid var(--line);font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap}
.cal-legend span{display:inline-flex;align-items:center;gap:8px}
.cal-legend .s-open{width:6px;height:6px;background:var(--amber);border-radius:50%}
.cal-legend .s-full{color:#b84a4a}
.cal-legend .s-wait{color:var(--amber);opacity:.7}

.waitlist-stat{text-align:center;margin-top:80px}
.waitlist-stat .n{font-family:var(--serif);font-size:clamp(72px,10vw,160px);color:var(--amber);font-style:italic;font-weight:300;line-height:1}
.waitlist-stat p{font-family:var(--serif-jp);font-size:14px;color:var(--mute);margin-top:16px;letter-spacing:.2em;font-weight:300}

.res-form{max-width:720px;margin:100px auto 0}
.res-form .row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
@media (max-width:700px){.res-form .row{grid-template-columns:1fr}}
.field label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:14px 0;font-family:var(--serif-jp);font-size:16px;color:var(--paper);font-weight:300}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--amber)}
.field textarea{resize:vertical;min-height:80px}
.field select{appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23D4A25A' fill='none'/></svg>") right 4px center no-repeat}
.field-full{grid-column:1/-1}
.res-form .submit-row{display:flex;justify-content:space-between;align-items:center;margin-top:50px;flex-wrap:wrap;gap:20px}
.res-form .legal{font-family:var(--serif-jp);font-size:11px;color:var(--mute);max-width:420px;line-height:1.7;font-weight:300}

/* JOURNAL */
.journal{background:#0a0807}
.journal-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px;flex-wrap:wrap;gap:40px}
.journal-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:60px}
@media (max-width:1000px){.journal-grid{grid-template-columns:1fr}}
.j-card{background:var(--ink);border:1px solid var(--line);overflow:hidden;cursor:pointer;transition:transform .6s cubic-bezier(.2,.7,.2,1),border-color .4s}
.j-card:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.j-card .image{aspect-ratio:3/2;position:relative;overflow:hidden;background:linear-gradient(135deg,#1a1310,#050302)}
.j-card .image::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(212,162,90,.14),transparent 60%)}
.j-card .image .plate-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#2a1f12,#050403);box-shadow:inset 0 0 0 1px rgba(212,162,90,.22), inset 0 0 40px rgba(0,0,0,.7)}
.j-card.feat .image{aspect-ratio:4/3}
.j-card .body{padding:32px}
.j-card .tag{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:16px}
.j-card h3{font-family:var(--serif-jp);font-size:22px;line-height:1.5;font-weight:400;margin-bottom:12px}
.j-card.feat h3{font-size:28px}
.j-card p{font-family:var(--serif-jp);font-size:13px;line-height:1.9;color:var(--mute);font-weight:300}
.j-card .meta{display:flex;justify-content:space-between;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute-2);margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}

/* FOOTER */
.foot{background:#040303;padding:120px 0 40px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:80px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:40px}}
.foot-grid h4{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:22px;font-weight:500}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{font-family:var(--serif-jp);font-size:14px;margin-bottom:14px;color:rgba(250,250,250,.72);font-weight:300}
.foot-grid .brand .logo-lg{font-family:var(--serif);font-size:42px;letter-spacing:.32em;margin-bottom:18px;font-weight:300}
.foot-grid .brand .logo-lg .star{color:var(--amber);margin:0 6px}
.foot-grid .brand p{font-family:var(--serif-jp);font-size:13px;line-height:2;color:var(--mute);max-width:360px;font-weight:300}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:40px;border-top:1px solid var(--line);font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;gap:20px}
