@font-face{font-family:DM Sans;src:url("assets/fonts/dm-sans-latin.woff2") format("woff2");font-style:normal;font-weight:100 1000;font-display:swap}
:root{color-scheme:dark;--ns-paper:#f5f4ef;--ns-ink:#060708;--ns-blue:#3159e8;--ns-blue-on-dark:#8faeff;--ns-ice:#afcbff;--ns-width:1360px;--ns-gutter:clamp(22px,4.6vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body.nl-studio{margin:0;background:#000;color:#fff;font-family:DM Sans,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;--paper:#000;--ink:#fff;--blue:#3159e8}
.nl-studio a{color:inherit;text-decoration:none}.nl-studio img{max-width:100%;height:auto}.nl-studio button,.nl-studio input,.nl-studio select,.nl-studio textarea{font:inherit}.nl-studio button,.nl-studio a{-webkit-tap-highlight-color:transparent}.nl-studio button{cursor:pointer}.nl-studio :focus-visible{outline:2px solid #aeccff;outline-offset:5px}.nl-studio [hidden]{display:none!important}.ns-wrap{width:min(calc(100% - 2 * var(--ns-gutter)),var(--ns-width));margin-inline:auto}.ns-kicker{font-size:13px;line-height:1.5;font-weight:500;letter-spacing:.02em;margin:0 0 22px;color:#9bc0ff}
.ns-skip{position:fixed;z-index:100;left:20px;top:-100px;padding:12px 18px;background:#fff;color:#000!important}.ns-skip:focus{top:16px}
.ns-header{position:fixed;inset:20px 0 auto;z-index:40;background:transparent}.ns-header.is-scrolled{background:transparent;box-shadow:none}.ns-header-inner{width:min(calc(100% - 2 * var(--ns-gutter)),var(--ns-width));height:108px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:38px}.ns-logo{display:block;width:160px;flex:none;line-height:0}.ns-logo img{width:100%;height:auto}.ns-nav{display:flex;align-items:center;gap:clamp(16px,2vw,34px);font-size:16px;line-height:1.5}.ns-nav a{padding:10px 0;white-space:nowrap;transition:color .2s}.ns-nav a:hover{color:#9cc0ff}.ns-menu-toggle{display:none;align-items:center;gap:12px;padding:11px 0;color:#fff;background:none;border:0;font-size:14px}.ns-menu-toggle i{width:29px;height:13px;border-block:1.5px solid currentColor}.ns-menu{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:26px var(--ns-gutter) 48px;border:0;background:#08090c;color:white;overflow-y:auto}.ns-menu::backdrop{background:#000b}.ns-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:65px}.ns-menu-top img{width:130px}.ns-menu-top button{background:transparent;border:0;color:white;display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 12px;border-radius:999px}.ns-menu-top button span{font-size:30px}#ns-menu-title:focus{outline:none}.ns-menu-top [data-close-menu]:focus-visible{outline:2px solid #aeccff;outline-offset:4px}.ns-menu nav{display:grid;gap:14px;font-size:clamp(24px,5vw,42px);line-height:1.3;letter-spacing:-.035em}.ns-menu nav a:hover{color:#a4c5ff}.ns-menu-mail{display:inline-block;margin-top:38px;color:#a4c5ff!important;font-size:15px}body:has(.ns-menu[open]){overflow:hidden}
.ns-hero{position:relative;isolation:isolate;height:calc(100svh + 104px);min-height:750px;overflow:clip;background:#000}.ns-hero-glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 74% 65% at 50% 98%,#7b9fdc 0%,#537fcc 33%,#16356a 60%,#000a1b 79%,#000 100%)}#ns-orb{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block;opacity:0;transition:opacity .65s;pointer-events:none}#ns-orb.is-ready{opacity:1}.ns-orb-poster{position:absolute;width:82vw;height:82vw;max-width:1600px;max-height:1600px;border-radius:50%;left:50%;top:57svh;transform:translateX(-50%);z-index:-1;background:radial-gradient(ellipse 24% 18% at 28% 16%,#fff8 0%,#fff0 100%),radial-gradient(ellipse at 70% 18%,#a6bfe9 0%,#87abea 35%,#6698ed 63%,#2c4e89 92%);box-shadow:0 -15px 100px #87aceb38}.ns-hero:has(#ns-orb.is-ready) .ns-orb-poster{visibility:hidden}.ns-hero-copy{position:relative;z-index:2;text-align:center;padding:228px var(--ns-gutter) 0;display:flex;flex-direction:column;align-items:center;gap:40px}.ns-categories{display:flex;align-items:center;justify-content:center;gap:15px;font-size:24px;line-height:30px;font-weight:500;color:var(--ns-blue-on-dark)}.ns-categories a{color:inherit}.ns-categories a:hover{color:#bad3ff}.ns-categories i{display:block;width:5px;height:5px;background:#39343c;border-radius:50%;flex:none}.ns-hero h1{font-size:52px;font-weight:700;line-height:1.1;letter-spacing:-.038em;margin:0;max-width:1120px}.ns-hero-copy>p{font-size:24px;line-height:1.35;font-weight:450;letter-spacing:-.018em;max-width:1050px;margin:0;text-wrap:balance}.ns-hero-explore{position:absolute;z-index:3;left:50%;bottom:45px;display:flex;align-items:center;gap:20px;transform:translateX(-50%);font-size:12px;white-space:nowrap;padding:10px 16px;color:#fff!important}.ns-hero-explore i{font-style:normal;font-size:22px;transition:transform .2s}.ns-hero-explore:hover i{transform:translateY(4px)}
.ns-film{padding-block:72px 90px}.ns-film-frame{aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#101215}.ns-film-video{display:block;width:100%;height:100%;object-fit:cover}
.nl-studio .nv-work{padding:50px var(--ns-gutter) 112px;background:#000;color:#fff;scroll-margin-top:108px}.nl-studio .nv-work-intro,.nl-studio .nv-work-grid{max-width:var(--ns-width)}.nl-studio .nv-work-intro{grid-template-columns:1.2fr 1fr;gap:18px 10%;align-items:start;margin-bottom:52px}.nl-studio .nv-work-kicker{color:#9cc0ff;font-size:13px;letter-spacing:.02em;margin-bottom:14px}.nl-studio .nv-work-intro h2{font-size:clamp(36px,4.5vw,62px);letter-spacing:-.04em;font-weight:600;max-width:650px}.nl-studio .nv-work-lead{color:#b4bac5;font-size:18px;max-width:470px}.nl-studio .nv-work-grid{gap:65px 35px}.nl-studio .nv-work-visual{box-shadow:none;border-color:#ffffff26;border-radius:8px;aspect-ratio:1.34}.nl-studio .nv-work-caption{padding-top:23px;gap:14px}.nl-studio .nv-work-service{color:#acb8cc;font-size:13px;margin-bottom:8px}.nl-studio .nv-work-caption h3{font-weight:500;font-size:clamp(23px,2.15vw,31px);letter-spacing:-.03em}.nl-studio .nv-work-index{display:none}.nl-studio .nv-work-arrow{border:0;color:#cfe1ff;background:none;font-size:29px}.nl-studio .nv-work-card:hover .nv-work-arrow{background:none;color:#9fc2ff;transform:translate(3px,-3px)}.nl-studio .nv-work-card:hover .nv-work-caption h3{color:#b9d3ff}
.nl-studio .nhai-focus{background:radial-gradient(ellipse 68% 65% at 12% 60%,#20375f 0%,#101318 66%,#0c0e12 100%);padding:100px var(--ns-gutter);scroll-margin-top:108px;color:white}.nl-studio .nhai-focus-grid{max-width:var(--ns-width);gap:clamp(35px,6vw,85px)}.nl-studio .nhai-copy .nl-kicker{font-size:13px;letter-spacing:.02em;color:#a9c9ff}.nl-studio .nhai-dot{background:#8cb6ff}.nl-studio .nhai-copy h2{font-size:clamp(36px,3.8vw,55px);font-weight:600;letter-spacing:-.04em}.nl-studio .nhai-copy h2 em{color:#abcaff}.nl-studio .nhai-copy>p:not(.nl-kicker){color:#bdc4cf;font-size:17px;line-height:1.6}.nl-studio .nhai-copy>p.nhai-budget{color:#bfd6ff;font-size:14px}.nl-studio .nhai-copy .nhai-cta{background:#3159e8;color:#fff;font-size:13px;padding:17px 22px;border-radius:4px;max-width:100%}.nl-studio .nhai-copy .nhai-cta:hover{background:#2445be}.nl-studio .nhai-workspace{color:#1e2634;border-color:#8092b141;border-radius:9px;box-shadow:0 25px 80px #0004}
.ns-method{padding-block:112px}.ns-editorial-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end;margin-bottom:60px}.ns-editorial-heading h2,.ns-cabinet-copy h2{font-size:clamp(38px,4.5vw,64px);line-height:1.08;letter-spacing:-.04em;margin:0;font-weight:600}.ns-editorial-heading>p{font-size:18px;line-height:1.65;color:#b3bac6;max-width:460px;margin:0}.ns-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.ns-steps article{border-top:1px solid #ffffff37;padding-top:22px}.ns-steps article>span{color:#92b8f9;font-size:13px}.ns-steps h3{font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:21px 0 14px}.ns-steps p{font-size:15px;color:#a4abb8;line-height:1.6;margin:0}.ns-method-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:52px}.ns-method-bottom p{font-size:16px;line-height:1.65;color:#afb7c5;margin:0}.ns-method-bottom strong{font-weight:500;color:#fff}.ns-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #ffffff70;padding:12px 0;font-size:16px;line-height:1.5}.ns-text-link>span{font-size:25px}.ns-text-link:hover{color:#a7c7ff}
.ns-cabinets{padding-block:102px;background:radial-gradient(ellipse at 100% 50%,#283b5c 0%,#12171f 50%,#0d1016 100%);scroll-margin-top:106px}.ns-cabinet-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.ns-cabinet-copy>p:not(.ns-kicker){font-size:18px;line-height:1.65;color:#bfc4ce;max-width:460px;margin:28px 0}.ns-pennylane{display:flex;align-items:center;gap:13px;margin:28px 0 20px}.ns-pennylane img{width:44px;height:44px;object-fit:contain;background:white;border-radius:9px;padding:5px}.ns-pennylane strong,.ns-pennylane small{display:block}.ns-pennylane strong{font-size:15px;font-weight:500}.ns-pennylane small{font-size:12px;color:#b9c1cf;margin-top:2px}.ns-cabinet-example{min-width:0}.ns-cabinet-example .nv-work-visual{aspect-ratio:1.34;border-radius:8px}
.ns-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;padding-block:112px 100px;scroll-margin-top:106px}.ns-contact h2{font-size:clamp(40px,5vw,72px);font-weight:600;line-height:1.06;letter-spacing:-.045em;margin:0}.ns-contact-copy>p:not(.ns-kicker){font-size:17px;line-height:1.7;color:#b3bbc8;margin:30px 0;max-width:420px}.ns-contact-email{display:flex;align-items:center;justify-content:space-between;font-size:21px;border-bottom:1px solid #ffffff5c;padding-bottom:15px;max-width:370px;gap:20px;letter-spacing:-.02em}.ns-contact-email span{font-size:25px}.ns-form{min-width:0}.ns-form fieldset{border:0;padding:0;margin:0;min-width:0}.ns-form legend{font-size:22px;font-weight:500;margin-bottom:32px;letter-spacing:-.025em}.ns-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ns-form label{display:block;margin-bottom:24px;font-size:13px;color:#d6dde9}.ns-form label>span{color:#89919f;font-size:11px}.ns-form input,.ns-form select,.ns-form textarea{display:block;width:100%;margin-top:9px;border:0;border-bottom:1px solid #ffffff42;background:#ffffff04;color:#fff;padding:10px 0 12px;min-width:0;border-radius:0;outline-offset:3px;resize:vertical;font-size:15px}.ns-form select{color-scheme:dark;min-height:46px}.ns-form select option{background:#12171f}.ns-form textarea{min-height:103px}.ns-form input:focus,.ns-form textarea:focus,.ns-form select:focus{border-bottom-color:#a1c3ff}.ns-form ::placeholder{color:#7d8696}.ns-form .mail-explanation{color:#9aa2af;font-size:12px;line-height:1.6;margin:0 0 20px;max-width:450px}.ns-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:#3159e8;border:0;color:#fff;padding:16px 24px;border-radius:4px;font-size:14px;min-height:52px;transition:background .2s}.ns-button:hover{background:#2445be}.ns-button span{font-size:21px;line-height:1}.contact-status{font-size:13px;line-height:1.6;color:#c7d7f3}.contact-relay{margin-top:15px}
.ns-footer{padding-block:48px 30px;border-top:1px solid #ffffff30}.ns-footer-top{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:40px;align-items:start}.ns-footer-top img{width:160px}.ns-footer-top nav{display:grid;gap:10px;font-size:15px}.ns-footer-top>a:last-child{justify-self:end;font-size:17px}.ns-footer-top a:hover{color:#a4c5ff}.ns-footer-bottom{display:flex;align-items:center;gap:30px;font-size:12px;color:#828b9a;border-top:1px solid #ffffff1c;margin-top:55px;padding-top:23px}.ns-footer-bottom>a{margin-left:auto;color:white;font-size:28px;line-height:1}
@media(min-width:1800px){.ns-hero-copy{padding-top:clamp(222px,30svh,354px)}.ns-hero h1{font-size:60px}.ns-hero-copy>p{font-size:25px}}
@media(max-width:1050px){.ns-nav{gap:20px;font-size:14px}.ns-header-inner{gap:20px}.ns-logo{width:135px}.ns-hero h1{font-size:46px}.ns-hero-copy>p{font-size:21px;max-width:870px}.ns-categories{font-size:22px}.ns-hero-copy{gap:32px}.ns-editorial-heading{gap:7%}.ns-cabinet-grid{gap:6%}.ns-contact{gap:7%}.ns-form-pair{gap:18px}.ns-steps{gap:22px}.ns-steps h3{font-size:23px}.ns-cabinet-copy>p:not(.ns-kicker){font-size:16px}}
@media(max-width:900px){.ns-nav{display:none}.ns-menu-toggle{display:flex}.ns-header-inner{height:86px}.ns-logo{width:135px}.ns-hero{height:calc(100svh + 70px);min-height:720px}.ns-hero-copy{padding-top:calc(27svh - 24px)}.ns-hero h1{font-size:44px}.ns-hero-copy>p{font-size:20px}.ns-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}.ns-cabinet-grid{grid-template-columns:1fr;gap:45px}.ns-cabinet-copy{max-width:670px}.ns-cabinet-copy>p:not(.ns-kicker){max-width:590px}.ns-cabinet-example{max-width:760px}.ns-contact{grid-template-columns:1fr;gap:50px}.ns-contact-copy>p:not(.ns-kicker){max-width:590px}.ns-contact-email{max-width:420px}.nl-studio .nhai-focus-grid{grid-template-columns:1fr;gap:40px}.nl-studio .nhai-copy>p:not(.nl-kicker){max-width:640px}.nl-studio .nhai-workspace{max-width:760px;width:100%}}
@media(max-width:640px){:root{--ns-gutter:22px}html{scroll-padding-top:86px}.ns-header-inner{height:80px}.ns-logo{width:121px}.ns-menu-toggle{font-size:12px}.ns-hero{height:100svh;min-height:620px}.ns-hero-copy{padding-top:clamp(157px,calc(27svh - 22px),213px);gap:25px}.ns-categories{font-size:19px;line-height:24px;gap:11px}.ns-categories i{width:4px;height:4px}.ns-hero h1{font-size:34px;max-width:460px;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.ns-hero-copy>p{font-size:18px;line-height:1.45;max-width:430px}.ns-hero-explore{bottom:27px;font-size:11px}.ns-orb-poster{width:160vw;height:160vw;top:57svh}.ns-hero-glow{background:radial-gradient(ellipse 120% 55% at 50% 95%,#82a3dd 0%,#416cb5 40%,#0e244a 70%,#000 100%)}.ns-film{padding-block:50px 65px}.ns-film-frame{border-radius:4px}.nl-studio .nv-work{padding-top:25px;padding-bottom:70px}.nl-studio .nv-work-intro{grid-template-columns:1fr;gap:18px;margin-bottom:32px}.nl-studio .nv-work-intro h2{font-size:37px}.nl-studio .nv-work-lead{font-size:16px}.nl-studio .nv-work-grid{grid-template-columns:1fr;gap:40px}.nl-studio .nv-work-caption h3{font-size:25px}.nl-studio .nv-work-caption{padding-top:18px}.nl-studio .nhai-focus{padding-block:65px}.nl-studio .nhai-copy h2{font-size:36px}.nl-studio .nhai-copy>p:not(.nl-kicker){font-size:16px}.nl-studio .nhai-copy .nhai-cta{font-size:12px;gap:15px;padding:15px 17px}.ns-method{padding-block:70px}.ns-editorial-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.ns-editorial-heading h2,.ns-cabinet-copy h2{font-size:39px}.ns-editorial-heading>p{font-size:16px}.ns-steps{gap:34px 22px}.ns-steps h3{font-size:21px;margin-top:18px}.ns-steps p{font-size:14px}.ns-method-bottom{align-items:start;flex-direction:column;gap:25px;margin-top:35px}.ns-method-bottom p{font-size:15px}.ns-text-link{font-size:14px}.ns-cabinets{padding-block:65px}.ns-cabinet-copy>p:not(.ns-kicker){font-size:16px}.ns-contact{padding-block:70px}.ns-contact h2{font-size:48px}.ns-contact-copy>p:not(.ns-kicker){font-size:16px}.ns-contact-email{font-size:20px}.ns-form legend{font-size:21px;margin-bottom:27px}.ns-form-pair{grid-template-columns:1fr;gap:0}.ns-form label{margin-bottom:22px}.ns-footer{padding-top:35px}.ns-footer-top{grid-template-columns:1fr 1fr;gap:32px 24px}.ns-footer-top img{width:125px}.ns-footer-top>a:last-child{grid-column:1/-1;justify-self:start;font-size:18px}.ns-footer-top nav{font-size:13px;gap:11px}.ns-footer-bottom{flex-wrap:wrap;gap:14px;margin-top:35px;font-size:10px}.ns-footer-bottom>a{margin-left:auto}.ns-menu-top{margin-bottom:45px}}
@media(max-width:360px){.ns-hero h1{font-size:30px}.ns-hero-copy>p{font-size:16px}.ns-categories{font-size:18px}.ns-steps{grid-template-columns:1fr}}
@media(min-width:641px) and (max-height:540px){.ns-header-inner{height:76px}.ns-hero{height:calc(100svh + 80px);min-height:0}.ns-hero-copy{padding-top:105px;gap:20px}.ns-categories{font-size:18px;line-height:24px}.ns-hero h1{font-size:35px}.ns-hero-copy>p{font-size:17px;max-width:780px}.ns-hero-explore{bottom:22px}.ns-orb-poster{top:70svh}.ns-header .ns-logo{width:125px}.ns-nav{font-size:12px;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.ns-hero #ns-orb{opacity:1}}
@media(max-width:640px) and (max-height:650px){.ns-hero{min-height:560px}.ns-hero-copy{padding-top:126px;gap:20px}.ns-hero h1{font-size:30px}.ns-hero-copy>p{font-size:16px;line-height:1.45}.ns-categories{font-size:18px}.ns-hero-explore{bottom:18px}}
@media(max-width:360px) and (max-height:650px){.ns-hero h1{font-size:28px}.ns-hero-copy>p{font-size:15px}}
@media(min-width:641px) and (max-height:540px){.ns-orb-poster{top:77svh}}

/* Motion follows the editorial sequence without pinning or changing its height. */
@media(prefers-reduced-motion:no-preference){
 .ns-hero-copy .ns-categories{animation:ns-hero-in .7s ease backwards}
 .ns-hero-copy h1{animation:ns-hero-in .8s .1s ease backwards}
 .ns-hero-copy>p{animation:ns-hero-in .8s .2s ease backwards}
 .nl-studio.has-section-reveals .ns-section-reveal{opacity:1;translate:0 12px;transition:translate .42s cubic-bezier(.22,1,.36,1)}
 .nl-studio.has-section-reveals .ns-section-reveal.is-entered{opacity:1;translate:0 0}
}
/* Essential copy stays readable even when a browser suspends animation timing. */
.ns-hero-copy :is(.ns-categories,h1),.ns-hero-copy>p{opacity:1;visibility:visible}
.ns-hero h1,.ns-hero-copy>p{color:#fff}
.ns-nav,.ns-menu{color:#fff}
.ns-nav a:any-link,.ns-menu nav a:any-link{color:#fff;transition:none}
.ns-nav a:any-link:hover,.ns-menu nav a:any-link:hover{color:#a4c5ff}
@keyframes ns-hero-in{from{transform:translateY(16px)}to{transform:none}}
.ns-hero .ns-orb-poster{top:var(--ns-orb-top,57svh)}
.nl-studio main>section[id]{scroll-margin-top:0}
.ns-brochure-link{display:inline-flex;align-items:center;gap:18px;margin-top:24px;font-size:14px;color:#b8d2ff!important;border-bottom:1px solid #b8d2ff66;padding-bottom:7px}.ns-brochure-link:hover{color:#fff!important}.ns-brochure-link span{font-size:19px}
@media(max-width:1100px){.ns-nav{display:none}.ns-menu-toggle{display:flex}.ns-header-inner{height:86px}.ns-logo{width:135px}}
@media(max-width:640px){.ns-header-inner{height:80px}.ns-logo{width:121px}.ns-form input,.ns-form select,.ns-form textarea{font-size:16px}}
.nl-studio .ns-offer-tags{display:flex;flex-wrap:wrap;gap:7px 14px;margin:18px 0 0;padding:0;list-style:none;color:#bdc7d9;font-size:12px;line-height:1.5}
.nl-studio .ns-offer-tags li{border:0;border-radius:0;padding:0}
.nl-studio .nv-work-caption{align-items:start}
.nl-studio .nv-work-caption .nv-work-arrow{margin-top:20px}
@media(max-width:640px){.nl-studio .ns-offer-tags{font-size:12px;gap:6px 12px;margin-top:14px}.nl-studio .ns-offer-tags li{padding:0}}

/* Floating black navigation, with the current Studio links and alignment. */
.ns-header-inner{width:min(calc(100% - 2 * var(--ns-gutter) + 48px),calc(var(--ns-width) + 48px));height:68px;padding:0 24px;border:1px solid #ffffff21;border-radius:100px;background:linear-gradient(180deg,#121417fa,#090a0cfa 72%);box-shadow:inset 0 1px 0 #ffffff12,0 7px 24px #0005,0 2px 5px #0006;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:visible}
.ns-header .ns-logo{width:136px}.ns-header .ns-nav{font-size:15px}
.ns-hero h1 span{display:block;white-space:nowrap}
@media(max-width:1100px){.ns-header-inner{height:64px}.ns-header .ns-logo{width:124px}}
@media(max-width:640px){.ns-header{top:12px}.ns-header-inner{width:calc(100% - 24px);height:60px;padding-inline:20px}.ns-header .ns-logo{width:112px}.ns-menu-toggle{min-height:44px}.ns-hero h1{font-size:clamp(19px,5.9vw,34px);line-height:1.2;max-width:100%}}
@media(min-width:641px) and (max-height:540px){.ns-header{top:12px}.ns-header-inner{height:60px}}

/* The hero art rises with native scroll and fades before the following film.
   Keep Y overflow: clipping the canvas to the section would cut the luminous fold. */
.ns-hero{overflow-x:clip;overflow-y:visible}
.ns-orb-poster{width:88vw;height:88vw}
@media(max-width:640px){.ns-orb-poster{width:176vw;height:176vw}}
#ns-orb,.ns-hero-glow{height:calc(100% + 300px);translate:0 var(--ns-orb-scroll-y,0px);overflow-anchor:none;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 410px),transparent calc(100% - 60px));-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 410px),transparent calc(100% - 60px))}
.ns-hero-glow{bottom:auto}
.ns-film{position:relative;z-index:1}
.ns-orb-poster{translate:0 var(--ns-orb-scroll-y,0px);overflow-anchor:none;mask-image:linear-gradient(to bottom,#000 0,#000 max(0px,calc(var(--ns-orb-hero-height,100svh) - 110px - var(--ns-orb-top,57svh))),transparent calc(var(--ns-orb-hero-height,100svh) + 240px - var(--ns-orb-top,57svh)));-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 max(0px,calc(var(--ns-orb-hero-height,100svh) - 110px - var(--ns-orb-top,57svh))),transparent calc(var(--ns-orb-hero-height,100svh) + 240px - var(--ns-orb-top,57svh)))}
@media(prefers-reduced-motion:reduce){#ns-orb,.ns-hero-glow,.ns-orb-poster{translate:none}}

/* Directional navigation: same 200 ms timing as the measured reference. */
.ns-header{transform:none;transition:transform .2s ease-in-out}
.ns-header.is-scroll-hidden{transform:translateY(calc(-100% - 32px));pointer-events:none}
@media(prefers-reduced-motion:reduce){.ns-header{transition:none}}

/* One visual rhythm: generous section breaks, softer product windows. */
.ns-film{max-width:1240px;padding-block:128px 64px}
.ns-film-frame{border-radius:24px}
.nl-studio .nv-work{padding-block:40px 88px}
.nl-studio .nv-work-visual,.nl-studio .ns-cabinet-example .nv-work-visual{border-radius:24px}
.nl-studio .ns-offer-tags li+li::before{content:"/";margin-right:14px;color:#627b9b}
.nl-studio .nhai-focus{padding-block:88px;background:radial-gradient(ellipse at 15% 50%,#0c1d3b,#050a12 68%,#03060b)}
.nl-studio .nhai-copy h2{font-size:clamp(38px,4.2vw,60px);line-height:1.08}
.nl-studio .nhai-copy h2 em{font-style:normal;color:#8faeff}
.nl-studio .nhai-copy .nhai-cta,.ns-button{border-radius:999px}
.ns-team-visual{margin:0;overflow:hidden;border:1px solid #263754;border-radius:24px;background:#000;isolation:isolate}
.ns-team-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transform-origin:center;transition:transform .45s ease}
.ns-team-visual figcaption{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 18px;background:#0b1423;border-top:1px solid #263754;color:#c5d8ff;font-size:13px;text-align:center}
.ns-team-visual figcaption span{padding:7px 3px;border-radius:999px;background:#152a4b}
.ns-team-missions{grid-column:1/-1;width:100%;margin-top:4px;border-top:1px solid #ffffff24}
.ns-team-missions>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;color:#d7e5ff;font-size:16px;cursor:pointer}
.ns-team-missions>summary::-webkit-details-marker,.ns-faq summary::-webkit-details-marker{display:none}
.ns-team-missions>summary>span,.ns-faq summary>span{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #4b6599;border-radius:50%;color:#afcbff;font-size:23px;font-weight:400;transition:transform .25s ease}
.ns-team-missions[open]>summary>span,.ns-faq details[open] summary>span{transform:rotate(45deg)}
.ns-team-missions-inner{max-width:960px;margin:8px auto 0}
.nl-studio .ns-team-missions .nhai-workspace{width:100%;max-width:none;border-radius:20px}
.ns-team-missions[open] .nhai-workspace{animation:ns-details-in .35s ease both}
.ns-method{padding-block:96px}
.ns-cabinets{padding-block:88px}
.ns-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding-block:96px}
.ns-faq-heading h2{margin:0;font-size:clamp(36px,4vw,56px);line-height:1.1;font-weight:600;letter-spacing:-.04em}
.ns-faq-heading>p:last-child{max-width:380px;margin:25px 0 0;color:#b5c1d5;font-size:17px;line-height:1.65}
.ns-faq-list{display:grid;align-content:start;gap:12px}
.ns-faq details{background:#0d1523;border:1px solid #24344e;border-radius:18px;overflow:hidden;transition:border-color .2s ease,background .2s ease}
.ns-faq details:hover,.ns-faq details[open]{border-color:#476baf;background:#101d32}
.ns-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:21px 24px;cursor:pointer;font-size:17px;line-height:1.4;font-weight:500}
.ns-faq details>div{padding:0 24px 24px}
.ns-faq details p{margin:0;color:#c2cde0;line-height:1.7;font-size:15px;max-width:650px}
.ns-faq details[open]>div{animation:ns-details-in .3s ease both}
.ns-contact{padding-block:96px 100px}
.ns-form input,.ns-form select,.ns-form textarea{border:1px solid #30415c;border-radius:12px;background:#0c1421;padding:12px 14px}
.ns-form input:focus,.ns-form select:focus,.ns-form textarea:focus{border-color:#8faeff;background:#101d32}
.ns-form select option{background:#101d32;color:#fff}
@keyframes ns-details-in{from{translate:0 8px}to{translate:0 0}}
@media(max-width:900px){.ns-faq{grid-template-columns:1fr;gap:35px}.ns-faq-heading>p:last-child{max-width:600px}.ns-team-visual{max-width:760px;width:100%}}
@media(max-width:640px){
 .ns-film{padding-block:90px 40px}.ns-film-frame{border-radius:18px}
 .nl-studio .nv-work{padding-block:24px 64px}.nl-studio .nv-work-visual,.nl-studio .ns-cabinet-example .nv-work-visual{border-radius:18px}
 .nl-studio .nhai-focus{padding-block:64px}.ns-team-visual{border-radius:18px}.ns-team-visual figcaption{padding:12px 10px;gap:5px;font-size:10px}
 .ns-team-missions>summary{font-size:15px;padding-block:19px}.ns-method,.ns-faq,.ns-contact{padding-block:64px}.ns-cabinets{padding-block:64px}
 .ns-faq summary{padding:18px;font-size:16px;gap:14px}.ns-faq details>div{padding:0 18px 20px}.ns-faq details p{font-size:14px}
}

.ns-team .nhai-focus-grid{row-gap:24px}
.nl-studio .nhai-workspace :is(.nhai-mini-label,.nhai-actions small,.nhai-access){color:#59677d}
/* An opened mission must not impose its min-content width on the page grid. */
.ns-team .nhai-focus-grid{min-width:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.ns-team .nhai-focus-grid>*,.ns-team-missions,.ns-team-missions-inner,.ns-team-missions .nhai-workspace,.ns-team-missions .nhai-panel{min-width:0;max-width:100%}
.ns-team-missions>summary{min-width:0;width:100%;white-space:normal}
.ns-team-missions .nhai-tools{min-width:0;flex-wrap:wrap}
.ns-team-missions .nhai-actions li>div{min-width:0;overflow-wrap:break-word}
@media(max-width:900px){.ns-team .nhai-focus-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
 .ns-team-missions .nhai-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%;min-width:0;overflow:visible}
 .ns-team-missions .nhai-tabs button{min-width:0;min-height:50px;padding:11px 5px;white-space:normal;font-size:12px;line-height:1.3}
 .ns-team-missions .nhai-appbar{min-width:0;gap:8px}.ns-team-missions .nhai-app-status{display:none}
}

/* The service line sits directly below the hero statement at a smaller scale. */
.ns-hero-services{display:block;margin-top:16px;font-size:16px;line-height:1.5;font-weight:400;letter-spacing:0;color:#c8d9f5}
@media(max-width:640px){.ns-hero-services{margin-top:12px;font-size:14px}}
@media(max-width:360px){.ns-hero-services{font-size:13px}}

/* Luminous fold: matching first-paint / WebGL fallback, without a circle. */
.ns-hero .ns-orb-poster{inset:0;width:100%;height:calc(100% + 300px);max-width:none;max-height:none;border-radius:0;transform:none;background:none;box-shadow:none;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 410px),transparent calc(100% - 60px));-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 410px),transparent calc(100% - 60px))}
.ns-orb-poster::before{content:"";position:absolute;top:var(--ns-orb-top,57svh);left:0;width:100%;height:calc(var(--ns-orb-hero-height,100svh) * .70);background-image:url("assets/nolvos-hero-vague.svg");background-size:100% 100%;background-repeat:no-repeat}
@media(max-width:640px){.ns-orb-poster{width:100%;height:calc(100% + 300px)}}

/* The static fallback scrolls naturally with its copy; no shader veil is needed. */
.ns-hero.ns-orb-fallback .ns-orb-poster{translate:none}

/* Five short domains remain on one readable line on narrow screens. */
@media(max-width:640px){.ns-categories{font-size:clamp(14px,4.4vw,19px);gap:clamp(6px,2vw,11px)}}

/* Crossfade the static wave into its live clear coat. */
.ns-hero .ns-orb-poster{opacity:1;transition:opacity .65s}
.ns-hero:has(#ns-orb.is-ready) .ns-orb-poster{visibility:visible;opacity:0}

/* Keep the footer return control clear of the fixed contact entry point. */
.ns-footer-bottom>a{margin-right:80px}
@media(max-width:640px){.ns-footer-bottom>a{margin-right:60px}}

/* The wave extends below the fold, while its scroll cue remains in the first view. */
@media(min-width:641px){.ns-hero-explore{bottom:max(34px,calc(100% - 100svh + 34px))}}
