@keyframes ember-breathe{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(-5px);opacity:1}}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
.ember-mark{animation:ember-breathe 7s ease-in-out infinite}.orbit-two{animation:orbit-turn 85s linear infinite;transform-origin:center}.scene-spark{animation:ember-breathe 9s ease-in-out infinite}.spark-two{animation-delay:-4s}
.hero-art:not(.is-visible) .ember-mark,.hero-art:not(.is-visible) .scene-orbit,.hero-art:not(.is-visible) .scene-spark,body.is-hidden .ember-mark,body.is-hidden .scene-orbit,body.is-hidden .scene-spark{animation-play-state:paused}
.motion-ready [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.3,1)}.motion-ready [data-reveal].revealed{opacity:1;transform:translateY(0)}
.order-path circle{visibility:hidden}.order-diagram.is-visible .order-path circle{visibility:visible}body.is-hidden .order-path circle{visibility:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-reveal]{opacity:1;transform:none}.step-one,.step-two,.step-three,.brand-scene{transform:none}.order-path circle{display:none}}
html{scroll-behavior:auto}
.flavor-band{padding-inline:0}.flavor-track,.flavor-group{display:flex;align-items:center}.flavor-group{gap:35px}.flavor-copy{display:none}.mobile-contact{display:none}.button:active,.flavor-contact:active{transform:scale(.96)}.flavor-row{transition:background .25s}.flavor-row:focus-within{background:#e9dfcb55}
@keyframes flavor-drift{to{transform:translateX(-50%)}}
@media(max-width:760px){
  .brand-scene{transform:none;transform-origin:50% 70%}
  .scene-tag{transform:rotate(-3deg)}
  .flavor-track{width:max-content;animation:flavor-drift 38s linear infinite;animation-play-state:paused}.flavor-band.is-visible .flavor-track{animation-play-state:running}.flavor-group{gap:24px;padding-right:24px}.flavor-copy{display:flex}body.is-hidden .flavor-track{animation-play-state:paused}
  .flavor-row:nth-child(2){transition-delay:70ms}.flavor-row:nth-child(3){transition-delay:140ms}
  .order-diagram{gap:24px;padding-left:16px}.order-diagram:before{content:'';position:absolute;left:0;top:20px;bottom:35px;width:1px;background:#6e5c45}
  .step:before{content:'';position:absolute;left:-22px;top:37px;width:10px;height:10px;border-radius:50%;border:1px solid #d39779;background:var(--ink);transition:background .4s,box-shadow .4s}.step.is-active:before{background:#e99073;box-shadow:0 0 0 5px #e990731a}.step{transition:border-color .45s,background .45s}.step.is-active{border-color:#a67557;background:#3c3329}
  .motion-ready .mobile-contact{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:15;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:12px 14px;background:#f5f0e6f5;border:1px solid #d8cbb5;border-radius:12px;box-shadow:0 8px 30px #27231e22;transform:translateY(calc(100% + 40px));opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.3,1),opacity .25s,visibility .35s;backdrop-filter:blur(12px)}
  .motion-ready .mobile-contact.is-shown{transform:translateY(0);opacity:1;visibility:visible}.mobile-contact>div{min-width:0}.mobile-contact>div>span{display:block;font-size:8px;letter-spacing:.1em;color:var(--red);font-weight:700}.mobile-contact strong{font:600 18px/1.2 var(--display)}.mobile-contact .button{padding:11px 14px;gap:10px;min-height:44px;font-size:12px;border-radius:7px;flex-shrink:0}.motion-ready footer{padding-bottom:120px}
}
@media(max-width:360px){.mobile-contact strong{font-size:16px}.motion-ready .mobile-contact{left:8px;right:8px;padding:11px}.mobile-contact .button{padding:10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.brand-scene,.scene-tag{transform:none}.flavor-track{animation:none}.flavor-copy{display:none}.flavor-row:nth-child(n){transition-delay:0ms}}
.title-line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}.title-line>span{display:block}
.scene-outline{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);z-index:-1;pointer-events:none}.scene-outline path{fill:none;stroke:#d9a28570;stroke-width:1}.assembly-hint{display:none}
@keyframes title-arrive{from{transform:translateY(115%) rotate(3deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}
@keyframes piece-arrive{from{transform:translateY(45px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.intro-play .title-line>span{animation:title-arrive .95s cubic-bezier(.16,1,.3,1) both}.intro-play .title-line:nth-child(2)>span{animation-delay:.15s}.intro-play .title-line:nth-child(3)>span{animation-delay:.3s}
.intro-play .hero-copy .intro{animation:piece-arrive .7s ease both;animation-delay:.45s}.intro-play .hero-copy .actions{animation:piece-arrive .7s ease both;animation-delay:.6s}.intro-play .hero-note{animation:piece-arrive .7s ease both;animation-delay:.75s}
@media(min-width:761px){.intro-play .ember-piece{animation:piece-arrive .9s ease both;animation-delay:.2s}.intro-play .scene-title{animation:piece-arrive .9s ease both;animation-delay:.4s}.intro-play .scene-script{animation:piece-arrive .9s ease both;animation-delay:.6s}.intro-play .scene-tag{animation:piece-arrive .9s ease both;animation-delay:.8s}}
@keyframes mobile-ember-arrive{from{transform:translate3d(0,-24px,0) rotate(-6deg);opacity:0}to{transform:translate3d(0,0,0) rotate(0);opacity:1}}
@keyframes mobile-title-arrive{from{transform:translate3d(0,28px,0);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes mobile-script-arrive{from{transform:translate3d(0,20px,0);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes mobile-tag-arrive{from{transform:translate3d(0,20px,0) rotate(-3deg);opacity:0}to{transform:translate3d(0,0,0) rotate(-3deg);opacity:1}}
@media(max-width:760px){
  .hero-art{padding-bottom:62px}.scene-tag{bottom:44px}.brand-scene{transform:none;box-shadow:none}.ember-mark{filter:none;animation:none}.scene-orbit,.scene-spark{animation:none}.motion-ready .mobile-contact{background:var(--paper);backdrop-filter:none}
  .scene-title{font-size:clamp(44px,16vw,65px)}.scene-title span{font-size:.56em}.spark-two{top:160px;bottom:auto;right:18px}
  .flavor-row{grid-template-columns:28px minmax(0,1fr) 44px}.flavor-row h3{overflow-wrap:anywhere}
  .motion-ready .hero-art:not(.is-assembled) .ember-piece,.motion-ready .hero-art:not(.is-assembled) .scene-title,.motion-ready .hero-art:not(.is-assembled) .scene-script{opacity:0}
  .motion-ready .hero-art.is-assembled .ember-piece{animation:mobile-ember-arrive .7s cubic-bezier(.16,1,.3,1) both}
  .motion-ready .hero-art.is-assembled .scene-title{animation:mobile-title-arrive .7s .1s cubic-bezier(.16,1,.3,1) both}
  .motion-ready .hero-art.is-assembled .scene-script{animation:mobile-script-arrive .65s .2s cubic-bezier(.16,1,.3,1) both}
  .motion-ready .hero-art.is-assembled .scene-tag{animation:mobile-tag-arrive .65s .3s cubic-bezier(.16,1,.3,1) both}
  .assembly-hint{position:absolute;display:flex;align-items:center;justify-content:center;gap:14px;bottom:3px;left:0;right:0;font-size:8px;letter-spacing:.08em;color:var(--muted)}
  .motion-ready .step{opacity:0;transform:translate3d(0,28px,0);transition:transform .45s ease,opacity .45s ease,border-color .45s,background .45s}.motion-ready .step.step-arrived{opacity:1;transform:translate3d(0,0,0)}
  .step:focus-within{opacity:1;transform:none}
  body.is-hidden .hero-art.is-assembled .ember-piece,body.is-hidden .hero-art.is-assembled .scene-title,body.is-hidden .hero-art.is-assembled .scene-script,body.is-hidden .hero-art.is-assembled .scene-tag{animation-play-state:paused}
}
@media(prefers-reduced-motion:reduce){.title-line>span,.ember-piece,.scene-title,.scene-script,.scene-tag,.brand-scene{transform:none!important;opacity:1!important}.scene-caption,.scene-bottom{opacity:1}.scene-outline path{stroke-dashoffset:0}.assembly-hint{display:none}}
@media(max-width:760px){.hero h1{font-size:52px}}
@media(max-width:360px){.hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.step,.step-number{transform:none!important;opacity:1!important}}
