[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;background:#eff2e8;color:#152e29;font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;max-width:100%}::selection{background:#b7b8f8;color:#182d26}:focus-visible{outline:3px solid #663ed6;outline-offset:6px}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:#fff;padding:16px}.skip:focus{top:10px}header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:flex-start;padding:24px 3vw;gap:25px}.wordmark{font-size:52px;line-height:.8;letter-spacing:-5px;font-weight:900}.wordmark sup{font:10px Arial;vertical-align:top;letter-spacing:0}.header-note{font-size:9px;line-height:1.5;margin-top:3px;letter-spacing:.06em}.menu-toggle{margin-left:auto;background:#e8f75e;border-radius:50%;padding:20px 23px;font-size:11px;display:flex;align-items:center;gap:22px}.menu-toggle span{font-size:25px}.menu{position:fixed;inset:0;z-index:19;background:#dce950;padding:120px 8vw 50px;overflow-y:auto}.menu:not([hidden]){display:flex;flex-direction:column;justify-content:center}.menu a{font-size:clamp(35px,7vw,110px);letter-spacing:-.06em;padding:12px 0;border-bottom:1px solid #152e2950}.menu i{float:right;font-size:14px;letter-spacing:0}.menu small{margin-top:40px}.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;background:#b3dbde}.hero-visual{position:absolute;inset:0;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;animation:drift 18s ease-in-out infinite alternate;will-change:transform}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#bce3e74d,transparent 55%);pointer-events:none}.hero-copy{position:absolute;z-index:2;left:3.3vw;top:20%;text-shadow:0 1px 15px #d4f0ed88}.hero-copy h1{font-size:clamp(28px,3.3vw,58px);line-height:1.6;font-weight:500;letter-spacing:.12em;margin:0 0 20px}.hero-copy p{font-size:13px;line-height:2}.hero-word{position:absolute;z-index:1;left:28%;top:22%;font-size:40vw;line-height:1;letter-spacing:-.09em;font-weight:900;color:#f5ffdf;mix-blend-mode:normal;opacity:.88;pointer-events:none;transform:rotate(-8deg)}.hero-index{position:absolute;z-index:2;left:3vw;bottom:100px;font-size:9px;letter-spacing:.08em}.hero-link{position:absolute;z-index:3;left:3vw;bottom:30px;display:flex;gap:50px;align-items:center;background:#e8f75e;border-radius:60px;padding:19px 27px;font-size:12px}.hero-link span{font-size:26px;line-height:1;transition:transform .3s}.hero-link:hover span{transform:translate(4px,4px)}.hero-caption{position:absolute;z-index:2;bottom:50px;right:3vw;font-size:10px;letter-spacing:.1em;background:#e8f75ec9;padding:10px}.ticker{background:#1a352c;color:#e3ee69;overflow:hidden;font-size:clamp(28px,4vw,60px);padding:18px 0;letter-spacing:-.03em;white-space:nowrap}.ticker div{width:max-content;animation:ticker 25s linear infinite}.feeling{padding:100px 8vw 110px;background:#dfe8dc}.eyebrow{font-size:10px;letter-spacing:.1em}.feeling h2{font-size:clamp(35px,6.4vw,100px);font-weight:400;line-height:1.5;letter-spacing:-.06em;margin:70px 0}.feeling h2 em{font-family:serif;font-style:normal}.feeling-bottom{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:30px;align-items:end}.asterisk{font-size:150px;line-height:1;color:#43543c}.feeling-bottom p{font-size:14px;line-height:2.2;margin:0}.side-note{font-size:10px;line-height:1.8;text-align:right}.product-scene{position:relative;height:95svh;min-height:600px;overflow:hidden}.product-scene>img{width:100%;height:100%;object-fit:cover}.product-scene>div{position:absolute;top:40px;left:4vw}.product-scene span{font-size:10px;background:#e6ec5f;padding:8px}.product-scene h2{font:clamp(35px,6vw,90px)/.95 Georgia,serif;letter-spacing:-.07em;color:#12372b;text-shadow:0 1px 10px #f2eb65aa}.circle-link{position:absolute;right:40px;bottom:40px;display:grid;place-items:center;border-radius:50%;height:70px;width:70px;background:#eff2e8;font-size:30px}.flavours{padding:100px 4vw 120px;background:#f0efdf}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-heading h2{font-size:clamp(60px,8vw,130px);line-height:.93;letter-spacing:-.075em;font-weight:400;margin:0}.section-heading em{font-family:Georgia,serif}.section-heading p{font-size:13px;line-height:2}.flavour-list button{width:100%;display:grid;grid-template-columns:8% 1fr 25% 5%;align-items:center;background:transparent;border-top:1px solid #152e2960;padding:28px 15px;text-align:left;transition:background .35s,padding .35s}.flavour-list button:last-child{border-bottom:1px solid #152e2960}.flavour-list button:hover{padding-left:30px;background:#e1e967}.flavour-list button:nth-child(2):hover{background:#d1cbed}.flavour-list button:nth-child(3):hover{background:#d5e4e5}.number{font-size:12px;align-self:start}.flavour-name{font-size:clamp(40px,6vw,94px);letter-spacing:-.06em;line-height:1}.flavour-name small{display:block;font-size:12px;letter-spacing:.08em;margin-top:18px}.notes{font-size:10px;letter-spacing:.06em}.go{font-size:32px}.ritual{padding:55px 4vw 85px;background:#c7bbdb}.ritual-top{display:flex;justify-content:space-between;font-size:10px;padding-bottom:45px}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #152e2960;border-bottom:1px solid #152e2960}.ritual article{padding:40px 30px;min-height:310px;border-right:1px solid #152e2960}.ritual article:first-child{padding-left:0}.ritual article:last-child{border:0}.ritual article>span{font:italic 36px Georgia,serif}.ritual h3{font-size:27px;font-weight:400;line-height:1.6}.ritual p{font-size:12px;line-height:2;max-width:260px}.closing{padding:80px 4vw;background:#e4ed66}.closing p{font-size:10px;letter-spacing:.08em}.closing>a{display:block;font-size:clamp(60px,12vw,180px);letter-spacing:-.08em;line-height:.95;margin:60px 0 20px;position:relative}.closing em{font-family:Georgia,serif}.closing a span{position:absolute;right:0;top:0;font-size:9vw}footer{padding:35px 4vw;background:#e4ed66;border-top:1px solid #152e2960;display:flex;gap:6vw;align-items:center}footer>a{font-size:80px;font-weight:900;letter-spacing:-.1em}footer p{font-size:9px;line-height:1.8}footer>div{margin-left:auto;display:flex;flex-direction:column;gap:20px;align-items:end;font-size:8px}footer button{background:transparent;font-size:10px;text-decoration:underline;text-underline-offset:4px}dialog{border:0;padding:0;color:#152e29;background:#f0efdf;width:min(900px,92vw);max-height:90svh;overflow:auto}dialog[open]{display:grid;grid-template-columns:1fr 1fr}dialog::backdrop{background:#0c2925b3;backdrop-filter:blur(10px)}.close{position:absolute;z-index:2;right:15px;top:15px;width:40px;height:40px;background:#f0efdf;border-radius:50%;font-size:30px}.dialog-art{min-height:520px;overflow:hidden}.dialog-art img{width:100%;height:100%;object-fit:cover;object-position:50%}.dialog-body{padding:70px 35px 35px}.dialog-body h2{font-size:60px;letter-spacing:-.06em;margin:20px 0}.dialog-body p{font-size:13px;line-height:2}.dialog-body dl>div{display:flex;gap:20px;border-top:1px solid #152e2940;padding:15px 0;font-size:10px}.dialog-body dd{margin-left:auto}.dialog-body .concept-note{font-size:10px;opacity:.65}.dialog-body>button{padding:16px 0;background:transparent;border-bottom:1px solid #152e29}.motion-off *{animation:none!important;scroll-behavior:auto!important}.motion-off .hero-visual img{transform:none!important}@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.15) translate(-1%,1%)}}@keyframes ticker{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){html:not(.motion-on) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:650px){header{padding:20px}.header-note{display:none}.wordmark{font-size:45px}.menu-toggle{padding:12px 16px}.hero{min-height:700px;max-height:1000px}.hero-visual img{object-position:61%}.hero-copy{left:22px;top:18%}.hero-copy h1{font-size:34px}.hero-copy p{font-size:11px}.hero-word{font-size:60vw;left:5%;top:46%}.hero:after{background:linear-gradient(125deg,#c5e7e5b0,transparent 58%)}.hero-link{left:20px;bottom:30px;padding:15px 20px;gap:25px}.hero-caption{display:none}.hero-index{left:22px;bottom:105px}.feeling{padding:70px 24px}.feeling h2{font-size:38px;margin:45px 0}.feeling-bottom{grid-template-columns:1fr 2fr;gap:20px}.asterisk{font-size:70px;align-self:start}.feeling-bottom p{font-size:11px}.side-note{display:none}.product-scene{height:75svh;min-height:500px}.product-scene>img{object-position:40%}.product-scene>div{top:25px;left:22px}.product-scene h2{font-size:48px}.circle-link{width:55px;height:55px;bottom:22px;right:22px}.flavours{padding:70px 22px}.section-heading{display:block;margin-bottom:45px}.section-heading h2{font-size:65px}.section-heading p{margin-top:30px;font-size:12px}.flavour-list button{grid-template-columns:10% 1fr 8%;padding:25px 5px}.notes{display:none}.flavour-name{font-size:49px}.flavour-name small{font-size:10px}.ritual{padding:30px 22px 60px}.ritual-top span:last-child{display:none}.ritual-grid{grid-template-columns:1fr}.ritual article,.ritual article:first-child{min-height:0;padding:30px 0;border:0;border-bottom:1px solid #152e2950}.ritual h3{font-size:28px}.closing{padding:60px 22px}.closing>a{font-size:65px}.closing a span{font-size:50px;top:15px}footer{padding:25px 22px;flex-wrap:wrap;gap:10px 25px}footer>a{font-size:65px}footer p{font-size:8px}footer>div{margin:15px 0 0;width:100%;flex-direction:row;justify-content:space-between;align-items:center}dialog[open]{grid-template-columns:1fr}.dialog-art{height:210px;min-height:0}.dialog-body{padding:25px}.dialog-body h2{font-size:48px}.dialog-body dl{margin:20px 0}}

html.motion-off{scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html:not(.motion-on){scroll-behavior:auto!important}}

/* Independent photo and typography layers; CSS transforms remain available for art direction. */
[data-depth]{translate:var(--layer-x,0px) var(--layer-y,0px);will-change:translate}
html.motion-off [data-depth]{translate:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){html:not(.motion-on) [data-depth]{translate:none!important;will-change:auto}}
 .hero-visual img{position:absolute;left:-40px;top:-100px;width:calc(100% + 80px);height:calc(100% + 200px);max-width:none;animation:none;transform:none}
.product-scene>img{position:absolute;left:-40px;top:-75px;width:calc(100% + 80px);height:calc(100% + 150px);max-width:none}

/* Buoyant, staggered lettering on arrival; parallax belongs to the parent layer. */
.hero-word{white-space:nowrap}
.hero-word>span{display:inline-block;animation:letter-arrive 1.7s cubic-bezier(.16,1,.3,1) both;animation-delay:.2s}
.hero-word>span:nth-child(2){animation-delay:.36s}
.hero-word>span:nth-child(3){animation-delay:.52s}
.hero-word>span:nth-child(4){animation-delay:.68s}
.copy-line{display:block;overflow:hidden;padding-block:.12em;margin-block:-.12em}
.copy-line>span{display:block;animation:copy-arrive 1.35s cubic-bezier(.16,1,.3,1) .35s both}
.copy-line:nth-child(2)>span{animation-delay:.55s}
.hero-copy>p{animation:copy-arrive 1.4s cubic-bezier(.16,1,.3,1) .75s both}
[data-reveal].reveal-ready{opacity:0;transform:translateY(65px);transition:opacity 1.1s ease,transform 1.5s cubic-bezier(.16,1,.3,1)}
[data-reveal].reveal-ready.is-revealed{opacity:1;transform:none}
html.motion-off [data-reveal]{opacity:1;transform:none;transition:none}
@keyframes letter-arrive{from{opacity:0;transform:translateY(28%) rotate(9deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html:not(.motion-on) [data-reveal]{opacity:1;transform:none;transition:none}}
