:root{--navy:#061e34;--ink:#082650;--paper:#faf8f3;--rust:#d04e25;--line:#08265030;--muted:#42546c;--gutter:clamp(24px,4.1vw,68px);--nav-h:80px;--serif:'Libre Caslon Display',Georgia,serif;--body:'Geist',Arial,sans-serif;--mono:'Geist Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);line-height:1.5;font-size:16px}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{border:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400}h1,h2{font-family:var(--serif);line-height:.99;letter-spacing:-.035em}h2{font-size:clamp(42px,4.9vw,76px)}h3{font-family:var(--serif);font-size:clamp(24px,2.1vw,34px);line-height:1.12}p{max-width:65ch}p+p{margin-top:18px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:5px}::selection{background:#c34119;color:#fff}body.menu-open{overflow:hidden}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:300;left:20px;top:10px;padding:12px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:400;font-size:22px;line-height:1;display:inline-block;font-style:normal;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased;flex-shrink:0}
.site-header{height:var(--nav-h);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--paper);position:relative;z-index:100}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand>img:first-child{width:52px;height:52px;object-fit:contain}.brand .wordmark{width:124px;height:auto}.site-header nav{display:flex;align-items:center;gap:42px;margin-left:auto;margin-right:auto}.site-header nav a{padding:26px 0;position:relative}.site-header nav a[aria-current=page]:after{content:'';position:absolute;bottom:14px;left:0;right:0;height:2px;background:var(--rust)}.header-actions{display:flex;align-items:center;gap:24px}.language-toggle,.menu-toggle{background:transparent;padding:10px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:15px 26px;color:var(--paper);background:var(--ink);font-weight:500;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#153955}.button .material-symbols-outlined{font-size:21px;transition:transform .25s}.button:hover .material-symbols-outlined{transform:translateX(4px)}.nav-cta{min-height:52px;padding:12px 26px;white-space:nowrap}.nav-cta .material-symbols-outlined{display:none}.button-paper{background:var(--paper);color:var(--ink)}.button-paper:hover{background:#e9e2d6}.text-link{display:inline-flex;align-items:center;gap:22px;padding:10px 0;border-bottom:1px solid currentColor;font-size:15px;max-width:max-content}.text-link .material-symbols-outlined{font-size:20px}.text-link:hover{color:var(--rust)}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;line-height:1.5;color:var(--rust)}.eyebrow:empty{display:none}
/* A viewport is one complete opening: navigation, scene, chapter rail. */
.hero{min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;background:var(--navy);color:var(--paper);position:relative;isolation:isolate}.hero-stage{position:relative;flex:1;min-height:560px;display:grid}.hero-panel{grid-area:1/1;position:relative;min-width:0;display:flex;overflow:hidden}.hero-panel.is-active{z-index:2}.scene{position:absolute;inset:0;overflow:hidden;z-index:-1;background:var(--navy)}.scene-image{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.035);will-change:transform}.scene-shade{position:absolute;inset:0;background:rgba(1,17,30,.16);pointer-events:none}.scene-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;opacity:.56;pointer-events:none}.scene-bearing{position:absolute;right:3%;top:27%;width:38%;opacity:.65;mix-blend-mode:screen;pointer-events:none}.hero-content{width:100%;min-height:100%;padding:clamp(45px,5.8vh,80px) var(--gutter) 42px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:3;pointer-events:none}.hero-content a{pointer-events:auto}.hero-home .hero-content{justify-content:space-between;gap:32px;padding-top:clamp(40px,7.5vh,88px)}.hero-title{font-size:clamp(55px,6.5vw,102px);max-width:1050px;margin:20px 0 16px;line-height:1.1;text-wrap:balance}.home-title{font-family:Georgia,serif;font-size:clamp(72px,10.3vw,162px);line-height:.94;letter-spacing:-.04em;margin:0;max-width:1100px;white-space:nowrap;text-wrap:nowrap}.hero-copy{max-width:780px}.hero-subtitle{font-family:var(--serif);font-size:clamp(37px,3.5vw,58px);letter-spacing:-.025em;line-height:1.12;margin:14px 0}.hero-description{font-size:clamp(15px,1.21vw,19px);max-width:570px;line-height:1.5;text-wrap:pretty}.hero-home .hero-description{max-width:510px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:34px;margin-top:26px}.hero .eyebrow{color:#f47845}.light{color:var(--paper)}.northstar-lockup{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:48px;line-height:1}.northstar-lockup img{width:65px;height:65px;object-fit:contain}.northstar-lockup small{display:block;text-align:right;font-family:var(--body);font-size:12px;margin-top:5px;letter-spacing:0}.hero-home .northstar-lockup{font-size:33px;margin-top:20px;gap:9px}.hero-home .northstar-lockup img{width:45px;height:45px}.hero-page .northstar-lockup{margin-bottom:34px}.scene-caption{position:absolute;right:var(--gutter);top:60px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.65;z-index:4}.hero-page .scene-caption{top:auto;bottom:28px}.hero-page [data-scene=landscape] .scene-shade{background:rgba(1,17,30,.35)}.hero-page [data-scene=method] .hero-copy{max-width:740px}.hero-page [data-scene=method] .scene-image{object-position:center}.hero-static .hero-stage{min-height:calc(100svh - var(--nav-h))}.hero-static .hero-content{padding-bottom:140px}.hero-scroll{position:absolute;bottom:30px;left:var(--gutter);z-index:5}.hero-static .scene-caption{display:none}
.carousel-rail{padding:20px var(--gutter) 24px;display:flex;gap:35px;align-items:center;min-height:112px;border-top:1px solid #ffffff25;position:relative;z-index:10;background:var(--navy)}.chapter-list{position:relative;display:flex;justify-content:space-between;flex:1;gap:0;padding-top:13px;min-width:0}.chapter{position:relative;display:flex;gap:15px;align-items:center;background:none;color:var(--paper);padding:12px 24px;text-align:left;font-size:13px;line-height:1.3;min-height:44px;border-right:1px solid #ffffff30;white-space:nowrap}.chapter:first-child{padding-left:0}.chapter:last-of-type{border-right:0}.chapter-number{font-family:var(--mono);font-size:12px}.chapter.is-active .chapter-number{color:#fb6d39}.chapter.is-active:after{content:'';height:2px;position:absolute;bottom:0;left:24px;right:24px;background:#f56835}.chapter:first-child.is-active:after{left:0}.carousel-progress{position:absolute;top:0;left:0;right:0;height:2px;background:#ffffff24;overflow:hidden}.carousel-progress>div{width:100%;height:100%;background:#ef6130;transform:scaleX(0);transform-origin:left}.carousel-controls{display:flex;gap:12px;align-items:center;flex-shrink:0;padding-top:10px}.carousel-controls button{width:47px;height:47px;border:1px solid #ffffff60;border-radius:50%;color:var(--paper);background:transparent;display:grid;place-items:center;transition:background .2s}.carousel-controls button:hover{background:#ffffff20}.carousel-count{font-family:var(--mono);font-size:12px;margin-left:12px;white-space:nowrap}
.editorial-section{padding:72px var(--gutter);border-bottom:1px solid var(--line)}.section-inner{max-width:1440px;margin:0 auto}.editorial-section h2{margin:12px 0 22px}.editorial-section .section-intro{font-size:18px;line-height:1.55;max-width:680px;margin-bottom:28px}.split>.section-inner,.section-inner>.split,.section-inner.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split.product-section>.section-inner{grid-template-columns:.8fr 1.2fr}.editorial-section .button{margin-top:22px}.editorial-section .text-link{margin-top:25px}.navy{background:var(--navy);color:var(--paper);border-color:#ffffff25}.navy .eyebrow{color:#ec784f}.navy .side-note{border-left:1px solid #ffffff40;padding-left:30px;font-size:15px;color:#d5dde3}.navy .text-link{color:var(--paper)}.product-preview{margin:30px 0 0;min-width:0}.preview-tabs{display:flex;gap:25px;margin-bottom:20px;border-bottom:1px solid var(--line)}.preview-tabs button{background:none;padding:12px 0;font-size:14px}.preview-tabs button[aria-pressed=true]{border-bottom:2px solid var(--rust)}.correction>.section-inner{grid-template-columns:.7fr 1fr}.review-rows{margin-top:32px}.review-rows article{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:25px 70px 1fr;gap:18px;align-items:start}.review-rows h3{font-family:'Libre Caslon Text',serif;font-size:17px;line-height:1.4}.review-rows p{font-size:14px;line-height:1.5}.faq{margin-top:34px}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:500;gap:25px}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary .material-symbols-outlined{transform:rotate(45deg)}.faq details p{padding-top:18px;font-size:16px;color:var(--muted)}.closing{background:var(--navy);color:var(--paper);position:relative;isolation:isolate;overflow:hidden;padding-block:65px}.closing:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/assets/editorial/landscape.webp') center 60%/cover}.closing:after{content:'';position:absolute;inset:0;z-index:-1;background:#021624a6}.closing>.section-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.closing h2{font-size:clamp(42px,4vw,64px);margin-bottom:12px}.closing .button{flex-shrink:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;gap:35px}.principles article{display:flex;gap:22px;padding-right:30px;border-right:1px solid var(--line)}.principles article:last-child{border:0}.row-number{font-family:var(--serif);color:var(--rust);font-size:43px;line-height:1}.principles h3{font-size:27px;margin-bottom:12px}.principles p{font-size:15px}.exploration-labels{display:flex;justify-content:space-between;gap:25px;margin-top:38px;padding-top:23px;border-top:1px solid var(--line)}.exploration-labels>span{flex:1;text-align:center;border-right:1px solid var(--line);padding-inline:15px}.exploration-labels>span:last-child{border:0}.method-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:50px}.method-summary a{border-top:1px solid #ffffff45;padding-top:25px}.method-summary h3{margin:20px 0 12px}.method-summary p{font-size:14px;color:#bac7d5}.method-rows{margin-top:40px}.method-row{display:grid;grid-template-columns:60px 1fr 1.5fr .85fr;gap:35px;padding:28px 0;border-top:1px solid var(--line);align-items:start}.method-row h3{font-size:31px}.method-row p{font-size:15px}.method-output{padding-left:25px;border-left:1px solid var(--line)}.method-output .eyebrow{color:var(--muted);font-size:9px}.method-output p{margin-top:8px;font-size:13px}.correction-flow{display:flex;list-style:none;margin:50px 0;padding:0;gap:30px}.correction-flow li{display:flex;align-items:center;justify-content:space-between;flex:1;border-top:2px solid var(--rust);padding-top:16px;font-size:14px;gap:14px}.correction-flow li:last-child>.material-symbols-outlined{display:none}.trust-points p{font-size:16px;border-bottom:1px solid #ffffff40;padding:20px 0;margin:0}.contact-layout>.section-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.contact-layout h2{font-size:clamp(42px,4vw,64px)}.contact-layout .section-intro{font-size:17px}.contact-email{display:block;font-size:22px;font-weight:500;margin:25px 0 10px}.next-title{font-size:35px;margin-top:45px;padding-top:30px;border-top:1px solid var(--line)}.next-steps{list-style:none;padding:0}.next-steps li{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.next-steps li>span{font-family:var(--mono);font-size:12px;padding-top:5px}.next-steps h4{font-family:var(--serif);font-size:26px}.next-steps p{font-size:15px;margin-top:7px}.form-column{border-left:1px solid var(--line);padding-left:60px}.form-column h2{margin-bottom:35px}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:1px solid #264362;background:transparent;border-radius:1px;min-height:48px;line-height:1.45;font-size:15px}.form-group textarea{resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:#647388}.form-error{font-size:12px;color:#a13221}.has-error input,.has-error select,.has-error textarea{border-color:#b0331c}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{font-size:11px;margin-bottom:24px}.btn-submit{width:100%}.btn-submit:disabled{opacity:.65;cursor:default}.email-alternative{font-size:13px;text-align:center;margin-top:20px}.email-alternative a{text-decoration:underline}#form-success,#form-error{padding:16px;margin-top:25px;border-left:3px solid var(--rust);font-size:14px}#form-success{border-color:#33866f}.related{padding-top:10px}.footer{padding:38px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer nav{display:flex;gap:28px}.footer .text-link{border:0;font-size:12px;padding:0;gap:0}.footer .material-symbols-outlined{display:none}.footer>div{display:flex;gap:20px;font-size:11px}.footer>small{font-size:10px;width:100%;opacity:.65}
@media(min-width:1700px){.hero-copy{max-width:950px}.home-title{max-width:1400px}.hero-description{font-size:20px}.hero-home .hero-description{max-width:590px}}
@media(max-height:850px) and (min-width:901px){.hero-stage{min-height:480px}.hero-home .hero-content{padding-block:36px 28px;gap:23px}.home-title{font-size:clamp(70px,8.4vw,135px)}.hero-subtitle{font-size:37px;margin:9px 0}.hero-description{font-size:15px}.hero-actions{margin-top:18px}.hero-home .northstar-lockup{margin-top:12px;font-size:27px}.hero-home .northstar-lockup img{width:33px;height:33px}.hero-page .northstar-lockup{margin-bottom:20px}.hero-title:not(.home-title){font-size:clamp(50px,5.5vw,90px)}.carousel-rail{min-height:92px;padding-block:12px 18px}.scene-caption{top:32px}}
@media(max-width:1200px){.site-header nav{gap:28px}.chapter{font-size:11px;padding-inline:15px;gap:9px}.chapter.is-active:after{left:15px;right:15px}.carousel-rail{gap:20px}.carousel-controls{gap:8px}.carousel-controls button{width:39px;height:39px}.carousel-count{margin-left:4px}.hero-copy{max-width:660px}.split>.section-inner,.section-inner>.split{gap:40px}.method-row{gap:22px;grid-template-columns:40px 1fr 1.2fr .8fr}}
@media(max-width:900px){:root{--nav-h:74px;--gutter:28px}.brand>img:first-child{width:45px;height:45px}.brand .wordmark{width:105px}.header-actions{gap:8px}.nav-cta{font-size:13px;padding:10px 15px;min-height:44px}.site-header nav{gap:18px;font-size:14px}.carousel-rail{flex-wrap:wrap;padding-top:16px;gap:6px;min-height:125px}.chapter-list{width:100%;flex:none}.chapter{flex:1;justify-content:center;font-size:11px;padding:11px 10px}.chapter:first-child{justify-content:flex-start}.carousel-controls{margin-left:auto;padding-top:4px}.carousel-controls button{width:33px;height:33px}.hero-home .hero-content{padding-top:55px}.home-title{font-size:10.7vw}.hero-subtitle{font-size:39px}.hero-description{font-size:16px;max-width:450px}.hero-title:not(.home-title){font-size:67px}.hero-copy{max-width:640px}.scene-image{object-position:60% center}.scene-shade{background:#00152844}.scene-caption{display:none}.editorial-section{padding-block:55px}.split>.section-inner,.split.product-section>.section-inner,.correction>.section-inner{grid-template-columns:1fr;gap:25px}.section-inner>.split{gap:35px}.product-preview{margin-top:10px}.principles{gap:25px}.principles article{flex-direction:column;gap:15px}.method-summary{gap:20px}.method-row{grid-template-columns:35px 1fr 1.2fr;gap:20px}.method-output{grid-column:2/-1;border:0;padding-left:0;display:flex;gap:20px;align-items:center}.method-output p{margin:0}.contact-layout>.section-inner{grid-template-columns:.8fr 1.2fr;gap:30px}.form-column{padding-left:30px}.footer{gap:25px}.footer nav{gap:18px}.footer>div{flex-direction:column;gap:5px}.hero-static .hero-content{padding-bottom:150px}}
@media(max-width:650px){:root{--nav-h:70px;--gutter:22px}.site-header{gap:12px}.brand>img:first-child{width:39px;height:39px}.brand .wordmark{width:88px}.header-actions{gap:0}.nav-cta{font-size:11px;min-height:40px;padding:10px 12px}.language-toggle{font-size:12px;padding:9px}.menu-toggle{display:block;padding:8px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;margin:0;padding:25px var(--gutter);background:var(--paper);box-shadow:0 16px 24px #00152825;flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{font-family:var(--serif);font-size:34px;padding:15px 0;border-bottom:1px solid var(--line)}.site-header nav a[aria-current=page]:after{display:none}.hero-stage{min-height:530px}.hero-home .hero-content{padding-top:42px;padding-bottom:28px;gap:clamp(64px,15svh,126px);justify-content:space-between}.home-title{font-size:clamp(45px,12vw,78px);line-height:1.04;letter-spacing:-.04em;white-space:normal;max-width:100%;text-wrap:balance}.home-title br{display:none}.hero-title:not(.home-title){font-size:clamp(43px,12vw,65px);max-width:100%;margin:18px 0}.hero-copy{width:100%}.hero-subtitle{font-size:34px;max-width:340px}.hero-description{font-size:14px;max-width:360px;line-height:1.55}.hero-description br,.hero-subtitle br{display:none}.eyebrow{font-size:9px;letter-spacing:.11em}.hero-actions{gap:22px;margin-top:22px;flex-wrap:wrap}.button{font-size:13px;padding:13px 18px;min-height:49px;gap:14px}.hero-actions .text-link{font-size:12px;gap:12px}.hero-home .northstar-lockup{font-size:28px;margin-top:16px}.hero-home .northstar-lockup img{width:36px;height:36px}.northstar-lockup{font-size:38px}.northstar-lockup img{width:55px;height:55px}.hero-page .northstar-lockup{margin-bottom:30px}.hero-page .hero-content{padding-top:60px;padding-bottom:60px;justify-content:flex-end;min-height:570px}.scene-image{object-position:65% center}.scene-shade{background:rgba(0,17,30,.5)}.hero-page [data-scene=landscape] .scene-shade{background:#00132165}.scene-bearing{width:75%;top:10%;right:-10%;opacity:.3}.scene-overlay{opacity:.32;object-position:65%}.hero-page [data-scene=method] .scene-image{object-position:65%}.carousel-rail{min-height:152px;padding-top:14px;padding-bottom:15px;gap:9px}.chapter-list{display:grid;grid-template-columns:1fr 1fr;padding-top:7px;gap:0}.chapter{font-size:10px;white-space:normal;min-height:37px;justify-content:flex-start;padding:9px 8px;gap:9px;border:0}.chapter:first-child{padding-left:8px}.chapter.is-active:after,.chapter:first-child.is-active:after{left:8px;right:10px}.chapter-number{font-size:10px}.carousel-controls{padding:0;gap:10px}.carousel-controls button{width:32px;height:32px}.carousel-count{font-size:10px;margin-left:5px}.hero-page .carousel-rail{min-height:143px}.hero-page .chapter-list{grid-template-columns:repeat(3,1fr)}body[data-page=method] .chapter-list{grid-template-columns:repeat(3,1fr)}.hero-static .hero-stage{min-height:calc(100svh - var(--nav-h))}.hero-static .hero-content{padding-bottom:130px}.hero-scroll{bottom:28px}.editorial-section{padding-block:45px}.editorial-section h2{font-size:43px;line-height:1.02;letter-spacing:-.025em}.editorial-section .section-intro{font-size:16px}.section-inner>.split{grid-template-columns:1fr;gap:20px}.review-rows article{grid-template-columns:20px 65px 1fr;gap:12px;padding-block:19px}.review-rows p{font-size:13px}.review-rows h3{font-size:15px}.preview-tabs{gap:22px}.preview-tabs button{font-size:12px}.navy .side-note{padding-left:20px}.faq summary{font-size:15px}.faq details p{font-size:14px}.closing>.section-inner{display:block}.closing h2{font-size:42px}.closing p{font-size:15px}.closing .button{margin-top:26px}.principles{grid-template-columns:1fr;margin-top:30px;gap:0}.principles article{flex-direction:row;border-right:0;border-top:1px solid var(--line);padding:25px 0;gap:22px}.principles article:last-child{border-top:1px solid var(--line)}.principles h3{font-size:29px}.row-number{font-size:36px}.exploration-labels{flex-direction:column;gap:18px;margin-top:28px}.exploration-labels>span{text-align:left;border:0;padding:0;font-size:15px}.exploration-labels .text-link{margin:0;max-width:none;justify-content:space-between}.method-summary{grid-template-columns:1fr;gap:0;margin-top:30px}.method-summary a{display:grid;grid-template-columns:35px 90px 1fr;align-items:center;gap:17px;padding:22px 0}.method-summary h3{font-size:25px;margin:0}.method-summary p{font-size:13px}.method-row{grid-template-columns:30px 1fr;gap:16px;padding:25px 0}.method-row h3{font-size:30px}.method-row>p{grid-column:2;font-size:14px}.method-output{display:block;grid-column:2}.method-output p{margin-top:6px}.correction-flow{flex-direction:column;gap:0;margin-block:30px}.correction-flow li{padding:16px 0;border-top:1px solid #ffffff40}.correction-flow li>.material-symbols-outlined{transform:rotate(90deg)}.trust-points p{font-size:14px}.contact-layout>.section-inner{grid-template-columns:1fr;gap:40px}.form-column{padding:35px 0 0;border-left:0;border-top:1px solid var(--line)}.form-column h2{font-size:40px}.contact-layout h2{font-size:44px}.next-steps li{padding-block:19px}.next-title{font-size:32px}.related{padding-top:0}.footer{padding-block:30px;gap:25px}.footer nav{flex-basis:100%;justify-content:space-between;order:2}.footer>div{margin-left:auto;text-align:right;font-size:10px}.footer>small{order:3}.footer .brand .wordmark{width:91px}.hero-home [data-scene=gis] .home-title{font-size:10.4vw}html[lang|=fr] .home-title{font-size:10.4vw}html[lang|=fr] .hero-actions{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.scene-image{transform:none!important}}
/* Keep the notebook legible beside the method headline. */
/* Detailed home scenes keep a dark reading area while the work remains visible on the right. */
.hero-home .scene-shade{background:linear-gradient(180deg,rgba(0,17,31,.4) 0%,rgba(0,17,31,.4) 37%,transparent 58%),linear-gradient(90deg,rgba(0,17,31,.82) 0%,rgba(0,17,31,.76) 32%,rgba(0,17,31,.28) 49%,rgba(0,17,31,.06) 72%)}
@media(max-width:650px){.hero-home .scene-shade{background:linear-gradient(180deg,rgba(0,17,31,.35),rgba(0,17,31,.45) 35%,rgba(0,17,31,.83) 70%)} }
@media(min-width:901px){body[data-page=method] .hero-page [data-scene=method] .hero-copy{max-width:500px}body[data-page=method] .hero-title{font-size:clamp(60px,5.9vw,88px);text-wrap:initial}body[data-page=method] .hero-description{max-width:500px}.scene-bearing{opacity:.9;filter:brightness(1.8)}}
@media(max-width:380px){.site-header .brand .wordmark{display:none}.site-header .nav-cta{font-size:11px;padding:10px 12px;min-height:40px}}

/* The name is swallowed at the moving emblem edge without changing link width. */
.site-header nav .nav-product{display:inline-flex;align-items:center;font-weight:500}
.site-header nav .nav-northstar{color:#174d7b}
.nav-product-visual{display:inline-flex;align-items:center;gap:9px;isolation:isolate;white-space:nowrap}
.nav-product-mark{position:relative;display:grid;place-items:center;width:23px;height:23px;flex:none;z-index:2}
.nav-product-mark img{display:block;width:100%;height:100%}
.nav-product-text-window{display:block;overflow:hidden;mask-image:linear-gradient(90deg,transparent var(--absorb-edge,-9px),#000 calc(var(--absorb-edge,-9px) + 8px));-webkit-mask-image:linear-gradient(90deg,transparent var(--absorb-edge,-9px),#000 calc(var(--absorb-edge,-9px) + 8px))}
.nav-product-text{display:block}
@media(prefers-reduced-motion:reduce){.nav-product-mark,.nav-product-text{transform:none!important}.nav-product-text-window{mask-image:none;-webkit-mask-image:none}}
@media(max-width:650px){.nav-product-visual{gap:13px}.nav-product-mark{width:30px;height:30px}}
/* Keep the detailed review papers and whiteboard readable beside hero copy. */
body[data-page=northstar] :is([data-scene=regulated],[data-scene=northstar-refine]) .scene-shade{background:linear-gradient(90deg,rgba(1,19,33,.94) 0%,rgba(1,19,33,.86) 25%,rgba(1,19,33,.68) 42%,rgba(1,19,33,.22) 62%,rgba(1,19,33,.08) 100%)}
@media(max-width:650px){body[data-page=northstar] :is([data-scene=regulated],[data-scene=northstar-refine]) .scene-shade{background:linear-gradient(180deg,rgba(1,19,33,.18),rgba(1,19,33,.55) 30%,rgba(1,19,33,.86) 72%,rgba(1,19,33,.9))}body[data-page=northstar] [data-scene=northstar-refine] .scene-image{object-position:70% center}}
@media(max-width:650px){.hero-page [data-scene=northstar] .scene-image{object-position:80% center}}

/* Accented capitals need room above the next line as well as below the Q. */
html[lang|=fr] .home-title{line-height:1.14}

/* A quiet paper reveal over a dimmed scene; the two strokes become a close icon. */
.menu-backdrop{display:none}
.menu-icon{position:relative;display:block;width:20px;height:20px;--p:var(--menu-progress,0)}
.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;top:9px;width:20px;height:1.5px;background:currentColor;transform-origin:center}
.menu-icon:before{transform:translateY(calc(-3px * (1 - var(--p)))) rotate(calc(45deg * var(--p)))}
.menu-icon:after{transform:translateY(calc(3px * (1 - var(--p)))) rotate(calc(-45deg * var(--p)))}
@media(max-width:650px){
  .menu-toggle{min-width:40px;min-height:40px}
  .menu-icon{margin:auto}
  .site-header nav{max-height:calc(100svh - var(--nav-h));overflow-y:auto;overscroll-behavior:contain}
  .menu-backdrop{display:block;position:fixed;inset:var(--nav-h) 0 0;background:rgba(3,20,35,.3);opacity:0;pointer-events:none;z-index:90}
  .menu-open .menu-backdrop{pointer-events:auto}
}
/* Four primary destinations need the compact navigation on tablet widths too. */
@media(min-width:651px) and (max-width:900px){
 .site-header{gap:15px}.menu-toggle{display:block;min-width:44px;min-height:44px}.menu-icon{margin:auto}
 .site-header nav{display:none;position:absolute;top:var(--nav-h);left:0;right:0;margin:0;padding:25px var(--gutter);background:var(--paper);box-shadow:0 16px 24px #00152825;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - var(--nav-h));overflow-y:auto;overscroll-behavior:contain}
 .site-header nav.is-open{display:flex}.site-header nav a{font-family:var(--serif);font-size:34px;padding:15px 0;border-bottom:1px solid var(--line)}.site-header nav a[aria-current=page]:after{display:none}
 .menu-backdrop{display:block;position:fixed;inset:var(--nav-h) 0 0;background:rgba(3,20,35,.3);opacity:0;pointer-events:none;z-index:90}.menu-open .menu-backdrop{pointer-events:auto}
 .nav-product-visual{gap:13px}.nav-product-mark{width:30px;height:30px}
}
@media(min-width:901px) and (max-width:1100px){.site-header{gap:18px}.site-header nav{gap:20px;font-size:14px}.header-actions{gap:12px}.nav-cta{padding-inline:18px;font-size:13px}}
@media(max-width:650px){.footer nav{flex-wrap:wrap;row-gap:14px;max-width:100%}}

/* Keep the first scene and its controls within the current viewport. */
.hero .hero-stage{min-height:0;grid-template-rows:minmax(0,1fr)}
.hero .hero-panel{min-height:0}
.hero .hero-content{min-height:0}
@media(max-width:600px){
 .hero-home .hero-content{padding-block:26px 24px;gap:20px}
 .hero-page .hero-content{padding-block:28px 32px;justify-content:center}
 .hero-static .hero-content{padding-bottom:100px}
 .hero-page .northstar-lockup{margin-bottom:18px}
}
@media(max-width:600px) and (max-height:850px){
 .hero-home .home-title{font-size:clamp(38px,10.5vw,62px)}
 .hero-home .hero-subtitle{font-size:29px;margin-block:10px}
 .hero-home .hero-description{font-size:13px}
 .hero-home .hero-actions{margin-top:17px}
 .hero-page .hero-title:not(.home-title){font-size:clamp(36px,10vw,55px);margin-block:14px}
 .hero-page .hero-description{font-size:13px}
}
@media(min-width:601px){
 .hero-home .hero-content{padding-block:30px 24px;gap:20px}
 .hero-home .home-title{font-size:clamp(60px,min(10.3vw,12dvh),162px)}
 .hero-home .hero-subtitle{font-size:clamp(30px,min(3.5vw,4dvh),58px)}
}
html.lenis,html.lenis body{scroll-behavior:auto!important}

/* The small viewport stays fixed while mobile browser chrome expands and retracts. */
.hero{height:calc(100svh - var(--nav-h));min-height:0;padding-bottom:env(safe-area-inset-bottom,0px)}
@media(max-width:600px){
  body{overflow-x:clip}
  .hero{height:auto;min-height:calc(100svh - var(--nav-h))}
  /* Safari's bottom controls can overlap the layout viewport. Keep the rail above them. */
  .hero:not(.hero-static){padding-bottom:max(104px,calc(80px + env(safe-area-inset-bottom,0px)))}
  .hero:not(.hero-static) .hero-stage{min-height:515px}
}
@media(hover:none) and (pointer:coarse){.scene-image{will-change:auto}}

/* Homepage chapters show the work itself, with a quiet margin for the copy. */
.hero-home .scene-shade{background:linear-gradient(90deg,#041625 0%,#041625ee 24%,#04162570 43%,#04162500 65%)}
.hero-home [data-scene=regulated] .scene-shade{background:linear-gradient(90deg,#061c2d 0%,#061c2d 32%,#061c2d90 44%,#061c2d00 57%)}
.hero-home .scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0}
.hero-home .scene-video[data-ready]{opacity:1}
.hero-home [data-scene=knowledge] .scene{background:#061d2c}
@media(min-width:601px){
 .hero-home [data-scene=gis] .scene-shade{background:linear-gradient(90deg,#041625 0%,#041625ee 24%,#04162555 50%,#04162500 75%),linear-gradient(180deg,#041625a6 0%,#04162500 46%)}
}
@media(max-width:600px){
 .hero-home .hero-panel .hero-content{gap:166px}
 .hero-home .northstar-lockup{display:none}
 .hero-home .scene-image,.hero-home .scene-video{position:absolute;left:0;top:126px;width:100%;height:140px;transform:none!important;object-fit:cover;object-position:center}
 .hero-home [data-scene=regulated] .scene-image{inset:0;height:100%}
 .hero-home .scene-shade,.hero-home [data-scene=regulated] .scene-shade{background:none}
 .hero-home [data-scene=preview] .hero-content{gap:220px}
 .hero-home [data-scene=preview] .scene-image{inset:0;width:100%;height:100%}
 .hero-home [data-scene=knowledge] :is(.scene-image,.scene-video){width:200%;left:-73%;top:91px;height:210px;max-width:none;object-fit:contain}
 html[lang|=fr] .hero-home [data-scene=gis] :is(.scene-image,.scene-video){top:174px}
}

/* Registered form crops: the field geometry stays fixed across the match cut. */
.home-form-film{position:absolute;inset:0;overflow:hidden;background:#061c2d;pointer-events:none}
.hfm-camera{position:absolute;left:49%;top:38%;width:max(800px,78vw);height:650px;animation:hfm-drift 18s ease-in-out infinite alternate;animation-play-state:paused}
.hfm-sheet{position:absolute;inset:0;padding:28px 36px;color:#243a4c;background:linear-gradient(125deg,#e8e7e0,#f3f0e7 52%,#dfdfd7);font:400 18px/1.4 var(--body);overflow:hidden}
.hfm-running-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;font:500 12px/1.4 var(--mono);letter-spacing:.06em;color:#596774}
.hfm-section-heading{padding:13px 18px;background:#cfd4d2;border-bottom:2px solid #3a4b58;font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:.015em}
.hfm-focus{height:148px;border:1.5px solid #455463;border-top:0}
.hfm-field-label{display:flex;align-items:baseline;gap:14px;padding:16px 20px 0;font-size:25px;font-weight:400}
.hfm-field-label b{font:500 12px var(--mono);color:#6a7782}
.hfm-entry{display:flex;align-items:center;gap:12px;margin:26px 24px 0;height:24px}
.hfm-entry i{display:block;height:2px;width:20%;max-width:150px;background:#4a6375;transform-origin:left;transform:scaleX(.82);animation:hfm-ink 2400ms cubic-bezier(.22,.61,.36,1) both;animation-play-state:paused}
.hfm-entry i:nth-child(2){width:13%;animation-delay:180ms}.hfm-entry i:nth-child(3){width:7%;animation-delay:300ms}
.hfm-boxes{display:grid;grid-template-columns:repeat(8,1fr);gap:0;margin:20px 24px 0;max-width:440px;border-left:1px solid #77828a}
.hfm-boxes i{height:38px;border:1px solid #77828a;border-left:0}
.hfm-date i:nth-child(4),.hfm-date i:nth-child(6){margin-right:9px}
.hfm-date i:nth-child(5),.hfm-date i:nth-child(7){border-left:1px solid #77828a}
.hfm-support{display:grid;grid-template-columns:1fr 1fr;border-left:1.5px solid #455463}
.hfm-support-cell{padding:14px 20px;height:100px;border-right:1.5px solid #455463;border-bottom:1.5px solid #455463;font-size:15px}
.hfm-empty-rule{display:block;width:65%;border-bottom:1px solid #919da4;margin-top:22px}
.hfm-lower-rules i{display:block;border:1px solid #8b969d;border-top:0;height:62px}
.home-form-film[data-playing=true] .hfm-camera,.home-form-film[data-playing=true] .hfm-entry i{animation-play-state:running}
.hero-home [data-scene=regulated] .scene-shade{background:linear-gradient(90deg,#061c2d 0%,#061c2df5 28%,#061c2d99 44%,#061c2d00 70%),linear-gradient(180deg,#061c2d15 55%,#061c2d80)}
.hero-home .home-egg-poster{object-fit:contain;object-position:right center;transform:none;will-change:auto}
.hero-home [data-scene=preview] :is(.home-egg-poster,.home-egg-film){object-fit:contain;object-position:right center;transform:none;will-change:auto}
@media(min-width:601px){
 .hero-home [data-scene=preview] :is(.home-egg-poster,.home-egg-film){position:absolute;inset:0 0 0 auto;width:auto;max-width:none;height:100%;aspect-ratio:16/9;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 27%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 27%)}
}
.hero-home [data-scene=preview] .scene-shade{background:linear-gradient(90deg,#061c2d 0%,#061c2df5 26%,#061c2d80 44%,#061c2d00 70%)}
.hero-home [data-scene=preview] .scene-caption{padding:6px 9px;background:#061e34e8;color:#faf8f3}
@keyframes hfm-ink{0%,12%{transform:scaleX(0)}70%,100%{transform:scaleX(.82)}}
@keyframes hfm-drift{from{transform:translate3d(0,0,0) scale(1.02)}to{transform:translate3d(-14px,-7px,0) scale(1.045)}}
@media(min-width:601px) and (max-width:900px){.hero-home .scene-shade{background:linear-gradient(90deg,#041625f5 0%,#041625b3 42%,#04162522 80%)}.hfm-camera{left:38%;top:34%}}
@media(max-width:600px){
 .hero-home [data-scene=regulated] .hero-content{gap:280px;justify-content:flex-start}
 .hero-home [data-scene=regulated] .home-title{font-size:clamp(34px,10vw,55px);line-height:1.02}
 .hero-home [data-scene=regulated] .hero-actions{gap:16px}
 .hero-home [data-scene=regulated] .hero-actions .button{font-size:12px;gap:12px;min-height:45px;padding:12px 14px}
 .hfm-camera{left:-22px;top:110px;width:calc(100% + 90px);height:390px}
 .hfm-sheet{padding:18px 34px;font-size:12px}
 .hfm-running-header{padding-bottom:12px;font-size:9px;gap:12px}
 .hfm-section-heading{padding:8px 14px;font-size:11px}
 .hfm-focus{height:106px}
 .hfm-field-label{font-size:19px;padding:12px 14px 0;gap:9px}
 .hfm-field-label b{font-size:9px}
 .hfm-entry{margin:21px 17px 0;gap:8px}
 .hfm-boxes{margin:16px 17px 0;max-width:280px}
 .hfm-boxes i{height:26px}
 .hfm-support-cell{height:77px;padding:10px 14px;font-size:11px}
 .hfm-empty-rule{margin-top:15px}
 .hfm-lower-rules i{height:45px}
 .hero-home [data-scene=regulated] .scene-shade{background:linear-gradient(180deg,#061c2d 0 104px,#061c2d00 150px 290px,#061c2d 370px)}
 .hero-home [data-scene=preview] .hero-content{gap:290px;justify-content:flex-start}
 .hero-home [data-scene=preview] .home-title{font-size:clamp(34px,10vw,55px);line-height:1.02}
 .hero-home [data-scene=preview] :is(.home-egg-poster,.home-egg-film){top:124px;left:0;width:100%;height:330px;object-fit:cover;object-position:81% center}
 .hero-home [data-scene=preview] .scene-shade{background:linear-gradient(180deg,#061c2d 0 104px,#061c2d00 146px 322px,#061c2d 412px)}
 .hero-home [data-scene=preview] .hero-actions{gap:16px}
 .hero-home [data-scene=preview] .hero-actions .button{font-size:12px;gap:12px;min-height:45px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){.home-form-film .hfm-camera,.home-form-film .hfm-entry i{animation:none;transform:none}}
@keyframes release-toolbar-clearance{
  from{padding-bottom:max(104px,calc(80px + env(safe-area-inset-bottom,0px)))}
  to{padding-bottom:0}
}
@supports(animation-timeline:scroll(root block)){
  @media(max-width:600px){
    .hero:not(.hero-static){animation:release-toolbar-clearance linear both;animation-timeline:scroll(root block);animation-range:0px 300px}
  }
}
/* Match the clearance to the browser chrome's actual expanded-to-collapsed travel. */
@supports(padding-bottom:calc(104px * ((100lvh - 100dvh) / max(1px, 100lvh - 100svh)))){
  @media(max-width:600px){
    html.chrome-viewport-tracking .hero:not(.hero-static){
      --toolbar-clearance:max(104px,calc(80px + env(safe-area-inset-bottom,0px)));
      animation:none;
      padding-bottom:clamp(0px,calc(var(--toolbar-clearance) * ((100lvh - 100dvh) / max(1px, 100lvh - 100svh))),var(--toolbar-clearance));
    }
  }
}

/* Muted vector language marks, with a text code and accessible action label. */
.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap}
.language-toggle img,.locale-flag{display:block;width:30px;height:20px;flex-shrink:0;object-fit:contain}
.language-toggle [data-language-code]{font-size:12px;line-height:1;font-weight:500}
@media(max-width:650px){.language-toggle{gap:5px;padding-inline:7px}.language-toggle img{width:27px;height:18px}.language-toggle [data-language-code]{font-size:10px}}
@media(max-width:650px){.site-header .nav-cta{font-size:11px;min-height:40px;padding:10px 12px}}

/* Company contact links stay readable in each regional footer. */
.company-phone{white-space:nowrap}
.company-phone:hover{color:var(--rust);text-decoration:underline;text-underline-offset:.2em}
.contact-phone{display:block;width:fit-content;margin:0 0 16px;font-size:22px;font-weight:500}
.footer .footer-contact{display:flex;flex-direction:column;gap:5px}
.nss-footer .footer-contact{align-items:flex-end}
@media(max-width:650px){.nss-footer .footer-contact{align-items:flex-start;text-align:left}}
