/* --------------------------------------------------------------------
 * elethron.css — tree-shaken for production launch.
 * Dropped 236 unused rules (saved 81.6 KB / 51.3% pre-gzip).
 * Removed rules archived at site/_archive/css-strip/elethron.removed.css.
 * Generated: 2026-05-27T08:52:20.931Z
 * -------------------------------------------------------------------- */

:root { --elethron-bg: #0a0a0a; --elethron-bg-elev: #111111; --elethron-text: #ffffff; --elethron-text-muted: rgba(255, 255, 255, 0.70); --elethron-text-dim: rgba(255, 255, 255, 0.50); --elethron-border: rgba(255, 255, 255, 0.08); --elethron-border-soft: rgba(255, 255, 255, 0.06); --elethron-accent: #E45A47; --el-space-section: 6rem; --el-space-section-sm: 4rem; --el-gap-md: 1rem; --el-gap-lg: 2rem; --el-content-max: 1280px; --el-narrow-max: 720px; --el-radius-sm: 8px; --el-radius-md: 12px; --el-radius-lg: 20px; --t-display: clamp(40px, 5.2vw, 72px); --t-h1: clamp(36px, 4.4vw, 60px); --t-h2: clamp(28px, 3.2vw, 44px); --t-h3: clamp(22px, 2.2vw, 32px); --t-h4: clamp(18px, 1.4vw, 22px); --t-body-lg: clamp(17px, 1.2vw, 19px); --t-body: 16px; --t-body-sm: 14px; --t-eyebrow: 12px; --lh-display: 1.02; --lh-h1: 1.04; --lh-h2: 1.08; --lh-h3: 1.18; --lh-h4: 1.25; --lh-body-lg: 1.55; --lh-body: 1.6; --lh-body-sm: 1.55; --lh-eyebrow: 1; --ls-display: -0.02em; --ls-h1: -0.018em; --ls-h2: -0.014em; --ls-h3: -0.008em; --ls-h4: -0.004em; --ls-eyebrow: 0.08em; --font-sans: "Geist Variable", "Inter", system-ui, sans-serif; --font-mono: "Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace; }

.heading-411 { font-family: var(--font-sans) !important; font-size: var(--t-display) !important; line-height: var(--lh-display) !important; letter-spacing: var(--ls-display) !important; font-weight: 500 !important; }

h2.no-margins, h2.no-margins-4 { font-family: var(--font-sans) !important; font-size: var(--t-h2) !important; line-height: var(--lh-h2) !important; letter-spacing: var(--ls-h2) !important; font-weight: 500 !important; }

h4.no-margins { font-family: var(--font-sans) !important; font-size: var(--t-h3) !important; line-height: var(--lh-h3) !important; letter-spacing: var(--ls-h3) !important; font-weight: 500 !important; }

.label-small-3, .label-small-5, .label-small-8, .label-small-14 { font-family: var(--font-mono) !important; font-size: var(--t-eyebrow) !important; line-height: var(--lh-eyebrow) !important; letter-spacing: var(--ls-eyebrow) !important; text-transform: uppercase !important; font-weight: 500 !important; }

.heading-411 .heading-medium-2 { opacity: 0.72; font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; font-weight: 400 !important; }

.body-medium-20, .body-medium-12, .el-leadership-sub, .el-cta-body { font-family: var(--font-sans) !important; font-size: var(--t-body-lg) !important; line-height: var(--lh-body-lg) !important; }

.el-hero-head { text-align: center; max-width: none; }

.el-hero-head h1 { text-align: center; margin: 0px; }

.el-hero-sub { max-width: var(--el-narrow-max); margin: 1.75rem auto 0px; text-align: center; opacity: 0.75; font-size: var(--t-body-lg); line-height: var(--lh-body-lg); }

.el-cta-band { background: var(--elethron-bg); padding: var(--el-space-section) 1.5rem; border-top: 1px solid var(--elethron-border-soft); }

.el-cta-band .el-cta-container { text-align: center; }

.el-cta-band .master-label-3 { justify-content: center; }

.el-cta-band .el-cta-h { max-width: 900px; margin: 1.5rem auto; text-align: center; }

.el-cta-band .el-cta-body { max-width: 640px; margin: 0px auto 2.5rem; text-align: center; opacity: 0.75; }

.el-cta-band .el-cta-buttons { display: flex; gap: var(--el-gap-md); justify-content: center; flex-wrap: wrap; }

.el-footer { background: var(--elethron-bg); border-top: 1px solid var(--elethron-border); padding: 2.5rem 1.5rem 1.75rem; color: var(--elethron-text-muted); font-size: var(--t-body-sm); line-height: var(--lh-body-sm); }

.el-footer-top { display: grid; grid-template-columns: minmax(0px, 1.4fr) repeat(2, minmax(0px, 0.9fr)) minmax(0px, 1.2fr); gap: 3rem; align-items: start; }

.el-footer-top::before, .el-footer-top::after, .el-footer-bottom::before, .el-footer-bottom::after { display: none; }

.el-footer-brand { display: flex; flex-direction: column; gap: 1rem; max-width: 340px; }

.el-footer-brand img { width: 168px; height: auto; }

.el-footer-brand p { opacity: 0.65; margin: 0px; font-size: 0.9rem; line-height: 1.55; max-width: 34ch; }

.el-footer-col { display: flex; flex-direction: column; gap: 0.55rem; }

.el-footer-col-title { color: var(--elethron-text); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.75; margin-bottom: 0.6rem; }

.el-footer-col a { color: inherit; text-decoration: none; opacity: 0.72; font-size: 0.92rem; transition: color 0.18s, opacity 0.18s; }

.el-footer-col a:hover { color: var(--elethron-text); opacity: 1; }

.el-footer-col .el-footer-address { opacity: 0.6; font-size: 0.88rem; line-height: 1.55; margin-top: 0.15rem; }

@media (max-width: 880px) {
.el-footer-top { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 2.25rem; }
.el-footer-brand { grid-column: 1 / -1; max-width: 480px; }
}

@media (max-width: 560px) {
.el-footer-top { grid-template-columns: 1fr; }
.el-footer-brand { grid-column: auto; }
}

.el-footer-bottom { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--elethron-border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; opacity: 0.55; font-size: 13px; letter-spacing: 0.005em; }

.el-footer-bottom-meta { display: inline-flex; gap: 0.5rem; align-items: center; }

.el-footer-bottom-meta span[aria-hidden] { opacity: 0.5; }

.el-footer-bottom-links { display: inline-flex; align-items: center; gap: 0.6rem; }

.el-footer-bottom-links a { color: inherit; text-decoration: none; transition: opacity 0.18s; }

.el-footer-bottom-links a:hover { opacity: 1; }

.el-footer-bottom-links span[aria-hidden] { opacity: 0.5; }

.el-role { opacity: 0.7; margin-top: 0.25rem; }

.headline-leadership h2 { font-size: 33px; line-height: 1.18; letter-spacing: -0.015em; font-weight: 500; text-wrap: balance; max-width: 56ch; }

.el-leadership-sub { max-width: var(--el-narrow-max); margin-top: 1.25rem; opacity: 0.75; font-size: 18px !important; line-height: 1.5 !important; }

#leadership .el-leadership-sub p, .el-leadership-sub.body-medium p { font-size: 18px !important; line-height: 1.5 !important; }

#capabilities .el-leadership-sub, #leadership .el-leadership-sub { max-width: 68rem; }

#leadership .el-leadership-sub p { text-wrap: nowrap; }

@media (max-width: 900px) {
#leadership .el-leadership-sub p { text-wrap: pretty; }
}

#leadership .headline-leadership { max-width: 72rem; }

.section-2.hero-home-a-section { background: var(--elethron-bg); position: relative; overflow: hidden; padding: 0px; }

.section-2.hero-home-a-section.el-hero-section { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(720px, 95vh, 1000px); padding: 0px; }

.el-hero-section > .el-hero-bg { position: absolute; inset: 0px; z-index: 0; pointer-events: none; }

.el-hero-section > .el-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; display: block; }

.el-hero-section > .el-hero-bg::before { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgb(10, 10, 10) 0%, rgb(10, 10, 10) 30%, rgba(10, 10, 10, 0.85) 36%, rgba(10, 10, 10, 0.4) 42%, rgba(10, 10, 10, 0) 50%, rgba(10, 10, 10, 0) 58%, rgba(10, 10, 10, 0.55) 64%, rgba(10, 10, 10, 0.88) 72%, rgba(10, 10, 10, 0.96) 82%, rgb(10, 10, 10) 100%); z-index: 1; }

.el-hero-section > .el-hero-bg::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(0deg, rgb(10, 10, 10) 0%, rgb(10, 10, 10) 22%, rgba(10, 10, 10, 0.92) 32%, rgba(10, 10, 10, 0.65) 40%, rgba(10, 10, 10, 0) 50%); z-index: 1; pointer-events: none; }

.el-hero-section > .el-hero-upper { position: absolute; top: 6.5rem; left: 0px; right: 0px; z-index: 2; padding: 0px 1.5rem; text-align: center; }

.el-hero-section > .el-hero-lower { position: absolute; bottom: 0.5cm; left: 0px; right: 0px; z-index: 2; padding: 0px 1.5rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1.25rem; }

.el-hero-section .el-hero-head { max-width: none; margin: 0px; }

.el-hero-section .el-hero-head h1 { margin: 0px auto; text-align: center; font-size: var(--t-display); line-height: var(--lh-display); max-width: 26ch; letter-spacing: var(--ls-display); font-weight: 500; }

.el-hero-section .el-hero-head h1.heading-411 { font-size: clamp(34px, 4.4vw, 66px) !important; }

.el-hero-section .el-hero-sub { max-width: var(--el-narrow-max); margin: 0px auto 40px; opacity: 0.85; font-size: var(--t-body-lg); line-height: var(--lh-body-lg); text-align: center; transform: translateY(-14px); }

.el-hero-section .el-hero-sub > span { display: block; color: rgb(255, 255, 255); margin: 0px; padding: 0px; width: 800px; max-width: 100%; font-size: 18px; line-height: 1.5; transform: translateY(-16px); }

.el-hero-section > .el-hero-bg img { transform: scale(1.04); transform-origin: center 78%; animation: auto ease 0s 1 normal none running none; will-change: auto; }

@media (max-width: 768px) {
.section-2.hero-home-a-section.el-hero-section { min-height: 720px; }
.el-hero-section > .el-hero-bg img { object-position: center 82%; }
.el-hero-section > .el-hero-upper { top: 6rem; }
.el-hero-section > .el-hero-lower { bottom: 2rem; gap: 1.25rem; }
.el-hero-section .el-hero-head h1 { font-size: clamp(28px, 7vw, 44px); max-width: 20ch; }
}

@keyframes el-kenburns { 
  0% { transform: scale(1.04) translate3d(0px, 0px, 0px); }
  100% { transform: scale(1.1) translate3d(-1.2%, -0.8%, 0px); }
}

.wrap-marquee-logos { mask-image: linear-gradient(90deg, transparent 0px, rgb(0, 0, 0) 8%, rgb(0, 0, 0) 92%, transparent 100%); }

.marquee-track img.marquee-logo { transition: opacity 220ms, filter 220ms; filter: saturate(0.9); }

.marquee-track:hover img.marquee-logo { opacity: 0.55; }

.marquee-track img.marquee-logo:hover { opacity: 1; filter: saturate(1); }

.el-capabilities-section { padding: clamp(3rem, 6vw, 5rem) 0px; border-top: 1px solid rgba(255, 255, 255, 0.08); background: rgb(8, 8, 10); }

.el-capabilities-inner { padding: 0px; display: flex; flex-direction: column; gap: clamp(1.75rem, 3vw, 2.5rem); }

.el-cap-head { display: flex; flex-direction: column; gap: 0.85rem; max-width: 880px; }

.el-cap-headline { font-size: 33px; line-height: 1.18; letter-spacing: -0.015em; font-weight: 500; color: rgb(255, 255, 255); text-wrap: balance; max-width: 44ch; }

.el-cap-body { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0px, 1.05fr) minmax(0px, 1fr); gap: clamp(1.5rem, 2.5vw, 2.75rem); align-items: stretch; }

.el-cap-tabs { display: flex; flex-direction: column; gap: 1.25rem; }

.el-cap-tabgroup { display: flex; flex-direction: column; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.el-cap-tabgroup-label { display: flex; align-items: center; gap: 0.55rem; padding: 0.85rem 0px 0.55rem; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); font-weight: 500; }

.el-cap-tabgroup-mark { width: 14px; height: 1px; background: var(--elethron-accent, #E45A47); display: inline-block; }

.el-cap-tabgroup-divider { height: 0px; }

.el-cap-tab { appearance: none; background: transparent; border-width: 1px 0px 0px; border-style: solid none none; border-color: rgba(255, 255, 255, 0.08) currentcolor currentcolor; border-image: initial; padding: 0.75rem 0px; display: flex; align-items: center; gap: 0.7rem; text-align: left; cursor: pointer; color: rgba(255, 255, 255, 0.6); font-family: inherit; width: 100%; transition: background 220ms, padding 260ms cubic-bezier(0.2, 0.7, 0.2, 1), color 220ms; }

.el-cap-tabgroup .el-cap-tab:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }

.el-cap-tab:hover { color: rgba(255, 255, 255, 0.9); }

.el-cap-tab.is-current { color: rgb(255, 255, 255); padding-left: 14px; }

.el-cap-tab-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); transition: background 220ms, box-shadow 220ms, transform 220ms; flex: 0 0 auto; }

