:root{--black:#0a0a0a;--black-soft:#141414;--white:#f5f0eb;--white-muted:#d4cfc9;--gold:#8b7355;--gold-light:#a8956e;--taupe:#b8a090;--green:#4a7a4a;--green-light:#5d9e5d;--green-dark:#2d4a2d;--marble:#f5f0eb;--stone:#3c3c3c;--font-serif:"Cormorant Garamond", "Georgia", serif;--font-sans:"Outfit", "Helvetica Neue", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:auto}body{font-family:var(--font-sans);color:var(--white);background:var(--black);font-weight:300;line-height:1.5;overflow-x:hidden}img{max-width:100%;display:block}.grain-overlay{z-index:9999;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:fixed;inset:0}.hero{height:420vh;position:relative}.hero__sticky{background:var(--black);width:100%;height:100vh;position:sticky;top:0;overflow:hidden}.hero__bg{z-index:1;background:var(--black);position:absolute;inset:0}.hero__bg-img{object-fit:cover;object-position:center 30%;opacity:.45;filter:saturate(.85)brightness(.75);will-change:opacity, transform;width:100%;height:100%;transform:scale(1.02)}.hero__bg-overlay{background:radial-gradient(ellipse at center, transparent 0%, var(--black) 90%), linear-gradient(180deg, var(--black) 0%, transparent 15%, transparent 85%, var(--black) 100%);z-index:1;position:absolute;inset:0}.hero__content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.hero__line{background:var(--gold);opacity:0;will-change:height, opacity;width:1px;height:0}.hero__line--top{margin-bottom:2rem}.hero__line--bottom{margin-top:2rem}.hero__logo{opacity:0;will-change:transform, opacity;filter:drop-shadow(0 0 40px #8b735526);width:clamp(280px,45vw,520px);height:auto;margin-bottom:0;transform:translateY(30px)}.hero__divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;will-change:width, opacity;width:0;height:1px;margin:.3rem auto}.hero__tagline{font-family:var(--font-serif);letter-spacing:.06em;color:var(--white);opacity:0;will-change:transform, opacity;text-shadow:0 0 20px #000000e6,0 0 50px #0009;font-size:clamp(1.1rem,2vw,1.5rem);font-style:italic;font-weight:300;line-height:1.7;transform:translateY(15px)}.hero__tagline em{font-style:italic}.hero__canopy{z-index:3;pointer-events:none;position:absolute;inset:0}.vine{will-change:transform, opacity;position:absolute}.vine img{object-fit:contain;width:100%;height:100%;display:block}.hero__scroll-cue{z-index:10;opacity:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transition:opacity .5s;display:flex;position:absolute;inset:0}.hero__scroll-cue.is-hidden{opacity:0}.hero__scroll-text{font-family:var(--font-serif);letter-spacing:.25em;color:var(--white);text-shadow:0 2px 8px #000,0 0 40px #000000f2,0 0 80px #000000b3,0 0 120px #0006;font-size:clamp(2rem,5vw,3.5rem);font-style:italic;font-weight:300}.hero__scroll-arrow{color:var(--white);filter:drop-shadow(0 0 15px #000000e6);animation:2s ease-in-out infinite scroll-bounce}@keyframes scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.xp{background:var(--black);position:relative;overflow:hidden}.xp__title-overlay{z-index:50;pointer-events:none;opacity:0;visibility:hidden;flex-direction:column;align-items:center;width:100%;display:flex;position:fixed;top:3rem;left:0}.xp__intro-label{font-family:var(--font-serif);letter-spacing:.35em;color:var(--white);opacity:0;text-shadow:0 0 40px #0a0a0ae6,0 0 80px #0a0a0a99;font-size:clamp(1.8rem,4vw,3rem);font-weight:300;line-height:1}.xp__intro-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);transform-origin:50%;width:80px;height:1px;margin-top:1.2rem;transform:scaleX(0)}.xp__track{will-change:transform;gap:0;width:max-content;padding:0;display:flex}.xp__slide{flex-shrink:0;width:100vw;height:100vh;position:relative;overflow:hidden}.xp__slide-img{position:absolute;inset:0;overflow:hidden}.xp__slide-img img{object-fit:cover;will-change:transform;filter:saturate(.9)brightness(.8);width:100%;height:100%;transform:scale(1.1)}.xp__slide-caption{z-index:2;font-family:var(--font-serif);letter-spacing:.04em;color:var(--white);opacity:0;will-change:transform, opacity;text-shadow:0 2px 30px #0a0a0a99;font-size:clamp(1.4rem,3vw,2.5rem);font-style:italic;font-weight:300;line-height:1.3;position:absolute;bottom:8%;left:6%;transform:translateY(20px)}.xp__slide:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0a0a0a33 0%,#0000 30% 55%,#0a0a0a73 100%);position:absolute;inset:0}.phil{background:var(--black);height:350vh;position:relative}.phil__kanji{font-family:var(--font-serif);color:var(--white);opacity:.02;pointer-events:none;z-index:0;font-size:clamp(20rem,40vw,40rem);font-weight:300;line-height:1;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.phil__glow{background:radial-gradient(ellipse at center, var(--green-dark), transparent 70%);opacity:0;pointer-events:none;z-index:0;border-radius:50%;width:60vw;height:60vh;animation:6s ease-in-out infinite phil-pulse;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes phil-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.15)}}.phil__sticky{z-index:1;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.phil__lines{text-align:center;flex-direction:column;align-items:center;gap:.6em;max-width:800px;padding:0 2rem;display:flex}.phil__line{font-family:var(--font-serif);letter-spacing:.03em;color:var(--taupe);opacity:0;will-change:transform, opacity;font-size:clamp(1.3rem,2.8vw,2.2rem);font-style:italic;font-weight:300;line-height:1.5}.phil__line--payoff{color:var(--gold-light);letter-spacing:.06em;margin-top:.4em;font-size:clamp(1.8rem,3.5vw,3rem);font-style:italic}.ck{background:var(--black);height:250vh;position:relative;overflow:hidden}.ck__glow{opacity:0;pointer-events:none;z-index:0;background:radial-gradient(#8b73551a,#0000 70%);border-radius:50%;width:60vw;height:60vh;animation:7s ease-in-out infinite ck-pulse;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ck-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.1)}}.ck__sticky{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.ck__header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:.6rem;display:flex}.ck__symbol{color:var(--gold-light);opacity:0;text-shadow:0 0 30px #8b735540;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1}.ck__title{font-family:var(--font-serif);letter-spacing:.12em;color:var(--white);opacity:0;will-change:transform, opacity;font-size:clamp(2rem,4vw,3.2rem);font-style:italic;font-weight:300;transform:translateY(20px)}.ck__divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;will-change:width, opacity;width:0;height:1px}.ck__subtitle{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--white-muted);opacity:0;will-change:transform, opacity;max-width:500px;font-size:clamp(.7rem,1vw,.85rem);font-weight:200;transform:translateY(10px)}.ck__track{justify-content:center;align-items:stretch;gap:1.5rem;width:100%;padding:0 2rem;display:flex}.ck__card{perspective:1000px;will-change:transform, opacity;cursor:pointer;flex:1;max-width:260px;height:400px}.ck__card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1);position:relative}@media (hover:hover){.ck:not(.ck--entering) .ck__card:hover .ck__card-inner{transform:rotateY(180deg)}}.ck:not(.ck--entering) .ck__card.is-flipped .ck__card-inner{transform:rotateY(180deg)}.ck__card-front,.ck__card-back{backface-visibility:hidden;border:1px solid #8b73551f;border-radius:2px;position:absolute;inset:0;overflow:hidden}.ck__card-front{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14141480;flex-direction:column;display:flex}.ck__card-img{background:var(--black-soft);flex:1;width:100%;position:relative;overflow:hidden}.ck__card-img img{object-fit:cover;filter:saturate(.85)brightness(.8);width:100%;height:100%}.ck__card-placeholder{background:radial-gradient(ellipse at center, #8b735514, transparent 70%), var(--black-soft);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ck__card-placeholder span{color:var(--gold);opacity:.2;text-shadow:0 0 40px #8b735526;font-size:3.5rem}.ck__card-img:after{content:"";pointer-events:none;background:linear-gradient(#0000 40%,#0a0a0ab3 100%);position:absolute;inset:0}.ck__card-front-body{flex-direction:column;gap:.3rem;padding:1.2rem 1.5rem 1.4rem;display:flex}.ck__card-back{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101010f2;border-color:#8b735540;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;padding:2.5rem 2rem;display:flex;transform:rotateY(180deg)}.ck__card-number{font-family:var(--font-sans);letter-spacing:.5em;color:var(--gold);opacity:.5;font-size:.65rem;font-weight:300}.ck__card-name{font-family:var(--font-serif);letter-spacing:.06em;color:var(--white);font-size:clamp(1.4rem,2.2vw,1.7rem);font-style:italic;font-weight:300;line-height:1.2}.ck__card-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:30px;height:1px;margin:.15rem 0}.ck__card-ingredients{flex-direction:column;gap:.45rem;list-style:none;display:flex}.ck__card-ingredients li{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--white-muted);font-size:clamp(.72rem,.9vw,.8rem);font-weight:200}.ck__card-mood{font-family:var(--font-serif);color:var(--taupe);margin-top:.2rem;font-size:clamp(.9rem,1.1vw,1rem);font-style:italic;font-weight:300;line-height:1.5}.ck__card-tag{font-family:var(--font-sans);letter-spacing:.35em;text-transform:uppercase;color:var(--taupe);font-size:.6rem;font-weight:200}.exp{background:var(--black);height:500vh;position:relative;overflow:hidden}.exp__glow{opacity:0;pointer-events:none;z-index:0;background:radial-gradient(#8b73551f,#0000 70%);border-radius:50%;width:70vw;height:70vh;animation:8s ease-in-out infinite exp-pulse;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes exp-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.12)}}.exp__sticky{z-index:1;height:100vh;position:relative;overflow:hidden}.exp__intro{text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;display:flex;position:absolute;inset:0}.exp__intro-kanji{font-family:var(--font-serif);color:var(--gold-light);opacity:0;text-shadow:0 0 50px #8b73554d;font-size:clamp(3rem,6vw,5rem);font-weight:300;line-height:1}.exp__intro-title{font-family:var(--font-serif);letter-spacing:.12em;color:var(--white);opacity:0;will-change:transform, opacity;font-size:clamp(2.2rem,4.5vw,3.5rem);font-style:italic;font-weight:300;transform:translateY(25px)}.exp__intro-divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;will-change:width, opacity;width:0;height:1px;margin:.4rem 0}.exp__intro-sub{font-family:var(--font-sans);letter-spacing:.35em;text-transform:uppercase;color:var(--white-muted);opacity:0;will-change:transform, opacity;font-size:clamp(.7rem,1vw,.85rem);font-weight:200;transform:translateY(12px)}.exp__scenes{z-index:3;position:absolute;inset:0}.exp__scene{opacity:0;will-change:opacity;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.exp__scene-kanji{font-family:var(--font-serif);color:var(--white);opacity:0;pointer-events:none;white-space:nowrap;will-change:opacity, transform;font-size:clamp(16rem,35vw,32rem);font-weight:300;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.exp__scene-content{text-align:center;opacity:0;will-change:transform, opacity;flex-direction:column;align-items:center;gap:.6rem;max-width:620px;padding:2rem;display:flex;position:relative;transform:translateY(30px)}.exp__scene-number{font-family:var(--font-serif);letter-spacing:.5em;color:var(--gold);opacity:.7;font-size:clamp(.85rem,1.2vw,1rem);font-weight:400}.exp__scene-label{font-family:var(--font-sans);letter-spacing:.5em;text-transform:uppercase;color:var(--gold-light);font-size:clamp(.75rem,1vw,.85rem);font-weight:300}.exp__scene-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:50px;height:1px;margin:.3rem 0}.exp__scene-name{font-family:var(--font-serif);letter-spacing:.08em;color:var(--white);margin-top:.3rem;font-size:clamp(2.2rem,4.5vw,3.5rem);font-style:italic;font-weight:300;line-height:1.2}.exp__scene-poem{font-family:var(--font-serif);color:var(--taupe);max-width:500px;margin-top:.5rem;font-size:clamp(1.05rem,1.5vw,1.2rem);font-style:italic;font-weight:300;line-height:1.8}.exp__scene-details{flex-direction:column;gap:.35rem;margin-top:.8rem;list-style:none;display:flex}.exp__scene-details li{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--white-muted);padding-left:1.2em;font-size:clamp(.75rem,1vw,.85rem);font-weight:200;position:relative}.exp__scene-details li:before{content:"";background:var(--gold);width:4px;height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.exp__scene-footer{border-top:1px solid #8b73551f;align-items:baseline;gap:2rem;margin-top:1.2rem;padding-top:1rem;display:flex}.exp__scene-price{font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.02em;text-shadow:0 0 30px #8b735526;font-size:clamp(2.2rem,3.5vw,3rem);font-weight:300}.exp__scene-cta{font-family:var(--font-sans);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);cursor:pointer;font-size:.7rem;font-weight:300;transition:letter-spacing .4s,color .3s;position:relative}.exp__scene-cta:after{content:"";background:var(--gold-light);width:0;height:1px;transition:width .4s;position:absolute;bottom:-4px;left:0}.exp__scene-cta:hover{color:var(--gold-light);letter-spacing:.55em}.exp__scene-cta:hover:after{width:100%}.exp__progress{z-index:10;opacity:0;will-change:opacity;flex-direction:column;gap:1rem;display:flex;position:absolute;top:50%;right:2.5rem;transform:translateY(-50%)}.exp__dot{background:0 0;border:1px solid #8b73554d;border-radius:50%;width:6px;height:6px;transition:background .5s,border-color .5s,box-shadow .5s}.exp__dot--active{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px #8b73554d}.ft{background:var(--black);border-top:1px solid #8b73551a;position:relative;overflow:hidden}.ft__glow{pointer-events:none;background:radial-gradient(#8b73550f,#0000 70%);border-radius:50%;width:60vw;height:40vh;position:absolute;top:0;left:50%;transform:translate(-50%)}.ft__brand{text-align:center;flex-direction:column;align-items:center;gap:.3rem;padding:4rem 4rem 0;display:flex}.ft__brand-logo{filter:drop-shadow(0 0 30px #8b73551a);width:clamp(180px,28vw,320px);height:auto}.ft__grid{grid-template-columns:repeat(4,1fr);gap:3rem;max-width:1400px;margin:0 auto;padding:3rem 4rem 3.5rem;display:grid}.ft__block{flex-direction:column;gap:.6rem;display:flex}.ft__block-label{font-family:var(--font-sans);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem;font-size:.75rem;font-weight:300}.ft__block-text{font-family:var(--font-serif);color:var(--white-muted);font-size:clamp(1.1rem,1.5vw,1.3rem);font-style:italic;font-weight:300;line-height:1.6;text-decoration:none;transition:color .3s}.ft__block-text:hover{color:var(--white)}.ft__hours{flex-direction:column;gap:.35rem;display:flex}.ft__hour{justify-content:space-between;align-items:baseline;gap:1.5rem;max-width:420px;display:flex}.ft__hour span:first-child{font-family:var(--font-sans);color:var(--white);min-width:100px;font-size:.9rem;font-weight:300}.ft__hour span:last-child{font-family:var(--font-sans);letter-spacing:.08em;color:var(--white-muted);text-align:right;font-size:.85rem;font-weight:200}.ft__hour--closed span:last-child{color:var(--taupe);font-style:italic}.ft__social{color:var(--white-muted);align-items:center;gap:.6rem;margin-top:.2rem;text-decoration:none;transition:color .3s;display:inline-flex}.ft__social span{font-family:var(--font-sans);letter-spacing:.05em;font-size:.9rem;font-weight:200}.ft__social:hover{color:var(--gold-light)}.ft__parking{flex-direction:column;gap:.4rem;list-style:none;display:flex}.ft__parking li{font-family:var(--font-sans);color:var(--white-muted);align-items:baseline;gap:.8rem;font-size:.9rem;font-weight:200;display:flex}.ft__parking-dist{letter-spacing:.1em;color:var(--taupe);opacity:.7;font-size:.75rem}.ft__map{border-top:1px solid #8b73551f;width:100%;height:400px;position:relative;overflow:hidden}.ft__map iframe{filter:saturate(.6);width:100%;height:100%;transition:filter .4s;position:absolute;inset:0}.ft__map:hover iframe{filter:saturate(.85)}.ft__bottom{text-align:center;border-top:1px solid #8b735514;padding:1.5rem 4rem}.ft__bottom p{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);opacity:.5;font-size:.65rem;font-weight:200}@media (width<=768px){.hero{height:300vh}.grain-overlay{display:none}.hero__title{letter-spacing:.25em}.hero__line--top,.hero__line--bottom{display:none}.hero__content{padding:1rem}.ck{height:250vh}.ck__sticky{gap:1.5rem;padding:1.5rem 1rem}.ck__track{flex-wrap:wrap;gap:1rem;padding:0 1rem}.ck__card{flex:0 0 45%;max-width:170px;height:320px}.ck__subtitle{letter-spacing:.15em}.xp__slide{width:100vw;height:100vh}.xp__slide-caption{font-size:clamp(1.1rem,5vw,1.5rem)}.phil{height:300vh}.phil__lines{padding:0 1.5rem}.phil__line{font-size:clamp(1.1rem,5vw,1.6rem)}.phil__line--payoff{font-size:clamp(1.4rem,6vw,2rem)}.exp{height:550vh}.exp__scene-kanji{font-size:clamp(10rem,50vw,18rem)}.exp__scene-content{max-width:90vw;padding:1.5rem}.exp__scene-poem{max-width:90vw}.exp__scene-details li{letter-spacing:.12em}.exp__progress{right:1rem}.exp__intro-sub{letter-spacing:.2em}.ft__brand{padding:3rem 1.5rem 0}.ft__grid{grid-template-columns:1fr 1fr;gap:2rem;padding:2rem 1.5rem}.ft__map{height:300px}.ft__hour{max-width:100%}.ft__hour span:last-child{font-size:.68rem}.ft__bottom{padding:1.2rem 1.5rem}}
