/* Progressive enhancement: decorative motion only, all content stays server-rendered. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lab-atmosphere{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 7% 26%,#6f102022,transparent 46%),radial-gradient(ellipse at 93% 68%,#81172820,transparent 42%),#090a0d}
.lab-atmosphere canvas{width:100%;height:100%;position:absolute;inset:0;opacity:.56;mask-image:linear-gradient(90deg,#000, #0008 28%,#0004 50%,#0008 72%,#000)}
.ambient-grid{position:absolute;inset:-8%;background-image:linear-gradient(#a9535e0a 1px,transparent 1px),linear-gradient(90deg,#a9535e0a 1px,transparent 1px);background-size:70px 70px;transform:translate3d(0,var(--grid-shift,0px),0);mask-image:linear-gradient(180deg,#000,transparent 90%)}
.ambient-glow{position:absolute;width:min(55vw,720px);height:min(70vh,700px);border-radius:50%;filter:blur(65px);opacity:.6;will-change:transform;background:radial-gradient(ellipse,#b612293d,transparent 65%)}
.ambient-glow-left{left:-18%;top:10%;animation:ambient-drift 19s ease-in-out infinite alternate}.ambient-glow-right{right:-22%;bottom:-5%;animation:ambient-drift 25s ease-in-out -10s infinite alternate-reverse;background:radial-gradient(ellipse,#8f1b453a,transparent 65%)}
.ambient-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#090a0d20,transparent 25%,#090a0d10),radial-gradient(ellipse at 50% 42%,#090a0d70,transparent 75%)}
.public-shell .container,.public-shell .site-footer{position:relative;z-index:2}.public-shell .preview-banner{position:relative;z-index:2}.public-shell .site-header{z-index:30}.public-shell .admin-nav{position:relative;z-index:3}
.public-shell .lab-section{position:relative}.public-shell .lab-section:before{content:"";position:absolute;top:25px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#ff344f,transparent);box-shadow:0 0 18px #f9294866;pointer-events:none}
.hero-grid{opacity:.8;background-size:44px 44px;background-image:linear-gradient(#e64b6320 1px,transparent 1px),linear-gradient(90deg,#e64b6314 1px,transparent 1px);mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 72%)}
.lab-hero{gap:10px;perspective:1200px;min-height:760px}.hero-copy{text-shadow:0 2px 30px #090a0d,0 0 50px #090a0d}.hero-copy h1 em{background:linear-gradient(100deg,#ff324e 5%,#ff7d88 50%,#f32a45 95%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-copy .eyebrow{line-height:1.9}.hero-visual.repair-scene{margin-left:-35px;margin-right:-25px;isolation:isolate}.repair-scene .mascot-float{position:relative;z-index:2;animation:mascot-hover 7s ease-in-out infinite;transform-origin:50% 75%}.repair-scene img{mix-blend-mode:normal;filter:none;mask-image:radial-gradient(ellipse 70% 70% at 50% 49%,#000 55%,transparent 83%)}
.repair-scene .hero-orbit{inset:2%;z-index:-1;background:radial-gradient(circle,#d52c3120,transparent 70%);box-shadow:0 0 75px #fd123b29,inset 0 0 90px #e40c2422;border-color:#ed3f5544}
.tech-orbit{position:absolute;border:1px solid #fc344b45;border-radius:50%;pointer-events:none;z-index:3;mask-image:linear-gradient(90deg,#000 5%,transparent 28%,transparent 65%,#000 96%)}
.tech-orbit-inner{inset:5%;border-style:dashed;animation:orbit-turn 50s linear infinite}.tech-orbit-outer{inset:-1%;border-width:2px;border-color:#ff566847;transform:rotate(-25deg);animation:orbit-turn 70s linear reverse infinite}.tech-orbit-outer:after{content:"";position:absolute;top:14%;left:14%;width:7px;height:7px;border-radius:50%;background:#ff6376;box-shadow:0 0 20px #ff455b}
.scene-tag{position:absolute;z-index:4;font:.75rem/1.4 Consolas,monospace;letter-spacing:.13em;color:#ffb1bc;padding:13px 17px;background:#191016dc;border:1px solid #fa3a545c;border-left:2px solid #fc3a53;backdrop-filter:blur(10px);box-shadow:0 12px 30px #0004;white-space:nowrap}.scene-tag-top{right:2%;top:10%}.scene-tag-bottom{left:0;bottom:13%}.repair-scene .visual-label{position:relative;margin-top:15px;letter-spacing:.19em;color:#c38691}
.scroll-cue{display:flex;gap:18px;align-items:center}.scroll-cue span{display:inline-block;color:#ff6074;animation:scroll-nudge 2.4s ease-in-out infinite}
.expertise-ribbon{position:relative;z-index:3;background:#131016d9;padding:24px 20px;border-color:#ed47673b;box-shadow:0 0 40px #e8243e09}
.service-tile{background:linear-gradient(145deg,#251a23f0,#101117f5);border-color:#59343f;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px));transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.service-tile:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--light-x,70%) var(--light-y,0%),#f3425928,transparent 60%);pointer-events:none}.service-tile:hover{--lift:-7px;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift));border-color:#ff5570;box-shadow:0 15px 42px #0005,0 0 25px #fa224016}.service-tile>*{position:relative}.service-tile .tile-arrow{position:absolute}
.public-card,.content-conversion-card,.content-box{background:#14151bf5}.approach{background:linear-gradient(100deg,#0d0d14c9,#171019b0);padding-left:32px;padding-right:32px;border-color:#a432483d;border-radius:14px}.process-list li>span{font-size:1.1rem}.public-shell .content-main{padding:24px;border-radius:14px;background:#0d0e13e8}.public-shell .content-hero{background:linear-gradient(120deg,#28141ff2,#121318eb)}
.community-panel.maker-scene{min-height:560px;border-color:#a3334a66;box-shadow:0 15px 80px #6b132315}.maker-scene>img{inset:-12% 0;width:100%;height:124%;opacity:1;mask-image:linear-gradient(90deg,#000 22%,#000d 44%,transparent 76%);object-position:35% center}.maker-scene>div{z-index:2;width:46%;padding:70px 35px 70px 0}.maker-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 40%,#ff354606 50%,transparent 60%);background-size:220% 100%;animation:panel-shine 12s ease-in-out infinite}.maker-scene .cta-row{gap:14px}.contact-strip{background:radial-gradient(ellipse at center,#9f1b2930,transparent 65%)}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:60;pointer-events:none}#reading-progress-bar{display:block;height:100%;background:#ff445f;box-shadow:0 0 12px #ff3b5d;transform:scaleX(0);transform-origin:left}
.motion-controls{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:0;border:1px solid #83445480;border-radius:8px;background:#110e14ef;box-shadow:0 10px 30px #0005;backdrop-filter:blur(12px);overflow:hidden}.motion-controls button{border:0;background:none;color:#e8bdc7;padding:10px 14px;cursor:pointer;font-size:.8rem}.motion-density{margin:0;border-left:1px solid #83445480}.motion-controls select{background:none;border:0;min-height:38px;padding:7px 10px;color:#e8bdc7;width:auto;font-size:.8rem;cursor:pointer}.motion-controls button:hover{background:#522431}.motion-controls button:disabled{cursor:default}.motion-controls:focus-within{outline:2px solid #ff677a;outline-offset:3px}.motion-controls :focus-visible{outline-offset:-3px}.admin-entry{padding:8px 11px!important;border:1px solid #65434d!important;border-radius:6px;font-size:.8rem!important;color:#dec1c7}.admin-entry span{font-size:1rem;color:#ff5f75}.main-nav{gap:18px}.site-footer{padding-bottom:80px}
:root[data-motion="paused"] .ambient-glow,:root[data-motion="paused"] .mascot-float,:root[data-motion="paused"] .tech-orbit,:root[data-motion="paused"] .scroll-cue span,:root[data-motion="paused"] .maker-scene:after{animation-play-state:paused}
:root[data-motion="paused"] [data-depth]{transform:none!important}:root[data-motion="paused"] .service-tile{--tilt-x:0deg!important;--tilt-y:0deg!important;--lift:0px;transition:none}
@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes mascot-hover{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-12px) rotate(.4deg)}}@keyframes ambient-drift{to{transform:translate3d(60px,-60px,0) scale(1.15)}}@keyframes scroll-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(6px)}}@keyframes panel-shine{0%,30%{background-position:150% 0}80%,100%{background-position:-120% 0}}
@media(max-width:1120px){.main-nav{gap:10px}.main-nav>a{font-size:.82rem}.main-nav .btn{padding:11px}.brand{font-size:1.03rem}.brand small{font-size:.55rem}.lab-hero{min-height:680px}.scene-tag{font-size:.65rem;padding:9px}.scene-tag-top{right:-2%}.scene-tag-bottom{left:-4%}}
@media(max-width:900px){.nav-toggle{display:inline-flex}.main-nav{display:none;position:absolute;top:96px;left:0;right:0;padding:22px;background:#13141b;border-bottom:1px solid #343540;align-items:stretch;flex-direction:column}.main-nav.is-open{display:flex}.main-nav a{padding:12px}.main-nav>a{font-size:.94rem}}
@media(max-width:800px){.main-nav{top:78px}.lab-hero{min-height:0}.hero-visual.repair-scene{margin:25px auto 45px;width:96%;max-width:530px}.scene-tag{font-size:.75rem}.scene-tag-top{right:0}.scene-tag-bottom{left:0}.repair-scene img{mask-image:radial-gradient(ellipse 70% 70% at center,#000 55%,transparent 85%)}.approach{padding:38px 22px}.maker-scene>div{width:100%;padding:310px 30px 40px}.maker-scene>img{inset:-30px 0 auto;height:430px;object-position:left center;mask-image:linear-gradient(180deg,#000 10%,#000 55%,transparent 100%)}.community-panel.maker-scene{min-height:0}.ambient-glow{filter:blur(35px)}.lab-atmosphere canvas{opacity:.36}.public-shell .content-main{padding:18px}}
@media(max-width:520px){.scene-tag{font-size:.66rem;padding:9px 11px}.motion-controls{right:10px;bottom:10px}.motion-controls button{padding:9px 10px}.motion-controls select{font-size:.75rem}.expertise-ribbon{padding:22px 12px}.maker-scene>div{padding:290px 24px 35px}.maker-scene>img{height:380px}.ambient-grid{background-size:45px 45px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-choice="on"]) :is(.ambient-glow,.mascot-float,.tech-orbit,.scroll-cue span,.maker-scene:after){animation:none!important}html:not([data-motion-choice="on"]) :is([data-depth],.service-tile:hover,.ambient-grid){transform:none!important}}