.el-cap-tab.is-current .el-cap-tab-dot { background: var(--elethron-accent, #E45A47); box-shadow: rgba(228, 90, 71, 0.16) 0px 0px 0px 4px; transform: scale(1.1); }

.el-cap-tab-label { font-size: 0.82rem; letter-spacing: 0.02em; line-height: 1.3; font-weight: 500; }

.el-cap-tab:focus-visible { outline: 2px solid var(--elethron-accent); outline-offset: 2px; }

.el-cap-stage { position: relative; border-radius: 14px; overflow: hidden; background: rgb(14, 14, 16); aspect-ratio: 16 / 10; max-height: 560px; min-height: 320px; width: 100%; cursor: zoom-in; }

.el-cap-figure { position: absolute; inset: 0px; margin: 0px; opacity: 0; transform: scale(1.015); transition: opacity 420ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1); pointer-events: none; }

.el-cap-figure::before { content: ""; position: absolute; inset: -8%; background-image: var(--bg, none); background-size: cover; background-position: center center; filter: blur(28px) saturate(120%) brightness(0.55); transform: scale(1.08); z-index: 0; pointer-events: none; }

.el-cap-figure.is-active { opacity: 1; transform: scale(1); pointer-events: auto; }

.el-cap-figure-img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; display: block; }

.el-cap-stage::after { content: ""; position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/><line x1='11' y1='8' x2='11' y2='14'/><line x1='8' y1='11' x2='14' y2='11'/></svg>") center center / 14px no-repeat, rgba(10, 10, 11, 0.55); border: 1px solid rgba(255, 255, 255, 0.14); backdrop-filter: blur(6px); z-index: 3; opacity: 0.7; transition: opacity 200ms, transform 200ms; pointer-events: none; }

.el-cap-stage:hover::after { opacity: 1; transform: scale(1.06); }

.el-cap-detail { position: relative; display: flex; flex-direction: column; justify-content: flex-start; padding: 0.25rem 0px 0px; }

.el-cap-detail-card { display: none; flex-direction: column; gap: 1rem; animation: 320ms cubic-bezier(0.2, 0.7, 0.2, 1) 0s 1 normal none running el-cap-fade; max-width: 44ch; }

.el-cap-detail-card.is-active { display: flex; }

@keyframes el-cap-fade { 
  0% { opacity: 0; transform: translateY(4px); }
  100% { opacity: 1; transform: translateY(0px); }
}

.el-cap-detail-eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); font-weight: 500; }

.el-cap-detail-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--elethron-accent, #E45A47); display: inline-block; }

.el-cap-detail-title { font-size: clamp(1.4rem, 1.8vw, 1.65rem); line-height: 1.2; letter-spacing: -0.015em; font-weight: 500; color: rgb(255, 255, 255); margin: 0px; text-wrap: balance; }

.el-cap-detail-desc { font-size: 0.98rem; line-height: 1.6; color: rgba(255, 255, 255, 0.72); margin: 0px; max-width: 42ch; }

@media (max-width: 1100px) {
.el-cap-body { grid-template-columns: minmax(240px, 300px) minmax(0px, 1fr); grid-template-areas: "tabs stage" "tabs detail"; row-gap: 1.5rem; }
.el-cap-tabs { grid-area: tabs; }
.el-cap-stage { grid-area: stage; max-height: 460px; aspect-ratio: 16 / 10; }
.el-cap-detail { grid-area: detail; padding-top: 0.5rem; }
}

@media (max-width: 720px) {
.el-cap-body { grid-template-columns: 1fr; grid-template-areas: "tabs" "stage" "detail"; gap: 1.5rem; }
.el-cap-stage { aspect-ratio: 16 / 10; max-height: none; }
.el-cap-tab.is-current { padding-left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
.el-cap-figure, .el-cap-detail-card { animation: auto ease 0s 1 normal none running none; transition: none; }
.el-cap-tab, .el-cap-tab-dot { transition: none; }
}

.cta-main-3, .cta-main-4 { transition: transform 180ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 220ms, background-color 220ms, border-color 220ms; will-change: transform; }

.cta-main-3:hover, .cta-main-4:hover { transform: translateY(-1px); }

.cta-main-3:active, .cta-main-4:active { transform: translateY(0px) scale(0.985); transition-duration: 90ms; }

.cta-main-3 .button-circle-7, .cta-main-4 .button-circle-7 { transition: transform 260ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.cta-main-3:hover .button-circle-7, .cta-main-4:hover .button-circle-7 { transform: translateX(3px) rotate(-6deg); }

.cta-main-3:focus-visible, .cta-main-4:focus-visible, .nav-link-2:focus-visible, .tab-item-2:focus-visible { outline: 2px solid var(--elethron-accent); outline-offset: 3px; border-radius: 4px; }

.nav-link-2 { position: relative; }

.nav-link-2 > div::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: -6px; height: 1px; background: var(--elethron-accent); transform: scaleX(0); transform-origin: left center; transition: transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.nav-link-2:hover > div::after, .nav-link-2.w--current > div::after { transform: scaleX(1); }

.card-team { transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.card-team { display: flex; flex-direction: column; align-self: start; gap: 0px; }

.card-team .text-wrap-team-card { display: flex; flex-direction: column; gap: 0.25rem; padding-top: 0.9rem; margin-top: 0px; align-items: flex-start; }

.card-team .text-wrap-team-card .text-small { margin: 0px; line-height: 1.35; }

.card-team .text-wrap-team-card .el-role { margin-top: 0px; opacity: 0.7; }

.card-team .image-wrap-team { overflow: hidden; border-radius: var(--el-radius-md); position: relative; aspect-ratio: 4 / 5; width: 100%; display: block; margin: 0px; }

.card-team .image-wrap-team img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }

.card-team .image-wrap-team::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(10, 10, 10, 0) 55%, rgba(10, 10, 10, 0.35) 100%); pointer-events: none; opacity: 0.9; transition: opacity 360ms; }

.card-team .image-cover { transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 400ms; filter: grayscale(0.6) contrast(1.02); }

.card-team:hover .image-cover { transform: scale(1.035); filter: grayscale(0) contrast(1.02); }

.card-team:hover .image-wrap-team::after { opacity: 0.5; }

.card-team:hover { transform: translateY(-2px); }

.el-core-header { max-width: var(--el-content-max, 1240px); margin: 0px auto 2.25rem; display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 1rem; }

.el-core-intro { font-size: 33px; line-height: 1.14; letter-spacing: -0.02em; font-weight: 500; color: rgb(255, 255, 255); text-wrap: balance; max-width: 32ch; margin: 0.25rem 0px 0px; }

.el-core-intro-soft { color: rgba(255, 255, 255, 0.5); font-weight: 400; }

.el-pillars { display: flex; flex-direction: row; gap: 0.875rem; margin: 0px auto 3rem; max-width: var(--el-content-max, 1240px); --el-pillar-bias-lab: 1.5; --el-pillar-bias-ai: 1.0; }

.el-pillar { position: relative; flex: 1 1 0px; height: 440px; border: 1px solid var(--elethron-border, rgba(255,255,255,0.10)); border-radius: var(--el-radius-lg, 14px); overflow: hidden; color: var(--elethron-text, #fff); text-decoration: none; isolation: isolate; transition: flex-grow 520ms cubic-bezier(0.2, 0.7, 0.2, 1), flex-basis 520ms cubic-bezier(0.2, 0.7, 0.2, 1); will-change: flex-grow; }

.el-pillar[data-pillar="lab"] { flex-grow: var(--el-pillar-bias-lab); }

.el-pillar[data-pillar="ai"] { flex-grow: var(--el-pillar-bias-ai); }

.el-pillars:hover .el-pillar { flex-grow: 0.6; }

.el-pillars .el-pillar:hover, .el-pillars .el-pillar:focus-visible { flex-grow: 1.4; }

.el-pillar-media { position: absolute; inset: 0px; overflow: hidden; z-index: 0; }

.el-pillar-image { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; transform-origin: center center; animation: 22s ease-in-out 0s infinite alternate none running el-pillar-pan; transition: filter 420ms, transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1); filter: saturate(0.95) brightness(0.86); }

.el-pillar:nth-child(2) .el-pillar-image { animation-direction: alternate-reverse; animation-duration: 26s; }

@keyframes el-pillar-pan { 
  0% { transform: scale(1.08) translate3d(-1.2%, -0.6%, 0px); }
  50% { transform: scale(1.12) translate3d(1.2%, 0.6%, 0px); }
  100% { transform: scale(1.08) translate3d(0.8%, -0.4%, 0px); }
}

.el-pillar:hover .el-pillar-image, .el-pillar:focus-visible .el-pillar-image { animation-play-state: paused; transform: scale(1.06); filter: saturate(1) brightness(0.95); }

.el-pillar-shade { position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(8, 8, 10, 0) 35%, rgba(8, 8, 10, 0.55) 78%, rgba(8, 8, 10, 0.86) 100%), linear-gradient(rgba(8, 8, 10, 0.18) 0%, rgba(8, 8, 10, 0) 30%); }

.el-pillar-inner { position: relative; z-index: 2; height: 100%; padding: 1.75rem 1.75rem 1.5rem; display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }

.el-pillar-text { display: flex; flex-direction: column; gap: 0.45rem; max-width: 38ch; }

.el-pillar-title { font-size: clamp(1.45rem, 2vw, 1.85rem); line-height: 1.15; text-wrap: balance; letter-spacing: -0.01em; font-weight: 500; color: rgb(255, 255, 255); }

.el-pillar-sub { font-size: 0.98rem; line-height: 1.5; color: rgba(255, 255, 255, 0.82); }

.el-pillar-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(255, 255, 255, 0.06); backdrop-filter: blur(4px); display: inline-flex; align-items: center; justify-content: center; color: rgb(255, 255, 255); flex-shrink: 0; transition: background 300ms, border-color 300ms, transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.el-pillar-arrow svg { width: 18px; height: 18px; }

.el-pillar:hover .el-pillar-arrow, .el-pillar:focus-visible .el-pillar-arrow { background: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); transform: translateX(4px); }

