@font-face{font-family:Nysa;src:url('assets/sans.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Nysa;src:url('assets/sans-bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Editorial;src:url('assets/serif.woff') format('woff');font-style:italic;font-display:swap}
:root{--paper:#d5d0d9;--ink:#3f2d29;--pad:5.2vw;--head:96px;--fg:#273545;--a1:14vw;--a2:18vw;--b1:11vw;--b2:17vw;--mark:34vw}
*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:#3f2d2966 #d5d0d9}body{margin:0;font-family:Nysa,Arial,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:#c54436;color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-70px;left:20px;padding:14px 20px;background:var(--ink);color:var(--paper);z-index:100}.skip-link:focus{top:16px}
.journey{height:355svh}.stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden;isolation:isolate;background:#c6c6c6;color:var(--fg)}.masthead{position:absolute;top:0;left:var(--pad);right:var(--pad);height:var(--head);display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:20}.navigation-rule{position:absolute;top:var(--head);left:var(--pad);width:calc(100% - 2 * var(--pad));height:1px;background:#dce2e7;transform-origin:left;pointer-events:none;z-index:4}.menu-toggle{position:absolute;right:0;top:25px;width:42px;height:44px;display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:flex-end;visibility:hidden;opacity:0}.menu-toggle span{width:24px;height:1px;background:currentColor}.menu-toggle span:last-child{width:16px;transition:width .2s}.menu-toggle:hover span:last-child{width:24px}
.corporate{position:absolute;inset:0;pointer-events:none;z-index:3}
/* NOVA deliberately uses the proportions and UI chrome of a dated company template. */
.nova-shell{position:absolute;left:var(--nova-x,16px);top:var(--nova-y,24px);width:var(--nova-w,calc(100% - 32px));height:var(--nova-h,calc(100% - 48px));background:#fff;border:1px solid #939393;box-shadow:inset 0 0 0 1px #fff,2px 2px 4px #999;z-index:2}.nova-shell::before{content:'';position:absolute;inset:0 0 auto;height:var(--nova-banner,74px);background:linear-gradient(100deg,#b8c5d3,#e4e8ec 72%,#c9cfd6);border-bottom:1px solid #fff}.nova-logo{position:absolute;top:16px;left:20px;font:italic 700 32px Arial,Helvetica,sans-serif;letter-spacing:2px;color:#173659;text-shadow:1px 1px #fff;z-index:1}.nova-nav{position:absolute;top:var(--nova-banner,74px);left:0;right:0;height:32px;display:flex;justify-content:center;gap:0;background:linear-gradient(#3f6083,#183859);border-top:1px solid #8c9cad;border-bottom:2px solid #0e2845;font:12px Tahoma,Verdana,Arial,sans-serif;color:#fff;z-index:1}.nova-nav a{display:flex;align-items:center;padding:0 24px;border-left:1px solid #7d93ab;border-right:1px solid #152f4c;text-decoration:underline;text-underline-offset:2px}.nova-nav a:hover{background:#c8d5e3;color:#173659}.corporate-copy{position:absolute;left:var(--nova-copy-x);top:var(--nova-copy-y);width:var(--nova-copy-w);text-align:center;will-change:transform}.corporate h1{font:700 var(--nova-copy-font,26px)/1.15 'Times New Roman',Times,serif;letter-spacing:0;margin:0;color:#173659}.corporate p{margin:14px 0 0;font:12px/16px Tahoma,Verdana,Arial,sans-serif;color:#555}.corporate-field{position:absolute;left:var(--nova-field-x);top:var(--nova-field-y);width:var(--nova-field-w);height:var(--nova-field-h);background:#e8e8e8;border:2px ridge #c1c1c1;will-change:transform}.cta{position:absolute;left:var(--nova-cta-x);top:var(--nova-cta-y);width:132px;height:32px;display:flex;align-items:center;background:linear-gradient(#7088a8,#224066);color:#fff;border:1px solid #173659;border-radius:0;font-family:Tahoma,Verdana,Arial,sans-serif;text-shadow:0 -1px #173659;box-shadow:inset 1px 1px #a8b7c9,inset -1px -1px #173659,2px 2px 3px #999;overflow:hidden;z-index:6;will-change:width,height,transform}.cta>span{width:132px;flex-shrink:0;padding:0 13px;font-size:11px;display:flex;align-items:center;justify-content:space-between}.cta b{font-size:17px;font-weight:700}.sphere-fallback{display:none;position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%,#eef3f9,#7292b8 24%,#315b8a 67%,#102741);transform-origin:center;opacity:0}.no-canvas .sphere-fallback{display:block}
@media(max-width:600px){.nova-logo{top:13px;font-size:28px}.nova-nav{font-size:11px}.nova-nav a{padding:0 11px}.corporate p{font-size:11px}}
.type-stage{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}.statement{position:absolute;left:var(--pad);right:var(--pad);top:23%;height:55%;display:flex;flex-direction:column;justify-content:center;visibility:hidden;opacity:0;transform-origin:left 70%;will-change:transform}.line{display:block;overflow:hidden;line-height:.94;letter-spacing:-.055em;font-weight:700;padding-top:.075em;margin-top:-.02em}.line>span{display:block;transform-origin:left bottom;will-change:transform}.line-a1{font-size:var(--a1)}.line-a2{font-size:var(--a2)}.line-b1{font-size:var(--b1)}.line-b2{font-size:var(--b2)}
.reveal{position:absolute;inset:0;z-index:8;opacity:0;visibility:hidden}.reveal:focus{outline:none}.reveal h2{margin:0;font-size:var(--mark);position:absolute;top:19%;left:var(--pad);line-height:.82;letter-spacing:-.084em;font-weight:700}.wordmark{display:block;position:relative;white-space:nowrap;will-change:transform}.wordmark sup{position:absolute;top:.015em;right:-.16em;font-weight:400;font-size:.095em;letter-spacing:0}.descriptor{position:absolute;left:var(--pad);bottom:10%;font-family:Editorial,Georgia,serif;font-style:italic;font-size:clamp(19px,1.65vw,27px);line-height:1.2;margin:0;letter-spacing:-.02em}.mobile-break{display:none}
.artifact-wrap{position:absolute;inset:0;z-index:7;pointer-events:none}.artifact-wrap canvas{display:block;width:100%;height:100%}.artifact-fallback{display:none;width:100%;height:100%;object-fit:contain;opacity:0}.no-canvas canvas{display:none}.no-canvas .artifact-fallback{display:block;position:absolute;opacity:1}.object-hit{position:absolute;z-index:16;opacity:0;visibility:hidden;cursor:grab;touch-action:pan-y pinch-zoom;border-radius:38%;outline-offset:4px}.object-hit:active{cursor:grabbing}.object-hit:focus-visible{outline:1px dashed currentColor}
dialog{margin:0;border:0;padding:0 var(--pad);width:100vw;max-width:none;height:100svh;max-height:none;background:var(--ink);color:var(--paper)}dialog::backdrop{background:var(--ink)}.menu-head{height:var(--head);display:flex;align-items:center;justify-content:space-between}.menu-head>span{font-size:27px;font-weight:700;letter-spacing:-1.8px}.menu-head sup{font-size:11px;letter-spacing:0}.menu-close{font-size:34px;line-height:1;width:44px;height:44px;text-align:right}dialog nav{margin-top:20vh}dialog nav a{display:flex;align-items:baseline;border-top:1px solid #d5d0d955;font-size:clamp(48px,8vw,120px);letter-spacing:-.06em;line-height:1;padding:30px 0}dialog nav a span{font-size:.5em;margin-left:auto}dialog nav a:hover{color:#fff}dialog>p{position:absolute;bottom:9vh;font-family:Editorial,Georgia,serif;font-style:italic;font-size:21px}
@media(max-width:900px){:root{--pad:5vw;--head:84px}.reveal h2{top:23%}.descriptor{font-size:23px}.menu-toggle{top:20px}}
@media(max-width:600px){:root{--pad:6vw;--head:76px}.journey{height:335svh}.stage{min-height:0}.menu-toggle{top:16px}.statement{top:26%;height:48%}.line{letter-spacing:-.049em;line-height:.96;padding-top:.09em}.reveal h2{top:25%;line-height:.8;letter-spacing:-.084em}.descriptor{bottom:9.5%;font-size:21px;line-height:1.14}.mobile-break{display:block}dialog nav{margin-top:23vh}dialog nav a{font-size:15vw;padding:27px 0}dialog>p{font-size:18px;max-width:240px}}
@media(max-height:610px) and (min-width:601px){:root{--head:72px}.reveal h2{top:22%}.descriptor{font-size:19px}.menu-toggle{top:13px}.statement{top:20%;height:62%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
