/* Option 1: cinematic signal hero, alternating white and ink surfaces. */
.ns-option-one{--bg:#fff;--ink:#171917;--action:#c84217;background:#fff;color:var(--ink);overflow-x:clip}
.ns-option-one header{position:relative;z-index:10;max-width:none;background:#080908;color:#fff;border-color:#ffffff26;padding:24px max(5vw,calc((100vw - 1380px)/2));gap:25px}
.ns-option-one header .star{color:#ff692c}.ns-option-one .nav-contact{border:1px solid #ff692c;background:#ff692c;color:#111;border-radius:40px;padding:13px 23px;white-space:nowrap}
.ns-option-one .wrap{max-width:none;padding:0}
.ns-option-one .ns-stage{margin:0;padding:0;min-height:730px;display:flex;align-items:center;background:#080908;isolation:isolate;overflow:hidden}
.ns-option-one .ns-stage:after{display:none}.ns-option-one .ns-stage-art{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:1;mix-blend-mode:normal;mask-image:none;transform:scale(1.04);will-change:transform}
.ns-option-one .ns-stage .ns-hero{display:block;width:min(1380px,90%);margin:auto;padding:80px 0 75px;position:relative;z-index:1}
.ns-option-one .ns-stage .ns-kicker{color:#e8e8e5;font-size:11px;letter-spacing:2px;margin-bottom:28px}
.ns-option-one .ns-stage .ns-hero h1{max-width:1200px;font-size:clamp(48px,6.15vw,96px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:0;color:#fff;text-wrap:balance}
.ns-option-one .ns-hero h1>span,.ns-option-one .ns-hero h1>em{display:block}
.ns-option-one .ns-stage .ns-hero h1 em{font-weight:700;color:#ff692c;font-style:normal;margin-top:7px}
.ns-option-one .ns-hero-copy{width:52%;margin:38px 0 0 auto;padding:12px 0 0 24px}
.ns-option-one .ns-stage .ns-hero-copy>p:first-child{font-size:18px;line-height:1.65;color:#eee;max-width:520px}
.ns-option-one .ns-stage .ns-small{color:#d2d3ce}.ns-option-one .ns-stage .ns-button,.ns-option-one .ns-button{border-radius:40px;background:#ff692c;border-color:#ff692c;color:#101110;min-height:54px;padding:15px 25px;font-size:14px;font-weight:600;transition:transform .25s,background .25s,box-shadow .25s}
.ns-option-one .ns-button:hover{background:#ff824f;box-shadow:0 8px 26px #ed5e2a33}.ns-option-one .ns-button span{transition:transform .25s}.ns-option-one .ns-button:hover span{transform:translate(4px,-3px)}
.ns-option-one .ns-product-section{padding:90px 5vw 70px;background:#fff;max-width:1500px;margin:auto}
.ns-option-one .ns-product-intro{margin-bottom:40px}.ns-option-one .ns-section-title{font-size:clamp(34px,4.2vw,64px);line-height:1.12;letter-spacing:-.045em;margin:0;max-width:1150px}
.ns-option-one .ns-workspace{border-radius:10px;background:#fff;box-shadow:0 18px 50px #19191914;border-color:#d4d4cf}.ns-option-one .ns-workspace-top{background:#20231e}.ns-option-one .ns-service-detail{background:#f5f4ef}.ns-option-one .ns-service-row:hover{background:#f5eee7}.ns-option-one .ns-service-row.selected{background:#f1efe9}
.ns-option-one .ns-proof{margin:0;padding:28px 5vw;border-block:1px solid #deded9;background:#fff}
.ns-option-one .ns-feature-story{margin:0;padding:90px 5vw;background:#fff;gap:6vw}.ns-option-one .ns-feature-story h2{font-size:clamp(36px,4.2vw,66px);line-height:1.08;letter-spacing:-.045em}.ns-option-one .ns-feature-story figure{overflow:hidden;border-radius:0}.ns-option-one .ns-feature-story figure img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}.ns-option-one .ns-feature-story figure:hover img{transform:scale(1.04)}
.ns-option-one .ns-workflow{position:relative;isolation:isolate;overflow:hidden;background:#080908 url('/images/northstar-signal-flow.png') no-repeat right center;background-size:cover;color:#fff;padding:100px 5vw;min-height:440px;margin:0;display:block}
.ns-option-one .ns-workflow>div{position:relative;max-width:540px}.ns-option-one .ns-workflow h2{font-size:clamp(38px,4.6vw,70px);line-height:1.05;letter-spacing:-.04em;color:#fff}.ns-option-one .ns-workflow .ns-kicker{color:#ff8354}.ns-option-one .ns-workflow p{color:#eee}.ns-option-one .ns-workflow small{display:block;color:#ccc;margin-top:14px}.ns-option-one .ns-workflow>div+div{margin-top:20px}
.ns-option-one #about{padding:100px 5vw;background:#fff}.ns-option-one .sectiontitle{gap:50px}.ns-option-one .sectiontitle h2{font-size:clamp(40px,5vw,76px);line-height:1.05;letter-spacing:-.045em}.ns-option-one .peoplephoto{overflow:hidden}.ns-option-one .peoplephoto img{transition:transform .8s}.ns-option-one .peoplephoto:hover img{transform:scale(1.025)}
.ns-option-one .contact{background:#090a09;color:#fff}.ns-option-one .contact h2{color:#fff}.ns-option-one .contact .micro{color:#ff8354}.ns-option-one .contact a{color:#fff}.ns-option-one .footer{background:#fff;color:#151715}.ns-option-one .giantlogo{color:#151715}
.ns-option-one .motion-reveal{opacity:1;transform:none}.ns-option-one.motion-ready .motion-reveal:not(.is-visible){opacity:0;transform:translateY(30px)}.ns-option-one .motion-reveal{transition:opacity .75s,transform .75s cubic-bezier(.2,.7,.3,1)}
.ns-option-one.motion-ready .ns-hero h1>span,.ns-option-one.motion-ready .ns-hero h1>em{animation:ns-title-enter .85s cubic-bezier(.2,.7,.3,1) both}.ns-option-one .ns-hero h1>span:nth-child(2){animation-delay:.12s!important}.ns-option-one .ns-hero h1>em{animation-delay:.24s!important}
@keyframes ns-title-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.ns-option-one header{padding:20px 5vw}.ns-option-one .ns-stage{min-height:680px}.ns-option-one .ns-stage .ns-hero h1{font-size:clamp(48px,7vw,70px)}.ns-option-one .ns-hero-copy{width:60%}.ns-option-one .ns-feature-story{gap:40px}.ns-option-one .ns-workflow{background-position:65% center}}
@media(max-width:850px){.ns-option-one header .menu{display:block;border:1px solid #777;color:#fff;background:transparent;padding:12px;font:11px var(--mono)}.ns-option-one header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#111;color:#fff;padding:25px 5vw;border-bottom:1px solid #555}.ns-option-one header nav.open{display:flex;flex-direction:column;gap:22px}.ns-option-one .nav-contact{display:none}.ns-option-one header .logo{font-size:25px}.ns-option-one .ns-workflow{background-position:50% center}}
@media(max-width:600px){.ns-option-one header{padding:18px 20px}.ns-option-one .ns-stage{min-height:710px;align-items:flex-start}.ns-option-one .ns-stage-art{object-position:40% center;opacity:.5}.ns-option-one .ns-stage .ns-hero{width:100%;padding:48px 20px 44px}.ns-option-one .ns-stage .ns-kicker{font-size:9px;letter-spacing:1px;line-height:1.7;margin-bottom:22px}.ns-option-one .ns-stage .ns-hero h1{font-size:clamp(36px,9.9vw,55px);line-height:1.1;letter-spacing:-.045em}.ns-option-one .ns-hero-copy{margin-top:30px;width:100%;padding:0}.ns-option-one .ns-stage .ns-hero-copy>p:first-child{font-size:16px;line-height:1.65}.ns-option-one .ns-actions{gap:13px}.ns-option-one .ns-stage .ns-small{font-size:11px}.ns-option-one .ns-product-section{padding:54px 18px 45px}.ns-option-one .ns-section-title{font-size:32px}.ns-option-one .ns-product-intro{margin-bottom:26px}.ns-option-one .ns-proof{padding:25px 20px}.ns-option-one .ns-feature-story{padding:55px 20px}.ns-option-one .ns-feature-story h2{font-size:38px}.ns-option-one .ns-workflow{padding:65px 20px;background-position:58% center;min-height:560px}.ns-option-one .ns-workflow>div{max-width:100%}.ns-option-one .ns-workflow p{background:#080908b8;padding:10px 0;max-width:370px}.ns-option-one .ns-workflow h2{font-size:42px}.ns-option-one #about{padding:60px 20px}.ns-option-one .sectiontitle{gap:20px}.ns-option-one .sectiontitle h2{font-size:40px}.ns-option-one .contactinner{padding-inline:20px}.ns-option-one .ns-workspace-tools{gap:15px}.ns-option-one .ns-workspace-grid{min-width:0}.ns-option-one .ns-tabs{gap:18px}.ns-option-one .ns-tabs button{font-size:12px}.ns-option-one .ns-service-row{min-height:62px}}
@media(prefers-reduced-motion:reduce){.ns-option-one *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ns-option-one.motion-ready .motion-reveal:not(.is-visible){opacity:1;transform:none}.ns-option-one .ns-stage-art{transform:none!important}}
/* Reference-based layered hero: a real section background, transparent objects,
   continuously rotating type, and scroll-linked object rotation. */
.ns-option-one .ns-stage{background:#080808 url('/images/reference/hero-bg-1-1.jpg') center center/cover no-repeat;min-height:790px}
.ns-option-one .ns-stage .ns-hero{padding:90px 0 100px;width:min(1200px,88%)}
.ns-option-one .ns-stage .ns-hero h1{font-size:clamp(50px,6.1vw,100px);max-width:1200px;line-height:1.05}
.ns-option-one .ns-stage .ns-hero h1>span:nth-child(2){font-weight:700}.ns-option-one .ns-stage .ns-hero h1 em{color:#fff}
.ns-hero-object{position:absolute;z-index:0;pointer-events:none;will-change:transform;transform:rotate(var(--scroll-turn,0deg))}
.ns-hero-object img{display:block;width:100%;height:auto;object-fit:contain}
.ns-object-left{width:clamp(270px,35vw,550px);left:-3%;bottom:1%}
.ns-object-right{width:clamp(330px,38vw,620px);right:-12%;bottom:-18%;opacity:.65}
.ns-option-one .ns-hero-copy{width:47%;margin-top:40px;padding:0}
.ns-orbit-link{position:absolute;left:36%;bottom:110px;width:155px;height:155px;display:grid;place-items:center;color:#fff;text-decoration:none;transition:scale .3s}
.ns-orbit-link:hover{scale:1.08}.ns-orbit-text{position:absolute;inset:0;width:100%;height:100%;animation:ns-orbit-spin 16s linear infinite;fill:#fff;font:12px var(--mono);letter-spacing:2px}
.ns-orbit-link>span{font:64px sans-serif;color:#ff692c;line-height:1;transition:transform .3s}.ns-orbit-link:hover>span{transform:translateY(7px)}
.ns-motion-lines{position:absolute;inset:0 8%;display:flex;justify-content:space-between;pointer-events:none;z-index:0}
.ns-motion-lines i{height:100%;width:1px;background:#ffffff0c;position:relative;overflow:hidden}.ns-motion-lines i:after{content:'';position:absolute;top:-8%;left:0;width:1px;height:50px;background:linear-gradient(transparent,#ff692c,transparent);animation:ns-signal-travel 5s linear infinite}.ns-motion-lines i:nth-child(2):after{animation-delay:-2s}.ns-motion-lines i:nth-child(3):after{animation-delay:-3.5s}.ns-motion-lines i:nth-child(4):after{animation-delay:-1s}
.ns-option-one .ns-workflow{background:#080908;min-height:570px;display:flex;flex-direction:column;justify-content:center}
.ns-flow-object{position:absolute;right:-4%;top:5%;height:90%;width:52%;object-fit:contain;z-index:-1;will-change:transform;transform:rotate(var(--scroll-turn,0deg))}
@keyframes ns-orbit-spin{to{transform:rotate(360deg)}}
@keyframes ns-signal-travel{to{top:108%}}
@media(max-width:1100px){.ns-object-left{left:-8%;opacity:.7}.ns-object-right{right:-18%}.ns-orbit-link{left:27%;width:130px;height:130px}.ns-option-one .ns-hero-copy{width:55%}.ns-option-one .ns-stage .ns-hero{width:90%}}
@media(max-width:600px){.ns-option-one .ns-stage{min-height:850px;background-position:60% center}.ns-option-one .ns-stage .ns-hero{width:100%;padding:45px 20px 150px}.ns-option-one .ns-stage .ns-hero h1{font-size:clamp(36px,10vw,55px);line-height:1.1}.ns-option-one .ns-hero-copy{width:100%;margin-top:28px}.ns-object-left{width:230px;left:-70px;bottom:-30px;opacity:.55}.ns-object-right{width:260px;right:-150px;bottom:8%;opacity:.4}.ns-orbit-link{width:100px;height:100px;left:auto;right:30px;bottom:18px}.ns-orbit-link>span{font-size:42px}.ns-flow-object{right:-40%;width:100%;height:70%;top:15%;opacity:.4}.ns-option-one .ns-workflow{min-height:560px}.ns-motion-lines{inset-inline:20px}}
@media(prefers-reduced-motion:reduce){.ns-hero-object,.ns-flow-object{transform:none!important}.ns-orbit-text,.ns-motion-lines i:after{animation:none!important}}
@media(max-width:600px){.ns-option-one .ns-stage .ns-hero{margin:0 auto;min-height:850px}.ns-orbit-link{bottom:20px}}
@media(max-width:600px){.ns-option-one .ns-stage,.ns-option-one .ns-stage .ns-hero{min-height:760px}}