.el-pillar:focus-visible { outline: 2px solid var(--elethron-accent, #E45A47); outline-offset: 4px; }

@media (max-width: 860px) {
.el-pillars { flex-direction: column; gap: 0.75rem; margin-bottom: 2.25rem; }
.el-pillar { height: 360px; }
.el-pillars:hover .el-pillar, .el-pillars .el-pillar:hover { flex-grow: 1; }
}

@media (prefers-reduced-motion: reduce) {
.el-pillar-image { animation: auto ease 0s 1 normal none running none; transform: scale(1.04); }
.el-pillar { transition: none; }
.el-pillar:hover .el-pillar-image, .el-pillar:focus-visible .el-pillar-image { transform: scale(1.04); }
}

.el-pillars-cluster { max-width: var(--el-content-max, 1240px); margin: 0px auto 3rem; }

.el-pillars-cluster .el-pillars { margin: 0px; }

button.el-pillar { appearance: none; background: transparent; font: inherit; text-align: left; padding: 0px; cursor: pointer; }

.el-pillar-arrow svg { transition: transform 340ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.el-pillar.is-active .el-pillar-arrow svg { transform: rotate(180deg); }

.el-pillar.is-active .el-pillar-arrow { background: var(--pillar-accent, var(--elethron-accent, #E45A47)); border-color: var(--pillar-accent, var(--elethron-accent, #E45A47)); color: rgb(255, 255, 255); }

.el-pillar[data-pillar="lab"] { --pillar-accent: #A8C3D6; --pillar-accent-soft: rgba(168,195,214,0.16); }

.el-pillar[data-pillar="ai"] { --pillar-accent: #E45A47; --pillar-accent-soft: rgba(228,90,71,0.16); }

/* --- Three-card Our Innovation row (2026-08-23) -------------------------
   Card 1 (static, links to About) 35% | ATAR 40% | Computational 25%.
   Hover expansion is softened vs the two-card version so the two resting
   cards keep enough width for their titles. */
.el-pillars--three { --el-pillar-bias-seed: 1.5; --el-pillar-bias-lab: 1.5; --el-pillar-bias-ai: 1.0; }
.el-pillars--three .el-pillar--static { flex-grow: var(--el-pillar-bias-seed); }
.el-pillars--three:hover .el-pillar { flex-grow: 0.92; }
.el-pillars--three .el-pillar:hover, .el-pillars--three .el-pillar:focus-visible { flex-grow: 1.36; }
.el-pillars--three .el-pillar-title { font-size: clamp(1.2rem, 1.5vw, 1.5rem); }
.el-pillars--three .el-pillar-sub { font-size: 0.92rem; }
.el-pillars--three .el-pillar-text { max-width: 30ch; }
.el-pillars--three .el-pillar-inner { position: relative; }
.el-pillars--three .el-pillar-arrow { position: absolute; right: 1.5rem; bottom: 1.4rem; }
.el-pillars--three .el-pillar-text { max-width: none; padding-right: 0; }
.el-pillars--three .el-pillar-sub { padding-right: 3.4rem; }
.el-pillars--three .el-pillar:nth-child(3) .el-pillar-title { text-wrap: balance; font-size: clamp(1.02rem, 1.42vw, 1.5rem); }
.el-pillars--three .el-pillar-inner { padding: 1.6rem 1.5rem 1.4rem; gap: 1rem; }
a.el-pillar--static { display: block; }
.el-pillar--static .el-pillar-arrow svg { transform: none; }
.el-pillar--static:hover .el-pillar-arrow svg, .el-pillar--static:focus-visible .el-pillar-arrow svg { transform: translate(2px, -2px); }
@media (max-width: 860px) { .el-pillars--three .el-pillar-title { font-size: 1.35rem; } .el-pillars--three .el-pillar-text { max-width: none; } .el-pillars--three .el-pillar:nth-child(3) .el-pillar-text { max-width: none; } }

.el-drawer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 520ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 320ms, margin-top 320ms; opacity: 0; pointer-events: none; margin-top: 0px; }

.el-drawer[data-state="open"] { grid-template-rows: 1fr; opacity: 1; pointer-events: auto; margin-top: 1rem; }

.el-drawer-inner { overflow: hidden; min-height: 0px; position: relative; background: rgba(255, 255, 255, 0.024); border: 1px solid var(--elethron-border, rgba(255,255,255,0.10)); border-radius: var(--el-radius-lg, 14px); }

.el-drawer-indicator { position: absolute; top: 0px; left: var(--indicator-x, 0px); width: var(--indicator-w, 0px); height: 2px; background: var(--drawer-accent, rgba(255,255,255,0.5)); transition: left 420ms cubic-bezier(0.2, 0.7, 0.2, 1), width 420ms cubic-bezier(0.2, 0.7, 0.2, 1), background 380ms, opacity 320ms; z-index: 3; opacity: 0; border-radius: 0px 0px 2px 2px; }

.el-drawer[data-state="open"] .el-drawer-indicator { opacity: 1; }

.el-drawer[data-active-pillar="lab"] { --drawer-accent: #A8C3D6; --drawer-accent-soft: rgba(168,195,214,0.10); }

.el-drawer[data-active-pillar="ai"] { --drawer-accent: #E45A47; --drawer-accent-soft: rgba(228,90,71,0.10); }

.el-drawer-panel { padding: 2.25rem 2rem 2rem; display: grid; grid-template-columns: minmax(0px, 1fr); gap: 2rem; }

.el-drawer-panel[hidden] { display: none; }

@media (min-width: 900px) {
.el-drawer-panel { grid-template-columns: minmax(280px, 0.85fr) minmax(0px, 2fr); gap: 3rem; align-items: start; }
}

.el-drawer-head { display: flex; flex-direction: column; gap: 1rem; }

.el-drawer-eyebrow { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); display: inline-flex; align-items: center; gap: 0.55rem; }

.el-drawer-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--drawer-accent, #fff); display: inline-block; }

.el-drawer-title { font-size: clamp(1.35rem, 1.7vw, 1.65rem); line-height: 1.22; letter-spacing: -0.015em; font-weight: 500; color: rgb(255, 255, 255); margin: 0px; max-width: 32ch; }

.el-drawer-link { align-self: start; display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 0.5rem; font-size: 0.88rem; color: rgba(255, 255, 255, 0.82); text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.18); padding-bottom: 0.2rem; transition: color 220ms, border-color 220ms, transform 220ms; }

.el-drawer-link:hover, .el-drawer-link:focus-visible { color: rgb(255, 255, 255); border-bottom-color: var(--drawer-accent, #fff); outline: none; }

.el-drawer-link-arrow { display: inline-block; transition: transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.el-drawer-link:hover .el-drawer-link-arrow { transform: translateX(3px); }

.el-drawer[data-state="open"] .el-drawer-panel:not([hidden]) .el-drawer-head { animation: 520ms cubic-bezier(0.2, 0.7, 0.2, 1) 0s 1 normal both running el-feature-in; }

@keyframes el-feature-in { 
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0px); }
}

@media (max-width: 860px) {
.el-drawer-panel { padding: 1.75rem 1.25rem 1.5rem; gap: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
.el-drawer { transition: opacity 200ms, margin-top 200ms; }
.el-drawer-indicator { transition: opacity 200ms, background 200ms; }
.el-drawer[data-state="open"] .el-drawer-panel:not([hidden]) .el-feature, .el-drawer[data-state="open"] .el-drawer-panel:not([hidden]) .el-drawer-head { animation: auto ease 0s 1 normal none running none; }
}

.master-navigation-3 .nav-bg-3 { transition: background-color 260ms, backdrop-filter 260ms; }

.master-navigation-3.is-scrolled .nav-bg-3 { background-color: rgba(10, 10, 10, 0.72); backdrop-filter: blur(14px) saturate(1.1); border-bottom: 1px solid var(--elethron-border-soft); }

.master-navigation-3 .navbar-3 { transition: padding 260ms; }

.master-navigation-3.is-scrolled .navbar-3 { padding-top: 4px; padding-bottom: 4px; }

.master-navigation-3 .logo-navigation { gap: 12px; }

.master-navigation-3 .logo-navigation .image-2 { display: block; width: 40px; height: 40px; flex: 0 0 40px; pointer-events: none; user-select: none; }

.master-navigation-3 .wrap-logo-text-3 { margin-left: 4px; max-width: 280px; opacity: 1; overflow: hidden; white-space: nowrap; transition: max-width 320ms cubic-bezier(0.2, 0.7, 0.2, 1), margin-left 320ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 200ms cubic-bezier(0.2, 0.7, 0.2, 1); will-change: max-width, opacity; }

.master-navigation-3 .wrap-logo-text-3 img { display: block; max-width: none; height: 40px !important; width: auto !important; }

@media (max-width: 767px) {
.master-navigation-3 .logo-navigation { gap: 10px; }
.master-navigation-3 .logo-navigation .image-2 { width: 34px; height: 34px; flex-basis: 34px; }
.master-navigation-3 .wrap-logo-text-3 img { height: 32px !important; }
}

@media (prefers-reduced-motion: reduce) {
.master-navigation-3 .wrap-logo-text-3 { transition: opacity 180ms; }
}

@media (max-width: 991px) {
.nav-menu-inner-4 { flex-flow: column; align-items: stretch; justify-content: flex-start; gap: 0px; width: 100%; padding: 8px; backdrop-filter: blur(8px); background-color: rgba(18, 18, 18, 0.92); border: 1px solid rgba(246, 243, 236, 0.16); border-radius: 10px; box-shadow: rgba(246, 243, 236, 0.18) 0px -1px, rgba(246, 243, 236, 0.08) 0px 1px; display: flex !important; }
.nav-menu-inner-4 .nav-link-2 { width: 100%; padding: 16px 14px; border-radius: 6px; }
.nav-menu-inner-4 .nav-link-2 + .nav-link-2 { border-top: 1px solid rgba(246, 243, 236, 0.1); }
.nav-menu-inner-4 .nav-link-2 > div { font-size: 17px; line-height: 1.3; color: rgba(246, 243, 236, 0.95); }
.nav-menu-inner-4 .nav-link-2 > div::after { display: none; }
.nav-menu-inner-4 .nav-link-2.w--current { background-color: rgba(228, 90, 71, 0.1); }
.nav-menu-inner-4 .nav-link-2.w--current > div { color: rgb(255, 255, 255); }
}

[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 720ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 720ms cubic-bezier(0.2, 0.7, 0.2, 1); will-change: opacity, transform; }

[data-reveal].is-in { opacity: 1; transform: none; }

[data-reveal-delay="1"].is-in { transition-delay: 80ms; }

[data-reveal-delay="2"].is-in { transition-delay: 160ms; }

[data-reveal-delay="3"].is-in { transition-delay: 240ms; }

[data-reveal-delay="4"].is-in { transition-delay: 320ms; }

.master-label-3 .circle-label-5 { background: var(--elethron-accent); box-shadow: rgba(228, 90, 71, 0.45) 0px 0px 0px 0px; animation: 3.2s ease-in-out 0s infinite normal none running el-pulse; }

@keyframes el-pulse { 
  0%, 100% { box-shadow: rgba(228, 90, 71, 0.35) 0px 0px 0px 0px; }
  50% { box-shadow: rgba(228, 90, 71, 0) 0px 0px 0px 6px; }
}

@media (prefers-reduced-motion: reduce) {
* { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
[data-reveal] { opacity: 1 !important; transform: none !important; }
.el-hero-bg img { animation: auto ease 0s 1 normal none running none !important; transform: none !important; }
}

.mg-hero { position: relative; min-height: 78vh; display: flex; align-items: flex-end; background: var(--elethron-bg); overflow: hidden; padding: 0px; }

.mg-hero-bg { position: absolute; inset: 0px; z-index: 0; }

.mg-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center center; opacity: 0.55; filter: saturate(0.85) contrast(1.05); }

.mg-hero::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(10, 10, 10, 0.55) 0%, rgba(10, 10, 10, 0.35) 40%, rgba(10, 10, 10, 0.85) 100%); z-index: 1; }

.mg-hero-inner { position: relative; z-index: 2; width: 100%; max-width: var(--el-content-max); margin: 0px auto; padding: 8rem 2.5rem 5rem; display: flex; flex-direction: column; gap: 1.6rem; align-items: flex-start; }

.mg-hero-eyebrow { margin-bottom: 0.5rem; }

.mg-hero-h { margin: 0px; font-size: var(--t-display); line-height: var(--lh-display); letter-spacing: var(--ls-display); font-weight: 500; color: rgb(255, 255, 255); max-width: 18ch; }

.ni-hero { position: relative; background: var(--elethron-bg); padding: calc(var(--el-nav-h, 96px) + 2.5rem) 1.5rem clamp(2.5rem, 5vw, 4rem); border-bottom: 1px solid var(--elethron-border-soft); }

.ni-hero-inner { max-width: 1040px; margin: 0px auto; display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; }

.ni-hero .master-label-3 { justify-content: flex-start; align-self: flex-start; }

.ni-hero h1 { margin: 0px; font-size: clamp(1.85rem, 3.4vw, 2.6rem); line-height: 1.15; letter-spacing: -0.01em; font-weight: 500; color: rgb(255, 255, 255); max-width: 22ch; text-wrap: balance; }

.ni-hero-sub { max-width: 60ch; color: rgba(255, 255, 255, 0.72); font-size: var(--t-body-lg); line-height: var(--lh-body-lg); margin: 0px; }

.ni-section { padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem; }

.ni-section-inner { max-width: 1040px; margin: 0px auto; }

.ni-feed { display: flex; flex-direction: column; gap: clamp(1.25rem, 3vw, 2rem); }

.ni-row { display: grid; grid-template-columns: minmax(0px, 280px) minmax(0px, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: center; padding-top: clamp(1.25rem, 3vw, 2rem); border-top: 1px solid var(--elethron-border-soft, rgba(255,255,255,0.08)); }

.ni-row:first-child { border-top: 0px; padding-top: 0px; }

.ni-row:nth-child(2n) { grid-template-columns: minmax(0px, 1fr) minmax(0px, 280px); }

.ni-row:nth-child(2n) .ni-row-media { grid-area: 1 / 2; }

.ni-row:nth-child(2n) .ni-row-body { grid-area: 1 / 1; }

.ni-row-media { min-width: 0px; }

.ni-row-media-frame { position: relative; width: 100%; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--elethron-bg-elev, #0d0d10); border: 1px solid var(--elethron-border-soft, rgba(255,255,255,0.08)); }

.ni-row-media-frame img, .ni-row-media-frame picture { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.ni-row:hover .ni-row-media-frame img { transform: scale(1.03); }

.ni-row-media-frame.is-cover { background: rgba(255, 255, 255, 0.03); display: flex; align-items: center; justify-content: center; padding: 0.6rem 0.8rem; }

.ni-row-media-frame.is-cover img { position: static; inset: auto; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }

.ni-row:hover .ni-row-media-frame.is-cover img { transform: scale(1.03); }

.ni-row-body { display: flex; flex-direction: column; gap: 0.75rem; min-width: 0px; }

.ni-row-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 0.6rem; font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.06em; text-transform: uppercase; color: var(--elethron-text-dim); line-height: 1; }

.ni-row-sep { opacity: 0.4; }

.ni-row-date { font-variant-numeric: tabular-nums; }

.ni-row-outlet { color: var(--elethron-text-muted); }

.ni-tag { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.32rem 0.6rem; border-radius: 999px; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1; border: 1px solid; background: transparent; }

.ni-tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentcolor; }

.ni-tag--press { color: var(--elethron-accent, #E45A47); }

.ni-tag--news { color: rgba(255, 255, 255, 0.78); }

.ni-row-headline { margin: 0px; font-size: clamp(1.2rem, 1.8vw, 1.55rem); line-height: 1.25; letter-spacing: -0.01em; font-weight: 500; color: rgb(255, 255, 255); text-wrap: balance; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.ni-row-summary { margin: 0px; color: rgba(255, 255, 255, 0.68); font-size: 0.96rem; line-height: 1.5; max-width: 56ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.ni-row-link { align-self: flex-start; margin-top: 0.15rem; display: inline-flex; align-items: center; gap: 0.4rem; color: rgba(255, 255, 255, 0.85); text-decoration: none; font-size: 0.9rem; border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding-bottom: 0.2rem; transition: color 0.2s, border-color 0.2s; }

.ni-row-link span { transition: transform 0.25s; display: inline-block; }

.ni-row-link:hover, .ni-row:hover .ni-row-link { color: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); }

.ni-row-link:hover span, .ni-row:hover .ni-row-link span { transform: translateX(3px); }

.ni-row { transition: background-color 0.2s; }

.ni-row:hover { background: linear-gradient(rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0) 100%); }

@media (max-width: 760px) {
.ni-row, .ni-row:nth-child(2n) { grid-template-columns: 1fr; gap: 1rem; }
.ni-row:nth-child(2n) .ni-row-media { grid-area: 1 / 1; }
.ni-row:nth-child(2n) .ni-row-body { grid-area: 2 / 1; }
.ni-row-headline { font-size: 1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
.ni-row-media-frame img, .ni-row-link span { transition: none; }
.ni-row:hover .ni-row-media-frame img { transform: none; }
}

.pr { position: relative; background: var(--elethron-bg); }

.pr-inner { max-width: 760px; margin: 0px auto; padding: 0px clamp(1.25rem, 4vw, 2rem); }

.pr-masthead { padding: calc(var(--el-nav-h, 96px) + 2.25rem) 0 clamp(1.75rem, 4vw, 2.75rem); border-bottom: 1px solid var(--elethron-border-soft, rgba(255,255,255,0.08)); }

.pr-back { display: inline-flex; align-items: center; gap: 0.4rem; color: rgba(255, 255, 255, 0.6); text-decoration: none; font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 1.75rem; transition: color 0.2s; }

.pr-back:hover { color: var(--elethron-accent, #E45A47); }

.pr-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem 0.65rem; font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.06em; text-transform: uppercase; color: var(--elethron-text-dim); margin-bottom: 1.25rem; }

.pr-meta-sep { opacity: 0.4; }

.pr-meta-date { font-variant-numeric: tabular-nums; }

.pr-meta-outlet { color: var(--elethron-text-muted); }

.pr-headline { margin: 0px 0px 1rem; font-size: clamp(1.85rem, 3.4vw, 2.5rem); line-height: 1.18; letter-spacing: -0.015em; font-weight: 500; color: rgb(255, 255, 255); text-wrap: balance; }

.pr-deck { margin: 0px; color: rgba(255, 255, 255, 0.75); font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.45; max-width: 60ch; }

.pr-figure { margin: clamp(1.75rem, 4vw, 2.75rem) auto; max-width: 1040px; padding: 0px clamp(1.25rem, 4vw, 2rem); }

.pr-figure-inner { position: relative; width: 100%; border-radius: 14px; overflow: hidden; background: var(--elethron-bg-elev, #0d0d10); border: 1px solid var(--elethron-border-soft, rgba(255,255,255,0.08)); }

.pr-figure-inner img { display: block; width: 100%; height: auto; }

.pr-figure-inner.is-compact { max-width: 520px; margin: 0px auto; }

.pr-body { padding: clamp(1.5rem, 4vw, 2.5rem) 0px; }

.pr-body p { margin: 0px 0px 1.05rem; color: rgba(255, 255, 255, 0.84); font-size: 0.98rem; line-height: 1.65; max-width: 70ch; }

.pr-body p:last-child { margin-bottom: 0px; }

.pr-body em { font-style: italic; color: rgb(255, 255, 255); }

.pr-source { padding-top: 1.25rem; border-top: 1px dashed rgba(255, 255, 255, 0.12); margin-top: 1.5rem !important; color: rgba(255, 255, 255, 0.55) !important; font-size: 0.92rem !important; line-height: 1.55 !important; }

.pr-source-label { font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.06em; text-transform: uppercase; color: var(--elethron-text-dim); margin-right: 0.4rem; }

.pr-boilerplate { padding: clamp(1.5rem, 4vw, 2.25rem) 0px clamp(2rem, 5vw, 3rem); }

.pr-boilerplate-divider { width: 56px; height: 1px; background: var(--elethron-accent, #E45A47); margin-bottom: 1.5rem; }

.pr-boilerplate-h { margin: 0px 0px 1rem; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.3; font-weight: 500; color: rgb(255, 255, 255); font-family: var(--font-mono); letter-spacing: 0.04em; text-transform: uppercase; }

.pr-boilerplate p { margin: 0px 0px 1rem; color: rgba(255, 255, 255, 0.7); font-size: 0.92rem; line-height: 1.6; max-width: 70ch; }

.pr-boilerplate p:last-child { margin-bottom: 0px; }

.pr-foot { padding: clamp(1.5rem, 4vw, 2.5rem) 0px clamp(2rem, 5vw, 3rem); border-top: 1px solid var(--elethron-border-soft, rgba(255,255,255,0.08)); }

.pr-foot-link { display: inline-flex; align-items: center; gap: 0.4rem; color: rgba(255, 255, 255, 0.75); text-decoration: none; font-size: 0.95rem; border-bottom: 1px solid rgba(255, 255, 255, 0.18); padding-bottom: 0.2rem; transition: color 0.2s, border-color 0.2s; }

.pr-foot-link:hover { color: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); }

.pr-body .pr-inline-link, .pr-body a { color: rgb(255, 255, 255); text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.32); transition: color 0.2s, border-color 0.2s; }

.pr-body .pr-inline-link:hover, .pr-body a:hover { color: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); }

.pr-subhead { margin: 2.25rem 0px 0.9rem; font-family: var(--font-mono); font-size: clamp(0.95rem, 1.15vw, 1.06rem); line-height: 1.35; letter-spacing: 0.02em; font-weight: 500; color: rgb(255, 255, 255); max-width: 68ch; text-wrap: balance; }

.pr-body .pr-subhead:first-child { margin-top: 0px; }

.pr-quote { margin: 1.75rem 0px; padding: 0px 0px 0px 1.4rem; border-left: 2px solid var(--elethron-accent, #E45A47); max-width: 68ch; }

.pr-quote p { margin: 0px 0px 0.7rem; color: rgb(255, 255, 255); font-size: clamp(1rem, 1.2vw, 1.1rem); line-height: 1.6; font-style: italic; }

.pr-quote p:last-child { margin-bottom: 0px; }

.pr-quote-cite { display: block; font-style: normal; font-size: 0.95rem; line-height: 1.4; color: rgba(255, 255, 255, 0.6); font-family: var(--font-mono); letter-spacing: 0.02em; }

.pr-external { padding: clamp(1.5rem, 4vw, 2.25rem) 0px; }

.pr-external-divider { width: 56px; height: 1px; background: rgba(255, 255, 255, 0.32); margin-bottom: 1.5rem; }

.pr-external-link { display: inline-flex; align-items: center; gap: 0.6rem; color: rgba(255, 255, 255, 0.92); text-decoration: none; font-size: 1.02rem; font-weight: 500; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 999px; padding: 0.7rem 1.1rem; transition: color 0.2s, border-color 0.2s, background 0.2s; }

.pr-external-arrow { display: inline-block; transition: transform 0.25s; font-size: 1.05rem; line-height: 1; }

.pr-external-link:hover { color: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); background: rgba(228, 90, 71, 0.05); }

.pr-external-link:hover .pr-external-arrow { transform: translate(3px, -3px); }

.cr-hero { position: relative; background: var(--elethron-bg); padding: calc(var(--el-nav-h, 96px) + 2.5rem) 1.5rem clamp(1.25rem, 2.5vw, 2rem); border-bottom: 1px solid var(--elethron-border-soft); }

.cr-hero-inner { max-width: 1040px; margin: 0px auto; display: flex; flex-direction: column; gap: 1.1rem; }

.cr-hero h1 { margin: 0px; font-size: clamp(1.85rem, 3.4vw, 2.6rem); line-height: 1.15; letter-spacing: -0.01em; font-weight: 500; color: rgb(255, 255, 255); max-width: 42ch; text-wrap: balance; }

@media (max-width: 720px) {
.cr-hero h1 .cr-h1-break, .cr-hero h1 br.cr-h1-break { display: none; }
}

.cr-hero-sub { max-width: 60ch; color: rgba(255, 255, 255, 0.72); font-size: var(--t-body-lg); line-height: var(--lh-body-lg); margin: 0px; }

.cr-intro { padding: clamp(1.5rem, 4vw, 2.75rem) 1.5rem; border-bottom: 1px solid var(--elethron-border-soft); }

.cr-intro-inner { max-width: 1040px; margin: 0px auto; }

.cr-intro-line { margin: 0px; font-size: clamp(1.15rem, 1.7vw, 1.45rem); line-height: 1.4; letter-spacing: -0.005em; color: rgba(255, 255, 255, 0.78); max-width: 68ch; font-weight: 400; text-wrap: balance; }

.cr-intro-line strong { font-weight: 500; color: rgb(255, 255, 255); }

.cr-section { padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem; }

.cr-section-inner { max-width: 1040px; margin: 0px auto; }

.cr-section-head { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }

.cr-section-h { margin: 0px; font-size: clamp(1.6rem, 2.6vw, 2.1rem); line-height: 1.18; letter-spacing: -0.012em; font-weight: 500; color: rgb(255, 255, 255); text-wrap: balance; max-width: 28ch; }

.cr-section-sub { margin: 0px; max-width: 64ch; color: rgba(255, 255, 255, 0.7); font-size: 1rem; line-height: 1.55; }

.cr-pillars { margin: 0px; }

.cr-pillars .el-pillars { --el-pillar-bias-lab: 1; --el-pillar-bias-ai: 1; }

.cr-pillars .el-pillar.cr-pillar { height: 260px; background: linear-gradient(rgba(255, 255, 255, 0.024) 0%, rgba(255, 255, 255, 0.01) 100%); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; isolation: isolate; transition: flex-grow 520ms cubic-bezier(0.2, 0.7, 0.2, 1), background 320ms, border-color 320ms; }

.cr-pillars .el-pillar.cr-pillar:hover, .cr-pillars .el-pillar.cr-pillar:focus-visible, .cr-pillars .el-pillar.cr-pillar.is-active { background: linear-gradient(rgba(255, 255, 255, 0.043) 0%, rgba(255, 255, 255, 0.02) 100%); border-color: rgba(228, 90, 71, 0.32); }

.cr-pillars .cr-pillar-shade { background: linear-gradient(rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.18) 100%); }

.cr-pillars .cr-pillar-inner { padding: 1.5rem 1.5rem 1.4rem; align-items: flex-end; gap: 1rem; }

.cr-pillars .cr-pillar-text { display: flex; flex-direction: column; gap: 0.45rem; min-width: 0px; }

.cr-pillar-eyebrow { font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.08em; text-transform: uppercase; color: var(--elethron-accent, #E45A47); line-height: 1; display: inline-flex; align-items: center; gap: 0.5rem; }

.cr-pillar-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentcolor; display: inline-block; }

.cr-pillars .cr-pillar-title { font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.22; letter-spacing: -0.008em; text-wrap: balance; font-weight: 500; color: rgb(255, 255, 255); max-width: 24ch; }

.cr-pillars .cr-pillar-sub { font-size: 0.92rem; line-height: 1.45; color: rgba(255, 255, 255, 0.7); max-width: 36ch; }

.cr-pillars .cr-pillar-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.04); flex-shrink: 0; }

.cr-pillars .cr-pillar-arrow svg { width: 14px; height: 14px; }

.cr-pillars .el-drawer[data-active-pillar="exec"] { --drawer-accent: #A8C3D6; --drawer-accent-soft: rgba(168,195,214,0.10); }

.cr-pillars .el-drawer[data-active-pillar="eng"] { --drawer-accent: #E45A47; --drawer-accent-soft: rgba(228,90,71,0.10); }

.cr-pillars .cr-drawer-panel:not([hidden]) { display: block; padding: 1.85rem 1.85rem 1.6rem; grid-template-columns: none !important; }

@media (min-width: 900px) {
.cr-pillars .cr-drawer-panel:not([hidden]) { grid-template-columns: none !important; }
}

.cr-role { display: flex; flex-direction: column; gap: 1.4rem; }

.cr-role-head { display: flex; flex-direction: column; gap: 0.7rem; }

.cr-role-title { margin: 0px; font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.2; letter-spacing: -0.01em; font-weight: 500; color: rgb(255, 255, 255); text-wrap: balance; }

.cr-role-blurb { margin: 0px; max-width: 72ch; color: rgba(255, 255, 255, 0.78); font-size: 0.98rem; line-height: 1.6; }

.cr-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 1rem; }

@media (max-width: 760px) {
.cr-role-grid { grid-template-columns: 1fr; }
}

.cr-role-card { position: relative; padding: 1.1rem 1.2rem 1.15rem; background: rgba(255, 255, 255, 0.024); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 10px; display: flex; flex-direction: column; gap: 0.55rem; }

.cr-role-card-label { font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.06em; text-transform: uppercase; color: var(--elethron-text-dim); line-height: 1; }

.cr-role-card p { margin: 0px; color: rgba(255, 255, 255, 0.78); font-size: 0.94rem; line-height: 1.55; }

.cr-focus { padding: 1.15rem 1.25rem 1.3rem; border-radius: 10px; background: linear-gradient(rgba(228, 90, 71, 0.05) 0%, rgba(228, 90, 71, 0.016) 100%); border: 1px solid rgba(228, 90, 71, 0.16); }

.cr-focus-label { font-family: var(--font-mono); font-size: var(--t-eyebrow); letter-spacing: 0.08em; text-transform: uppercase; color: var(--elethron-accent, #E45A47); margin-bottom: 0.85rem; display: inline-flex; align-items: center; gap: 0.45rem; }

.cr-focus-label::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentcolor; }

.cr-focus-list { margin: 0px; padding: 0px; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0.45rem 1.5rem; }

@media (max-width: 760px) {
.cr-focus-list { grid-template-columns: 1fr; }
}

.cr-focus-list li { position: relative; padding-left: 1rem; color: rgba(255, 255, 255, 0.82); font-size: 0.93rem; line-height: 1.5; }

.cr-focus-list li::before { content: ""; position: absolute; left: 0px; top: 0.55em; width: 6px; height: 1px; background: rgba(255, 255, 255, 0.35); }

.cr-role-foot { display: flex; justify-content: flex-start; padding-top: 0.25rem; }

.cr-role-apply { display: inline-flex; align-items: center; gap: 0.5rem; color: rgb(255, 255, 255); text-decoration: none; font-size: 0.95rem; font-weight: 500; padding-bottom: 0.25rem; border-bottom: 1px solid rgba(255, 255, 255, 0.22); transition: color 0.2s, border-color 0.2s; }

.cr-role-apply-arrow { transition: transform 0.25s; }

.cr-role-apply:hover { color: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); }

.cr-role-apply:hover .cr-role-apply-arrow { transform: translateX(3px); }

.cr-apply { padding-top: 0px; }

.cr-apply-card { display: grid; grid-template-columns: minmax(0px, 1.4fr) minmax(0px, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; padding: clamp(1.75rem, 4vw, 2.5rem); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 14px; background: linear-gradient(rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%); }

@media (max-width: 760px) {
.cr-apply-card { grid-template-columns: 1fr; gap: 1.5rem; }
}

.cr-apply-h { margin: 0px 0px 0.85rem; font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.22; letter-spacing: -0.01em; font-weight: 500; color: rgb(255, 255, 255); }

.cr-apply-copy p { margin: 0px 0px 0.7rem; color: rgba(255, 255, 255, 0.78); font-size: 1rem; line-height: 1.6; max-width: 56ch; }

.cr-apply-copy p:last-child { margin-bottom: 0px; }

.cr-apply-secondary { color: rgba(255, 255, 255, 0.6) !important; font-size: 0.93rem !important; }

.cr-apply-mail { color: rgb(255, 255, 255); text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.3); transition: color 0.2s, border-color 0.2s; }

.cr-apply-mail:hover { color: var(--elethron-accent, #E45A47); border-color: var(--elethron-accent, #E45A47); }

.cr-apply-actions { display: flex; justify-content: flex-end; }

@media (max-width: 760px) {
.cr-apply-actions { justify-content: flex-start; }
}

.cr-cta { position: relative; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.3rem; border-radius: 999px; text-decoration: none; font-size: 0.95rem; font-weight: 500; letter-spacing: -0.005em; transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), background 0.25s, border-color 0.25s, color 0.25s; }

.cr-cta--primary { color: rgb(255, 255, 255); background: var(--elethron-accent, #E45A47); border: 1px solid var(--elethron-accent, #E45A47); }

.cr-cta--primary:hover { background: rgb(208, 77, 59); border-color: rgb(208, 77, 59); transform: translateY(-1px); }

.cr-cta-arrow { display: inline-block; transition: transform 0.25s; font-size: 0.95rem; line-height: 1; }

.cr-cta:hover .cr-cta-arrow { transform: translateX(3px); }

.cr-cta--primary:hover .cr-cta-arrow:not(:first-child) { transform: translateX(3px); }

.cr-hero .cr-cta:hover .cr-cta-arrow { transform: translateY(2px); }

.el-drawer-panel[data-panel="ai"] { grid-template-columns: minmax(0px, 1fr); gap: 1.5rem; padding-bottom: 2rem; }

@media (min-width: 900px) {
.el-drawer-panel[data-panel="ai"] { grid-template-columns: minmax(0px, 1fr); gap: 1.5rem; }
}

.el-drawer-panel[data-panel="ai"] .el-drawer-head { display: flex; flex-direction: column; gap: 0.85rem; }

.el-drawer-panel[data-panel="ai"] .el-drawer-title { max-width: none; text-wrap: balance; }

.el-ai-blurb { margin: 0px; font-size: 0.96rem; line-height: 1.55; color: rgba(255, 255, 255, 0.55); max-width: 92ch; text-wrap: pretty; }

.el-ai-blurb strong { color: rgb(255, 255, 255); font-weight: 500; }

.el-ai-cards { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 0.875rem; grid-auto-rows: 1fr; }

.el-ai-card { display: flex; flex-direction: column; gap: 0.85rem; padding: 1.1rem 1.15rem 1.15rem; border: 1px solid var(--elethron-border, rgba(255,255,255,0.10)); border-radius: var(--el-radius-md, 10px); background: rgba(255, 255, 255, 0.016); transition: border-color 260ms, background 260ms, transform 260ms; }

.el-ai-card:hover { border-color: rgba(228, 90, 71, 0.45); background: rgba(228, 90, 71, 0.035); transform: translateY(-1px); }

.el-ai-card-body { display: flex; flex-direction: column; gap: 0.32rem; min-width: 0px; }

.el-ai-card-title { font-size: 0.98rem; line-height: 1.3; color: rgb(255, 255, 255); font-weight: 500; letter-spacing: -0.005em; }

.el-ai-card-desc { font-size: 0.84rem; line-height: 1.5; color: rgba(255, 255, 255, 0.65); }

.el-ai-engine-plate { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 8px; border: 1px solid rgba(228, 90, 71, 0.38); background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 7px), linear-gradient(135deg, rgba(228, 90, 71, 0.55) 0%, rgba(228, 90, 71, 0.12) 100%); display: flex; align-items: center; justify-content: center; color: rgb(255, 255, 255); position: relative; overflow: hidden; transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1), border-color 220ms; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px, rgba(255, 255, 255, 0.06) 0px 1px 0px inset; }

.el-ai-engine-plate svg { width: 22px; height: 22px; display: block; position: relative; z-index: 1; }

.el-ai-card:hover .el-ai-engine-plate { transform: scale(1.04); border-color: rgba(228, 90, 71, 0.7); }

.el-drawer-panel[data-panel="ai"] .el-drawer-link { margin-top: 0px; }

@media (max-width: 760px) {
.el-ai-cards { grid-template-columns: 1fr; grid-auto-rows: auto; }
}

.el-drawer-panel[data-panel="lab"] { grid-template-columns: minmax(0px, 1fr); gap: 1.5rem; padding-bottom: 2rem; }

@media (min-width: 900px) {
.el-drawer-panel[data-panel="lab"] { grid-template-columns: minmax(0px, 1fr); gap: 1.5rem; }
}

.el-drawer-panel[data-panel="lab"] .el-drawer-head { display: flex; flex-direction: column; gap: 0.85rem; }

.el-drawer-panel[data-panel="lab"] .el-drawer-title { max-width: none; text-wrap: balance; }

.el-lab-blurb { margin: 0px; font-size: 0.96rem; line-height: 1.55; color: rgba(255, 255, 255, 0.55); max-width: 92ch; text-wrap: pretty; }

.el-lab-blurb strong { color: rgb(255, 255, 255); font-weight: 500; }

.el-lab-cards { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 0.875rem; grid-auto-rows: 1fr; }

.el-lab-card { display: flex; flex-direction: column; gap: 0.7rem; padding: 0.95rem 1rem 1rem; border: 1px solid var(--elethron-border, rgba(255,255,255,0.10)); border-radius: var(--el-radius-md, 10px); background: rgba(255, 255, 255, 0.016); transition: border-color 260ms, background 260ms, transform 260ms; }

.el-lab-card:hover { border-color: rgba(168, 195, 214, 0.45); background: rgba(168, 195, 214, 0.035); transform: translateY(-1px); }

.el-lab-card-body { display: flex; flex-direction: column; gap: 0.32rem; min-width: 0px; flex: 1 1 0%; }

.el-lab-card-title { font-size: 0.98rem; line-height: 1.3; color: rgb(255, 255, 255); font-weight: 500; letter-spacing: -0.005em; }

.el-lab-card-desc { font-size: 0.84rem; line-height: 1.5; color: rgba(255, 255, 255, 0.65); }

.el-lab-plate { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 8px; border: 1px solid rgba(228, 90, 71, 0.4); background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 7px), linear-gradient(135deg, rgba(228, 90, 71, 0.45) 0%, rgba(228, 90, 71, 0.1) 100%); display: flex; align-items: center; justify-content: center; color: rgb(255, 255, 255); position: relative; overflow: hidden; transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1), border-color 220ms; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px, rgba(255, 255, 255, 0.06) 0px 1px 0px inset; }

.el-lab-plate svg { width: 22px; height: 22px; display: block; position: relative; z-index: 1; }

.el-lab-card:hover .el-lab-plate { transform: scale(1.04); border-color: rgba(228, 90, 71, 0.75); }

.el-drawer-panel[data-panel="lab"] .el-drawer-link { margin-top: 0px; }

@media (max-width: 760px) {
.el-lab-cards { grid-template-columns: 1fr; grid-auto-rows: auto; }
}

@media (max-width: 980px) {
.el-lab-cards { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}

@media (max-width: 600px) {
.el-lab-cards { grid-template-columns: 1fr; }
}

.el-lab-integration { margin-top: 0.5rem; padding-top: 1.6rem; border-top: 1px solid rgba(255, 255, 255, 0.08); display: flex; flex-direction: column; gap: 1.1rem; }

.el-lab-integration-head { display: flex; flex-direction: column; gap: 0.55rem; align-items: center; text-align: center; }

.el-lab-integration-eyebrow { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); display: inline-flex; align-items: center; gap: 0.5rem; }

.el-lab-integration-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--drawer-accent, #A8C3D6); display: inline-block; }

.el-lab-integration-title { margin: 0px; font-size: clamp(1.05rem, 1.25vw, 1.25rem); line-height: 1.25; letter-spacing: -0.005em; color: rgb(255, 255, 255); font-weight: 500; max-width: 42ch; }

.el-lab-integration-triptych { display: grid; grid-template-columns: 1fr minmax(40px, 0.32fr) 1fr minmax(40px, 0.32fr) 1fr; align-items: center; gap: 0.9rem; }

.el-lab-integration-frame { margin: 0px; display: flex; flex-direction: column; gap: 0.55rem; min-width: 0px; }

.el-lab-integration-media { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgb(10, 10, 12); position: relative; transition: border-color 320ms, transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1); }

.el-lab-integration-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 520ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 360ms; filter: saturate(1) brightness(0.98); }

.el-lab-integration-frame:hover .el-lab-integration-media { border-color: rgba(168, 195, 214, 0.4); }

.el-lab-integration-frame:hover .el-lab-integration-media img { transform: scale(1.035); filter: saturate(1.05) brightness(1.02); }

.el-lab-integration-frame--focal .el-lab-integration-media { border-color: rgba(168, 195, 214, 0.25); box-shadow: rgba(168, 195, 214, 0.08) 0px 0px 0px 1px, rgba(168, 195, 214, 0.45) 0px 18px 36px -22px, rgba(0, 0, 0, 0.6) 0px 6px 18px -10px; }

.el-lab-integration-frame--focal .el-lab-integration-media img { object-position: 50% 18%; }

.el-lab-integration-frame--focal .el-lab-integration-caption { color: rgb(255, 255, 255); }

.el-lab-integration-frame--focal .el-lab-integration-caption::before { background: var(--drawer-accent, #A8C3D6); }

.el-lab-integration-caption { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72); text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; }

.el-lab-integration-caption::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: rgba(255, 255, 255, 0.35); flex: 0 0 auto; }

.el-lab-integration-connector { display: flex; align-items: center; justify-content: center; height: 100%; transform: translateY(-14px); }

.el-lab-integration-connector svg { width: 100%; height: 22px; overflow: visible; }

.el-lab-integration-line { fill: none; stroke: var(--drawer-accent, #A8C3D6); stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 2.6, 5; stroke-dashoffset: 140; opacity: 0; }

.el-lab-integration-chevron { stroke: var(--drawer-accent, #A8C3D6); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform-origin: center center; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-line { animation: 1100ms cubic-bezier(0.2, 0.7, 0.2, 1) 320ms 1 normal both running el-lab-int-draw; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-chevron { animation: 360ms cubic-bezier(0.2, 0.7, 0.2, 1) 1180ms 1 normal both running el-lab-int-chev; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-head, .el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-frame { animation: 560ms cubic-bezier(0.2, 0.7, 0.2, 1) 0s 1 normal both running el-lab-int-fade; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-head { animation-delay: 200ms; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-frame--focal { animation-delay: 280ms; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-triptych > .el-lab-integration-frame:first-child { animation-delay: 360ms; }

.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-triptych > .el-lab-integration-frame:last-child { animation-delay: 360ms; }

@keyframes el-lab-int-draw { 
  0% { stroke-dashoffset: 140; opacity: 0; }
  10% { opacity: 0.85; }
  100% { stroke-dashoffset: 0; opacity: 0.85; }
}

@keyframes el-lab-int-chev { 
  0% { opacity: 0; transform: translateX(-2px); }
  100% { opacity: 0.95; transform: translateX(0px); }
}

@keyframes el-lab-int-fade { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: translateY(0px); }
}

@media (max-width: 860px) {
.el-lab-integration-triptych { grid-template-columns: 1fr; gap: 0.9rem; }
.el-lab-integration-frame--focal { order: -1; }
.el-lab-integration-frame--focal .el-lab-integration-media { aspect-ratio: 16 / 10; }
.el-lab-integration-connector { transform: none; height: auto; }
.el-lab-integration-connector svg { height: 18px; transform: rotate(90deg); max-width: 80px; margin: 0px auto; }
}

@media (prefers-reduced-motion: reduce) {
.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-line, .el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-chevron, .el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-head, .el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-frame { animation: auto ease 0s 1 normal none running none; }
.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-line { stroke-dashoffset: 0; opacity: 0.85; }
.el-drawer[data-state="open"][data-active-pillar="lab"] .el-lab-integration-chevron { opacity: 0.95; }
}

.el-intersection { position: relative; display: block; width: 100%; background: rgb(5, 5, 7); isolation: isolate; overflow: hidden; aspect-ratio: 1672 / 941; min-height: 360px; }

.el-intersection-image { position: absolute; inset: 0px; z-index: 0; pointer-events: none; }

.el-intersection-image img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transform-origin: 78% 50%; animation: 26s ease-in-out 0s infinite alternate none running el-intersection-kenburns; will-change: transform; }

@keyframes el-intersection-kenburns { 
  0% { transform: scale(1) translate3d(0px, 0px, 0px); }
  100% { transform: scale(1.045) translate3d(-0.5%, -0.3%, 0px); }
}

.el-intersection-scrim { position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(5, 5, 7, 0.88) 0%, rgba(5, 5, 7, 0.74) 14%, rgba(5, 5, 7, 0.46) 28%, rgba(5, 5, 7, 0.18) 42%, rgba(5, 5, 7, 0) 58%), linear-gradient(rgba(5, 5, 7, 0.55) 0%, rgba(5, 5, 7, 0) 12%, rgba(5, 5, 7, 0) 82%, rgba(5, 5, 7, 0.85) 100%); }

.el-intersection-pulse { position: absolute; left: 70%; top: 80%; width: 22%; aspect-ratio: 1 / 1; transform: translate(-50%, -50%); z-index: 2; pointer-events: none; background: radial-gradient(circle, rgba(255, 170, 90, 0.32) 0%, rgba(255, 140, 70, 0.18) 28%, rgba(255, 120, 50, 0.08) 50%, rgba(255, 120, 50, 0) 72%); mix-blend-mode: screen; filter: blur(1px); animation: 3.6s ease-in-out 0s infinite alternate none running el-intersection-pulse; will-change: opacity, transform; }

@keyframes el-intersection-pulse { 
  0% { opacity: 0.55; transform: translate(-50%, -50%) scale(0.96); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
}

.el-intersection-stars { position: absolute; inset: 0px; z-index: 2; pointer-events: none; }

.el-intersection-star { --twinkle-size: 1.6px; position: absolute; width: var(--twinkle-size); height: var(--twinkle-size); border-radius: 50%; background: rgba(225, 230, 240, 0.92); box-shadow: rgba(200, 220, 255, 0.55) 0px 0px 4px 1px, rgba(160, 200, 245, 0.28) 0px 0px 10px 2px; opacity: 0; animation: 4.4s ease-in-out 0s infinite normal none running el-intersection-twinkle; will-change: opacity, transform; }

@keyframes el-intersection-twinkle { 
  0%, 100% { opacity: 0; transform: scale(0.55); }
  10% { opacity: 1; transform: scale(1.25); }
  18% { opacity: 0.65; transform: scale(1); }
  26% { opacity: 0; transform: scale(0.55); }
}

.el-intersection::after { content: ""; position: absolute; inset: -10%; z-index: 3; pointer-events: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>"); background-size: 180px 180px; opacity: 0.055; mix-blend-mode: overlay; animation: 1.4s steps(6) 0s infinite normal none running el-intersection-grain; will-change: transform; }

@keyframes el-intersection-grain { 
  0% { transform: translate3d(0px, 0px, 0px); }
  20% { transform: translate3d(-2%, -1%, 0px); }
  40% { transform: translate3d(1%, -2%, 0px); }
  60% { transform: translate3d(-1%, 2%, 0px); }
  80% { transform: translate3d(2%, 1%, 0px); }
  100% { transform: translate3d(0px, 0px, 0px); }
}

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
}

#core-innovation, #capabilities, #leadership { scroll-margin-top: 96px; }

.el-intersection-inner { position: relative; z-index: 4; height: 100%; max-width: 1480px; margin: 0px auto; padding: 0px clamp(1.5rem, 5vw, 4rem); display: flex; align-items: center; }

.el-intersection-copy { max-width: clamp(280px, 42%, 560px); min-width: 0px; }

.el-intersection-copy-link { display: block; text-decoration: none; color: inherit; position: relative; transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 220ms; cursor: pointer; }

.el-intersection-copy-link:hover, .el-intersection-copy-link:focus-visible { transform: translateY(-2px); outline: none; }

.el-intersection-copy-link:focus-visible { outline: rgba(228, 90, 71, 0.65) solid 2px; outline-offset: 6px; border-radius: 4px; }

.el-intersection-copy-link .el-tagline-line--soft::after { content: "→"; display: inline-block; margin-left: 0.5em; color: rgb(228, 90, 71); transform: translateX(0px); transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1), color 220ms; }

.el-intersection-copy-link:hover .el-tagline-line--soft::after, .el-intersection-copy-link:focus-visible .el-tagline-line--soft::after { transform: translateX(4px); }

.el-intersection-tagline { margin: 0px; font-family: inherit; font-size: 22px; line-height: 1.22; letter-spacing: -0.015em; color: rgba(255, 255, 255, 0.82); font-weight: 400; text-wrap: balance; display: flex; flex-direction: column; gap: 0.55em; }

.el-tagline-line { display: block; }

.el-intersection-tagline strong { font-weight: 500; color: rgb(255, 255, 255); }

.el-tagline-line--soft { color: rgba(255, 255, 255, 0.46); }

.el-tagline-line--soft strong { color: rgba(255, 255, 255, 0.82); }

@media (max-width: 860px) {
.el-intersection { aspect-ratio: auto; min-height: 380px; max-height: none; }
.el-intersection-image img { object-position: 62% center; }
.el-intersection-scrim { background: linear-gradient(rgba(5, 5, 7, 0.85) 0%, rgba(5, 5, 7, 0.55) 22%, rgba(5, 5, 7, 0.2) 45%, rgba(5, 5, 7, 0) 62%), linear-gradient(rgba(5, 5, 7, 0) 70%, rgba(5, 5, 7, 0.85) 100%); }
.el-intersection-inner { align-items: flex-start; padding-top: clamp(2rem, 8vw, 3rem); padding-bottom: clamp(2rem, 8vw, 3rem); min-height: inherit; }
.el-intersection-copy { max-width: 100%; }
.el-intersection-tagline { font-size: clamp(1.15rem, 4.4vw, 1.55rem); }
.el-tagline-line { white-space: normal; }
.el-intersection-pulse { display: none; }
}

.el-intersection-spotlight { position: absolute; top: clamp(2.25rem, 5.5%, 3.75rem); right: clamp(2.25rem, 5vw, 4.5rem); z-index: 3; width: clamp(198px, 15.6vw, 246px); aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.14); background: rgb(10, 10, 12); color: rgb(255, 255, 255); text-decoration: none; isolation: isolate; box-shadow: rgba(0, 0, 0, 0.55) 0px 24px 48px, rgba(0, 0, 0, 0.4) 0px 4px 12px; transition: transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1), border-color 280ms, box-shadow 420ms; }

.el-intersection-spotlight:hover, .el-intersection-spotlight:focus-visible { transform: translateY(-3px); border-color: rgba(255, 255, 255, 0.28); box-shadow: rgba(0, 0, 0, 0.6) 0px 28px 56px, rgba(228, 90, 71, 0.18) 0px 6px 16px; outline: none; }

.el-intersection-spotlight-media { position: absolute; inset: 0px; z-index: 0; overflow: hidden; }

.el-intersection-spotlight-media img { width: 100%; height: 100%; object-fit: cover; object-position: 82% center; transform: scale(1.18); transform-origin: 82% center; transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 300ms; filter: saturate(0.95) brightness(0.9); display: block; }

.el-intersection-spotlight:hover .el-intersection-spotlight-media img, .el-intersection-spotlight:focus-visible .el-intersection-spotlight-media img { transform: scale(1.24); filter: saturate(1) brightness(1); }

.el-intersection-spotlight-veil { position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: rgba(8, 8, 10, 0.42); }

.el-intersection-spotlight-shade { position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(8, 8, 10, 0) 0%, rgba(8, 8, 10, 0) 35%, rgba(8, 8, 10, 0.45) 75%, rgba(8, 8, 10, 0.8) 100%); }

.el-intersection-spotlight-meta { position: absolute; inset: 0px; z-index: 2; padding: 0.7rem 0.85rem 0.75rem; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 0.45rem; }

.el-intersection-spotlight-title { font-size: clamp(0.78rem, 0.82vw, 0.86rem); line-height: 1.28; font-weight: 500; letter-spacing: -0.005em; color: rgb(255, 255, 255); text-wrap: balance; text-shadow: rgba(0, 0, 0, 0.55) 0px 1px 2px; }

.el-intersection-spotlight-arrow { width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.32); background: rgba(10, 10, 12, 0.35); display: inline-flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, 0.95); transition: background 220ms, border-color 220ms, transform 220ms; flex: 0 0 auto; align-self: end; }

.el-intersection-spotlight-arrow svg { width: 12px; height: 12px; }

.el-intersection-spotlight:hover .el-intersection-spotlight-arrow, .el-intersection-spotlight:focus-visible .el-intersection-spotlight-arrow { background: rgba(228, 90, 71, 0.85); border-color: rgba(228, 90, 71, 0.95); transform: translateX(2px); }

@media (max-width: 1099px) {
.el-intersection-spotlight { display: none; }
}

@media (prefers-reduced-motion: reduce) {
.el-intersection-spotlight, .el-intersection-spotlight-media img, .el-intersection-spotlight-arrow { transition: none; }
}

@media (prefers-reduced-motion: reduce) {
.el-intersection-image img { animation: auto ease 0s 1 normal none running none; transform: scale(1.01); }
.el-intersection-pulse { animation: auto ease 0s 1 normal none running none; opacity: 0.6; }
.el-intersection-star { animation: auto ease 0s 1 normal none running none; opacity: 0.4; }
.el-intersection::after { animation: auto ease 0s 1 normal none running none; }
}

.el-hero-section .heading-411 .heading-medium-2 { display: block !important; font-size: 0.62em !important; line-height: 1.1 !important; font-weight: 400 !important; color: rgba(255, 255, 255, 0.72) !important; letter-spacing: -0.012em !important; margin-top: 0.32em !important; }

.el-role { font-family: var(--font-mono) !important; font-size: var(--t-eyebrow) !important; line-height: var(--lh-eyebrow) !important; letter-spacing: var(--ls-eyebrow) !important; text-transform: uppercase !important; color: var(--elethron-accent, #E45A47) !important; font-weight: 500 !important; margin-top: 0.55rem !important; }

.card-team .text-wrap-team-card .text-small.text-body-bold { font-size: clamp(1.05rem, 1.2vw, 1.2rem) !important; line-height: 1.25 !important; letter-spacing: -0.005em !important; font-weight: 500 !important; color: rgb(255, 255, 255) !important; }

#core-innovation h2.no-margins-4, #leadership h2.no-margins { text-wrap: balance; font-size: var(--t-h1) !important; line-height: var(--lh-h1) !important; letter-spacing: var(--ls-h1) !important; }

.el-cta-band .el-cta-h { font-size: var(--t-h2) !important; line-height: var(--lh-h2) !important; }

#capabilities h4.no-margins { font-size: var(--t-h3) !important; line-height: var(--lh-h3) !important; letter-spacing: var(--ls-h3) !important; }

:root { --el-section-pad-y: clamp(64px, 7vw, 110px); --el-section-pad-y-tight: clamp(56px, 6vw, 84px); }

#core-innovation, #capabilities { margin-top: 0px !important; padding-top: var(--el-section-pad-y) !important; padding-bottom: var(--el-section-pad-y) !important; }

#leadership { padding-top: var(--el-section-pad-y) !important; padding-bottom: var(--el-section-pad-y) !important; }

.el-cta-band { padding-top: var(--el-section-pad-y-tight) !important; padding-bottom: var(--el-section-pad-y-tight) !important; }

.section-2.hero-home-a-section.el-hero-section { min-height: clamp(620px, 90vh, 950px) !important; }

@media (max-width: 768px) {
.section-2.hero-home-a-section.el-hero-section { min-height: 640px !important; }
}

.el-hero-section .heading-411 .heading-medium-2 { display: inline !important; font-size: inherit !important; line-height: inherit !important; font-weight: 400 !important; color: inherit !important; letter-spacing: inherit !important; margin-top: 0px !important; }

:root { --el-safe-gutter: max(0.6cm, 20px); }

.w-container, .main-container, .main-container-7, .main-container-28, .el-cta-container, .el-pillars-cluster, .el-pillars, .el-drawer, .team-grid { box-sizing: border-box; }

.w-container { padding-left: var(--el-safe-gutter) !important; padding-right: var(--el-safe-gutter) !important; }

/* Overflow-x guard intentionally moved to body-only rule lower in this file
   (see Stage 1, ~line 1314). Putting it on html breaks window.scrollY in
   Safari and disables the nav-hide-on-scroll behaviour. */

#core-innovation h2.no-margins-4, #leadership h2.no-margins, #capabilities h4.no-margins, .el-cta-band h2.el-cta-h { overflow-wrap: break-word; hyphens: auto; max-width: min(32ch, 100%) !important; width: auto !important; min-width: 0px !important; text-wrap: pretty !important; }

.el-hero-section > .el-hero-lower { display: flex; flex-direction: column; align-items: center; gap: 1rem; }

.el-hero-partners { width: 100%; max-width: 920px; margin: 0px auto; text-align: center; }

.el-hero-partners > .master-label-3 { justify-content: center; }

.el-hero-partners .master-marquee.logos { --marquee-logo-h: 32px; padding-top: 0px !important; padding-bottom: 0px !important; margin-top: 0px !important; }

.el-hero-partners .marquee-logo.large { max-height: 32px !important; height: 32px !important; }

.el-hero-partners .marquee-logo[data-logo="uksa"] { max-height: 52px !important; height: 52px !important; }

.el-hero-partners .marquee-logo[data-logo="atmos"] { max-height: 61px !important; height: 61px !important; }

.el-hero-partners .marquee-logo[data-logo="ukgov"] { max-height: 47px !important; height: 47px !important; }

.el-hero-partners .marquee-logo[data-logo="technia"] { max-height: 32px !important; height: 32px !important; }

.el-hero-partners .marquee-logo[data-logo="cambridge"] { max-height: 32px !important; height: 32px !important; }

.el-hero-partners .single-logo-marquee.marquee-track { gap: 1.5rem; align-items: center !important; min-height: 67px !important; }

@media (max-width: 768px) {
.el-hero-section > .el-hero-lower { gap: 1rem; }
.el-hero-partners .marquee-logo.large { max-height: 25px !important; height: 25px !important; }
.el-hero-partners .marquee-logo[data-logo="uksa"] { max-height: 41px !important; height: 41px !important; }
.el-hero-partners .marquee-logo[data-logo="atmos"] { max-height: 48px !important; height: 48px !important; }
.el-hero-partners .marquee-logo[data-logo="ukgov"] { max-height: 37px !important; height: 37px !important; }
.el-hero-partners .marquee-logo[data-logo="technia"] { max-height: 25px !important; height: 25px !important; }
.el-hero-partners .marquee-logo[data-logo="cambridge"] { max-height: 25px !important; height: 25px !important; }
.el-hero-partners .single-logo-marquee.marquee-track { min-height: 53px !important; }
}

html, body { overflow-x: visible; }

@media (max-width: 768px) {
.section-2.hero-home-a-section.el-hero-section { min-height: clamp(520px, 78vh, 680px) !important; }
.el-cap-headline, .el-core-intro, .headline-leadership h2 { letter-spacing: -0.01em; font-size: clamp(22px, 6.4vw, 30px) !important; line-height: 1.2 !important; }
.el-capabilities-section { padding: 3.5rem 0px !important; }
.el-capabilities-inner { gap: 1.5rem !important; }
.el-cap-detail-title { font-size: clamp(20px, 5.4vw, 26px) !important; }
.el-cap-detail-desc { font-size: 0.95rem !important; }
.el-cap-tab { padding: 0.7rem 0px !important; }
.el-cap-tab-label { font-size: 0.85rem !important; }
.el-cap-tabgroup-label { font-size: 0.62rem !important; padding-top: 0.7rem !important; }
.el-intersection-tagline { font-size: clamp(18px, 4.6vw, 22px) !important; }
.cta-main-3, .cta-main-4 { min-height: 48px; }
.careers-section.leadership-section.section-3 { padding: 3rem 0px !important; }
.el-cta-band { padding: 3rem 0px !important; }
.el-cta-h { font-size: clamp(20px, 5.5vw, 28px) !important; line-height: 1.22 !important; }
.body-medium.el-cta-body, .body-medium.el-leadership-sub { font-size: 0.95rem !important; line-height: 1.55 !important; }
.el-pillar { height: 320px !important; }
}

@media (max-width: 480px) {
.el-cap-headline, .el-core-intro, .headline-leadership h2 { font-size: clamp(20px, 6.8vw, 26px) !important; }
.image-wrap-team { aspect-ratio: 4 / 5; }
.el-footer-brand img { width: 140px !important; }
}

#core-innovation .label-small-8, #capabilities .label-small-5, #leadership .label-small-14 { font-size: 15px !important; line-height: 1.15 !important; }

#core-innovation .el-core-intro, #capabilities .el-cap-headline, #leadership h2.no-margins { font-size: clamp(24px, 3vw, 30px) !important; line-height: 1.22 !important; margin-left: 0px !important; margin-right: auto !important; }

#core-innovation h2.el-core-intro[style*="font-size"] { font-size: 22px !important; line-height: 1.35 !important; max-width: none !important; text-wrap: nowrap; }
#core-innovation h2.el-core-intro .el-core-intro-soft { display: block; }
@media (max-width: 1180px) { #core-innovation h2.el-core-intro[style*="font-size"] { font-size: clamp(17px, 1.9vw, 22px) !important; text-wrap: pretty; } }

#capabilities .el-cap-head > .master-label-3 { justify-content: flex-start; align-self: flex-start; }

/* --------------------------------------------------------------------------
   Skip-to-content link (WCAG 2.4.1 — Bypass Blocks).
   Hidden until focused via keyboard; jumps past the navigation to #main-content.
   -------------------------------------------------------------------------- */
.skip-link {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -120%);
  z-index: 99999;
  padding: 12px 18px;
  background: #E45A47;
  color: #fff;
  font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, sans-serif);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.35);
  transition: transform 180ms ease;
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translate(-50%, 0);
  outline: 2px solid rgba(255,255,255,0.6);
  outline-offset: 2px;
}
[id="main-content"] { outline: none; }


/* ============================================================================
   Comment-pass: 2026-05-27 — capabilities + leadership + CTA fine-tuning.
   Addresses inline review comments on the homepage:
     - .el-cap-headline   — fit on a single line at desktop
     - capabilities .el-leadership-sub — fit on two lines (wider container)
     - leadership .headline-leadership — tighten title→subtitle gap
     - .el-cta-h / .el-cta-body — 26px / 18px sizing
   ============================================================================ */

/* -- Capabilities H2: fit on one line at ≥ 1024px viewports ----------------- */
.el-cap-headline {
  max-width: none !important;
  text-wrap: balance;
}
#capabilities .el-cap-headline {
  /* Smaller floor + ceiling than the previous clamp(24,3vw,30); shrinks enough
     so a 90-char heading fits a single line at typical desktop widths. */
  font-size: clamp(20px, 2.2vw, 26px) !important;
  line-height: 1.25 !important;
}
@media (min-width: 1024px) {
  #capabilities .el-cap-headline {
    text-wrap: nowrap !important;
    max-width: none !important;
  }
}

/* -- Capabilities subtitle: 2 lines instead of 3 ----------------------------- */
#capabilities .el-leadership-sub {
  max-width: 76rem !important;     /* widened from 68rem */
  text-wrap: balance;
}
#capabilities .el-leadership-sub p {
  text-wrap: balance;
}

/* -- Leadership: tighten gap between H2 and subtitle ------------------------- */
#leadership .headline-leadership {
  /* The container is a flex column with gap:24px — that gap dominates over
     child margins, so we collapse it and let margin-top below do the work. */
  gap: 0 !important;
}
#leadership .headline-leadership h2 {
  margin-bottom: 0 !important;
}
#leadership .headline-leadership .el-leadership-sub {
  margin-top: 0.4rem !important;   /* was 1.25rem */
}

