/* Depth, light, and motion — shared across the entire experience. */
html{scroll-padding-top:110px}body{isolation:isolate;overflow-x:clip}main,.footer{position:relative;z-index:1}.header{position:sticky;top:0;z-index:15;height:90px;background:#101210e8;backdrop-filter:blur(20px);max-width:none}.header nav{gap:28px}#ambient-field{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.65}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--lime);box-shadow:0 0 15px #d0ff71;z-index:30;pointer-events:none}.hero-topline{font-size:12px}.hero{position:relative}.hero-copy{animation:hero-enter 1s cubic-bezier(.16,1,.3,1) both}.scene{animation:hero-enter 1.4s cubic-bezier(.16,1,.3,1) both}.scene:before{background:radial-gradient(ellipse,#a4db4029,transparent 68%);animation:breathe 7s ease-in-out infinite}.hero .accent{background:linear-gradient(110deg,#d0ff71 20%,#f3ffd8 45%,#a4d953 65%,#d0ff71 80%);background-size:250% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation:text-light 9s linear infinite}.kinetic-band{overflow:hidden;border-top:1px solid #3d4932;border-bottom:1px solid #3d4932;background:#171e11;padding:24px 0}.kinetic-track{display:flex;width:max-content;animation:marquee 35s linear infinite;will-change:transform}.kinetic-track>span{display:block;white-space:nowrap;font-family:'Space Grotesk',var(--font);font-size:clamp(25px,3.5vw,50px);font-weight:500;letter-spacing:-1.5px;color:#e9f4d7}.kinetic-track i{font-style:normal;margin:0 30px;color:var(--lime)}.kinetic-band:hover .kinetic-track{animation-play-state:paused}
.reveal{opacity:0;transform:translate3d(0,35px,0);filter:blur(5px);transition:opacity .85s ease,transform .85s cubic-bezier(.16,1,.3,1),filter .85s ease;transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible,.reveal:focus-within{opacity:1;transform:none;filter:none}.section-heading .reveal{transition-duration:1s}.section{position:relative}.services{overflow:clip;background:linear-gradient(135deg,#f3f5eb,#e9edde)}.services>.wrap{position:relative}.service-grid{gap:16px;perspective:1200px}.service,.service:first-child,.service:last-child{border:1px solid #cbd4bd;border-radius:10px;padding:28px;position:relative;background:#ffffff46;isolation:isolate;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .3s ease,border-color .3s,box-shadow .3s;overflow:hidden}.service:before,.workflow:before,.studio-principles article:before,.process-grid article:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(300px circle at var(--glow-x,50%) var(--glow-y,50%),#d0ff7138,transparent 75%);opacity:0;transition:opacity .35s;z-index:-1}.service:hover:before,.service:focus-within:before,.workflow:hover:before,.studio-principles article:hover:before,.process-grid article:hover:before{opacity:1}.service:hover,.service:focus-within{border-color:#829d55;box-shadow:0 18px 35px #1e340d1c,0 0 0 1px #a8bf79}.service-meta{position:relative}.service-icon{transition:transform .6s cubic-bezier(.2,1,.3,1);display:block}.service:hover .service-icon{transform:rotate(-14deg) scale(1.2)}.service h3{margin-top:30px}.service p{font-size:16px}.tags li{background:#f6f9ef66}.service-link{font-size:14px}.service-link span{transition:transform .3s}.service-link:hover span{transform:rotate(90deg)}
.expertise{margin-top:70px;border-top:1px solid #c1cab4;padding-top:30px}.expertise-heading{display:flex;align-items:center;justify-content:space-between;gap:35px}.expertise-heading h3{font-size:28px;margin:0}.expertise-heading p{max-width:330px;color:#62695b;font-size:16px;line-height:1.7}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.expertise details{border-color:#c1cab4;padding:24px 0}.expertise summary{font-size:20px;align-items:center}.expertise summary small{display:block;font-size:12px;letter-spacing:1.5px;margin-bottom:10px;color:#656f58}.expertise summary>span{font-size:20px;color:#202818;transform:none!important}.expertise summary b{font-weight:400;font-size:24px;transition:transform .3s}.expertise details[open] summary b{transform:rotate(45deg)}.expertise details p{color:#56604c;font-size:16px}.expertise details a{display:inline-block;font-size:14px;font-weight:600;border-bottom:1px solid #7d8f63;margin-top:18px;padding-bottom:5px}.expertise a:focus-visible,.expertise summary:focus-visible{outline-color:#344d1c}
.workflow{position:relative;isolation:isolate;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-2deg);transition:transform .3s ease,box-shadow .4s;background:#171d13ed;box-shadow:0 20px 60px #0005,0 0 65px #b5ff3610}.workflow:after{content:'';position:absolute;inset:-1px;border:1px solid #d0ff7150;border-radius:10px;pointer-events:none;animation:border-light 5s ease-in-out infinite}.flow-node{position:relative;animation:node-light 6s ease-in-out infinite}.flow-node:nth-of-type(4){animation-delay:2s}.flow-node:nth-of-type(6){animation-delay:4s}.flow-node strong{font-size:14px}.flow-connector{position:relative}.flow-connector:after{content:'';position:absolute;left:-3px;width:5px;height:7px;background:var(--lime);border-radius:8px;box-shadow:0 0 10px var(--lime);animation:flow-down 2s linear infinite}.workflow-plus{animation:spin 14s linear infinite}.possibility{padding-top:140px;padding-bottom:140px}.studio{border-top:1px solid #343e2b;overflow:clip}.studio:before{content:'';position:absolute;width:650px;height:650px;right:-300px;top:-100px;background:radial-gradient(circle,#cfff7120,transparent 65%);pointer-events:none;animation:breathe 9s ease-in-out infinite;z-index:-1}.studio h2{font-size:clamp(48px,6.6vw,92px);letter-spacing:-4px}.outline-text{color:transparent;-webkit-text-stroke:1px #b6d98b}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:48px}.studio-copy p{font-size:16px;line-height:1.85;color:var(--muted)}.studio-copy .large-copy{font-size:24px;line-height:1.5;color:#e1e9d5;letter-spacing:-.5px}.studio-copy a{display:inline-block;margin-top:20px}.studio-principles article{display:flex;gap:24px;padding:26px 22px;border-top:1px solid #3c4930;position:relative;isolation:isolate;border-radius:5px}.studio-principles article>span{font-size:12px;color:var(--lime);padding-top:7px}.studio-principles h3{font-size:23px;margin:0 0 10px}.studio-principles p{font-size:16px;line-height:1.7;margin:0;color:var(--muted)}.studio-coordinate{display:flex;justify-content:space-between;gap:25px;font-size:12px;letter-spacing:1.5px;color:#8e9d7c;border-top:1px solid #303d25;padding-top:27px;margin-top:70px}.process-grid article{position:relative;isolation:isolate;padding:24px;border:1px solid #344229;border-radius:8px;background:#151c12a8;transition:border-color .3s,transform .3s}.process-grid article:hover{border-color:#9cba6c;transform:translateY(-6px)}.process-number{border-top:0;padding-top:0}.process-grid p{font-size:16px}.approach:before{content:'';position:absolute;height:1px;top:0;left:5%;width:90%;background:linear-gradient(90deg,transparent,#cfff71,transparent);background-size:200% auto;animation:text-light 7s linear infinite}
.contact{overflow:clip;background:radial-gradient(ellipse at var(--contact-x,20%) var(--contact-y,50%),#efffc8 0%,#d0ff71 45%,#c2f55b 100%)}.contact:before{content:'';position:absolute;width:700px;height:700px;left:-370px;top:40px;border:1px solid #5d872c36;border-radius:50%;box-shadow:0 0 0 70px #608c2110,0 0 0 140px #608c210b;pointer-events:none;animation:halo-drift 13s ease-in-out infinite}.contact-grid{position:relative;z-index:1}.contact form{padding:30px;background:#efffc330;border:1px solid #6c943b42;border-radius:12px;box-shadow:0 20px 80px #537e1612}.contact-details{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:30px;font-size:16px;line-height:1.6}.contact-details a{border-bottom:1px solid #65803f;overflow-wrap:anywhere;max-width:100%}.contact-details span{font-size:14px;color:#4c6330}.contact-signoff{margin-top:24px}.contact-signoff>span{animation:spin 22s linear infinite}.contact input:not([type=radio]):focus,.contact textarea:focus{border-bottom-color:#253f0d;background:#ffffff16}.button{position:relative;overflow:hidden}.button:before{content:'';position:absolute;top:-40%;left:-100%;width:50%;height:180%;background:linear-gradient(90deg,transparent,#fff4,transparent);transform:skewX(-25deg);transition:left .65s}.button:hover:before{left:150%}.nav-cta:hover{box-shadow:0 0 22px #cfff7120;border-color:#adc782}.questions details{transition:padding .3s,background .3s}.questions details:hover{background:linear-gradient(90deg,#cfff7109,transparent)}.questions details[open]{padding-left:18px;border-left:2px solid #b1d87b}.social-links{display:flex;gap:18px}.social-links a:hover{color:var(--lime)}.footer{padding-bottom:90px}.footer .social-links{font-size:14px}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1;transform:none;filter:none;transition:none}.motion-paused .service,.motion-paused .workflow{transform:none!important}.motion-paused .process-grid article:hover{transform:none}.motion-paused .button:hover{transform:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(25px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes text-light{to{background-position:-250% center}}@keyframes breathe{50%{opacity:.5;transform:scale(.87)}}@keyframes border-light{50%{border-color:#d0ff7110;box-shadow:0 0 35px #d0ff7110}}@keyframes flow-down{from{top:0;opacity:0}20%{opacity:1}to{top:20px;opacity:0}}@keyframes node-light{0%,65%,100%{box-shadow:0 0 0 transparent}15%,40%{box-shadow:0 0 22px #b3ff7020;border-color:#93ac69}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes halo-drift{50%{transform:translate(50px,70px) scale(1.1)}}
@media(max-width:1100px){.service,.service:first-child,.service:last-child{padding:22px}.hero h1{font-size:clamp(52px,6.5vw,75px)}.hero .accent{white-space:normal}.service-grid{gap:12px}.header nav{gap:20px}.contact-grid{gap:6%}.contact form{padding:23px}.process-grid{gap:18px}.process-grid article{padding:22px 18px}.studio-grid{gap:8%}.hero-topline{gap:25px}.hero-topline span:last-child{text-align:right}.hero-bottom{gap:25px;line-height:1.8}}
@media(max-width:760px){.header{height:80px}.header nav>a:not(.nav-cta){display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch}.hero h1{font-size:clamp(49px,12vw,80px);letter-spacing:-3px}.hero .accent{font-size:.8em;white-space:normal}.hero-copy{padding:40px 0 0}.hero-description{max-width:95%}.hero-note{display:none}.hero-topline span:last-child{display:none}.scene{height:390px;margin:10px 0 0}.scene-label.top{display:none}.scene-coord{right:0;font-size:12px}.hero-bottom{flex-direction:column;gap:12px}.service-grid{grid-template-columns:1fr;gap:20px}.service,.service:first-child,.service:last-child{padding:28px;border:1px solid #c6d3b3}.service p{max-width:none}.expertise{margin-top:45px}.expertise-heading{display:block}.expertise-heading p{max-width:none}.expertise-grid{grid-template-columns:1fr}.expertise summary>span{font-size:18px}.possibility{padding-top:80px;padding-bottom:80px;grid-template-columns:1fr;gap:45px}.studio h2{font-size:clamp(43px,10vw,65px);letter-spacing:-2px}.studio-grid{grid-template-columns:1fr;gap:35px;margin-top:20px}.studio-coordinate{flex-direction:column;line-height:1.7;gap:12px;margin-top:35px}.process-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy h2{font-size:clamp(38px,10vw,60px)}.contact-details{margin-top:25px}.contact-signoff{display:none}.contact form{padding:23px 19px}.footer .social-links{flex-wrap:wrap;gap:10px 16px}.faq{grid-template-columns:1fr}.scroll-progress{height:2px}.kinetic-band{padding:18px 0}.scene-label.bottom{font-size:12px;letter-spacing:1px}.hero-actions{gap:20px}.hero-bottom b{margin:0 5px}.contact:before{opacity:.6}}
html.motion-paused{scroll-behavior:auto}.motion-paused .hero-copy,.motion-paused .scene{animation:none;opacity:1;transform:none;filter:none}.motion-paused *, .motion-paused *:before,.motion-paused *:after{transition:none!important}
@media(max-width:760px){.section-intro{display:block}.section-intro>p{max-width:none}.footer{gap:24px}.footer>*{width:44%}.contact-details a{font-size:15px}.scene-coord{right:0}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;filter:none}.hero-copy,.scene{opacity:1;transform:none;filter:none}.service,.workflow{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
