:root{--ninova-forest: #1F7A4D;--ninova-fresh: #3DBE7A;--ninova-mint: #9BE3B9;--ninova-mist: #EEF7F1;--ninova-white: #FFFFFF;--ninova-deep: #0F2A1D;--muted: #4E6B5C;--line: #D9EBE0;--radius: 20px;--ease: cubic-bezier(.2, .7, .2, 1);--wrap: 1200px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(1200px 700px at 85% 10%,rgba(155,227,185,.28),transparent 60%),radial-gradient(900px 600px at 0% 100%,rgba(238,247,241,1),transparent 70%),var(--ninova-white);background-attachment:fixed;color:var(--ninova-deep);font-family:Manrope,Segoe UI,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--ninova-forest)}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100lvh;z-index:0;opacity:0;transition:opacity 1.4s var(--ease);pointer-events:none}#gl.ready{opacity:1}main,.footer{position:relative;z-index:1}main{pointer-events:none}main .wrap>*,main .scroll-cue{pointer-events:auto}#gl-css{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.4s var(--ease)}#gl-css.ready{opacity:1}.pane3d{width:1280px;height:900px;background:var(--ninova-white);border:2px solid var(--ninova-mint);border-radius:22px;overflow:hidden;box-shadow:0 60px 120px -50px #0f2a1d73,0 20px 40px -24px #0f2a1d40;pointer-events:auto;cursor:pointer}.pane3d .bar{display:flex;align-items:center;gap:12px;height:52px;padding:0 22px;background:var(--ninova-mist);font:600 18px/1 Manrope,sans-serif;color:var(--muted)}.pane3d .bar i{width:14px;height:14px;border-radius:50%;background:var(--ninova-mint)}.pane3d .bar i:nth-child(2){background:var(--ninova-fresh)}.pane3d .bar i:nth-child(3){background:var(--ninova-forest)}.pane3d .bar span{margin:0 auto;padding:8px 60px;background:var(--ninova-white);border-radius:999px}.pane3d .bar b{color:var(--ninova-forest);font-weight:800;opacity:0;transition:opacity .3s var(--ease)}.pane3d:hover .bar b{opacity:1}.pane3d iframe{display:block;width:1280px;height:848px;border:0;pointer-events:none}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.aurora span{position:absolute;width:70vmax;height:70vmax;border-radius:50%;background:radial-gradient(closest-side,#9be3b961,#9be3b900);will-change:transform}.aurora span:nth-child(1){top:-30vmax;right:-20vmax;animation:drift-a 26s ease-in-out infinite alternate}.aurora span:nth-child(2){bottom:-35vmax;left:-25vmax;background:radial-gradient(closest-side,#3dbe7a29,#3dbe7a00);animation:drift-b 32s ease-in-out infinite alternate}.aurora span:nth-child(3){top:30%;left:35%;width:45vmax;height:45vmax;background:radial-gradient(closest-side,#eef7f1e6,#eef7f100);animation:drift-c 22s ease-in-out infinite alternate}@keyframes drift-a{to{transform:translate(-18vmax,14vmax) scale(1.15)}}@keyframes drift-b{to{transform:translate(22vmax,-12vmax) scale(1.2)}}@keyframes drift-c{to{transform:translate(-20vmax,-10vmax) scale(.85)}}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px)}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:20}.progress span{display:block;height:100%;width:100%;background:var(--ninova-fresh);transform-origin:0 50%;transform:scaleX(0)}.nav{position:fixed;top:0;left:0;right:0;z-index:10;transition:background .4s var(--ease),box-shadow .4s var(--ease)}.nav.scrolled{background:#ffffffc7;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 var(--line)}.nav-inner{display:flex;align-items:center;gap:24px;height:76px}.brand img{width:164px;height:auto}.nav nav{display:flex;gap:32px;margin-left:auto}.nav nav a{color:var(--ninova-deep);text-decoration:none;font-weight:600;font-size:15px;position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--ninova-fresh);transform:scaleX(0);transition:transform .35s var(--ease)}.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 30px;border-radius:0;letter-spacing:.01em;font:700 16px/1 Manrope,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}.btn.small{height:42px;padding:0 22px;font-size:14px}.btn.primary{background:var(--ninova-forest);color:var(--ninova-white)}.btn.primary:hover{background:var(--ninova-deep);transform:translateY(-2px)}.btn.ghost{color:var(--ninova-forest);background:transparent;box-shadow:inset 0 0 0 1.5px var(--ninova-forest)}.btn.ghost:hover{background:var(--ninova-forest);color:var(--ninova-white);transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ninova-fresh);outline-offset:3px}.eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ninova-forest)}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.02em}h1{font-size:clamp(46px,6.6vw,96px);line-height:1;letter-spacing:-.035em}h2{font-size:clamp(32px,4vw,54px);line-height:1.06;letter-spacing:-.03em;margin-bottom:36px}h3{font-size:20px;letter-spacing:-.01em}.lead{font-size:clamp(18px,1.5vw,21px);color:var(--muted);max-width:34ch;margin:26px 0 0}.grow{position:relative;display:inline-block;color:var(--ninova-forest)}.grow>span{display:inline-block;animation:hop 4.5s calc(1.2s + var(--i) * .09s) var(--ease) infinite}@keyframes hop{0%,16%,to{transform:translateY(0)}7%{transform:translateY(-.14em)}12%{transform:translateY(.015em)}}section{position:relative}.hero,.services,.statement,.contact{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:120px 0}.hero>.wrap,.services>.wrap,.statement>.wrap,.contact>.wrap{width:100%}.col{width:min(560px,48%)}.col.right{margin-left:auto}.hero-copy{max-width:640px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none}.scroll-cue i{width:2px;height:44px;border-radius:2px;background:linear-gradient(var(--ninova-fresh),transparent);animation:cue 2.2s var(--ease) infinite;transform-origin:top}@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}to{transform:scaleY(1);opacity:0}}.service-list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}.service-list li{display:grid;grid-template-columns:52px 1fr;gap:8px;padding:24px 0;border-bottom:1px solid var(--line);transition:transform .4s var(--ease)}.service-list li:hover{transform:translate(6px)}.service-list .num{font-weight:800;font-size:14px;color:var(--ninova-forest);padding-top:3px}.service-list p{margin:6px 0 0;color:var(--muted);font-size:16px}.big{margin:0;font-size:clamp(44px,5.8vw,84px);font-weight:800;line-height:1.02;letter-spacing:-.035em}.big span{color:var(--ninova-forest)}.pillars{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:22px}.pillars li{position:relative;padding-left:30px;color:var(--muted)}.pillars li:before{content:"";position:absolute;left:0;top:.32em;width:14px;height:14px;background:var(--ninova-fresh);clip-path:path("M7 0Q7 7 14 7Q7 7 7 14Q7 7 0 7Q7 7 7 0Z")}.pillars b{display:block;color:var(--ninova-deep);font-size:19px;margin-bottom:2px}.process{height:400vh}.step-marker{position:absolute;left:0;top:calc(var(--i) * 100vh);width:1px;height:100vh;pointer-events:none}.process-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;padding:76px 0 24px}.process-pin>.wrap{width:100%}.process h2{margin-bottom:28px}.steps{position:relative;list-style:none;margin:0;padding:0}.steps:before,.steps:after{content:"";position:absolute;left:20px;top:22px;bottom:40px;width:2px;background:var(--line)}.steps:after{background:var(--ninova-forest);transform-origin:top;transform:scaleY(var(--p));transition:transform .2s linear}.steps li{position:relative;z-index:1;padding-bottom:18px}.steps button{display:flex;align-items:center;gap:22px;width:100%;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.steps b{flex:none;width:42px;height:42px;display:grid;place-items:center;background:var(--ninova-white);border:1.5px solid var(--line);font-size:14px;font-weight:800;color:var(--muted);transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease)}.steps span{font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--muted);opacity:.55;transition:color .5s var(--ease),opacity .5s var(--ease),font-size .5s var(--ease)}.steps button:hover span{opacity:.9}.steps .done b{background:var(--ninova-mist);border-color:var(--ninova-forest);color:var(--ninova-forest)}.steps .active b{background:var(--ninova-forest);border-color:var(--ninova-forest);color:var(--ninova-white);transform:scale(1.08)}.steps .active span{color:var(--ninova-deep);opacity:1;font-size:30px}.step-body{display:grid;grid-template-rows:0fr;padding-left:64px;transition:grid-template-rows .6s var(--ease)}.step-body p{overflow:hidden;margin:0;color:var(--muted);font-size:17px;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.steps .active .step-body{grid-template-rows:1fr}.steps .active .step-body p{opacity:1;transform:none;padding-top:6px;transition-delay:.15s}.work{padding:140px 0 120px}.work-head{max-width:640px;margin-bottom:48px}.work-head h2{margin-bottom:12px}.note{margin:0;color:var(--muted);font-size:15px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{display:block;color:inherit;text-decoration:none;background:var(--ninova-white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px #0f2a1d59}.shot{background:var(--ninova-mist);overflow:hidden}.shot .frame,.shot iframe{display:block}.shot{position:relative;aspect-ratio:1280 / 900;padding:0;border-bottom:1px solid var(--line)}.shot iframe{position:absolute;top:0;left:0;width:400%;height:400%;border:0;transform:scale(.25);transform-origin:0 0;pointer-events:none;background:var(--ninova-white)}.card .view{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:var(--ninova-forest);border-bottom:2px solid var(--ninova-mint);transition:border-color .3s var(--ease)}.card:hover .view{border-color:var(--ninova-forest)}.card-body{padding:20px 22px 24px}.card-body p{margin:4px 0 0;color:var(--muted);font-size:15px}.contact-form{margin-top:34px;display:grid;gap:16px}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;font:500 16px/1.4 Manrope,sans-serif;color:var(--ninova-deep);background:var(--ninova-white);border:1.5px solid var(--line);border-radius:0;padding:12px 14px;resize:vertical;transition:border-color .3s var(--ease)}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--ninova-mint)}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#c2410c}.form-error{margin:0;color:#c2410c;font-size:14px;font-weight:600}.contact-form .btn{justify-self:start}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:clamp(0px,3vw,40px);background:#0f2a1d8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .35s var(--ease)}.viewer[hidden]{display:none}.viewer.open{opacity:1}.viewer-panel{display:flex;flex-direction:column;width:min(1320px,100%);height:100%;background:var(--ninova-white);box-shadow:0 40px 100px -30px #00000080;overflow:hidden;transform:translateY(24px) scale(.97);transition:transform .45s var(--ease)}.viewer.open .viewer-panel{transform:none}.viewer-bar{display:flex;align-items:center;gap:16px;height:56px;padding:0 10px 0 18px;border-bottom:1px solid var(--line);background:var(--ninova-mist);flex:none}.viewer-dots{display:flex;gap:7px}.viewer-dots i{width:11px;height:11px;border-radius:50%;background:var(--ninova-mint)}.viewer-dots i:nth-child(2){background:var(--ninova-fresh)}.viewer-dots i:nth-child(3){background:var(--ninova-forest)}#viewer-title{margin:0;font-weight:800;font-size:16px}.viewer-tag{font-size:13px;color:var(--muted)}.viewer-open{margin-left:auto;font-size:14px;font-weight:700;color:var(--ninova-forest)}.viewer-close{width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;color:var(--ninova-deep)}.viewer-close:hover{background:var(--ninova-white)}.viewer-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.viewer iframe{flex:1;width:100%;border:0}.footer{padding:48px 0 56px;border-top:1px solid var(--line);background:#ffffffd9}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}.footer p{margin:0;color:var(--muted);font-size:15px}.footer .small{margin-left:auto;font-size:13px}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d, 0s)}.reveal.in{opacity:1;transform:none}@media (max-aspect-ratio: 21/20),(max-width: 760px){.nav nav{display:none}.nav .btn{margin-left:auto}.brand img{width:136px}.nav-inner{height:64px}.col,.col.right{width:100%;margin:0}.hero{align-items:flex-end;padding:52vh 0 110px}.hero-copy{max-width:none}.services,.statement,.contact{padding:34vh 0 80px;align-items:flex-start}.process-pin{align-items:flex-end;padding-bottom:40px}.steps .active span{font-size:24px}.work-grid{grid-template-columns:1fr}.viewer-tag,.viewer-open{display:none}.viewer-close{margin-left:auto}.contact-form .row{grid-template-columns:1fr}.footer .small{margin-left:0}}@media (max-width: 760px){body{font-size:16px}.btn{height:50px}.hero{padding-top:46vh}.scroll-cue{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.grow>span{animation:none}.aurora span,.scroll-cue i{animation:none}#gl,#gl-css,.viewer,.viewer-panel{transition:none}}