/* -- CTA band: title 26px / body 18px (comment 5) --------------------------- */
.el-cta-band .el-cta-h {
  font-size: 26px !important;
  line-height: 1.25 !important;
  /* Existing rule already centres and limits width; keep that. */
}
.el-cta-band .el-cta-body {
  font-size: 18px !important;
  line-height: 1.5 !important;
  /* Widened from 640px so the ~225-char body falls on 3 lines instead of 4. */
  max-width: 880px !important;
  text-wrap: balance;
}
}

/* On phones the existing mobile clamp at the bottom of the file already
   shrinks .el-cta-h further; the rules above are desktop-first. */


/* ============================================================================
   STAGE 1 — Mobile reliability hot-fixes (2026-05-27)
   ----------------------------------------------------------------------------
   Goal: prevent any single overflowing element from making the whole page
   horizontally pannable on iOS Safari, and stop the leadership grid from
   pushing cards off-screen at iPhone widths. CSS-only changes; no design
   intent altered. See chat history "Stage 1" for context.
   ========================================================================== */

/* 1) Global horizontal-overflow guard.
   `overflow-x: clip` on BODY ONLY (not html). Putting it on html turns
   the <html> element into a separate scroll container, which on Safari
   makes `window.scrollY` always read 0 and breaks every scroll listener
   (incl. the nav hide-on-scroll-down behaviour). Body-only is enough
   because body wraps all content. Clip vs hidden so we don't accidentally
   create a scroll container that breaks `position: sticky` on nav / aside. */
