/* Ambient motion and distinct cursor responses, without changing the layout. */
.motion-enabled .hero-photo{animation:coffee-camera 22s ease-in-out infinite alternate;transform-origin:62% 54%;will-change:transform}
.hero-seal{position:absolute;right:65px;bottom:70px;width:140px;height:140px;color:#f1d8b5;pointer-events:none;filter:drop-shadow(0 2px 6px #19120aaa)}
.hero-seal svg{display:block;width:100%;height:100%}.motion-enabled .hero-seal{animation:seal-float 7s ease-in-out infinite}.seal-ring{transform-origin:70px 70px;animation:seal-turn 32s linear infinite}
.pause-word{position:relative;overflow:visible;padding-bottom:.16em}.pause-word::after{content:'';position:absolute;bottom:.04em;left:-2%;width:104%;height:6px;border-bottom:2px solid #d0a16a;border-radius:50%;transform-origin:left;opacity:.8}.motion-enabled .pause-word::after{animation:pause-underline 7s cubic-bezier(.22,1,.36,1) infinite}
.motion-enabled .little-cup{animation:cup-sway 5.5s ease-in-out infinite;transform-origin:50% 80%}.steam-wisp{animation-duration:2.8s;stroke-width:1.7}.wisp-two{animation-delay:.9s}.wisp-three{animation-delay:1.8s}
.doodle{width:80px;height:80px}.doodle-drift{transform-origin:center;transform-box:fill-box;animation:sketch-float 5.5s ease-in-out infinite}.doodle-cup .doodle-drift{animation-duration:6.5s}.doodle-sun .doodle-drift{animation-name:sun-bob;animation-duration:4.8s}.doodle-sparkle .doodle-drift{animation-duration:7s}.doodle-pastry{top:-67px}.doodle-sparkle{top:-10px}
.highlights svg{overflow:visible;transform-origin:center;transform-box:fill-box}.motion-enabled .highlights .wrap>span:nth-child(1) svg{animation:highlight-cup 4s ease-in-out infinite}.motion-enabled .highlights .wrap>span:nth-child(3) svg{animation:highlight-cake 4.7s ease-in-out infinite}.motion-enabled .highlights .wrap>span:nth-child(5) svg{animation:highlight-leaf 5.4s ease-in-out infinite}
.rhythm-list h3::after{width:36px;transform-origin:left}.motion-enabled .rhythm-list article.is-visible h3::after{animation:rhythm-line 6s ease-in-out infinite}.rhythm-list article:nth-child(2) h3::after{animation-delay:1s}.rhythm-list article:nth-child(3) h3::after{animation-delay:2s}
.button,.text-link{position:relative;isolation:isolate;translate:var(--pointer-x,0px) var(--pointer-y,0px);transition:translate .25s ease-out,background .35s,transform .35s,box-shadow .35s}.button::before,.text-link::before{content:'';position:absolute;inset:3px;border:1px solid currentColor;border-radius:inherit;opacity:0;transform:scale(.9);transition:opacity .35s,transform .4s;pointer-events:none}
.gallery-item,.rhythm-list article{transition:transform .45s cubic-bezier(.22,1,.36,1);transform-origin:center}.gallery-item .gallery-caption{transition:color .35s}.gallery-caption i{border:1px solid #b38f6270;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;transition:transform .4s,background .4s,color .4s}
.menu-items article{position:relative;border-radius:12px;transition:background .4s}.menu-items article h4{width:fit-content;background-image:linear-gradient(var(--caramel),var(--caramel));background-position:left bottom;background-repeat:no-repeat;background-size:0 1px;padding-bottom:3px;transition:background-size .45s}.item-thumb{transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s}
.ambient-surface:not(.ambient-visible) *,.ambient-surface:not(.ambient-visible) *::after,.motion-paused *,.motion-paused *::after{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){
  .button:hover::before,.text-link:hover::before{opacity:.4;transform:scale(1)}
  .button:hover span,.text-link:hover span{transform:rotate(45deg) translateX(3px)}
  .gallery-item.reveal.is-visible.pointer-active{transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px)}
  .gallery-item:hover .photo{transform:scale(1.045);filter:brightness(1.08) saturate(1.06)}
  .gallery-item:hover .gallery-caption{color:#e9c39a}.gallery-item:hover i{background:#d4ad7c;color:#29241f;transform:rotate(45deg)}
  .rhythm-list article.reveal.is-visible.pointer-active{transform:perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
  .rhythm-list article:hover .moment-photo{transform:translateY(-8px) rotate(-5deg) scale(1.06)}
  .menu-items article.pointer-active{background:#dfc7a72b}.menu-items article:hover .item-thumb{transform:perspective(450px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-10px) rotate(-7deg) scale(1.12);filter:drop-shadow(0 12px 7px #51321c25)}
  .menu-items article:hover h4{background-size:100% 1px}
  .doodle:hover .doodle-drift{animation-duration:1.8s}
}
@keyframes coffee-camera{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.095) translateX(-.8%)}}
@keyframes seal-turn{to{transform:rotate(360deg)}}
@keyframes seal-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@keyframes pause-underline{0%,12%{transform:scaleX(0);opacity:0}27%,80%{transform:scaleX(1);opacity:.8}95%,100%{transform:scaleX(1);opacity:0}}
@keyframes cup-sway{0%,100%{transform:rotate(-9deg) translateY(0)}50%{transform:rotate(5deg) translateY(-4px)}}
@keyframes sketch-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-7px) rotate(5deg)}}
@keyframes sun-bob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.07)}}
@keyframes highlight-cup{0%,100%{transform:rotate(-7deg)}50%{transform:translateY(-5px) rotate(7deg)}}
@keyframes highlight-cake{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-6deg)}}
@keyframes highlight-leaf{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg) translateY(-3px)}}
@keyframes rhythm-line{0%,100%{transform:scaleX(.6)}50%{transform:scaleX(1.4)}}
@media(max-width:1100px){.hero-seal{right:32px;bottom:55px;width:120px;height:120px}}
@media(max-width:880px){.hero-seal{width:105px;height:105px;bottom:42px}.doodle{width:65px;height:65px}.doodle-pastry{top:-55px}}
@media(max-width:640px){.hero-seal{right:17px;bottom:24px;width:84px;height:84px;opacity:.9}.scroll-invitation{max-width:calc(100% - 120px);font-size:9px;gap:9px}.doodle{width:52px;height:52px}.doodle-pastry{top:-47px}.doodle-sparkle{top:-40px}.pause-word::after{height:4px}.motion-enabled .hero-photo{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero-photo,.hero-seal,.little-cup,.doodle-drift{transform:none!important}.pause-word::after{transform:none;opacity:.7}.button,.text-link{translate:none!important}.gallery-item.pointer-active,.rhythm-list article.pointer-active{transform:none!important}}
