@font-face{font-family:'Host Grotesk Variable';src:url('/fonts/HostGrotesk-Variable.ttf') format('truetype');font-weight:300 800;font-display:swap}
@font-face{font-family:'Host Grotesk';src:url('/fonts/HostGrotesk-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'OuterBlue Helvetica Neue';src:local('Helvetica Neue'),local('HelveticaNeue');font-weight:400;font-style:normal;font-display:swap}
:root{font-family:'OuterBlue Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-synthesis:none;color:#fff;background:#1414ff;-webkit-text-size-adjust:100%;--grid-line:rgba(255,255,255,.20)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}body{overflow-x:hidden}
a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid white;outline-offset:4px}footer a:hover>span{text-decoration:underline;text-underline-offset:3px}
.page-grid{height:100svh;height:100dvh;min-height:440px;display:grid;position:relative;isolation:isolate;overflow:hidden;grid-template-columns:repeat(44,1fr);grid-auto-rows:calc(100vw / 44);--text-inset:20px}
.grid-art,footer{display:contents}
.grid-cell,.merged-cell{border:0 solid var(--grid-line);border-top-width:1px;border-left-width:1px;min-width:0;min-height:0}
.grid-cell{pointer-events:none}
.merged-cell{z-index:1;background:#1414ff;display:flex;align-items:center}
.site-header{grid-column:2 / span 6;grid-row:2;padding-left:var(--text-inset)}
.brand{display:flex;align-items:center;gap:6px;font-family:'Host Grotesk Variable';font-weight:450;font-size:28px;letter-spacing:-.02em;line-height:1;white-space:nowrap}.brand img{display:block;width:29px;height:auto;filter:brightness(0) invert(1)}
main{grid-column:2 / span 19;grid-row:10 / span 5;padding:10px var(--text-inset)}main:focus{outline:none}
h1{font-size:clamp(23.4px,2.1465vw,32.4px);font-weight:400;line-height:1.16;letter-spacing:-.02em;text-wrap:wrap;margin:0}
.footer-item{font-size:12px;font-weight:400;letter-spacing:0;line-height:1.4;justify-content:center;white-space:nowrap;text-align:center;position:relative}
footer a::after{content:'';position:absolute;inset:-6px 0;min-height:44px}
.arrow{font-family:'Host Grotesk',sans-serif;font-weight:500}
.skip-link{position:fixed;top:0;left:0;z-index:10;background:#1414ff;padding:12px;transform:translateY(-110%)}.skip-link:focus{transform:none}
@media(max-width:700px){.page-grid{min-height:520px;--text-inset:10px}.brand{font-size:25px}.brand img{width:26px}h1{font-size:clamp(17px,4.86vw,21.06px);line-height:1.2}.footer-item{font-size:9.5px;letter-spacing:.02em}footer a::after{inset:0;min-height:0}main{padding:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
@media(min-width:701px) and (max-width:1000px){.footer-item{font-size:10px}.brand{font-size:24px}.brand img{width:25px}}

.site-header{justify-content:center;padding-left:0}h1{text-align:center;text-wrap:balance}

/* Reveal only after all cell positions are assigned: no auto-placed footer flash. */
.page-grid:not([data-ready]){visibility:hidden}
html,body{padding:0;overscroll-behavior-y:none}
@media(max-width:700px){
 .footer-item{font-size:10px;letter-spacing:0;border-top-width:1px}
 .footer-item:first-child{border-top-width:1px}
}

/* The mobile footer continues the grid: same stroke, no extra bottom rule. */
@media(max-width:700px){
 .footer-item{font-size:11.5px;line-height:1.3;border-top:1px solid var(--grid-line);border-bottom:0}
}
/* Ocean globe revision. Original type sizes and footer placement are retained. */
:root{color:#000;background:#fff;--grid-line:transparent}
.page-grid{background:#fff;visibility:visible!important}
.merged-cell{background:transparent;border:0}
.brand{color:#1414ff}.brand img{filter:none;visibility:hidden}.brand{position:relative}.brand::before{content:'';position:absolute;left:0;width:29px;height:29px;background:#1414ff;mask:url('/icon.png') center/contain no-repeat;-webkit-mask:url('/icon.png') center/contain no-repeat}
h1{text-align:left;text-wrap:wrap}
main{position:absolute;display:flex;padding:0;z-index:2}
.footer-item{color:#000;transition:color .18s}
footer a:hover,footer a:focus-visible{color:#1414ff;background:transparent}
a:focus-visible{outline-color:#1414ff}.skip-link{color:#fff}
.globe{position:absolute;pointer-events:none;aspect-ratio:1;z-index:0}.globe canvas{display:block;width:100%;height:100%}
@media(max-width:700px){.brand::before{width:26px;height:26px}.footer-item{border:0}main{padding:0}}
@media(min-width:701px) and (max-width:1000px){.brand::before{width:25px;height:25px}}
main{grid-column:auto;grid-row:auto}

h1>span{display:block}

.stacked h1{text-align:center;text-wrap:balance}
.stacked h1>span{display:inline}

/* Smaller footer lettering without changing the footer cells. */
.footer-item>span{font-size:91.666667%}

@font-face{font-family:'OuterBlue Headline';src:local('HelveticaNeue-Thin'),local('Helvetica Neue Thin');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'OuterBlue Headline';src:local('HelveticaNeue-Medium'),local('Helvetica Neue Medium');font-weight:500;font-style:normal;font-display:swap}
h1{font-family:'OuterBlue Headline','Host Grotesk Variable','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:100}
h1 strong{font-weight:500}

/* The opening uses the same canvas and destination layout as the landing page. */
.intro-pending main,.intro-pending .footer-item{opacity:0;visibility:hidden}
.intro-pending .globe{opacity:0}
.page-grid.intro-running main,.page-grid.intro-running .footer-item{opacity:var(--intro-reveal,0);visibility:visible;pointer-events:none}
.page-grid.intro-running .globe{opacity:1;transform-origin:center;will-change:transform;z-index:3}
@media(prefers-reduced-motion:reduce){.intro-pending main,.intro-pending .footer-item,.intro-pending .globe{opacity:1;visibility:visible}}
