/* Motion follows the same pace and green light across the whole studio. */
.hero-line { display:inline-block; }
.motion-ready .motion-reveal { opacity:0;translate:0 24px;transition:opacity .75s ease var(--reveal-delay,0ms),translate .85s cubic-bezier(.18,.7,.2,1) var(--reveal-delay,0ms); }
.motion-ready .motion-reveal[data-revealed],.motion-ready .motion-reveal:focus-within { opacity:1;translate:0 0; }
.motion-text-inline { display:inline-block; }
.motion-ready .motion-reveal.motion-text { translate:none;transition:none; }
.motion-ready .motion-text[data-revealed]:not([data-bounce-complete]) { opacity:0;animation:myAnim 1.2s ease var(--reveal-delay,0ms) 1 forwards; }
.motion-ready .play-word.motion-text[data-revealed]:not([data-bounce-complete]) { animation:myAnim 1.2s ease var(--reveal-delay,0ms) 1 forwards,play-light 6s ease-in-out infinite; }
.motion-ready .motion-text[data-bounce-complete] { opacity:1;transform:none; }
.header { overflow:clip; }
.header::after,.footer-main::after { content:'';position:absolute;bottom:0;left:-35%;height:1px;width:35%;background:linear-gradient(90deg,transparent,#d6fa52b0,transparent);animation:edge-light 9s ease-in-out infinite;pointer-events:none; }
.footer-main { position:relative;overflow:hidden; }
.desktop-nav>a { position:relative; }
.desktop-nav>a::after { content:'';position:absolute;left:0;bottom:-9px;width:100%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s; }
.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after { transform:scaleX(1); }
.header-cta .icon,.back-top .icon,.contact-bottom .button .icon { animation:arrow-invite 4s ease-in-out infinite; }
.status-dot { animation:signal-pulse 3.2s ease-in-out infinite; }
.crosshair { animation:compass-turn 24s linear infinite; }
.hero-bottom>a svg { animation:scroll-invite 2.8s ease-in-out infinite; }
.hero .play-word { animation:play-light 6s ease-in-out infinite; }
.hero-sky { animation:sky-cross 30s ease-in-out infinite alternate;opacity:.45; }
.hero-sky-near { animation-duration:23s;animation-delay:-11s; }
.portal-breath { animation-duration:5.5s; }
.world-mist-far { animation-duration:18s; }
.world-mist-near { animation-duration:15s; }
.manifesto-strip { display:block;padding:18px 0; }
.manifesto-track { display:flex;width:max-content;animation:slogan-travel 32s linear infinite; }
.manifesto-group { display:flex;align-items:center;justify-content:space-around;gap:40px;flex:none;width:max(100vw,900px);padding:0 30px; }
.manifesto-group span { font-family:var(--display);font-size:32px;font-weight:600;letter-spacing:.8px; }
.manifesto-group b { color:var(--lime);font-size:29px;font-weight:400;animation:compass-turn 14s linear infinite; }
@media(hover:hover) and (pointer:fine) {
  .manifesto-strip:hover .manifesto-track { animation-play-state:paused; }
}
.world-image img { animation:world-camera 16s ease-in-out infinite alternate; }
.world-forest .world-image img { animation-delay:-7s;animation-direction:alternate-reverse; }
.world-image::before { content:'';position:absolute;inset:-15%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 65% 40%,#dbfcb52b,transparent 43%),linear-gradient(115deg,transparent 45%,#d6f9ee15 55%,transparent 67%);mix-blend-mode:screen;animation:world-light 12s ease-in-out infinite alternate; }
.world-forest .world-image::before { background:radial-gradient(ellipse at 65% 20%,#fff5b83d,transparent 48%),linear-gradient(115deg,transparent 35%,#e9f5a41f 49%,transparent 64%);animation-delay:-6s; }
.world-image .world-type,.world-image .round-arrow,.world-image .image-reticle { z-index:2; }
.world-sparks { position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden; }
.world-sparks i { position:absolute;left:var(--spark-x);top:var(--spark-y);width:3px;height:3px;border-radius:50%;background:#edffd0;box-shadow:0 0 8px #deff8b;animation:spark-lift var(--spark-time) linear var(--spark-delay) infinite;opacity:0; }
.image-reticle { animation:compass-turn 32s linear infinite; }
.world-caption { transition:border-color .3s; }
.world-card:hover .world-caption,.world-card:focus-visible .world-caption { border-color:var(--lime); }
.orbit-art>svg { animation:compass-turn 48s linear infinite;transform-origin:50% 50%; }
.orbit-core { animation:signal-pulse 4s ease-in-out infinite; }
.principles>div { position:relative; }
.principles>div::before { content:'';position:absolute;left:0;top:-1px;height:1px;width:32%;background:linear-gradient(90deg,transparent,#d6fa5277,transparent);animation:principle-light 7s ease-in-out infinite alternate; }
.principles>div:nth-child(2)::before { animation-delay:-3.5s; }
.services summary { transition:color .25s,padding-left .25s; }
.services summary:hover,.services summary:focus-visible { color:var(--lime);padding-left:6px; }
.services details[open] .service-detail { animation:detail-arrive .4s ease both; }
.tags>span { transition:background .25s,border-color .25s; }
.tags>span:hover { background:#d6fa5210;border-color:#a0b276; }
.contact-orbit { animation:contact-orbit 35s linear infinite; }
.contact-orbit span:nth-child(2) { animation:orbit-breathe 8s ease-in-out infinite; }
.contact-orbit span:nth-child(3) { animation:orbit-breathe 8s ease-in-out -4s infinite; }
.contact-section h2>span { animation:contact-arrow 5s ease-in-out infinite; }
.button { position:relative;overflow:hidden;isolation:isolate; }
.button::after { content:'';position:absolute;inset:-80% -40%;background:linear-gradient(110deg,transparent 42%,#ffffff28 50%,transparent 58%);translate:-100% 0;animation:button-sheen 7s ease-in-out infinite;pointer-events:none;z-index:-1; }
.button .icon,.text-link .icon { transition:translate .25s; }
.button:hover .icon,.text-link:hover .icon { translate:3px -3px; }
.mobile-nav:not([hidden]) { animation:detail-arrive .25s ease both; }
.world-dialog[open]>img { animation:dialog-world-light 9s ease-in-out infinite alternate; }
.contact-dialog input,.contact-dialog textarea,.contact-dialog select { transition:border-color .2s,background-color .2s; }
.contact-dialog input:focus,.contact-dialog textarea:focus,.contact-dialog select:focus { background-color:#26301c; }
@keyframes edge-light { 0%,15%{translate:0 0;opacity:0}25%{opacity:1}80%,100%{translate:400% 0;opacity:0} }
@keyframes arrow-invite { 0%,60%,100%{transform:translate(0,0)}75%{transform:translate(3px,-3px)} }
@keyframes signal-pulse { 0%,100%{opacity:.65}50%{opacity:1;filter:drop-shadow(0 0 4px #c5fa70)} }
@keyframes compass-turn { to{rotate:360deg} }
@keyframes scroll-invite { 0%,65%,100%{translate:0 0}40%{translate:0 6px} }
@keyframes play-light { 0%,100%{text-shadow:0 0 16px #d6fa5200}50%{text-shadow:0 0 30px #d6fa5240} }
@keyframes sky-cross { from{transform:translate(-45px,8px);opacity:.22}to{transform:translate(55px,-12px);opacity:.65} }
@keyframes slogan-travel { to{transform:translateX(-50%)} }
@keyframes world-camera { from{scale:1.025;translate:-.5% .3%}to{scale:1.09;translate:.7% -.5%} }
@keyframes world-light { from{translate:-4% 2%;opacity:.45}to{translate:5% -3%;opacity:1} }
@keyframes spark-lift { 0%{translate:0 25px;opacity:0}20%,60%{opacity:.7}100%{translate:25px -85px;opacity:0} }
@keyframes principle-light { from{translate:0 0;opacity:.3}to{translate:210% 0;opacity:.9} }
@keyframes detail-arrive { from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0} }
@keyframes contact-orbit { from{transform:rotate(-30deg)}to{transform:rotate(330deg)} }
@keyframes orbit-breathe { 0%,100%{scale:1;opacity:.6}50%{scale:1.12;opacity:1} }
@keyframes contact-arrow { 0%,100%{translate:0 0;rotate:0deg}50%{translate:7px -7px;rotate:5deg} }
@keyframes button-sheen { 0%,65%{translate:-100% 0}90%,100%{translate:100% 0} }
@keyframes dialog-world-light { from{filter:brightness(.93) saturate(.9)}to{filter:brightness(1.05) saturate(1.06)} }
@keyframes myAnim {
  0% { animation-timing-function:ease-in;opacity:1;transform:translateY(-45px); }
  24% { opacity:1; }
  40% { animation-timing-function:ease-in;transform:translateY(-24px); }
  65% { animation-timing-function:ease-in;transform:translateY(-12px); }
  82% { animation-timing-function:ease-in;transform:translateY(-6px); }
  93% { animation-timing-function:ease-in;transform:translateY(-4px); }
  25%,55%,75%,87% { animation-timing-function:ease-out;transform:translateY(0px); }
  100% { animation-timing-function:ease-out;opacity:1;transform:translateY(0px); }
}
/* Pause loops offscreen, including pseudo-elements; keep native controls usable. */
.motion-ready .motion-zone:not([data-motion-visible]),.motion-ready .motion-zone:not([data-motion-visible]) *,
.motion-ready .motion-zone:not([data-motion-visible])::before,.motion-ready .motion-zone:not([data-motion-visible])::after,
.motion-ready .motion-zone:not([data-motion-visible]) *::before,.motion-ready .motion-zone:not([data-motion-visible]) *::after { animation-play-state:paused; }
[data-motion-paused] *,[data-motion-paused] *::before,[data-motion-paused] *::after { animation-play-state:paused!important;transition:none!important; }
[data-motion-paused] .motion-reveal { opacity:1!important;translate:none!important; }
[data-motion-paused] .motion-text { animation:none!important;transform:none!important; }
[data-motion-paused] dialog[open],[data-motion-paused] .services details[open] .service-detail,
[data-motion-paused] .mobile-nav:not([hidden]) { animation:none!important;opacity:1;translate:none; }
[data-motion-paused] { scroll-behavior:auto; }
@media(max-width:760px) {
  .manifesto-strip { padding:17px 0; }
  .manifesto-group { width:640px;gap:24px;padding:0 24px; }
  .manifesto-group span { font-size:23px; }
  .manifesto-group b { font-size:23px; }
  .manifesto-track { animation-duration:24s; }
  .motion-ready .motion-reveal { translate:0 14px; }
  .motion-ready .motion-reveal[data-revealed] { translate:0 0; }
  .hero-sky-near { display:block; }
  .hero-sky { animation-duration:18s; }
  .hero-sky-near { animation-duration:15s; }
  .world-image img { animation-duration:11s;animation-delay:-3s; }
  .world-forest .world-image img { animation-delay:-7s; }
  .world-sparks i { width:4px;height:4px; }
  .world-image .round-arrow .icon,.hero-content>.button .icon { animation:arrow-invite 3.5s ease-in-out infinite; }
  .studio-label { display:flex;align-items:center;justify-content:space-between;gap:16px; }
  .studio-label>.eyebrow { flex:1; }
  .orbit-art { display:block;width:136px;flex:0 0 136px;margin:0;overflow:hidden; }
  .orbit-art>svg { animation-duration:24s; }
  .orbit-art>span { font-size:6px;letter-spacing:.7px;margin-top:4px; }
  .contact-section h2>span { animation-name:arrow-invite; }
}
@media(hover:none) and (pointer:coarse) {
  .world-card:hover img { transform:none; }
  .world-card:hover .round-arrow { transform:none; }
  .button:hover { transform:none; }
  .services summary:hover { padding-left:0; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready .motion-reveal { opacity:1;translate:none; }
  .hero-sky,.world-sparks,.world-image::before { display:none; }
  .manifesto-track { width:100%; }
  .manifesto-group { width:100%;gap:12px;padding:0 5%; }
  .manifesto-group:nth-child(2) { display:none; }
  .manifesto-group span { font-size:clamp(15px,3vw,32px); }
  .manifesto-group b { font-size:clamp(14px,3vw,29px); }
}
