/* CONCEPT B / EVENT HORIZON — the same content, under a different gravity. */
:root, html[data-theme="light"] {
  --bg:#ecefe9; --surface:#e3e8e3; --surface-alt:#d8dfda;
  --text:#102126; --muted:#4e6269; --line:#c6d1cc;
  --primary:#11212b; --secondary:#ac411a; --accent:#f68c5c;
  --orange:#f4a16e; --paper:#ecefe9; --ink:#081014;
  --header-bg:rgba(236,239,233,.94);
}
html[data-theme="dark"] {
  --bg:#030609; --surface:#0a1117; --surface-alt:#111d25;
  --text:#e8ede9; --muted:#8c9da8; --line:#243039;
  --primary:#e8ede9; --secondary:#ffc198; --accent:#f5a275;
  --header-bg:rgba(3,6,9,.87);
}
html { scroll-padding-top:106px; }
body { background:var(--bg); }
::selection { background:#bce4e9; color:#061217; }
.container { width:calc(100% - 112px); max-width:1660px; }
.header-inner { min-height:88px; }
.site-header { border-bottom-color:color-mix(in srgb,var(--line) 65%,transparent); }
.brand-logo { width:164px; }
.site-nav { gap:34px; }
.site-nav>a { font-size:12px; letter-spacing:.04em; }
.header-link { font-size:12px; letter-spacing:.04em; }
.header-link span { color:#f6b086; }
.theme-toggle { opacity:.6; }
.theme-toggle:hover { opacity:1; }
.btn { border-radius:2px; padding:16px 25px; gap:38px; }
.btn-primary { color:#10181d; background:#e2e9df; border-color:#e2e9df; }
.btn-primary:hover { background:#f6b28a; border-color:#f6b28a; color:#10181d; }
.text-link { font-size:13px; letter-spacing:.015em; }
.section-kicker { font-size:11px; letter-spacing:.15em; }
.section-kicker span:first-child { color:var(--accent); }
.section-kicker::after { width:56px; }

/* A full-width, living scene. Text retains its own quiet territory. */
.home-hero.gravity-hero {
  display:block; position:relative; height:calc(100svh - 88px);
  min-height:920px; max-height:1260px; overflow:hidden;
  background:#030609; color:#e8ede9; isolation:isolate;
}
.home-hero.gravity-hero::after {
  z-index:1; background:linear-gradient(180deg,rgba(3,6,9,.45) 0%,transparent 28%,transparent 69%,#030609 96%);
}
.cosmos { position:absolute; inset:0; z-index:0; overflow:hidden; }
.gravity-canvas { display:block; position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity 1.3s ease; }
.cosmos.is-live .gravity-canvas { opacity:1; }
.cosmos-fallback { position:absolute; width:100%; height:100%; object-fit:cover; opacity:.9; transition:opacity 1.3s ease; }
.cosmos.is-live .cosmos-fallback { opacity:0; }
.cosmos.context-lost .cosmos-fallback { opacity:1; }
.cosmos.context-lost .gravity-canvas { opacity:0; }
.hero-coordinates { position:absolute; top:24px; left:56px; right:56px; display:flex; justify-content:space-between; color:#70818d; font-size:9px; letter-spacing:.16em; z-index:2; }
.gravity-heading { padding-top:65px; text-align:center; position:relative; z-index:2; pointer-events:none; }
.gravity-heading .eyebrow { justify-content:center; color:#a9b7bc; font-size:10px; letter-spacing:.23em; margin-bottom:23px; }
.gravity-heading .status-dot { width:4px; height:4px; background:#eeb088; box-shadow:0 0 12px #eeb08860; }
.home-hero .gravity-heading h1 { font-size:clamp(74px,7vw,116px); line-height:.98; max-width:none; margin:0; font-weight:400; letter-spacing:-.067em; }
.gravity-heading h1>span { display:block; }
.home-hero .gravity-heading h1 em { display:block; color:#e2e6df; font-size:1.14em; font-weight:400; letter-spacing:-.065em; line-height:1.12; margin-top:0; }
.gravity-heading { animation:arrival 1.2s cubic-bezier(.2,.65,.25,1) both; }
.orbit-note { position:absolute; top:51%; z-index:2; display:flex; align-items:center; gap:14px; font-size:9px; letter-spacing:.15em; color:#94b4c5; }
.orbit-note-left { left:56px; }
.orbit-note-right { right:56px; color:#d7a48b; }
.orbit-note i { width:70px; height:1px; display:block; background:linear-gradient(90deg,#81b6d160,transparent); }
.orbit-note-right i { background:linear-gradient(90deg,transparent,#f2a76d60); }
.orbit-point { width:3px; height:3px; background:currentColor; border-radius:50%; box-shadow:0 0 15px currentColor; }
.gravity-bottom { position:absolute; bottom:119px; left:0; right:0; z-index:3; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; gap:45px; }
.gravity-intro>p { font-size:14px; color:#9eaeb8; line-height:1.85; max-width:340px; }
.gravity-intro .text-link { margin-top:21px; color:#c2d0d5; border:none; padding:0; }
.gravity-bottom>.btn { justify-self:end; min-width:245px; font-size:13px; }
.gravity-experiment { justify-self:center; text-align:center; padding-bottom:2px; }
.convergence-toggle { display:inline-flex; gap:10px; align-items:center; border:1px solid #71839155; background:#0b121c78; color:#d2dfdf; border-radius:999px; padding:11px 18px; font:11px/1.5 "Manrope",sans-serif; letter-spacing:.045em; cursor:pointer; transition:border-color .3s,background .3s; }
.convergence-toggle:hover { background:#15252ec9; border-color:#9dbccb; }
.convergence-toggle[aria-pressed="true"] { color:#f5c5a9; border-color:#b578545e; background:#201a1885; }
.merge-icon { font-family:Arial,sans-serif; font-size:20px; line-height:1; }
.gravity-hint { font-size:9px; letter-spacing:.1em; margin-top:13px; color:#7f949f; }
.gravity-baseline { position:absolute; bottom:0; left:0; right:0; min-height:83px; border-top:1px solid #71839225; display:flex; align-items:center; justify-content:space-between; z-index:3; }
.gravity-baseline>p { color:#788d99; font-size:10px; letter-spacing:.05em; }
.gravity-baseline .scroll-cue { font-size:10px; color:#acb9bd; letter-spacing:.04em; gap:18px; }
.gravity-baseline .scroll-cue span { font-size:18px; }
.gravity-baseline .motion-toggle { position:static; width:32px; height:32px; border-color:#8ba3b32b; background:none; font-size:12px; }
.convergence-toggle[hidden],.motion-toggle[hidden] { display:none; }
.gravity-experiment:has(.convergence-toggle[hidden]) { display:none; }

/* The scene gives way to content without losing its atmosphere. */
.frontier-home .intro-section { background:var(--bg); color:var(--text); padding:145px 0 105px; border-bottom:1px solid var(--line); position:relative; }
.frontier-home .intro-layout { grid-template-columns:.8fr 2fr; gap:70px; }
.frontier-home .intro-section .section-kicker { color:var(--muted); }
.frontier-home .intro-section .section-kicker::after { background:var(--line); }
.frontier-home .intro-main h2 { font-size:clamp(42px,4.5vw,76px); line-height:1.1; letter-spacing:-.055em; }
.frontier-home .intro-main h2 span { color:#89a9b5; font-family:Georgia,serif; font-style:italic; font-weight:400; letter-spacing:-.055em; }
html[data-theme="light"] .frontier-home .intro-main h2 span { color:#4e717f; }
.frontier-home .intro-support { margin-top:33px; }
.frontier-home .intro-support p { color:var(--muted); line-height:1.9; max-width:440px; }
.frontier-home .intro-support .text-link { color:var(--text); }
.frontier-home .metrics-grid { border-color:var(--line); margin-top:93px; padding-top:45px; }
.frontier-home .metric { border-color:var(--line); }
.frontier-home .metric strong { color:var(--text); font-weight:400; font-size:clamp(46px,5.5vw,84px); }
.frontier-home .metric strong span { color:#91b2bf; }
.frontier-home .metric p { color:var(--muted); }
.frontier-home .expertise-section { padding:108px 0 118px; }
.expertise-top { margin-bottom:52px; }
.expertise-top h2 { font-size:clamp(40px,4.7vw,74px); line-height:1.08; }
.expertise-top>p { font-size:14px; max-width:300px; }
.frontier-home .expertise-list { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
.frontier-home .expertise-row { display:flex; flex-direction:column; align-items:flex-start; min-height:370px; padding:34px 40px 37px; gap:0; overflow:hidden; border:0; position:relative; }
.frontier-home .expertise-row:nth-child(odd) { border-right:1px solid var(--line); }
.frontier-home .expertise-row:nth-child(-n+2) { border-bottom:1px solid var(--line); }
.frontier-home .expertise-row::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .45s; background:radial-gradient(ellipse at var(--mouse-x,50%) var(--mouse-y,50%),#447b9535,transparent 70%); }
.frontier-home .expertise-row:nth-child(2n)::before { background:radial-gradient(ellipse at var(--mouse-x,50%) var(--mouse-y,50%),#d08a5330,transparent 70%); }
.frontier-home .expertise-row:hover { background:var(--surface); padding-left:40px; }
.frontier-home .expertise-row:hover::before { opacity:1; }
.expertise-number { font-size:10px; letter-spacing:.1em; margin:0!important; }
.discipline-glyph { position:absolute; top:27px; right:34px; font-family:Georgia,serif; font-size:58px; line-height:1; color:#8aaeba; font-weight:400; transition:transform .7s; }
.expertise-row:nth-child(2n) .discipline-glyph { color:#d1a181; }
.expertise-row:hover .discipline-glyph { transform:rotate(90deg); }
.frontier-home .expertise-title { font-size:clamp(32px,3.3vw,51px); margin-top:auto; margin-bottom:17px; line-height:1.1; }
.frontier-home .expertise-description { max-width:380px; font-size:14px; padding-right:30px; }
.frontier-home .circle-arrow { position:absolute; right:35px; bottom:40px; width:35px; height:35px; border:none; font-size:25px; color:var(--muted); }
.frontier-home .expertise-row:hover .circle-arrow { background:none; color:var(--text); transform:translate(3px,-3px); }
.expertise-foot { margin-top:30px; }
.frontier-home .accelerator-section { background:#dfe7e1; color:#12242b; padding:115px 0; overflow:hidden; }
.frontier-home .accelerator-grid { grid-template-columns:1.04fr 1fr; gap:95px; }
.frontier-home .accelerator-art { border-radius:50% 50% 2px 2px; aspect-ratio:1/1.17; background:#060c12; }
.frontier-home .accelerator-art img { object-fit:cover; }
.frontier-home .art-caption { color:#dae7eb; font-size:9px; left:28px; bottom:26px; }
.frontier-home .accelerator-copy .section-kicker { color:#64787f; }
.frontier-home .accelerator-copy .section-kicker span:first-child { color:#83614b; }
.frontier-home .accelerator-copy h2 { font-size:clamp(42px,4.6vw,73px); letter-spacing:-.06em; }
.frontier-home .accelerator-copy>p { color:#5b7179; }
.frontier-home .accelerator-item { border-color:#b8c7c1; padding:23px 0; }
.frontier-home .accelerator-item>span { color:#81624a; }
.frontier-home .accelerator-item p { color:#5b7179; }
.frontier-home .accelerator-item h3 { font-size:21px; }
.frontier-home .engagement-section { padding:122px 0 130px; }
.engagement-heading { gap:70px; }
.engagement-heading h2 { font-size:clamp(40px,4.4vw,69px); }
.engagement-grid { gap:0; border-top:1px solid var(--line); }
.engagement-card { border-top:0; padding:30px 36px; }
.engagement-card:first-child { padding-left:0; }
.engagement-card+.engagement-card { border-left:1px solid var(--line); }
.engagement-card>span { font-size:10px; margin-bottom:63px; }
.engagement-card h3 { font-size:26px; }
.engagement-card p { font-size:14px; }
.frontier-home .closing-section { background:#070d12; color:#e2e9e5; padding:62px 0 91px; border-top:1px solid #455b6838; position:relative; overflow:hidden; isolation:isolate; }
.frontier-home .closing-section::before { content:""; position:absolute; left:15%; right:15%; bottom:-1px; height:1px; box-shadow:0 -20px 100px 35px #8ab6c025; z-index:-1; }
.frontier-home .closing-top { border-color:#2a3941; padding-bottom:28px; margin-bottom:64px; }
.frontier-home .closing-top .section-kicker,.frontier-home .closing-top .section-kicker span:first-child { color:#9dafb9; }
.frontier-home .closing-top p { color:#869da7; font-size:12px; }
.frontier-home .closing-link h2 { font-size:clamp(74px,11.8vw,190px); line-height:.99; letter-spacing:-.07em; }
.frontier-home .closing-link h2 em { color:#b9cacb; }
.closing-arrow { color:#d9b392; font-weight:100; }
.site-footer { background:#030609; border-top-color:#21313b; }
.site-footer .brand-logo { width:164px; }
.footer-grid p { font-size:13px; }
.site-footer h2 { font-size:10px; letter-spacing:.16em; }
.site-footer a,.site-footer li { font-size:13px; }
.footer-meta { border-color:#243039; }

/* The interior pages inherit the quieter side of the space-inspired system. */
.page-hero { padding-top:100px!important; padding-bottom:95px!important; }
.page-hero .eyebrow { letter-spacing:.18em; font-size:11px; }
.page-hero h1 { font-weight:400; font-size:clamp(46px,6.6vw,102px); max-width:1250px; }
.page-hero p:not(.eyebrow) { font-size:15px; color:var(--muted); }
.section-head h2 { font-weight:400; }
.service-card:hover,.pillar-card:hover { border-color:#8baab64d; }
.services-grid-dense .service-card { min-height:185px; }
.services-grid-dense .service-card h3 { font-size:21px; }
.services-grid-dense .service-card p { font-size:14px; }
.cta-band-inner { background:#dfe7e1; }
.cta-band-inner .eyebrow { color:#5b7179; }
.partner-choice-card { background:var(--surface); }
.partner-choice-card:hover { background:var(--surface-alt); border-color:#83a6b2; }
.contact-step-index { border-radius:50%; }
.frontier-home .intro-layout,.expertise-top,.accelerator-copy,.engagement-heading { opacity:1; }
.frontier-ready [data-enter] { transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1); }
.frontier-ready [data-enter]:not(.has-entered) { opacity:0; transform:translateY(24px); }
.frontier-ready [data-enter].has-entered { opacity:1; transform:none; }

@media(min-width:1800px) {
  .gravity-heading { padding-top:80px; }
  .gravity-bottom { bottom:135px; }
  .home-hero.gravity-hero { min-height:1000px; }
}
@media(max-width:1180px) {
  .container { width:calc(100% - 64px); }
  .hero-coordinates { left:32px; right:32px; }
  .orbit-note-left { left:32px; }
  .orbit-note-right { right:32px; }
  .orbit-note i { width:35px; }
  .orbit-note { font-size:8px; gap:9px; }
  .gravity-bottom { gap:25px; }
  .gravity-intro>p { font-size:13px; }
  .gravity-bottom>.btn { min-width:220px; font-size:12px; gap:23px; }
  .frontier-home .intro-layout,.engagement-heading { gap:45px; }
  .frontier-home .accelerator-grid { gap:60px; }
  .frontier-home .expertise-row { min-height:340px; padding:30px; }
  .frontier-home .expertise-row:hover { padding-left:30px; }
  .engagement-card { padding:28px; }
}
@media(max-width:850px) {
  .container { width:calc(100% - 48px); }
  .header-inner { min-height:78px; }
  .site-nav { top:78px; gap:0; }
  .site-nav>a { font-size:24px; letter-spacing:-.025em; }
  .home-hero.gravity-hero { height:920px; min-height:920px; max-height:none; }
  .hero-coordinates { left:24px; right:24px; font-size:8px; }
  .hero-coordinates span:last-child { display:none; }
  .gravity-heading { padding-top:85px; }
  .home-hero .gravity-heading h1 { font-size:clamp(51px,9.18vw,78px); }
  .home-hero .gravity-heading h1 em { font-size:1.07em; }
  .orbit-note { display:none; }
  .gravity-bottom { grid-template-columns:1fr 1fr; bottom:115px; gap:25px; }
  .gravity-bottom>.btn { grid-column:2; grid-row:1; align-self:end; }
  .gravity-intro>p { max-width:330px; }
  .gravity-experiment { grid-column:1 / -1; grid-row:2; }
  .gravity-bottom { bottom:112px; }
  .gravity-hint { display:none; }
  .gravity-baseline { min-height:80px; }
  .frontier-home .intro-section { padding:90px 0 75px; }
  .frontier-home .intro-layout { grid-template-columns:1fr; gap:35px; }
  .frontier-home .intro-main h2 { font-size:52px; }
  .frontier-home .metrics-grid { margin-top:55px; }
  .frontier-home .expertise-section { padding:80px 0; }
  .expertise-top h2 { font-size:46px; }
  .expertise-top>p { max-width:240px; }
  .frontier-home .expertise-row { min-height:350px; padding:28px; }
  .frontier-home .expertise-row:hover { padding-left:28px; }
  .discipline-glyph { right:25px; top:25px; font-size:46px; }
  .frontier-home .expertise-title { font-size:37px; }
  .frontier-home .expertise-description { font-size:13px; padding-right:5px; }
  .frontier-home .circle-arrow { display:none; }
  .frontier-home .accelerator-section { padding:80px 0; }
  .frontier-home .accelerator-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .frontier-home .accelerator-copy h2 { font-size:44px; }
  .frontier-home .accelerator-copy .section-kicker { font-size:9px; gap:10px; }
  .frontier-home .accelerator-art { min-height:470px; }
  .frontier-home .accelerator-item h3 { font-size:18px; }
  .frontier-home .accelerator-item p { font-size:13px; }
  .frontier-home .engagement-section { padding:85px 0; }
  .engagement-heading h2 { font-size:48px; }
  .engagement-card { padding:25px 22px; }
  .engagement-card h3 { font-size:24px; }
  .engagement-card .text-link { font-size:12px; gap:15px; }
  .frontier-home .closing-link h2 { font-size:13vw; }
}
@media(max-width:560px) {
  .container { width:calc(100% - 40px); }
  .brand-logo { width:141px; }
  .home-hero.gravity-hero { min-height:890px; height:calc(100svh + 90px); max-height:1030px; }
  .hero-coordinates { left:20px; right:20px; top:21px; }
  .gravity-heading { padding-top:86px; }
  .gravity-heading .eyebrow { font-size:9px; letter-spacing:.15em; margin-bottom:20px; }
  .home-hero .gravity-heading h1 { font-size:clamp(39px,12.1vw,66px); line-height:1; }
  .home-hero .gravity-heading h1 em { font-size:.98em; line-height:1.1; margin-top:7px; letter-spacing:-.055em; white-space:nowrap; }
  .gravity-heading { width:calc(100% - 24px); }
  .gravity-bottom { display:flex; flex-direction:column; align-items:center; bottom:99px; gap:22px; text-align:center; }
  .gravity-intro>p { max-width:305px; font-size:13px; line-height:1.75; margin-inline:auto; }
  .gravity-intro .text-link { display:none; }
  .gravity-bottom>.btn { min-width:245px; order:2; min-height:52px; font-size:12px; }
  .gravity-experiment { order:1; padding:0; }
  .convergence-toggle { border:none; padding:2px 12px; background:transparent; color:#91a8b4; font-size:10px; }
  .convergence-toggle[aria-pressed="true"] { background:transparent; }
  .merge-icon { font-size:17px; }
  .gravity-baseline { min-height:66px; }
  .gravity-baseline>p { font-size:8px; max-width:110px; line-height:1.5; }
  .gravity-baseline .scroll-cue { font-size:8px; gap:12px; }
  .gravity-baseline .scroll-cue span { font-size:16px; }
  .gravity-baseline .motion-toggle { width:28px; height:28px; }
  .cosmos-fallback { object-fit:cover; width:185%; max-width:none; left:-42.5%; }
  .frontier-home .intro-section { padding:72px 0 65px; }
  .frontier-home .intro-main h2 { font-size:38px; }
  .frontier-home .intro-support { margin-top:25px; gap:25px; }
  .frontier-home .intro-support p { font-size:14px; }
  .frontier-home .metrics-grid { margin-top:50px; padding-top:30px; }
  .frontier-home .metric strong { font-size:56px; }
  .frontier-home .metric p { font-size:11px; }
  .frontier-home .expertise-section { padding:68px 0 75px; }
  .expertise-top h2 { font-size:39px; }
  .expertise-top>p { max-width:320px; font-size:13px; margin-top:25px; }
  .frontier-home .expertise-list { grid-template-columns:1fr; }
  .frontier-home .expertise-row { min-height:275px; padding:27px; }
  .frontier-home .expertise-row:nth-child(odd) { border-right:0; }
  .frontier-home .expertise-row:not(:last-child) { border-bottom:1px solid var(--line); }
  .frontier-home .expertise-row:hover { padding-left:27px; }
  .frontier-home .expertise-title { font-size:37px; margin-bottom:15px; }
  .frontier-home .expertise-description { font-size:14px; max-width:300px; }
  .discipline-glyph { font-size:48px; top:23px; right:27px; }
  .frontier-home .accelerator-section { padding:65px 0; }
  .frontier-home .accelerator-grid { grid-template-columns:1fr; gap:42px; }
  .frontier-home .accelerator-art { aspect-ratio:1.04; min-height:0; border-radius:50% 50% 1px 1px; }
  .frontier-home .accelerator-copy h2 { font-size:43px; }
  .frontier-home .accelerator-copy>p { font-size:14px; }
  .frontier-home .accelerator-item h3 { font-size:20px; }
  .frontier-home .accelerator-item p { font-size:14px; }
  .frontier-home .engagement-section { padding:70px 0 80px; }
  .engagement-heading { gap:30px; margin-bottom:38px; }
  .engagement-heading h2 { font-size:37px; }
  .engagement-grid { gap:0; }
  .engagement-card,.engagement-card:first-child { padding:29px 0 34px; }
  .engagement-card+.engagement-card { border-left:0; border-top:1px solid var(--line); }
  .engagement-card>span { margin-bottom:29px; }
  .engagement-card h3 { font-size:29px; }
  .engagement-card p { font-size:14px; }
  .frontier-home .closing-section { padding:45px 0 69px; }
  .frontier-home .closing-top { margin-bottom:40px; }
  .frontier-home .closing-link h2 { font-size:clamp(65px,17vw,85px); }
  .frontier-home .closing-top .section-kicker { font-size:9px; }
  .closing-arrow { font-size:48px; }
  .page-hero { padding:65px 0!important; }
  .page-hero h1 { font-size:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .frontier-ready [data-enter]:not(.has-entered) { opacity:1; transform:none; }
  .cosmos-fallback,.gravity-canvas { transition:none; }
  .gravity-hint { display:none; }
}