body { overflow-x: clip; }

/* 2) Hero partners marquee — force-clip the track so the wide `width:
      max-content` rail can never extend the page. The Webflow wrapper
      sometimes loses its overflow guard at narrow widths.
      NOTE: do NOT set max-width:100% on .el-hero-partners itself — the
      base rule sets max-width:920px and we want desktop to honour that
      (further tightened below for a more deliberate centered band). */
.el-hero-partners .wrap-marquee-logos,
.el-hero-partners .master-marquee { overflow: hidden; max-width: 100%; }
.el-hero-partners { overflow: hidden; }

/* Desktop: pull the marquee strip in by ~25% on each side so the logos
   sit as a deliberate centered band instead of a full-bleed rail. */
@media (min-width: 769px) {
  .el-hero-partners { max-width: clamp(432px, 60%, 864px) !important; }
}

/* Soften the edge feather so logos dissolve gracefully into the
   narrower container instead of hard-clipping at the mask edges. */
.el-hero-partners .wrap-marquee-logos {
  mask-image: linear-gradient(90deg, transparent 0px, rgb(0, 0, 0) 14%, rgb(0, 0, 0) 86%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0px, rgb(0, 0, 0) 14%, rgb(0, 0, 0) 86%, transparent 100%);
}

/* 3) Hero subtitle — drop the hard 800px width on phones so the centred
      copy can't bleed past the viewport. The desktop rule keeps its 800px. */
