/* Effects are painted directly inside glyphs, without duplicated text or clipping. */
.hero-title h1,.hero-title h1>.hero-line{overflow:visible;clip-path:none;text-shadow:none;animation:none;line-height:1.12}
.hero-title h1>.hero-line{width:auto;max-width:100%;transform:none}
.hero-line:after{content:none!important;display:none!important}
.shimmer-heading{overflow:visible;text-shadow:none;--ink-base:#fff}
.shimmer-heading em,.shimmer-heading .coral{--ink-base:#f9696a}
.title-ink{color:var(--ink-base,#fff);text-shadow:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .title-ink{background-image:linear-gradient(105deg,var(--ink-base,#fff) 0%,var(--ink-base,#fff) 35%,#766a8b 43%,#7125ce 48%,#f9696a 53%,#fff 58%,var(--ink-base,#fff) 67%,var(--ink-base,#fff) 100%);background-size:320% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
 .shimmer-heading.is-shimmering .title-ink{animation:ink-roll 4.4s ease-in-out both}
 .nav-shimmer .title-ink{animation:nav-ink-roll 8s ease-in-out infinite;animation-delay:var(--nav-delay,0s)}
}
@keyframes ink-roll{from{background-position:100% 50%}to{background-position:0% 50%}}
@keyframes nav-ink-roll{0%,65%{background-position:100% 50%}95%,100%{background-position:0% 50%}}
#header nav,#header nav a,#header .header-contact,#mobile-menu a{font-family:Roboto,Arial,sans-serif!important;text-transform:uppercase!important}
#header nav .title-ink{margin-left:0}#header nav a,#mobile-menu a{--ink-base:#fff}#header nav a:hover,#mobile-menu a:hover{opacity:1}
#next-step-title{mix-blend-mode:normal;line-height:1.05!important;letter-spacing:-.055em}
.step-band{mix-blend-mode:screen;opacity:.24;background:linear-gradient(160deg,#f9696a,#7125ce,#766a8b)}
.next-step-image{object-position:left center!important}
.mobile-future{display:none}
@media(max-width:800px){
 #principles .future-protection{display:none!important}
 .mobile-future{display:block;position:relative;height:180svh;background:#000}
 .mobile-future-pin{position:sticky;top:0;height:100svh;min-height:520px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 65%,#251139,#000 70%)}
 .mobile-meteor{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;transform-origin:28% 64%;transform:translate3d(var(--meteor-x,80vw),var(--meteor-y,-65vh),0) scale(var(--meteor-scale,.4));opacity:var(--meteor-alpha,0);pointer-events:none}
 .mobile-heat{position:absolute;inset:-30%;background:radial-gradient(ellipse,#fff0d5,#f9696a 20%,#7125ce70 45%,transparent 68%);opacity:var(--heat-alpha,0);pointer-events:none}
 .mobile-future-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 6vw 75px;opacity:var(--future-alpha,0);transform:translateY(var(--future-y,20px))}
 #mobile-future-title{font-size:clamp(34px,9vw,64px)!important;line-height:1.15!important;margin:24px 0}
 .mobile-future-copy>.eyebrow{font-size:11px!important;justify-content:center}.mobile-future-copy p{max-width:340px}
 body.simple-motion .mobile-future{height:auto}body.simple-motion .mobile-future-pin{position:relative}body.simple-motion .mobile-future-copy{opacity:1;transform:none}body.simple-motion .mobile-meteor,body.simple-motion .mobile-heat{display:none}
}
@media(prefers-reduced-motion:reduce){.title-ink{animation:none!important;background:none;color:var(--ink-base,#fff);-webkit-text-fill-color:currentColor}.mobile-future{height:auto}.mobile-future-pin{position:relative}.mobile-future-copy{opacity:1;transform:none}.mobile-meteor,.mobile-heat{display:none}}

/* Hold the final protection composition before continuing to LOKI. */
@media(min-width:801px){
 #principles{height:450svh}
 #principles .pin{background:radial-gradient(ellipse at 70% 85%,#f9696a55,transparent 65%),radial-gradient(ellipse at 50% 65%,#391650,#000 80%)}
 #opening .hero-title{left:auto;right:5.5vw;width:60vw;text-align:right}
 #opening .hero-title .eyebrow{justify-content:flex-end;margin-left:auto}
 #opening .hero-intro{justify-content:flex-end}
 .careers .page-hero-copy{max-width:none;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:6vw;align-items:center}
 .careers .page-hero-copy>.eyebrow{grid-column:1/-1}
 .careers .page-hero-copy>h1{grid-column:1;grid-row:2/4}
 .careers .page-hero-copy>p{grid-column:2;grid-row:2;text-align:right;justify-self:end;align-self:end}
 .careers .page-hero-copy>.arrow-link{grid-column:2;grid-row:3;justify-self:end;align-self:start}
}
@media(max-width:800px){.mobile-future{height:240svh}.mobile-future-pin{background:radial-gradient(ellipse at 70% 85%,#f9696a55,transparent 65%),radial-gradient(ellipse at 50% 65%,#391650,#000 80%)}}
body.simple-motion .mobile-future{height:auto}
@media(prefers-reduced-motion:reduce){.mobile-future{height:auto}}
/* Keep the purpose action underneath its supporting statement. */
#opening .hero-intro{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
#opening .hero-intro .arrow-link{margin-top:0}
@media(min-width:801px){#opening .hero-intro{align-items:flex-end}}
#header nav a,#mobile-menu a{font-weight:300!important}
@media(max-width:800px){#loki .mission-ghost,#bifrost .mission-ghost{display:block!important;position:absolute;top:130px;bottom:auto;left:12%;font-size:24vw!important;opacity:.12;z-index:0}#mobile-menu{overflow-y:auto}#mobile-menu a{padding:16px 0}}
@media(min-width:1101px) and (max-width:1400px){#header nav{gap:14px}#header nav a{font-size:14px!important}#header .header-contact{font-size:14px!important;gap:8px}}

/* One visible shimmer at a time. WebKit paints 48 discrete positions per pass,
   then returns to idle; no duplicate glyphs, overlay rectangles or clipping boxes. */
.nav-shimmer .title-ink{animation:none}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .nav-shimmer.is-shimmering .title-ink{animation:ink-roll 4.4s ease-in-out both}
 .efficient-shimmer .shimmer-heading.is-shimmering .title-ink,.efficient-shimmer .nav-shimmer.is-shimmering .title-ink{animation:ink-roll 2.4s steps(48,end) both}
}
.threats-intro h1{--ink-base:#fff;overflow:visible;line-height:1.12!important}
@media(prefers-reduced-motion:reduce){.nav-shimmer.is-shimmering .title-ink,.shimmer-heading.is-shimmering .title-ink{animation:none!important}}

/* Hover/focus owns the single shimmer slot until the interaction ends. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .nav-shimmer.is-shimmer-loop .title-ink{animation:ink-roll 2.4s linear infinite}
 .efficient-shimmer .nav-shimmer.is-shimmer-loop .title-ink{animation:ink-roll 2.4s steps(48,end) infinite}
}
@media(prefers-reduced-motion:reduce){.nav-shimmer.is-shimmer-loop .title-ink{animation:none!important}}
