@font-face{font-family:Albert Sans;src:url(../fonts/AlbertSans-latin-var.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(../fonts/CormorantGaramond-latin-var.woff2) format("woff2");font-weight:300 700;font-display:swap}:root{--ground: #f6f1e8;--hinoki: #ecdfc8;--paper: #fcfaf6;--ink: #2a2723;--muted: #625b52;--indigo: #2f4767;--shu: #a63e2c;--line: rgba(42, 39, 35, .15);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Albert Sans", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:-.01em}p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:0;border-radius:2px;background:var(--ink);color:var(--paper);font-size:16px;font-weight:600;letter-spacing:.02em;transition:background .25s var(--ease),transform .25s var(--ease)}.btn:hover{background:var(--indigo)}.btn:active{transform:scale(.98)}.btn-small{min-height:40px;padding:0 18px;font-size:15px}.link{padding:0;border:0;background:none;color:var(--indigo);font-size:15px;font-weight:600;border-bottom:1px solid currentColor}.nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:40px;height:68px;padding:0 40px;transition:background .35s var(--ease),box-shadow .35s var(--ease)}.nav.is-solid{background:#f6f1e8e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.nav-mark{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:.02em}.nav-links{display:flex;gap:30px;margin-left:auto;font-size:15px}.nav-links a{position:relative;padding:6px 0}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav-links a:hover:after{transform:scaleX(1)}.hero{position:relative;height:820vh;background:var(--hinoki)}.hero-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.scene{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.scene>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.piece{--lift: 1;position:absolute;width:var(--w);padding:0;border:0;background:none;opacity:0;transform:translate(-50%,-62%) translateY(calc(var(--lift) * -60%)) scale(calc(1 + var(--lift) * .22));cursor:default}.piece img{position:relative;aspect-ratio:520 / 310;object-fit:contain}.piece-shadow{position:absolute;left:12%;right:12%;bottom:10%;height:36%;border-radius:50%;background:#462d1480;filter:blur(calc(4px + var(--lift) * 14px));opacity:calc(.75 - var(--lift) * .55);transform:translate(calc(var(--lift) * 30%),calc(var(--lift) * 120%)) scale(calc(1 + var(--lift) * .4))}.piece-tag{position:absolute;left:50%;top:100%;padding:3px 8px;border-radius:2px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.04em;white-space:nowrap;opacity:0;transform:translate(-50%,4px);transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none}.hero.is-done .piece{cursor:pointer}.hero.is-done .piece img{transition:transform .28s var(--ease)}@media (hover: hover){.hero.is-done .piece:hover img{transform:translateY(-6%)}.hero.is-done .piece:hover .piece-tag{opacity:1;transform:translate(-50%)}}.hero.is-done .piece.is-picked img{transform:translateY(-8%)}.hero.is-done .piece.is-picked .piece-tag{opacity:1;transform:translate(-50%)}.hero-copy{position:absolute;left:50%;top:15vh;width:min(92vw,880px);transform:translate(-50%);text-align:center;pointer-events:none}.hero h1{font-size:clamp(46px,6vw,92px);line-height:1;letter-spacing:-.02em}.hero-copy p{margin:18px auto 0;max-width:460px;font-size:18px;color:var(--muted)}.course{position:absolute;left:40px;bottom:40px;width:340px;min-height:170px;padding:24px 26px 26px;border-radius:2px;background:#fcfaf6f0;box-shadow:0 20px 50px -28px #3c281473;opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none}.course.is-on{opacity:1;transform:none}.course-in{animation:course .5s var(--ease)}@keyframes course{0%{opacity:0;transform:translateY(8px)}}.course-n{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--shu)}.course-n i{font-style:normal;color:var(--muted);font-size:17px}.course h2{margin-top:6px;font-size:40px;line-height:1.05}.course h2 span{display:block;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.02em;margin-top:6px}.course-from{margin:4px 0 10px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.course p:last-child{font-size:17px;color:var(--muted);line-height:1.5}.ticks{position:absolute;right:40px;bottom:40px;display:flex;gap:6px;margin:0;padding:10px 12px;list-style:none;border-radius:2px;background:#fcfaf6d9}.ticks li{width:18px;height:3px;background:#2a272333;transition:background .3s var(--ease)}.ticks li.on{background:var(--shu)}.hero-hint,.hero-done{position:absolute;left:50%;bottom:40px;padding:10px 16px;border-radius:2px;background:#fcfaf6e6;font-size:17px;font-weight:600;transform:translate(-50%);transition:opacity .4s var(--ease);white-space:nowrap}.hero-hint.is-gone{opacity:0}.hero-done{opacity:0;pointer-events:none}.hero-done.is-on{opacity:1}.tonight{display:grid;grid-template-columns:1fr 44vw;gap:80px;padding:140px 40px 140px 8vw;background:var(--ground)}.tonight h2{font-size:clamp(40px,4.4vw,68px);line-height:1.02}.tonight ol{margin:56px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.tonight li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i) * 70ms)}.tonight.is-in li{opacity:1;transform:none}.roman{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--shu);line-height:1.2}.tonight h3{font-size:30px;line-height:1.1}.tonight li p{margin:4px 0 0;color:var(--muted)}.tonight li .link{margin-top:12px}.mini{display:grid;grid-template-columns:repeat(5,1fr);gap:8px 10px;max-height:0;overflow:hidden;transition:max-height .5s var(--ease),margin .5s var(--ease)}.mini.is-open{max-height:260px;margin-top:16px}.mini figure{margin:0;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease);transition-delay:calc(var(--j) * 40ms)}.mini.is-open figure{opacity:1;transform:none}.mini img{aspect-ratio:520 / 310;object-fit:contain}.mini figcaption{font-size:13px;color:var(--muted)}.tonight-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 24px;margin-top:40px}.tonight-price strong{font-family:var(--serif);font-size:40px;font-weight:500}.tonight-price span{color:var(--muted)}.tonight-price .btn{margin-left:auto;align-self:center}.tonight-note{margin-top:24px;max-width:520px;font-size:17px;color:var(--muted)}.tonight-photo{position:sticky;top:100px;align-self:start;overflow:hidden;border-radius:2px}.tonight-photo-in{will-change:transform}.counter{position:relative;padding:0 0 120px;background:var(--ground)}.counter-photo{height:92vh;overflow:hidden;background:#cdbfa8}.counter-photo img{height:100%}.counter-panel{position:relative;width:min(560px,90vw);margin:-260px 0 0 8vw;padding:48px 48px 44px;background:var(--indigo);color:var(--paper)}.counter-panel h2{font-size:clamp(38px,3.8vw,56px);line-height:1.02}.counter-panel>p{margin-top:16px;color:#fcfaf6db}.sittings{display:flex;gap:40px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(252,250,246,.25)}.sittings strong{display:block;font-family:var(--serif);font-size:56px;font-weight:500;line-height:1}.sittings span{font-size:15px;color:#fcfaf6d1}.counter-panel .days{margin-top:18px;font-size:15px;font-weight:600;letter-spacing:.06em}.interlude{height:min(46vh,480px);margin-top:120px;overflow:hidden;background:#e6dccb}.interlude-in{height:100%;transform:scale(1.12);will-change:transform}.interlude img{height:100%;aspect-ratio:auto!important}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1100px;margin:64px auto 0;padding:44px 40px 0;border-top:1px solid var(--line)}.quotes figure{margin:0}.quotes blockquote{margin:0;font-family:var(--serif);font-size:30px;line-height:1.2}.quotes figcaption{margin-top:14px;font-size:14px;color:var(--muted)}.reserve{position:relative;padding-bottom:40px;background:var(--hinoki)}.reserve-band{position:relative;height:46vh;min-height:300px;overflow:hidden}.reserve-band>img{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;object-position:50% 50%}.band-row{position:absolute;left:50%;top:50%;display:flex;width:min(1200px,94vw);transform:translate(-50%,-54%)}.band-row img{flex:1;min-width:0;aspect-ratio:520 / 310;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(70,45,20,.35));opacity:0;transform:translateY(-30px);transition:opacity .5s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i) * 90ms)}.reserve.is-in .band-row img{opacity:1;transform:none}.reserve-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;width:min(1200px,100% - 80px);margin:-90px auto 0;position:relative}.book{display:grid;gap:18px;padding:48px;background:var(--paper);box-shadow:0 30px 60px -40px #3c281480}.book h2{font-size:clamp(38px,3.6vw,54px);line-height:1.02}.book-line{color:var(--muted);margin-bottom:8px}.book .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.book label,.book .field{display:grid;gap:6px}.book label>span,.book .field>span{font-size:14px;font-weight:600}.book input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:2px;background:var(--ground)}.book input:focus{outline:none;border-color:var(--indigo)}.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:2px;background:var(--ground)}.stepper button{width:48px;height:46px;border:0;background:none;font-size:20px}.stepper output{flex:1;text-align:center;font-weight:600}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg button{min-height:56px;border:1px solid var(--line);border-radius:2px;background:var(--ground);font-family:var(--serif);font-size:26px;font-weight:600;transition:background .25s var(--ease),color .25s var(--ease)}.seg button small{font-family:var(--sans);font-size:13px;font-weight:500;margin-left:6px}.seg button[aria-checked=true]{background:var(--indigo);border-color:var(--indigo);color:var(--paper)}.book .btn{margin-top:8px}.book-sent{padding:24px;background:var(--ground);font-size:19px}.visit{display:grid;align-content:start;gap:36px;padding-top:130px}.gift{padding:30px;border:1px solid rgba(42,39,35,.25)}.gift h3{font-size:32px}.gift p{margin:6px 0 14px;color:var(--muted)}.visit address{display:grid;gap:4px;font-style:normal;font-family:var(--serif);font-size:30px;line-height:1.15}.visit address a{font-family:var(--sans);font-size:16px;color:var(--muted)}.visit address span+a{margin-top:12px}.hours{color:var(--muted)}.base{width:min(1200px,100% - 80px);margin:80px auto 0;font-size:14px;color:var(--muted)}@media (max-width: 760px){body{font-size:17px}.nav{gap:12px;height:60px;padding:0 18px;background:var(--ground);box-shadow:0 1px 0 var(--line)}.nav-links{display:none}.nav .btn-small{margin-left:auto}.hero{height:700vh}.hero-copy{top:90px}.hero h1{font-size:44px}.hero-copy p{font-size:17px}.course{left:16px;right:16px;bottom:64px;width:auto;min-height:0;padding:18px 20px 20px}.course h2{font-size:32px}.ticks{left:50%;right:auto;bottom:22px;transform:translate(-50%)}.ticks li{width:14px}.hero-hint,.hero-done{bottom:64px;white-space:normal;width:max-content;max-width:calc(100vw - 32px);text-align:center}.tonight{grid-template-columns:1fr;gap:48px;padding:90px 18px}.tonight-photo{position:static;order:-1}.tonight li{grid-template-columns:44px 1fr;gap:10px}.tonight h3{font-size:26px}.tonight-price .btn{margin-left:0;width:100%}.mini{grid-template-columns:repeat(5,1fr);gap:6px}.mini.is-open{max-height:200px}.mini figcaption{font-size:11px}.counter-photo{height:56vh}.counter-photo img{object-position:30% 50%}.counter-panel{width:auto;margin:-60px 18px 0;padding:32px 24px}.sittings strong{font-size:44px}.interlude{height:30vh;min-height:200px;margin-top:80px}.quotes{grid-template-columns:1fr;gap:40px;margin:44px 18px 0;padding:36px 0 0}.quotes blockquote{font-size:26px}.reserve-band{height:34vh;min-height:220px}.reserve-band>img{object-position:50% 48%}.band-row{width:150vw}.reserve-grid{grid-template-columns:1fr;gap:40px;width:auto;margin:-40px 12px 0}.book{padding:28px 20px}.book .row{grid-template-columns:1fr}.visit{padding:0 8px}.base{width:auto;margin:60px 20px 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;transition-delay:0s!important}}@media (max-width: 760px){.seg button small{display:block;margin:0}}