@media (max-width: 768px) {
  .el-hero-section .el-hero-sub { max-width: 100%; padding: 0 1rem; }
  .el-hero-section .el-hero-sub > span { width: 100% !important; font-size: 16px !important; line-height: 1.45 !important; text-wrap: pretty; }
}

/* 4) Leadership grid — replace fixed 3/2 column rules with auto-fit so
      cards always have ≥160px to render at and never clip the viewport.
      Overrides the theme.css and 991px / 478px breakpoints. */
.team-grid {
  grid-template-columns: repeat(5, 1fr) !important;
  column-gap: clamp(0.75rem, 2vw, 1.25rem) !important;
  row-gap: clamp(1.25rem, 3vw, 2rem) !important;
  width: 100%;
  max-width: 100%;
}
@media (max-width: 480px) {
  /* On the narrowest phones, force exactly 2 columns so portraits stay
     readable; min() above would otherwise pick 1 column at 320px. */
  .team-grid { grid-template-columns: 1fr 1fr !important; }
}

/* 5a) Belt-and-braces: any [data-reveal] section that's > 80% of viewport
       height should never start hidden. Tall sections are exactly where
       iOS Safari's IntersectionObserver mis-fires. The JS safety net in
       index.html will still handle the rest, but this is the worst-case
       fallback if JS fails entirely. */
