
@font-face { font-family: "Segal Display"; src: url("/fonts/segal/michroma-400-latin.woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Segal Body"; src: url("/fonts/segal/ibmplexsans-100-700-latin.woff2"); font-weight: 100 700; font-display: swap; }
@font-face { font-family: "Segal Division"; src: url("/fonts/segal/chakrapetch-700-latin.ttf"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Segal Mono"; src: url("/fonts/segal/geistmono-100-900-latin.woff2"); font-weight: 100 900; font-display: swap; }

:root { --font-display: "Segal Display", sans-serif; --font-body: "Segal Body", sans-serif; --font-mono: "Segal Mono", monospace; --font-serif: "Segal Display", sans-serif; }
body { background: #070708; color: #fafafa; font-family: var(--font-body); font-weight: 400; }
body .font-display { font-family: var(--font-body); }
h1,h2,h3,h4,.lux-heading { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: balance; }
h1 { font-size: clamp(2rem, 5.5vw, 5.5rem); }
body :is(h1,h2,h3,h4).font-display { font-family: var(--font-display); }
button,input,select,textarea { font-family: var(--font-body); }
input,textarea { caret-color: #f1767b; }
a,button { text-underline-offset: .2em; }
:focus-visible { outline: 2px solid #f1767b; outline-offset: 4px; }
::selection { background: #a91f24; color: #fff; }
.btn-signal,.btn-ghost,.btn-lux { min-height: 48px; font-family: var(--font-body); letter-spacing: .04em; }
.btn-signal { color: #fff; }
.mono-label,.eyebrow { font-family: var(--font-body); letter-spacing: .08em; }
.reveal { opacity: 1; transform: none; will-change: auto; }
.bg-blueprint { background-image: none; }
.segal-corporate-bar { position: fixed; inset: 0 0 auto; z-index: 45; height: 32px; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-inline: clamp(1rem,4.5vw,4rem); border-bottom: 1px solid #38383b; background: #070708; color: #fafafa; font: 500 10px/1 var(--font-body); letter-spacing: .05em; }
.segal-corporate-bar a { display: flex; align-items: center; align-self: stretch; color: inherit; text-decoration: none; }
.segal-corporate-bar span { color: #bcbcc2; }
.segal-corporate-bar a:hover { color: #f1767b; }
.segal-navbar-lockup { display: inline-flex; align-items: center; gap: .65rem; color: #fafafa; }
.segal-navbar-wordmark { display: block; width: clamp(4rem,7vw,6rem); aspect-ratio: 11494.29 / 1518.39; background: currentColor; mask: url("/branding/segal-type.svg") center/contain no-repeat; }
.segal-navbar-division { font: 700 clamp(.75rem,1.2vw,1rem)/1.15 "Segal Division",sans-serif; text-transform: uppercase; letter-spacing: .035em; }
html { scroll-padding-top: 8rem; }
@media(max-width:540px) { .segal-corporate-bar { font-size: 9px; letter-spacing: .02em; } }
body { padding-top: 32px; }
body > header,body > main > header,header:has(nav[aria-label="Primary"]) { top: 32px; }

body { padding-top: 0; }

.intro .intro__paragraph, .sector__main-content h2 { font-family: "Segal Display", sans-serif; font-weight: 400; font-size: clamp(1.1rem,2.4vw,2.15rem); line-height: 1.3; letter-spacing: -.02em; }
.canvas__view { filter: grayscale(1); }

/* League identity and document access stay outside the animated scene. */
.league-identity { position: absolute; top: max(110px, 16vh); left: 8vw; right: 8vw; color: #bcbcc2; font: 400 clamp(.65rem, 1.15vw, 1rem)/1.6 "Segal Display", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.league-links { position: fixed; z-index: 20; top: 52px; right: 24px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 22px; font: 400 12px/1.5 "Segal Body", sans-serif; }
.league-links a { color: #fafafa; text-decoration: underline; text-underline-offset: 4px; }
.league-links a:hover { color: #f1767b; }
.league-noscript { position: fixed; z-index: 100; inset: 40% 10% auto; padding: 2rem; background: #070708; color: #fafafa; text-align: center; }
@media (max-width: 600px) { .league-links { top: 46px; right: 16px; left: 16px; gap: 8px 16px; font-size: 11px; } .league-identity { top: 190px; left: 24px; right: 24px; text-align: center; }
  .landing__sector-link[data-target="energy"] :is(h2,h3) { translate: 30px 0; }
  .landing__sector-link[data-target="aerospace"] :is(h2,h3) { translate: -12px 0; }
  .sector__main-content div p { font-size: 1.4rem; }
}
@media (max-width: 600px) and (max-height: 640px) { .intro__active .header { visibility: hidden; } .league-identity { top: 100px; } }
