/* NIO / kinetic typography and lightweight CSS geometry. */
.hero{isolation:isolate}h1.motion-heading{background:none;perspective:800px}.motion-line{display:block;overflow:hidden;padding:.06em 0 .16em;margin:-.06em 0 -.16em}.motion-line-content{display:block;transform-origin:50% 100%;background:linear-gradient(110deg,#fff 12%,#e0d3ff 35%,#9ef8ed 58%,#dba5f2 76%,#fff 95%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 5px 28px #b4a1ff18}
.motion-title{perspective:900px}.title-word{display:inline-block;transform-origin:50% 100%;vertical-align:baseline}h2.motion-title{position:relative;padding-bottom:20px;text-wrap:balance}h2.motion-title:after{content:'';position:absolute;left:0;bottom:0;width:76px;height:3px;border-radius:5px;background:var(--holo);box-shadow:0 0 20px #bda0ff55;transform-origin:left}#contact h2.motion-title:after{left:calc(50% - 38px)}
.title-accent,.reel-title i .title-word,.channel-cover strong i .title-word,.about-grid h2 i .title-word,#contact h2 i .title-word{background:var(--holo);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent}.about-grid h2 i,#contact h2 i,.reel-title i,.channel-cover strong i{background:none;color:inherit}
main>section:not(.hero){position:relative;isolation:isolate}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--holo);transform:scaleX(0);transform-origin:left;z-index:20;pointer-events:none;box-shadow:0 0 14px #bda0ff66}
nav a{position:relative;padding:8px 0}nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--holo);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
.strip{overflow:hidden;display:block;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.strip-track{display:flex;width:max-content;gap:64px}.strip-group{display:flex;gap:64px;align-items:center;flex-shrink:0;white-space:nowrap}.strip-group>span{display:inline-block}
.motion-sculpture{position:absolute;right:1%;top:64px;width:255px;height:255px;perspective:900px;pointer-events:none;z-index:-1;translate:0 var(--scroll-drift,0px);opacity:.8}.sculpture-halo{position:absolute;inset:-65px;background:radial-gradient(ellipse,#9162d637,transparent 67%);border-radius:50%}.sculpture-core{position:absolute;inset:74px;border-radius:50%;background:radial-gradient(circle at 28% 22%,#ffffffe0,transparent 35%),conic-gradient(from 40deg,#a3fff3,#8174d9,#ed9cdb,#8ce8ed,#aba9ff,#a3fff3);box-shadow:inset -20px -17px 26px #282044a8,0 0 50px #bda0ff40}.sculpture-orbit{position:absolute;inset:20px;border:2px solid #bfa7ff80;border-radius:50%;transform:rotateX(63deg) rotateZ(-30deg);box-shadow:0 3px 0 #4d3e7e,0 0 18px #bda0ff30}.orbit-two{inset:5px;border-width:1px;border-color:#a5fbee70;transform:rotateY(63deg) rotateZ(25deg)}
.motion-cube{--cube:54px;width:var(--cube);height:var(--cube);position:absolute;top:6px;right:18px;transform-style:preserve-3d;transform:rotateX(-22deg) rotateY(32deg)}.motion-cube>span{position:absolute;inset:0;border:1px solid #c4b5ffb0;background:linear-gradient(135deg,#b6fff514,#b698ff26);box-shadow:inset 0 0 18px #bda0ff16;backface-visibility:visible}.motion-cube>span:nth-child(1){transform:translateZ(calc(var(--cube)/2))}.motion-cube>span:nth-child(2){transform:rotateY(180deg) translateZ(calc(var(--cube)/2))}.motion-cube>span:nth-child(3){transform:rotateY(90deg) translateZ(calc(var(--cube)/2))}.motion-cube>span:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--cube)/2))}.motion-cube>span:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--cube)/2))}.motion-cube>span:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--cube)/2))}
.sculpture-spark{position:absolute;width:11px;height:11px;background:var(--holo);rotate:45deg;box-shadow:0 0 20px #c4b5ff70}.spark-one{left:32px;top:40px}.spark-two{right:36px;bottom:40px;width:7px;height:7px}.banner-geometry{position:absolute;inset:0;pointer-events:none;perspective:800px;z-index:3}.banner-geometry .motion-cube{--cube:30px;left:45%;top:38px;right:auto}.geometry-ring{position:absolute;width:60px;height:60px;left:38%;bottom:105px;border:5px solid #ae9ce47a;border-radius:50%;transform:rotateX(55deg) rotateY(-20deg);box-shadow:0 3px 0 #615176,0 0 20px #bda0ff30}
.motion-banner .banner-screen{transform:rotateY(calc(-6deg + var(--ry))) rotateX(calc(2deg + var(--rx)));transition:transform .5s cubic-bezier(.2,.7,.2,1)}.banner-photo{animation:none}.tilt-card{position:relative;--tilt-x:0deg;--tilt-y:0deg;--glare-x:50%;--glare-y:50%;transform:perspective(950px) rotateX(0deg) rotateY(0deg)}.card-glare{position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--glare-x) var(--glare-y),#d4baff24,transparent 55%);opacity:0}
.video-preview,.photo-preview{isolation:isolate}.video-preview img,.photo-preview img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}.play-chip{transition:translate .35s,background .35s,border-color .35s}.photo-preview{translate:0 0}.video-preview:focus-visible,.photo-preview:focus-visible{border-color:#aef7ed}.video-preview:focus-visible img,.photo-preview:focus-visible img{transform:scale(1.04)}
html.motion-enabled .motion-line-content,html.motion-enabled .title-accent,html.motion-enabled .reel-title i .title-word{animation:title-light 7s ease-in-out infinite}html.motion-enabled .motion-line:nth-child(2) .motion-line-content{animation-delay:-2.5s}html.motion-enabled h2.motion-title:after{animation:title-rule 4s ease-in-out infinite}html.motion-enabled .strip-track{animation:strip-roll 32s linear infinite}html.motion-enabled .motion-cube{animation:cube-turn 20s linear infinite}html.motion-enabled .sculpture-core{animation:core-float 7s ease-in-out infinite}html.motion-enabled .orbit-one{animation:orbit-turn 16s linear infinite}html.motion-enabled .orbit-two{animation:orbit-cross 22s linear infinite}html.motion-enabled .sculpture-spark{animation:spark-float 5s ease-in-out infinite alternate}html.motion-enabled .spark-two{animation-delay:-2s}html.motion-enabled .geometry-ring{animation:ring-float 8s ease-in-out infinite}html.motion-enabled .banner-glow{animation:glow-breathe 8s ease-in-out infinite}html.motion-enabled .photo-one{animation:photo-drift 7s ease-in-out infinite}html.motion-enabled .photo-two{animation:photo-drift 8s 2s ease-in-out infinite}html.motion-enabled .tilt-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}html.motion-enabled .card-glare{transition:opacity .4s}html.motion-enabled .video-preview img,html.motion-enabled .photo-preview img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}html.motion-enabled .play-chip{transition:translate .35s,background .35s,border-color .35s}
@media(hover:hover) and (pointer:fine){html.motion-enabled .tilt-card:hover{transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));border-color:#bfaaff99;box-shadow:0 18px 55px #8464bc24}html.motion-enabled .tilt-card:hover .card-glare{opacity:1}html.motion-enabled .photo-preview:hover img{transform:scale(1.09)}html.motion-enabled .video-preview:hover img{transform:scale(1.045);filter:brightness(.85)}html.motion-enabled .video-preview:hover .play-chip{translate:5px -2px;background:#332849ee;border-color:#c8b4ff99}html.motion-enabled .service:hover h3{color:#b4f6ed}}
.ambient-scene:not(.motion-in-view) *,.motion-banner:not(.motion-in-view) .banner-photo,.motion-banner:not(.motion-in-view) .banner-glow,html.motion-document-hidden *{animation-play-state:paused!important}html.motion-disabled .motion-sculpture{translate:none}html.motion-disabled .tilt-card,html.motion-disabled .channel-card:hover,html.motion-disabled .cta:hover{transform:none;transition:none}html.motion-disabled .motion-banner .banner-screen{transform:none;transition:none}html.motion-disabled .photo-preview,html.motion-disabled .photo-preview img,html.motion-disabled .video-preview,html.motion-disabled .video-preview img,html.motion-disabled .play-chip{transition:none}html.motion-disabled .photo-preview:hover img,html.motion-disabled .photo-preview:focus-visible img,html.motion-disabled .video-preview:hover img,html.motion-disabled .video-preview:focus-visible img{transform:none}html.motion-disabled .card-glare{display:none}html.motion-disabled .strip-group[aria-hidden]{display:none}html.motion-disabled .strip-track,html:not(.motion-enabled) .strip-track{width:100%}html.motion-disabled .strip-group,html:not(.motion-enabled) .strip-group{width:100%;gap:12px;justify-content:space-between}#motion-toggle{min-width:0}
@keyframes title-light{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes title-rule{0%,100%{transform:scaleX(1);opacity:.7}50%{transform:scaleX(1.5);opacity:1}}@keyframes strip-roll{to{transform:translateX(calc(-50% - 32px))}}@keyframes cube-turn{from{transform:rotateX(-22deg) rotateY(32deg) rotateZ(0deg)}to{transform:rotateX(338deg) rotateY(392deg) rotateZ(90deg)}}@keyframes core-float{0%,100%{translate:0 0;rotate:-8deg}50%{translate:0 -12px;rotate:8deg}}@keyframes orbit-turn{from{transform:rotateX(63deg) rotateZ(-30deg)}to{transform:rotateX(63deg) rotateZ(330deg)}}@keyframes orbit-cross{from{transform:rotateY(63deg) rotateZ(25deg)}to{transform:rotateY(63deg) rotateZ(385deg)}}@keyframes spark-float{to{translate:0 -15px;opacity:.5;rotate:135deg}}@keyframes ring-float{0%,100%{transform:rotateX(55deg) rotateY(-20deg);translate:0 0}50%{transform:rotateX(35deg) rotateY(25deg);translate:0 -12px}}@keyframes glow-breathe{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.6}50%{transform:translate3d(-30px,15px,0) scale(1.1);opacity:1}}
@media(max-width:1100px){.motion-sculpture{width:190px;height:190px;right:-1%;top:85px;opacity:.45}.sculpture-core{inset:55px}.motion-sculpture .motion-cube{--cube:40px;right:8px}.banner-geometry .motion-cube{left:44%}}
@media(max-width:700px){.motion-sculpture{display:none}.banner-geometry .motion-cube{left:auto;right:32px;top:128px;--cube:24px}.geometry-ring{left:73%;bottom:100px;width:40px;height:40px;border-width:3px}.motion-banner .banner-screen{transform:rotateY(-3deg)}.strip-track,.strip-group{gap:32px}.strip-group{font-size:9px;letter-spacing:1.2px}h2.motion-title{padding-bottom:18px}.motion-banner .banner-controls{gap:7px}.motion-banner .banner-controls button{min-width:0;padding:10px 11px;font-size:9px}.motion-banner .reel-bottom{gap:12px}.tilt-card{transform:none}@keyframes strip-roll{to{transform:translateX(calc(-50% - 16px))}}}
.sculpture-halo{inset:-30px}
.header-controls{display:flex;align-items:center;gap:10px}#motion-header{border-color:#a5fbee55;color:#bdf7ee;white-space:nowrap}#motion-header[aria-pressed="false"]{background:var(--holo);border-color:transparent;color:#171326;font-weight:600}.motion-hint{max-width:610px;margin:18px 0 0;padding:12px 16px;border:1px solid #b9a6ff35;border-radius:10px;color:#c5bfd8;background:#b79aff09;font-size:11px;line-height:1.8}
@media(max-width:900px){header{height:auto;min-height:94px;padding:20px 0;display:grid;grid-template-columns:auto 1fr;gap:14px}header nav{justify-self:end}.header-controls{grid-column:2;justify-self:end}header .logo{grid-row:1 / 3;align-self:center}}
@media(max-width:700px){header{padding:15px 0;min-height:90px;gap:10px}.header-controls{gap:8px}#motion-header{font-size:9px;padding:9px 12px}.motion-hint{font-size:10px;padding:10px 12px}}
@media(max-width:700px){.banner-copy{display:block;width:calc(100% - 44px)}.banner-copy p{margin-top:14px;max-width:80%;font-size:10px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) *,html:not(.motion-enabled) *:before,html:not(.motion-enabled) *:after{animation:none!important;transition:none!important}}