@media (max-width: 860px) {
  .el-pillars-cluster[data-reveal],
  .team-grid [data-reveal] { opacity: 1; transform: none; }
}

/* 6) Section/container safety — make sure no inner container declares a
      width wider than its parent on mobile. */
@media (max-width: 768px) {
  .w-container, .main-container, .main-container-7, .main-container-28,
  .el-cta-container, .el-pillars-cluster, .el-pillars, .el-drawer,
  .team-grid, .headline-leadership { max-width: 100% !important; }
  .headline-leadership { padding-left: var(--el-safe-gutter); padding-right: var(--el-safe-gutter); }
}


/* ============================================================================
   STAGE 2 — Mobile composition polish (2026-05-27)
   ----------------------------------------------------------------------------
   Goal: feel designed-for-mobile, not desktop-shrunk. CSS-only; no markup
   changes required. Each block is scoped to a single concern and tagged
   with the Stage-2 task # from the plan.
   ========================================================================== */

/* === S2.1 Hero — balance, tighten, shorter ================================ */
@media (max-width: 768px) {
  /* Reduce min-height so the partners strip lands within first paint. */
  .section-2.hero-home-a-section.el-hero-section {
    min-height: clamp(560px, 78vh, 720px) !important;
  }
  /* H1: 3 lines max, balanced wrapping. Override the older 20ch clamp. */
  .el-hero-section .el-hero-head h1 {
    font-size: clamp(28px, 7.2vw, 40px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
    max-width: 22ch !important;
    text-wrap: balance;
    margin-inline: auto;
  }
  .el-hero-section .el-hero-head h1 .heading-medium-2 {
    display: block !important;
    font-size: 0.62em !important;
    line-height: 1.18 !important;
    margin-top: 0.45em;
    color: rgba(255, 255, 255, 0.72) !important;
  }
  /* Subtitle: two compact lines, soften the second sentence. */
  .el-hero-section .el-hero-sub { margin-bottom: 1rem !important; }
  .el-hero-section .el-hero-sub > span {
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-wrap: pretty;
    max-width: 32ch;
    margin-inline: auto;
    display: block;
  }
  /* Pull the upper block tighter to the top so lower block has breathing room. */
  .el-hero-section > .el-hero-upper { top: 5rem !important; padding: 0 1rem !important; }
  .el-hero-section > .el-hero-lower { bottom: 1.25rem !important; gap: 0.85rem !important; padding: 0 1rem !important; }
}

/* === S2.2 Pillars — compress to single-row stack on mobile ================ */
@media (max-width: 860px) {
  /* The cluster is already vertical from Stage 1. Now make each card a
     short horizontal banner (~120px) instead of a 360px hero card. */
  .el-pillars { gap: 0.625rem !important; }
  .el-pillar {
    height: auto !important;
    min-height: 112px !important;
    border-radius: 12px !important;
  }
  .el-pillar-inner {
    padding: 0.95rem 1rem !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
  .el-pillar-text { gap: 0.25rem !important; max-width: none !important; flex: 1 1 auto; }
  .el-pillar-title {
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
  }
  .el-pillar-sub {
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    color: rgba(255,255,255,0.72) !important;
    /* clamp to 2 lines so cards stay uniform */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .el-pillar-arrow {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
  }
  .el-pillar-arrow svg { width: 15px !important; height: 15px !important; }
  /* Background image is now a darker bias — short cards don't need the
     full Ken-Burns drama, and a stronger dark wash boosts legibility. */
  .el-pillar-shade {
    background:
      linear-gradient(90deg, rgba(8,8,10,0.78) 0%, rgba(8,8,10,0.52) 60%, rgba(8,8,10,0.32) 100%) !important;
  }
  .el-pillar-image {
    animation-duration: 40s !important;          /* slower; less battery */
    filter: saturate(0.95) brightness(0.7) !important;
  }
  /* Drawer panel — tighter padding to match the new card scale. */
  .el-drawer-panel { padding: 1.25rem 1rem 1.25rem !important; gap: 1.25rem !important; }
  .el-drawer-title { font-size: 1.05rem !important; line-height: 1.28 !important; }
}

/* === S2.3 Leadership — 2-col phones, 4:5 portraits, larger tap ============ */
@media (max-width: 860px) {
  /* Stage 1 already locks 2-col below 480px; reinforce here and ensure
     consistent portrait aspect + comfortable tap area for the link cards. */
  .team-grid { grid-template-columns: 1fr 1fr !important; }
  .card-team .image-wrap-team {
    aspect-ratio: 4 / 5 !important;
    border-radius: 10px !important;
  }
  .card-team .text-wrap-team-card {
    padding-top: 0.65rem !important;
    gap: 0.2rem !important;
  }
  .card-team .text-wrap-team-card .text-small.text-body-bold {
    font-size: 0.95rem !important;
    line-height: 1.22 !important;
  }
  .card-team .text-wrap-team-card .el-role {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }
  /* Whole card is the tap target — give it a clear hit floor. */
  .card-team.el-team-link, a.card-team {
    min-height: 44px;
    display: block;
    -webkit-tap-highlight-color: rgba(228, 90, 71, 0.18);
  }
}
@media (max-width: 380px) {
  /* Very tight phones — drop name/role one click for breathing room. */
  .card-team .text-wrap-team-card .text-small.text-body-bold { font-size: 0.88rem !important; }
  .card-team .text-wrap-team-card .el-role { font-size: 0.66rem !important; }
}

/* === S2.4 Capabilities — compact vertical list on phones (rev2) ============
   Earlier rev tried a horizontal scroll-snap chip rail. It hid the
   R&D / PROCESS / AI / LAB grouping and lost discoverability, and the
   chip width was overridden by base width:100% making the rail unusable.
   This rev keeps the proven vertical tab pattern but compresses it for
   touch + adds left-edge accent for the active state. */
@media (max-width: 720px) {
  #capabilities .el-cap-body {
    grid-template-areas: "tabs" "stage" "detail" !important;
    gap: 1.25rem !important;
  }
  /* Restore vertical column for the tab list. */
  #capabilities .el-cap-tabs {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Group labels stay visible — they're the only taxonomy clue we have
     at this width. Tighter padding, lower-emphasis colour. */
  #capabilities .el-cap-tabgroup {
    display: flex !important;
    flex-direction: column !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding: 0 !important;
  }
  #capabilities .el-cap-tabgroup:first-child { border-top: none !important; }
  #capabilities .el-cap-tabgroup-label {
    display: flex !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.16em !important;
    padding: 0.85rem 0 0.4rem !important;
    color: rgba(255,255,255,0.5) !important;
  }
  #capabilities .el-cap-tabgroup-divider { display: none; }

  /* Each tab: tight row, full width (intentional, restores baseline),
     left-edge accent for current state. */
  #capabilities .el-cap-tab {
    width: 100% !important;
    border-radius: 0 !important;
    border: none !important;
    border-top: 1px solid rgba(255,255,255,0.05) !important;
    background: transparent !important;
    padding: 0.7rem 0 0.7rem 12px !important;
    border-left: 3px solid transparent !important;
    color: rgba(255,255,255,0.7) !important;
    transition: border-color 200ms, color 200ms, background 200ms !important;
  }
  #capabilities .el-cap-tabgroup .el-cap-tab:first-of-type { border-top: none !important; }
  #capabilities .el-cap-tab.is-current {
    border-left-color: var(--elethron-accent, #E45A47) !important;
    color: rgb(255,255,255) !important;
    background: rgba(228, 90, 71, 0.06) !important;
    padding-left: 12px !important;
  }
  #capabilities .el-cap-tab-dot {
    width: 5px !important;
    height: 5px !important;
    flex: 0 0 5px !important;
  }
  #capabilities .el-cap-tab-label {
    font-size: 0.92rem !important;
    letter-spacing: 0.005em !important;
    line-height: 1.3 !important;
  }
  /* Stage tightened to fit narrow viewport. */
  #capabilities .el-cap-stage {
    aspect-ratio: 4 / 3 !important;
    max-height: 64vw !important;
    border-radius: 10px !important;
  }
}


