/* Project NJOL / OVA Nocturne. Flat pigment, ink framing, existing brand assets. */
:root{--bg:#211d29;--surface:#2d2637;--text:#f2e8d5;--muted:#c0b3be;--line:#a592aa55;--purple:#c9b2ec;--mint:#e7b597;--amber:#e7b597;--ink:#17131e}
body{background:var(--ink);color:var(--text)}
.site-frame{background:var(--bg);border:1px solid #88738f;max-width:1800px}
.header,.footer{background:#211c2a}
.button{border:1px solid #e4cffa;border-radius:0;background:var(--purple);color:#17131e;box-shadow:none}
.button:hover{background:#dfcef5;box-shadow:none;transform:translateY(-2px)}
.button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #efc09c;outline-offset:5px}
.eyebrow{color:#d3bcef}.brand-sub,.release-note{color:#cabbd0}
.project-gate{max-width:1800px;min-height:100svh;padding:30px clamp(24px,5.3vw,100px) 26px;background:#272130;border-inline:1px solid #88738f}
.project-gate::before{inset:0;background:#302638;clip-path:polygon(65% 0,100% 0,100% 70%,91% 100%,23% 100%);z-index:-3}
.project-gate::after,.nordic-hero::after{background:none;border:1px solid #b39bb34d;inset:12px;z-index:-1}
.gate-mast{border-bottom:1px solid #aa90ac70;padding-bottom:22px}.gate-mast .mono{color:#e6d7d7}
.gate-signature .wordmark{background:var(--text);width:51px;height:41px}
.gate-heading{padding:65px 0 50px;gap:48px;align-items:flex-end}
.gate-heading .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:27px}
.gate-heading h1{font-size:clamp(76px,8.9vw,148px);font-weight:650;line-height:.92;letter-spacing:-.075em}
.gate-heading h1 em{font-style:normal;color:#c9b2ec}
.gate-intro{max-width:300px;padding-bottom:6px}.gate-intro .parent-mark{width:94px;height:70px;margin-bottom:27px;background:#e7b597}
.gate-intro p{font-size:13px;line-height:1.9;max-width:300px;color:#dfcfd8}
.project-index{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid #aa90ac70;font-size:9px;color:#cdbed0}
.project-choices{gap:0;flex:initial;border:1px solid #17131e}
.project-choice{min-height:320px;padding:29px 32px;border:0;color:#201b28;background:#c8b0df;transition:background .25s}
.project-choice::before{background:none!important;inset:auto 22px 22px auto;width:56px;height:56px;border-right:1px solid #34283b50;border-bottom:1px solid #34283b50;transform:none!important}
.project-choice:hover{border:0;box-shadow:none;background:#d5bee9}
.choice-nordic{background:#ecdfc5;border-left:1px solid #17131e}.choice-nordic:hover{background:#f5ead4}
.choice-top{align-items:flex-start}.choice-number{background:none;border:0;padding:0;color:#382d43;font-size:10px}
.choice-state{color:#4a3a50;font-size:8px;text-shadow:none;text-align:right}
.choice-bottom{padding-top:48px}.project-title-slot{min-height:59px}
.project-choice h2{font-size:clamp(33px,4vw,64px);font-weight:650;letter-spacing:-.055em;margin-bottom:17px}.project-choice h2 span{font-weight:400;font-size:.7em;letter-spacing:-.04em}
.project-choice p{color:#493c50;max-width:440px;font-size:13px;line-height:1.8}
.choice-action{border-color:#4d3d5a55;color:#2b2135;margin-top:26px;padding-top:15px;font-size:10px}
.gate-foot{padding-top:22px}.gate-foot .mono{color:#cbbace;font-size:9px}.light-toggle{color:#d7c0f0}
.project-gate .cinema-light{opacity:.24}.nordic-hero .cinema-light{opacity:.28}
.browser-brand{gap:20px}.browser-name{font-size:22px;letter-spacing:.03em;font-weight:650}.demo-browser-name{display:block;padding:5px 7px 19px;font-size:11px;letter-spacing:.08em}
.hero{border-bottom:1px solid #a08aab}.hero-meta{color:#e2d4e9}.hero-shade{background:linear-gradient(90deg,#201b2b8c,transparent 65%)}
.hero h1,.nordic-hero h1{font-weight:550}.hero-content>p{color:#e0d4e3}.hero-side{color:#bca8c6}
.manifesto-strip{background:#e9dec7;color:#241c2d;border-block:1px solid #17131e}.manifesto-strip p,.manifesto-strip p span,.manifesto-strip>.mono{color:#47374e}.manifesto-strip .cross{color:#6d4e7c}
.feature-clips,.philosophy{background:#302638}.download-panel{background:#342a3d;border:1px solid #af95be;box-shadow:none}
.browser-demo,.nordic-film{box-shadow:none;border:1px solid #b49cc1}.demo-home h3{font-size:35px;letter-spacing:-.05em}
.feature-row article{border-color:#a78aad77}.feature-row h3{color:#e9d9ef}.feature-film{border-color:#9f83a666}
.north-notes{border-block:1px solid #a68bae;background:#292331}.north-landscape{opacity:.26}
.nordic-hero{background:#302638;position:relative}.nordic-hero h1 span{color:#ccb3ec}.nordic-kicker .eyebrow{color:#d6c0e8}.beta-stamp{color:#eadfc9;border-color:#a893ab;background:#211c2a}
.nordic-hero::before{background: url('/assets/nordic/ova-nocturne-mark.png') 92% 45% / auto 94% no-repeat;opacity:.15}
.nordic-atmosphere{background:#e9dfc9;color:#302538}.atmosphere-heading p{color:#554759}.nordic-atmosphere .eyebrow{color:#694c7d}.nordic-effect{border:1px solid #59425f;background:#292331}.nordic-effect::before{background:#292331;opacity:.85}
.nordic-atmosphere .effect-replay,.nordic-atmosphere .light-toggle{color:#563c69}.nordic-atmosphere .effect-modes button[aria-pressed=false]{color:#3b294d;border-color:#755c88}
.nordic-effect .effect-bottomline strong{color:#f2e8d5}
.nordic-viewer{background:#241e2d}.film-bar{border-color:#ae91b6}.film-caption{color:#c4b2c9}
.nordic-statement{background:#c8b0df;color:#281d34;border-block:1px solid #17131e}.nordic-statement p,.nordic-statement .mono{color:#3c2d46}
.light-story{background:#302638}.skellig-story{border-bottom:1px solid #a287ab}.preview-label{border-color:#a891b2;background:#34293d;color:#eaddec}
.nordic-download{background:#2c2333}.download-panel-head img{border-radius:0}.footer .wordmark{background:var(--text)}
@media(min-width:1800px){.project-gate{min-height:1000px;justify-content:center}.gate-heading{padding-block:70px}.project-choice{min-height:350px}}
@media(max-width:1000px){.gate-heading{gap:30px;padding-block:48px}.gate-heading h1{font-size:clamp(72px,9vw,110px)}.gate-intro{max-width:240px}.gate-intro p{font-size:12px}.project-choice{padding:25px}.choice-top{gap:8px}.choice-state{max-width:115px}.browser-name{font-size:18px}}
@media(max-width:700px){.project-gate{padding:24px 22px;min-height:auto}.project-gate::after{inset:7px}.gate-signature .wordmark{width:40px;height:32px}.gate-mast .mono{font-size:8px}.gate-heading{display:block;padding:40px 0 29px}.gate-heading h1{font-size:clamp(62px,14vw,96px)}.gate-heading .eyebrow{font-size:8px;max-width:260px;margin-bottom:22px}.gate-intro{max-width:none;margin-top:26px}.gate-intro .parent-mark{display:none}.gate-intro p{margin:0;max-width:360px;font-size:12px}.project-index{font-size:7px;align-items:center}.project-index span:last-child{text-align:right}.project-choices{grid-template-columns:1fr;gap:0}.project-choice{min-height:265px;padding:23px}.choice-nordic{border-left:0;border-top:1px solid #17131e}.choice-bottom{padding-top:32px}.project-choice h2{font-size:38px}.project-title-slot{min-height:0}.project-choice p{font-size:12px}.choice-state{max-width:none;font-size:7px}.choice-action{font-size:9px;margin-top:20px}.gate-foot{gap:18px;align-items:flex-start}.gate-foot .mono{font-size:7px;max-width:180px}.light-toggle{font-size:9px}.browser-brand{gap:9px}.browser-name{font-size:15px}.header nav{gap:13px}.header .button.small{font-size:9px;padding:9px}.hero-meta{font-size:7px}.demo-home h3{font-size:30px}}

.feature-film video[data-fixed-format="landscape"]{aspect-ratio:16/9;height:auto;object-fit:contain}.feature-film-copy p+p{margin-top:15px}.film-links{flex-wrap:wrap}.film-links .mono{max-width:100%;font-size:8px}

.project-title-slot[data-project-brand="nordic"]{display:flex;align-items:center;gap:18px}.project-approved-mark{width:64px;height:64px;object-fit:contain;margin-bottom:12px}.project-title-slot[data-project-brand="nordic"] h2{font-size:clamp(27px,3.3vw,52px)}.nordic-monogram{object-fit:contain}@media(max-width:700px){.project-approved-mark{width:52px;height:52px}.project-title-slot[data-project-brand="nordic"] h2{font-size:32px}}

/* Approved vintage masters: no colour processing or overlays on the panorama. */
.nordic-hero::before{display:none}
.nordic-hero{padding-top:40px}.nordic-hero .nordic-kicker{margin-bottom:28px}
.nordic-header-lockup{display:block;width:235px;height:auto;object-fit:contain}
.nordic-identity{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:28px}
.nordic-identity h1{margin:0;line-height:1;flex:0 1 680px;min-width:0}
.nordic-title-lockup{display:block;width:100%;height:auto;object-fit:contain}
.nordic-tagline{font-size:clamp(23px,2.5vw,37px);line-height:1.25;color:#e9ddce;letter-spacing:-.04em;flex:none}
.nordic-panorama{margin:0;border:1px solid #a48caa;position:relative;background:#b7a2b2}
.nordic-panorama img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;filter:none;opacity:1}
.nordic-hero .nordic-intro{margin-top:28px}.nordic-hero .gate-foot{padding-top:15px}
.choice-nordic{background:#342b40}.choice-nordic:hover{background:#40334c}
.choice-nordic .choice-number,.choice-nordic .choice-state,.choice-nordic p,.choice-nordic .choice-action{color:#e3d4e8}
.choice-nordic .choice-action{border-color:#b49abd66}
.project-nordic-lockup{width:100%;max-width:440px;margin:0 0 17px!important}
.project-nordic-lockup img{display:block;width:100%;height:auto}
.project-title-slot[data-project-brand="nordic"]{min-height:0}
@media(max-width:1000px){.nordic-header-lockup{width:205px}.nordic-identity h1{flex-basis:480px}.nordic-tagline{font-size:24px}.nordic-identity{gap:24px}}
@media(max-width:700px){.nordic-header-lockup{width:225px;max-width:100%}.nordic-identity{display:block;margin-bottom:23px}.nordic-identity h1{max-width:100%}.nordic-tagline{font-size:22px;margin-top:20px}.nordic-tagline br{display:none}.nordic-panorama{margin-inline:-10px}.nordic-hero .nordic-kicker{gap:15px;margin-bottom:30px}.nordic-kicker .eyebrow{max-width:160px;font-size:8px}.project-nordic-lockup{max-width:350px}}

/* Northline: final transparent masters approved in the browser chat. */
.choice-browser{background:#3b3049}.choice-browser:hover{background:#473956}
.choice-browser .choice-number,.choice-browser .choice-state,.choice-browser p,.choice-browser .choice-action{color:#e9dced}.choice-browser .choice-action{border-color:#b49abd66}
.project-borealis-lockup{margin:0 0 17px!important;width:250px;max-width:100%}.project-borealis-lockup img{display:block;width:100%;height:auto}
.project-title-slot[data-project-brand="borealis"]{min-height:0}.project-choices .choice-bottom{padding-top:25px}
.borealis-header-wordmark{display:block;width:160px;height:auto;object-fit:contain}
.borealis-demo-icon{display:block;width:44px;height:44px;object-fit:contain;margin:0 0 18px 7px}
.borealis-demo-wordmark{display:block;width:230px;max-width:90%;height:auto;object-fit:contain}
.borealis-download-icon{width:56px;height:56px;object-fit:contain;flex:none}.download-panel-head:has(.borealis-download-icon){gap:17px}
@media(max-width:1000px){.borealis-header-wordmark{width:135px}}
@media(max-width:700px){.project-borealis-lockup{width:220px}.borealis-header-wordmark{width:125px}.borealis-demo-wordmark{width:170px}.borealis-download-icon{width:44px;height:44px}}
@media(max-width:480px){.header nav a[href="#experience"]{display:none}.header{gap:12px}.borealis-header-wordmark{width:120px}}

/* Approved hierarchy: original NJOL mark before BOREALIS. */
.project-borealis-lockup{width:440px}.borealis-header-wordmark{width:190px}.borealis-demo-wordmark{width:270px}@media(max-width:700px){.borealis-header-wordmark{width:140px}.borealis-demo-wordmark{width:200px}.project-borealis-lockup{width:100%}}

/* Standalone splash view, splash project banners, and pinned top world switcher. */
html[data-site="splash"] #browser,html[data-site="splash"] .world-switcher{display:none!important}
html[data-site="borealis"] #projects{display:none!important}
.choice-banner{margin:18px 0 0;border:1px solid #b49abd66;overflow:hidden;background:#1c1623;aspect-ratio:3/1;position:relative}
.choice-banner img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.choice-banner-borealis img{object-position:center 46%}
.choice-banner-nordic{background:#b7a2b2}
.choice-banner-nordic img{object-fit:contain;filter:none;opacity:1}
.project-choice:hover .choice-banner img{transform:scale(1.03)}
.world-switcher{position:sticky;top:0;z-index:90;max-width:1800px;width:calc(100% - 36px);margin:0 auto;padding:9px 38px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#191421ed;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #88738f;border-top:0}
.world-switcher+.site-frame{margin-top:0;border-top:0}
.world-switcher-home{color:#e6d7d7;font-size:10px;transition:color .2s}
.world-switcher-home:hover{color:var(--purple)}
.world-switcher-current{color:#cabbd0;font-size:9px;margin-right:auto;padding-left:14px;border-left:1px solid #aa90ac55}
.world-switcher-action.button.small{min-height:32px;padding:7px 14px;font-size:10px}
@media(max-width:1000px){.world-switcher{padding:9px 24px}}
@media(max-width:700px){.world-switcher{width:calc(100% - 20px);padding:8px 14px;gap:10px}.world-switcher-current{display:none}.world-switcher-home{font-size:9px}.world-switcher-action.button.small{min-height:30px;padding:6px 11px;font-size:9px}}
