/* Motion follows the pace of the content. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.main-nav a{position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.main-nav a:hover::after,.main-nav a.is-active::after{transform:scaleX(1);transform-origin:left}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:65%;height:75%;right:0;top:8%;background:radial-gradient(ellipse,#a68b4220,transparent 68%);transform-origin:center;animation:studio-light 18s ease-in-out infinite alternate}
.hero-line{display:block;white-space:nowrap}
.hero-word{position:relative;display:inline-grid;isolation:isolate;padding-right:.08em;line-height:1.08}
.word-measure,.word-current{grid-area:1/1;justify-self:start}
.word-measure{visibility:hidden;pointer-events:none}
.word-current{display:inline-block}
.word-underline{position:absolute;left:-.04em;bottom:-.09em;width:100%;height:.14em;overflow:visible;pointer-events:none}
.word-underline path{stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;opacity:.7;stroke-dasharray:1;stroke-dashoffset:0}
.motion-ready:not(.motion-paused) .word-underline path{animation:draw-line 1.2s .65s var(--ease) both}
.hero-orbit{animation:studio-orbit 42s linear infinite}
.orbit-two{animation-duration:65s;animation-direction:reverse}
.tiny-star{animation:studio-orbit 25s linear infinite}
.hero-film{--film-angle:-3deg;animation:studio-film 9s ease-in-out infinite}
.film-word{font-size:clamp(42px,4.9vw,68px)}
#motion-caption{min-width:0;text-align:center}
.service-ribbon{display:flex;align-items:center;gap:24px;padding:13px max(24px,calc((100% - 1264px)/2)) 13px 0;position:relative;z-index:1;background:#101510b3}
.ribbon-window{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 45px,#000 calc(100% - 45px),transparent)}
.ribbon-track{display:flex;width:max-content;animation:studio-ribbon 42s linear infinite;animation-play-state:paused}
.motion-ready .ribbon-track{animation-play-state:running}
.ribbon-set{flex:none;display:flex;align-items:center;gap:44px;padding-right:44px}
.ribbon-set>span{font-size:10px;letter-spacing:.15em;white-space:nowrap;color:#e7e4d8}
.ribbon-set>i{color:var(--gold);font-size:16px;font-style:normal}
.ribbon-window:hover .ribbon-track,.ribbon-window:focus-within .ribbon-track{animation-play-state:paused}
.animation-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:44px;min-width:121px;padding:9px 14px;border:1px solid #4b523f;color:#cdd2c3;font-size:10px;letter-spacing:.04em;transition:background .2s,border-color .2s}
.animation-icon{display:grid;place-items:center;font-size:12px;width:13px;color:var(--gold-pale)}
.animation-toggle:hover,.animation-toggle:focus-visible{background:#2a3325;border-color:var(--gold)}
.animation-toggle[aria-pressed="true"]{border-color:#8c7b58}
.animation-toggle:disabled{opacity:.65}
.motion-paused .ribbon-track,.motion-paused .hero-orbit,.motion-paused .hero-film,.motion-paused .tiny-star,.motion-paused .hero::before{animation-play-state:paused}
.motion-paused .word-underline path{stroke-dashoffset:0;animation:none}
.motion-pending:not(.kinetic-heading){opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.motion-pending.is-in-view:not(.kinetic-heading){opacity:1;transform:none}
.kinetic-word{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .1em .2em;margin:-.12em -.1em -.2em}
.kinetic-rise{display:inline-block;transform-origin:left bottom;transition:transform .9s var(--ease),opacity .75s var(--ease);transition-delay:calc(var(--word-index,0)*48ms)}
.kinetic-heading.motion-pending:not(.is-in-view) .kinetic-rise{transform:translateY(115%) rotate(3deg);opacity:0}
.project-card{animation:none;transition:border-color .3s}
.project-card:hover,.project-card:focus-visible{border-bottom-color:#6d755e}
.project-image img{transition:transform .85s var(--ease),filter .6s}
.project-card:hover .project-image img{transform:scale(1.045)}
.project-play{transition:transform .35s var(--ease),background .35s}
.project-card:hover .project-play{transform:rotate(-8deg) scale(1.08);background:var(--gold-pale)}
.project-title>span:last-child{transition:transform .35s var(--ease)}
.button,.header-cta{position:relative;overflow:hidden}
.button-gold::after{content:"";position:absolute;inset:-50% 0;background:linear-gradient(110deg,transparent 20%,#ffffff60 48%,transparent 76%);transform:translateX(-120%) skewX(-15deg);pointer-events:none}
.button-gold:hover::after,.button-gold:focus-visible::after{transform:translateX(120%) skewX(-15deg);transition:transform .75s var(--ease)}
.button>span,.header-cta>span,.text-link>span{transition:transform .3s var(--ease)}
.button:hover>span,.header-cta:hover>span,.text-link:hover>span{transform:translate(3px,-2px)}
.service-detail{transition:border-color .35s}
.service-detail[open]{border-bottom-color:#9c8554}
.service-detail summary>span:nth-child(2){transition:transform .35s var(--ease),color .35s}
.service-detail summary:hover>span:nth-child(2),.service-detail[open] summary>span:nth-child(2){transform:translateX(5px);color:var(--gold-pale)}
.service-detail .service-number{transition:color .3s}
.service-detail[open] .service-number{color:var(--gold)}
.price-card{transition:background .4s,border-color .4s,box-shadow .4s}
.price-card:hover{border-color:#797e6a;box-shadow:0 16px 35px #1920140a}
.price-card:not(.premium-card):hover{background:#f1eee655}
.process-grid article{position:relative;border-top-color:transparent}
.process-grid article::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:#939b83;transform-origin:left;transition:transform 1.2s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.process-grid .motion-pending:not(.is-in-view)::before{transform:scaleX(0)}
.footer-signature{max-width:max-content}
html:not(.motion-ready) .hero::before,html:not(.motion-ready) .hero-orbit,html:not(.motion-ready) .hero-film,html:not(.motion-ready) .tiny-star{animation:none}
html:not(.motion-ready) .ribbon-set+ .ribbon-set{display:none}
html:not(.motion-ready) .ribbon-track{width:auto}
html:not(.motion-ready) .ribbon-set{flex-wrap:wrap;justify-content:center;gap:16px 25px;padding-left:25px}
@keyframes studio-ribbon{to{transform:translateX(-50%)}}
@keyframes studio-orbit{to{transform:rotate(360deg)}}
@keyframes studio-film{0%,100%{transform:rotate(var(--film-angle)) translateY(0)}50%{transform:rotate(calc(var(--film-angle) + .6deg)) translateY(-5px)}}
@keyframes studio-light{from{transform:translate(-8%,-3%) scale(.95)}to{transform:translate(6%,8%) scale(1.12)}}
@keyframes draw-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(min-width:681px) and (max-width:900px){.hero h1{font-size:clamp(49px,6.8vw,61px)}}
@media(max-width:680px){
  .hero-word{line-height:1.1}
  .hero-film{--film-angle:-2.5deg}
  .film-word{font-size:clamp(42px,11vw,57px)}
  .service-ribbon{padding:9px 14px 9px 0;gap:8px}
  .ribbon-window{mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent)}
  .ribbon-set{gap:27px;padding-right:27px}
  .ribbon-set>span{font-size:9px;letter-spacing:.11em}
  .ribbon-set>i{font-size:13px}
  .animation-toggle{min-width:104px;padding:8px 10px;font-size:9px;gap:7px}
  .motion-pending:not(.kinetic-heading){transform:translateY(15px)}
  .main-nav a::after{bottom:4px;right:auto;width:22px}
  .kinetic-rise{transition-delay:calc(var(--word-index,0)*38ms)}
}
@media(max-width:370px){.hero h1{font-size:52px}.hero-actions{gap:14px}.hero-actions>.button{gap:14px}.hero-actions>.text-link{gap:9px}}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero-orbit,.tiny-star,.hero-film,.ribbon-track{animation:none!important}
  .motion-pending:not(.kinetic-heading),.kinetic-rise{opacity:1!important;transform:none!important}
  .word-underline path{stroke-dashoffset:0!important;animation:none!important}
  .project-image img,.project-play,.button>span,.header-cta>span,.text-link>span,.service-detail summary>span:nth-child(2){transform:none!important}
}
