
.reading-progress{position:fixed;left:0;top:0;height:3px;background:#a57096;width:100%;transform:scaleX(0);transform-origin:left;z-index:120}.hero-copy{isolation:isolate}.hero-halo{position:absolute;z-index:-1;width:330px;height:330px;left:-160px;top:80px;background:radial-gradient(circle,#fff7fbaa,transparent 70%);animation:halo-drift 9s ease-in-out infinite alternate;pointer-events:none}.hero-kinetic .hero-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.hero-kinetic .hero-line>span{display:block;animation:line-arrive 1.05s cubic-bezier(.22,1,.36,1) both}.hero-kinetic>.hero-line:nth-child(2)>span{animation-delay:.14s}.hero-kinetic em .hero-line:first-child>span{animation-delay:.28s}.hero-kinetic em .hero-line:last-child>span{animation-delay:.42s}.hero .hero-photo{animation:frame-arrive 1.25s cubic-bezier(.22,1,.36,1) .15s both;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotate(var(--hero-r,0deg));transition:transform .5s ease-out,border-radius 1s ease}.hero-carousel .hero-slide.is-active{animation:photo-breathe 7s ease-out both}.moving-ribbon{position:relative;display:flex;align-items:center;background:#3e2845;color:#f5e8f5;padding:25px 0;overflow:hidden}.ribbon-window{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 95%,transparent)}.ribbon-track{display:flex;width:max-content;animation:ribbon-travel 32s linear infinite}.ribbon-set{display:flex;align-items:center;gap:44px;padding-right:44px;flex-shrink:0;white-space:nowrap}.ribbon-set span{font-size:18px;font-weight:400;letter-spacing:-.02em}.ribbon-set span:nth-child(even){font-size:30px;line-height:1;color:#d7afcf}.motion-toggle{flex:0 0 38px;height:38px;margin:0 22px 0 12px;border:1px solid #e9ddf077;border-radius:50%;background:transparent;color:white;cursor:pointer;font-size:14px}.motion-toggle:hover{background:#ffffff22}.kinetic-story{position:relative;overflow:hidden;min-height:1150px;min-height:150vh;padding-top:55px;padding-bottom:55px}.kinetic-story .story-stage{position:sticky;top:170px;min-height:65vh;display:flex;align-items:center}.story-text{position:relative;z-index:1;color:var(--ink);font-size:clamp(38px,6vw,88px);line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:40px 0;width:100%}.story-text>span,.story-text em>span{display:block;transform:translateX(var(--line-shift,0px));opacity:var(--line-opacity,1);transition:opacity .2s linear,transform .15s linear}.story-text em{display:block;color:#925b70}.kinetic-story .intro-note{position:absolute;bottom:35px;right:6%}.story-orbit{position:absolute;right:-50px;top:3%;width:370px;height:370px;opacity:.35;transform:rotate(var(--orbit-turn,0deg));pointer-events:none}.orbit-petal{position:absolute;width:58%;height:58%;border-radius:100%;background:#d0addc;left:21%;top:21%;transform-origin:50% 50%;transform:translateY(-35%)}.orbit-petal:nth-child(2){transform:rotate(90deg) translateY(-35%);background:#e0b5ce}.orbit-petal:nth-child(3){transform:rotate(180deg) translateY(-35%);background:#d0addc}.orbit-petal:nth-child(4){transform:rotate(270deg) translateY(-35%);background:#e0b5ce}.motion-heading .word-clip{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}.motion-heading .word-inner{display:inline-block;transform:translateY(110%) rotate(3deg);opacity:0;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .65s ease;transition-delay:var(--word-delay,0ms)}.motion-heading.words-in .word-inner{transform:translateY(0) rotate(0);opacity:1}.portfolio figure.motion-card,.review-card.motion-card{opacity:0;transform:translateY(45px) rotate(1deg);transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--card-delay,0ms)}.portfolio figure.motion-visible,.review-card.motion-visible{opacity:1;transform:none}.portfolio .photo-open{overflow:hidden}.portfolio .photo-open img{transform:translateY(var(--photo-y,0px)) scale(1.045);transition:transform .25s ease-out}.portfolio .photo-open:hover img{transform:translateY(0) scale(1.075)}.motion-paused .ribbon-track,.motion-paused .hero-halo{animation-play-state:paused}.motion-paused .hero-slide.is-active{animation:none}.motion-paused .hero-line>span{animation:none}.motion-paused .hero .hero-photo{transform:none;animation:none}.motion-paused .story-text span{transform:none;opacity:1}.motion-paused .motion-heading .word-inner{opacity:1;transform:none;transition:none}.motion-paused .motion-card{opacity:1!important;transform:none!important;transition:none!important}.motion-paused .photo-open img{transform:none!important}.motion-paused .story-orbit{transform:none}
@keyframes line-arrive{from{transform:translateY(115%) rotate(4deg);opacity:.1}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes frame-arrive{from{opacity:0;clip-path:inset(15% 0 15% 0 round 220px 220px 24px 24px)}to{opacity:1;clip-path:inset(0 round 220px 220px 24px 24px)}}@keyframes photo-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes ribbon-travel{to{transform:translateX(-50%)}}@keyframes halo-drift{to{transform:translate(130px,80px) scale(1.4)}}
@media(max-width:850px){.kinetic-story{min-height:110vh}.kinetic-story .story-stage{top:120px}.story-orbit{width:280px;height:280px;right:-50px}.ribbon-set{gap:28px;padding-right:28px}.ribbon-set span{font-size:16px}.motion-toggle{margin-right:14px}}
@media(max-width:600px){.hero-kinetic{font-size:clamp(50px,12.8vw,72px)!important}.hero-kinetic em{margin-top:8px}.hero-halo{width:230px;height:230px}.moving-ribbon{padding:18px 0}.ribbon-set span{font-size:16px}.ribbon-set span:nth-child(even){font-size:25px}.motion-toggle{height:34px;flex-basis:34px;margin-left:8px}.kinetic-story{min-height:1050px;min-height:135svh;padding-top:35px}.kinetic-story .story-stage{top:120px;min-height:55svh}.story-text{font-size:clamp(30px,7.6vw,44px);line-height:1.2;margin:0}.story-orbit{width:230px;height:230px;top:16%;right:-60px;opacity:.28}.kinetic-story .intro-note{bottom:30px;left:6%;right:auto}.portfolio figure.motion-card,.review-card.motion-card{transform:translateY(25px);transition-delay:0ms}.portfolio figure.motion-visible,.review-card.motion-visible{transform:none}.portfolio .photo-open img{transform:none}.portfolio .photo-open:hover img{transform:none}.motion-heading .word-inner{transition-duration:.65s}}
@media(prefers-reduced-motion:reduce){.hero-kinetic .hero-line>span,.hero .hero-photo,.hero-carousel .hero-slide.is-active,.ribbon-track,.hero-halo{animation:none!important}.kinetic-story{min-height:0;padding-bottom:40px}.kinetic-story .story-stage{position:relative;top:0;min-height:0}.story-text{margin:35px 0}.story-text span{opacity:1!important;transform:none!important}.kinetic-story .intro-note{position:static;justify-content:flex-start}.story-orbit{transform:none!important}.motion-heading .word-inner,.motion-card{transform:none!important;opacity:1!important;transition:none!important}.portfolio .photo-open img{transform:none!important}.motion-toggle{display:none}.ribbon-track{transform:none}}
