/* Sova / kinetic edition. Character, orbit and light share one restrained rhythm. */
.hero{position:relative;background:radial-gradient(ellipse at 83% 48%,#65302728 0,transparent 48%)}
.hero-grid{min-height:660px}.hero-copy{z-index:3}.hero-art{isolation:isolate;perspective:1100px;background:transparent}
.hero-art:after{display:none}.hero-art:before{content:"";position:absolute;inset:12% -12% 8%;background:radial-gradient(ellipse,#fc7e4225,transparent 64%);pointer-events:none;opacity:.85}
.orbit-canvas{position:absolute;inset:-5% -14%;width:128%;height:110%;pointer-events:none;z-index:0}
.owl-puppet{position:absolute;bottom:38px;width:min(106%,505px);aspect-ratio:1122/1402;border:0;padding:0;background:transparent;transform-origin:50% 80%;transform-style:preserve-3d;z-index:2;cursor:pointer;touch-action:pan-y;will-change:transform;border-radius:44%}
.owl-puppet:focus-visible{outline:2px solid #ff9876;outline-offset:5px}
.owl-puppet .owl-image{display:block;position:static;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;mask-image:linear-gradient(#000 86%,transparent 99%);mix-blend-mode:normal;transform:none!important;transition:none}
.owl-eyes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mask-image:none}
.owl-shadow{position:absolute;bottom:49px;left:19%;width:64%;height:26px;background:radial-gradient(ellipse,#ff704350,transparent 68%);filter:blur(9px);pointer-events:none;transform:scaleX(.95);z-index:0}
.orbit-label{position:absolute;display:flex;align-items:center;gap:8px;color:#e6ced0;border:1px solid #a4777055;background:#241c22d9;backdrop-filter:blur(10px);border-radius:100px;font-size:12px;letter-spacing:1.2px;padding:11px 15px;z-index:3;pointer-events:none;animation:label-drift 7s ease-in-out infinite}
.orbit-label:before{content:"";width:6px;height:6px;background:#ff936c;border-radius:50%;box-shadow:0 0 14px #ff7043}
.orbit-label-one{top:11%;right:0;animation-delay:-2s}.orbit-label-two{bottom:26%;left:-8%;animation-delay:-5s}.orbit-label-three{right:-3%;bottom:19%;font-family:monospace;font-size:14px;letter-spacing:0;color:#bcb3e4}
.art-caption{bottom:9px;z-index:4;font-size:12px;padding:0;gap:16px;align-items:center;color:#bbaeaf;letter-spacing:0}
.owl-invitation{display:inline-flex;align-items:center;gap:9px}.owl-invitation:before{content:"↗";font-size:18px;color:var(--acid)}
.hero-motion{font-size:12px;white-space:nowrap;text-decoration:none;border:1px solid #6b505b;border-radius:20px;padding:7px 12px;color:#d4c6cb}
.hero-motion:hover{border-color:#ffa281;color:#fff}.hero-edition{display:flex;gap:10px;align-items:center}.hero-edition:before{content:"";display:inline-block;width:28px;height:1px;background:var(--acid)}
.motion-toolbar{position:fixed;right:0;top:0;height:3px;left:0;z-index:40;pointer-events:none}.reading-progress{height:100%;background:linear-gradient(90deg,#ff7043,#ffd2ba);transform-origin:left;transform:scaleX(0)}
.case-visual{position:relative;isolation:isolate;transform:perspective(1000px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .3s ease,box-shadow .3s ease}
.case-visual:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(500px circle at var(--light-x,50%) var(--light-y,40%),#ffffff16,transparent 65%);opacity:0;transition:opacity .4s}.case-visual:hover:after{opacity:1}
.case-card:hover .case-visual{transform:perspective(1000px) translateY(-4px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));box-shadow:0 28px 60px -35px #0009}.case-caption h3{transition:letter-spacing .35s}.case-card:hover .case-caption h3{letter-spacing:-.4px}
.service summary{transition:padding .3s,background .3s}.service summary:hover{padding-left:10px}.service-number{transition:color .3s,transform .3s}.service summary:hover .service-number{color:#b6401d;transform:translateX(3px)}
.lab{position:relative;isolation:isolate;overflow:hidden;background:#19171b}.lab:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 23% 47%,#994b3633,transparent 45%),linear-gradient(90deg,#ffffff04 1px,transparent 1px),linear-gradient(#ffffff04 1px,transparent 1px);background-size:auto,80px 80px,80px 80px;mask-image:linear-gradient(transparent,#000 18%,#000 80%,transparent)}
.lab-grid{grid-template-columns:1.08fr 1fr;gap:70px;padding-top:40px;align-items:center}
.lab-art{position:relative;min-width:0;aspect-ratio:1;perspective:1000px;isolation:isolate;display:flex;align-items:center;justify-content:center}
.lab-object{width:110%;max-width:none;height:auto;display:block;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse,#000 47%,#000e 58%,transparent 72%);animation:knot-float 10s ease-in-out infinite;will-change:transform;pointer-events:none;position:relative;z-index:1}
.lab-art .lab-wordmark{position:absolute;bottom:0;left:0;font-size:clamp(50px,7vw,100px);padding:0;line-height:.85;letter-spacing:-.08em;z-index:2;white-space:nowrap}
.lab-art .lab-wordmark>span{font-size:.37em;display:inline-block;margin-left:14px;letter-spacing:-.03em;color:#ffa482;vertical-align:baseline;position:static}
.lab-orbit{position:absolute;inset:8%;border:1px solid #ff704342;border-radius:50%;transform:rotateX(64deg) rotateZ(-28deg);animation:lab-orbit 24s linear infinite;pointer-events:none}
.lab-orbit:after{content:"";position:absolute;width:10px;height:10px;top:14%;left:14%;border-radius:50%;background:#ffab80;box-shadow:0 0 23px #ff7043}
.lab-coordinate{position:absolute;top:0;left:0;font:12px/1.5 monospace;color:#9f8794;letter-spacing:1px}.lab-coordinate:last-child{top:auto;left:auto;bottom:7%;right:0;color:#d9bfb6}
.lab-copy{position:relative;z-index:3}.lab-copy h2{font-size:clamp(35px,4.2vw,62px)}
.contact{position:relative;isolation:isolate;overflow:hidden}.contact>*{position:relative;z-index:2}.contact-orbits{position:absolute;pointer-events:none;right:-12%;top:-42%;width:65%;aspect-ratio:1;z-index:0;border:1px solid #522b2640;border-radius:50%;animation:contact-orbit 28s linear infinite}.contact-orbits:before,.contact-orbits:after{content:"";position:absolute;border:1px solid #522b2640;border-radius:50%;inset:12%;transform:rotateY(52deg)}.contact-orbits:after{inset:24%;transform:rotateX(55deg)}
.contact-orbits i{position:absolute;top:12%;left:14%;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff8ee,#c8b9ad 21%,#3b2524 57%,#18151c 72%,#d7a081 93%);box-shadow:8px 15px 25px #7d311b42}
.is-motion-idle .lab-object,.is-motion-idle .lab-orbit,.is-motion-idle .orbit-label,.is-motion-idle .contact-orbits{animation-play-state:paused}
.motion-off .owl-puppet{transform:none!important}.motion-off .case-visual{transform:none!important}.motion-off .reading-progress{display:none}.motion-off .owl-eyes{display:none}.motion-off .hero-motion{opacity:.8}
@keyframes label-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
@keyframes knot-float{0%,100%{transform:translateY(0) rotate(-6deg) rotateY(-10deg) scale(.94)}50%{transform:translateY(-21px) rotate(8deg) rotateY(12deg) scale(1.025)}}
@keyframes lab-orbit{from{transform:rotateX(64deg) rotateZ(-28deg)}to{transform:rotateX(64deg) rotateZ(332deg)}}
@keyframes contact-orbit{to{transform:rotate(360deg)}}
@media(min-width:1450px){.hero-grid{min-height:735px}.owl-puppet{width:min(108%,565px);bottom:36px}}
@media(max-width:1000px){.hero-grid{min-height:590px}.owl-puppet{width:min(113%,460px);bottom:54px}.orbit-label-one{top:14%;right:-3%}.orbit-label-two{left:-6%;bottom:24%}.orbit-label-three{display:none}.lab-grid{gap:35px}.lab-copy h2{font-size:39px}.lab-art .lab-wordmark{font-size:8vw}.contact-orbits{width:85%;right:-24%}}
@media(max-width:800px){.hero-grid{min-height:550px}.owl-puppet{width:120%;bottom:57px}.orbit-label{padding:9px 12px;font-size:11px}.orbit-label-two{left:-7%;bottom:26%}.art-caption{gap:8px;font-size:11px;bottom:18px}.hero-motion{font-size:11px;padding:6px 9px}.owl-invitation{gap:4px}.lab-grid{gap:28px}.lab-coordinate{font-size:11px}.lab-coordinate:last-child{display:none}}
@media(max-width:560px){.hero{background:radial-gradient(ellipse at 65% 57%,#63352635,transparent 46%)}.hero-grid{min-height:0}.hero-art{height:455px;margin-top:2px;overflow:visible}.owl-puppet{width:min(106%,350px);bottom:27px}.owl-shadow{bottom:48px}.orbit-canvas{inset:0 -8%;width:116%;height:100%}.orbit-label-one{top:10%;right:0;font-size:11px}.orbit-label-two{left:-1%;bottom:31%;font-size:11px}.art-caption{bottom:0;font-size:12px;line-height:1.5;align-items:center}.hero-motion{font-size:12px;padding:7px 12px}.hero-footer{margin-top:20px}.hero-copy{padding-top:38px}.hero-description{margin-bottom:24px}.lab-grid{grid-template-columns:1fr;gap:38px;padding-top:32px}.lab-art{max-width:460px;width:100%;margin:0 auto;aspect-ratio:1.05}.lab-art .lab-wordmark{font-size:22vw;bottom:0}.lab-object{width:105%}.lab-copy h2{font-size:42px}.lab-coordinate{top:-10px;font-size:12px}.lab-copy>p{max-width:100%}.lab-orbit{inset:6%}.contact-orbits{width:130%;right:-66%;top:-10%}.contact-orbits i{width:29px;height:29px}.case-visual{transform:none!important}.service summary:hover{padding-left:0}}
@media(prefers-reduced-motion:reduce){.owl-puppet,.case-visual{transform:none!important}.lab-object,.lab-orbit,.orbit-label,.contact-orbits{animation:none!important}.owl-eyes,.reading-progress{display:none}.service summary{transition:none}}
@media(max-width:560px){.hero-edition{display:none}}