/* === S3.0 Fixed-nav anchor offset ==========================================
   #capabilities, #core-innovation, #leadership etc. are jumped to via
   the nav. Without scroll-padding-top, the fixed navbar hides the
   section eyebrow. 84px ≈ nav height + breathing room. */
html { scroll-padding-top: 84px; }
@media (max-width: 768px) { html { scroll-padding-top: 72px; } }

/* === S3.3 Logo cluster — reduce gap + brighter divider (2026-05-27) ========
   - Gap between monogram (.image-2) and wordmark (.wrap-logo-text-3)
     reduced by 65%: logo-navigation gap 12px → 4px, wordmark margin-left
     4px → 1px. (Total visible gap roughly 16px → 5px.)
   - Vertical divider line between logo block and nav menu raised from
     16% opacity white to 48% so it reads cleanly on the dark navbar. */
.master-navigation-3 .logo-navigation { gap: 4px !important; }
.master-navigation-3 .wrap-logo-text-3 { margin-left: 1px !important; }
.master-navigation-3 .divider-nav-2 {
  background-color: rgba(246, 243, 236, 0.48) !important;
  width: 1.5px !important;
  height: 22px !important;
}

/* === S3.2 Wordmark collapse on scroll-down (per original template) =========
   When the user scrolls DOWN past 80px, only the wordmark text ("Elethron
   Space & Deeptech Systems") collapses to max-width: 0 with its left
   margin going to 0. The monogram, menu, and CTA stay in place. On any
   scroll UP (or scroll back to top) the wordmark slides back in. Matches
   the Modulabs template behaviour. */
.master-navigation-3.is-scrolling-down .wrap-logo-text-3 {
  max-width: 0 !important;
  margin-left: 0 !important;
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .master-navigation-3 .wrap-logo-text-3 { transition: opacity 200ms; }
  .master-navigation-3.is-scrolling-down .wrap-logo-text-3 { max-width: 0 !important; }
}

/* === S3.1 Section seam tightening (per editorial direction 2026-05-27) =====
   Targets: gap between #core-innovation ↔ #capabilities (reduce 60%),
            gap between #capabilities ↔ #leadership (reduce 50%).
   Gap = padding-bottom(upper) + padding-top(lower). To shrink a seam by
   N% symmetrically, multiply BOTH adjoining paddings by (1 − N). Other
   paddings (hero, news, CTA, footer) are untouched. */
#core-innovation { padding-bottom: calc(var(--el-section-pad-y) * 0.4) !important; }
#capabilities    { padding-top:    calc(var(--el-section-pad-y) * 0.4) !important;
                   padding-bottom: calc(var(--el-section-pad-y) * 0.5) !important; }
#leadership      { padding-top:    calc(var(--el-section-pad-y) * 0.5) !important; }

/* === S2.5 Header — compact wordmark + 44px hamburger ====================== */
@media (max-width: 390px) {
  /* Below 390px (iPhone Mini, SE etc.), drop the full wordmark image
     so the monogram + brand-name imagery from the PNG don't crowd the
     hamburger. Just the mark remains. */
  .master-navigation-3 .wrap-logo-text-3 { display: none !important; }
}
/* Hamburger tap target floor — Apple HIG / WCAG: 44×44 minimum.
   Scoped to mobile only; on desktop the Webflow nav uses inline links
   and this button is `display: none` — never override that. */
@media (max-width: 991px) {
  .master-navigation-3 .menu-button-3 {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .master-navigation-3 .menu-button-inner-2 { width: 26px !important; height: 26px !important; }
}

/* === S2.6 Intersection tagline — single sentence on phones ================ */
@media (max-width: 720px) {
  /* The secondary "Harnessing new physics …" sentence is poetic but
     adds a third+fourth line on mobile. Hide it; keep the primary line. */
  .el-intersection-tagline .el-tagline-line--soft { display: none !important; }
  .el-intersection-tagline { font-size: clamp(20px, 5vw, 24px) !important; max-width: 26ch; }
}


/* ============================================================================
   STAGE 3 — Dev overlay (toggle via #devbox in URL)
   ----------------------------------------------------------------------------
   Append #devbox to any URL to highlight elements wider than the viewport.
   The JS that drives this lives in index.html (see ssr_devbox block) and
   is idempotent / harmless if absent on other pages.
   ========================================================================== */
html.devbox [data-devbox-mark] {
  outline: 2px dashed magenta !important;
  outline-offset: -2px !important;
  background: rgba(255, 0, 255, 0.06) !important;
}
html.devbox::after {
  content: 'DEVBOX • overflow audit';
  position: fixed;
  top: 8px; right: 8px;
  background: magenta;
  color: white;
  padding: 4px 8px;
  font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 0.04em;
  z-index: 999999;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(255, 0, 255, 0.35);
  pointer-events: none;
}
