:root {
  color-scheme: dark;
  --bg: #080b11; --surface: #0e131d; --surface-raised: #131b28;
  --text: #eef2f8; --muted: #a0acc0; --line: #263043;
  --accent: #68b1ff; --header: rgba(8,11,17,.94);
  --font: "Proxima Nova", "Segoe UI", Arial, sans-serif;
  --label-font: "Segoe UI", Arial, sans-serif;
}
[data-theme="light"] {
  color-scheme: light; --bg: #f8fafc; --surface: #edf2f7; --surface-raised: #fff;
  --text: #152237; --muted: #506078; --line: #cdd7e5; --accent: #135fb4; --header: rgba(248,250,252,.96);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; font-family: var(--font); color: var(--text); background: var(--bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
::selection { background: #3f68a3; color: #fff; }
h1,h2,h3,p { margin: 0; }
h1,h2,h3 { line-height: 1.12; letter-spacing: -.045em; font-weight: 600; }
.container { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: var(--text); color: var(--bg); padding: 12px; }
.skip-link:focus { top: 12px; }
.site-header { min-height: 79px; padding: 16px 48px; display: flex; align-items: center; gap: 26px; position: sticky; top: 0; z-index: 30; background: var(--header); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand { flex-shrink: 0; }
.brand__logo { width: 220px; height: auto; }
[data-theme="light"] .brand { background: #080b11; padding: 4px 8px; border-radius: 4px; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 30px; font-size: 13px; }
.site-nav > a { color: var(--muted); transition: color .2s; }
.site-nav > a:hover { color: var(--text); }
.site-nav .nav-cta { color: var(--text); border: 1px solid var(--line); padding: 9px 16px; border-radius: 5px; }
.nav-cta span { margin-left: 12px; color: var(--accent); }
.theme-toggle { flex-shrink: 0; width: 40px; height: 40px; background: transparent; color: var(--text); border: 1px solid var(--line); border-radius: 50%; cursor: pointer; font-size: 23px; line-height: 1; }
.hero { position: relative; overflow: hidden; padding: 63px 0 85px; background: radial-gradient(ellipse at 85% 30%, rgba(39,85,158,.14), transparent 55%); }
.hero-layout { display: grid; grid-template-columns: 1.25fr 1fr; gap: 68px; align-items: center; }
/* Keep the partner line's layout space without displaying duplicate branding. */
.eyebrow--partner { visibility: hidden; display: inline-flex; align-items: center; gap: 9.6px; color: #fff; margin-bottom: 26px; }
.partner-by { font-family: "Century Gothic", "Avenir Next", "Segoe UI", Arial, sans-serif; font-size: 12.8px; font-weight: 400; line-height: 1; letter-spacing: .03em; }
.partner-logo { width: 89.6px; height: auto; }
[data-theme="light"] .eyebrow--partner { background: #080b11; padding: 6.4px 11.2px; border-radius: 6px; }
.overline { color: var(--accent); font: 600 11px/1.6 var(--label-font); text-transform: uppercase; letter-spacing: .03em; }
.hero .overline { margin-bottom: 18px; }
h1 { font-size: clamp(44px,4.45vw,64px); line-height: 1.05; max-width: 660px; }
.gradient-text { background: linear-gradient(110deg,#70b9ff 5%,#a8a4ff 65%,#c1b3f1); color: transparent; background-clip: text; -webkit-background-clip: text; }
[data-theme="light"] .gradient-text { background-image: linear-gradient(110deg,#105daa,#6b41ae); }
.hero-lede { max-width: 550px; font-size: 17px; line-height: 1.75; color: var(--muted); margin-top: 25px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; font-size: 13px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 14px 20px; border-radius: 5px; font-weight: 600; transition: background .2s, transform .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: #2463bd; color: #fff; }
.button-primary:hover { background: #286bcb; }
.text-link { display: inline-flex; gap: 12px; align-items: center; font-weight: 500; }
.text-link span { color: var(--accent); }
.text-link:hover { color: var(--accent); }
.suite-map { border: 1px solid var(--line); background: var(--surface); border-radius: 12px; box-shadow: 0 24px 90px rgba(0,0,0,.15); overflow: hidden; }
.map-header { padding: 16px 20px; display: flex; align-items: center; gap: 8px; font: 600 9px var(--label-font); letter-spacing: .03em; color: var(--muted); border-bottom: 1px solid var(--line); }
.status-dot { width: 5px; height: 5px; border-radius: 50%; background: #69d3b1; }
.map-index { margin-left: auto; color: var(--muted); }
.map-core { padding: 28px 26px 24px; }
.map-kicker { font: 600 10px var(--label-font); letter-spacing: .03em; color: var(--accent); }
.map-core p { font-size: 26px; line-height: 1.22; margin-top: 10px; letter-spacing: -.035em; }
.map-modules { padding: 0 18px; display: grid; gap: 7px; }
.tone-blue { --module: #7dbaff; } .tone-violet { --module: #b7a0ff; } .tone-orange { --module: #f4b27c; } .tone-mint { --module: #76d9b3; } .tone-cyan { --module: #74d1de; }
[data-theme="light"] .tone-blue { --module: #165dae; } [data-theme="light"] .tone-violet { --module: #6942b0; } [data-theme="light"] .tone-orange { --module: #9b520a; } [data-theme="light"] .tone-mint { --module: #146b50; } [data-theme="light"] .tone-cyan { --module: #176f7b; }
.map-module { display: flex; gap: 13px; align-items: center; padding: 10px 13px; border: 1px solid var(--line); background: var(--surface-raised); border-radius: 5px; transition: border-color .2s, transform .2s; }
.map-module:hover { border-color: var(--module); transform: translateX(3px); }
.module-symbol { width: 37px; height: 37px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--module); border: 1px solid var(--module); border-radius: 8px; font: 600 12px var(--label-font); letter-spacing: .03em; }
.map-module strong { font-size: 14px; font-weight: 550; display: block; line-height: 1.3; }
.map-module small { color: var(--muted); font-size: 10px; display: block; margin-top: 2px; }
.map-arrow { color: var(--module); margin-left: auto; font-size: 17px; }
.map-delivery { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 12px; font-size: 11px; color: var(--muted); }
.map-delivery strong { color: var(--text); font-weight: 500; }
.map-connector { color: var(--accent); font-size: 24px; }
.map-domains { display: flex; justify-content: center; gap: 0; padding: 14px 8px; border-top: 1px solid var(--line); font-size: 10px; color: var(--muted); }
.map-domains span { padding: 0 17px; } .map-domains span + span { border-left: 1px solid var(--line); }
.principles-strip { border-block: 1px solid var(--line); }
.principles-inner { display: flex; justify-content: space-between; gap: 24px; padding-block: 22px; }
.principles-inner p { font-size: 13px; color: var(--muted); } .principles-inner span { color: var(--accent); font: 600 10px var(--label-font); margin-right: 14px; }
.section { padding: 100px 0; }
.section-tinted { background: var(--surface); border-block: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: 1.3fr 1fr; gap: 80px; align-items: end; margin-bottom: 45px; }
.section-heading .overline { margin-bottom: 16px; }
h2 { font-size: clamp(34px,3.4vw,47px); }
.muted { color: var(--muted); }
.section-heading > p { font-size: 15px; color: var(--muted); max-width: 420px; padding-bottom: 3px; }
.module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.module-card { border: 1px solid var(--line); border-radius: 9px; background: var(--surface); padding: 27px; display: flex; flex-direction: column; scroll-margin-top: 25px; transition: border-color .2s; }
.module-card:hover { border-color: var(--module); }
.card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.card-number { font: 600 11px var(--label-font); color: var(--muted); }
.module-category { font: 600 9px/1.5 var(--label-font); text-transform: uppercase; letter-spacing: .03em; color: var(--module); margin-bottom: 10px; }
.module-card h3 { font-size: 29px; margin-bottom: 17px; }
.module-promise { font-size: 17px; line-height: 1.4; margin-bottom: 13px; max-width: 280px; }
.card-description { color: var(--muted); font-size: 13px; line-height: 1.8; margin-bottom: 24px; }
.module-use { margin-top: auto; border-top: 1px solid var(--line); padding-top: 17px; }
.module-use > span { font: 600 9px var(--label-font); text-transform: uppercase; color: var(--muted); letter-spacing: .03em; }
.module-use p { font-size: 12px; margin-top: 5px; }
.module-link { margin-top: 24px; font-size: 12px; display: flex; justify-content: space-between; color: var(--module); }
.suite-note { padding: 32px 24px; align-self: center; }
.note-line { display: block; height: 2px; width: 38px; background: linear-gradient(90deg,var(--accent),#b394e8); margin-bottom: 26px; }
.suite-note .overline { margin-bottom: 12px; } .suite-note h3 { font-size: 27px; line-height: 1.25; }
.suite-note > p:not(.overline) { font-size: 14px; color: var(--muted); margin-top: 20px; }
.suite-note a { font-size: 12px; margin-top: 24px; }
.service-explorer { display: grid; grid-template-columns: .85fr 1.6fr; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: var(--bg); }
.service-menu { padding: 30px 20px; border-right: 1px solid var(--line); }
.menu-label { color: var(--muted); font: 600 10px/1.5 var(--label-font); text-transform: uppercase; letter-spacing: .03em; margin: 0 10px 12px; }
.menu-label:not(:first-child) { margin-top: 30px; }
.service-menu button { display: flex; width: 100%; text-align: left; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 12px; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: 13px; cursor: pointer; }
.service-menu button span { opacity: 0; color: var(--accent); }
.service-menu button[aria-pressed="true"] { background: var(--surface-raised); color: var(--text); border-color: var(--line); }
.service-menu button[aria-pressed="true"] span { opacity: 1; }
.service-menu button:hover { color: var(--text); background: var(--surface); }
.service-detail { padding: 36px 40px; min-height: 570px; }
.service-detail h3 { font-size: 29px; line-height: 1.2; margin: 12px 0 16px; }
.service-intro { color: var(--muted); font-size: 14px; min-height: 46px; margin-bottom: 25px; }
.detail-label { color: var(--muted); font: 600 9px var(--label-font); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 13px; }
.service-module-list { display: grid; gap: 14px; }
.service-module { display: flex; align-items: flex-start; gap: 13px; }
.service-module strong { font-size: 14px; color: var(--module); font-weight: 550; }
.service-module p { font-size: 12px; color: var(--muted); margin-top: 2px; }
.engineer-role { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.engineer-role > p:last-child { font-size: 13px; }
.service-result { display: grid; gap: 6px; margin-top: 22px; padding: 15px 18px; border-left: 2px solid var(--accent); background: var(--surface); }
.service-result span { font: 600 9px var(--label-font); text-transform: uppercase; color: var(--accent); letter-spacing: .03em; }
.service-result strong { font-size: 14px; font-weight: 500; }
.scope-note { color: var(--muted); font-size: 11px; margin-top: 18px; }
.scenario { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; padding: 36px 0; border-top: 1px solid var(--line); }
.scenario:last-child { border-bottom: 1px solid var(--line); }
.scenario-index { font: 600 10px var(--label-font); color: var(--accent); text-transform: uppercase; letter-spacing: .03em; }
.scenario h3 { font-size: 26px; line-height: 1.25; margin: 16px 0 12px; }
.scenario > div > p { color: var(--muted); font-size: 14px; max-width: 350px; }
.scenario-tags { display: flex; gap: 12px; margin-top: 22px; }
.scenario-tags span { color: var(--module); font: 600 11px var(--label-font); padding: 5px 9px; border: 1px solid var(--line); border-radius: 4px; }
.workflow { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
.workflow li { display: flex; gap: 18px; }
.workflow li > span { color: var(--muted); font: 600 10px var(--label-font); margin-top: 4px; }
.workflow strong { font-size: 14px; font-weight: 550; }
.workflow p { font-size: 13px; color: var(--muted); margin-top: 3px; }
.governance-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: center; }
.governance-layout h2 { margin: 18px 0 25px; font-size: clamp(40px,4.2vw,58px); }
.approach-lede { font-size: 15px; color: var(--muted); max-width: 450px; }
.governance-label { display: block; margin-top: 24px; font: 600 10px/1.7 var(--label-font); color: var(--accent); }
.governance-steps article { display: flex; gap: 20px; padding: 23px 0; border-top: 1px solid var(--line); }
.governance-steps article:last-child { border-bottom: 1px solid var(--line); }
.governance-steps article > span { font: 600 11px var(--label-font); color: var(--accent); padding-top: 3px; }
.governance-steps h3 { font-size: 19px; letter-spacing: -.02em; }
.governance-steps p { font-size: 13px; color: var(--muted); margin-top: 10px; }
.integration-grid { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); }
.integration-grid > div { padding: 26px 24px; border-right: 1px solid var(--line); } .integration-grid > div:first-child { padding-left: 0; } .integration-grid > div:last-child { border: 0; }
.integration-grid span { font: 600 10px var(--label-font); color: var(--accent); }
.integration-grid h3 { font-size: 19px; margin: 16px 0 12px; letter-spacing: -.025em; }
.integration-grid p { color: var(--muted); font-size: 13px; }
.contact-section { border-top: 1px solid var(--line); background: radial-gradient(ellipse at 50% 100%,rgba(67,90,177,.18),transparent 75%),var(--surface); padding: 85px 0; }
.contact-inner { text-align: center; }
.contact-inner h2 { font-size: clamp(36px,3.8vw,53px); margin: 20px 0; }
.contact-inner > p:not(.overline) { max-width: 570px; margin-inline: auto; color: var(--muted); font-size: 16px; }
.contact-inner .actions { justify-content: center; }
.site-footer { border-top: 1px solid var(--line); padding: 25px 0; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; color: var(--muted); font-size: 10px; }
.footer-inner strong { font-size: 15px; color: var(--text); margin-right: 12px; font-weight: 600; }
.footer-inner a { color: var(--text); }
@media (min-width: 1500px) { .hero { padding-block: 80px 100px; } }
@media (max-width: 1100px) {
  .container { width: calc(100% - 64px); } .site-header { padding-inline: 32px; gap: 16px; } .site-nav { gap: 20px; }
  .hero-layout { gap: 34px; grid-template-columns: 1.1fr 1fr; } h1 { font-size: 48px; }
  .hero-lede { font-size: 15px; } .hero .actions { gap: 18px; }
  .module-card { padding: 22px; } .section-heading { gap: 45px; } .scenario { gap: 45px; }
  .service-explorer { grid-template-columns: 1fr 1.6fr; } .service-detail { padding: 30px; }
  .governance-layout { gap: 50px; }
}
@media (max-width: 850px) {
  .site-nav { gap: 15px; font-size: 12px; } .site-nav a[href="#approach"] { display: none; }
  .hero { padding: 36px 0 55px; } .hero-layout { grid-template-columns: 1fr; gap: 38px; }
  .hero-copy { max-width: 620px; } h1 { font-size: 57px; } .hero-lede { font-size: 17px; }
  .suite-map { max-width: 620px; width: 100%; } .map-modules { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .map-module:last-child { grid-column: 1 / -1; } .map-core { padding-block: 22px; }
  .section { padding-block: 70px; } .section-heading { grid-template-columns: 1fr; gap: 22px; } .section-heading > p { max-width: 590px; }
  .module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-explorer { grid-template-columns: 1fr; } .service-menu { border-right: 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
  .menu-label { grid-column: 1 / -1; } .menu-label:not(:first-child) { margin-top: 18px; } .service-detail { min-height: 520px; }
  .governance-layout { grid-template-columns: 1fr; gap: 35px; }
  .integration-grid { grid-template-columns: 1fr 1fr; } .integration-grid > div { padding: 25px !important; } .integration-grid > div:nth-child(2) { border-right: 0; } .integration-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .footer-inner { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 140px; }
  .site-header { padding: 12px 20px; gap: 12px; flex-wrap: wrap; }
  .brand__logo { width: 180px; } .theme-toggle { margin-left: auto; width: 34px; height: 34px; order: 1; }
  .site-nav { order: 2; flex-basis: 100%; justify-content: space-between; margin-left: 0; gap: 8px; }
  .site-nav .nav-cta { border: 0; padding: 4px 0; } .nav-cta span { margin-left: 4px; }
}
@media (max-width: 560px) {
  .container { width: calc(100% - 40px); }
  .hero { padding-top: 25px; } .eyebrow--partner { margin-bottom: 22px; }
  .hero .overline { font-size: 9px; } h1 { font-size: clamp(36px,9.8vw,52px); } .hero-lede { font-size: 15px; }
  .actions { gap: 19px; font-size: 12px; } .hero .actions { align-items: flex-start; flex-direction: column; }
  .map-modules { grid-template-columns: 1fr; } .map-header { font-size: 8px; padding-inline: 15px; } .map-index { display: none; } .map-core p { font-size: 25px; }
  .map-domains span { padding-inline: 12px; font-size: 9px; }
  .principles-inner { flex-direction: column; gap: 10px; padding-block: 18px; } .principles-inner p { font-size: 12px; }
  .section { padding-block: 55px; } h2 { font-size: 34px; } .section-heading { margin-bottom: 30px; } .section-heading > p { font-size: 14px; }
  .module-grid { grid-template-columns: 1fr; } .module-card { padding: 25px; } .module-promise { max-width: none; } .suite-note { padding: 25px 8px 0; }
  .service-menu { grid-template-columns: 1fr; padding: 22px 14px; } .service-menu button { font-size: 13px; padding: 12px; } .service-detail { padding: 25px 20px; min-height: 0; }
  .service-detail h3 { font-size: 26px; } .service-intro { min-height: 0; } .service-module p { font-size: 12px; }
  .scenario { grid-template-columns: 1fr; gap: 25px; padding-block: 30px; } .scenario h3 { font-size: 24px; }
  .governance-layout h2 { font-size: 43px; } .governance-steps article { gap: 15px; }
  .integration-grid > div { padding: 20px 12px !important; } .integration-grid h3 { font-size: 17px; } .integration-grid p { font-size: 12px; }
  .contact-section { padding-block: 60px; } .contact-inner h2 { font-size: 33px; } .contact-inner > p:not(.overline) { font-size: 14px; }
  .contact-inner .actions { flex-direction: column; } .footer-inner { gap: 14px; } .footer-inner > p:first-child { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; animation: none !important; } }

/* Preserve the original Lightfall background with the updated page layout. */
:root { --bg: #06080d; }
[data-theme="light"] { --bg: #f8fafc; }
#lightfall-canvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; display: block; z-index: 0; }
main, .principles-strip, .site-footer { position: relative; z-index: 1; }
.hero { background: transparent; }
.hero-layout { position: relative; z-index: 1; }
.hero__glow { position: absolute; width: 880px; height: 880px; left: 50%; top: -22%; transform: translateX(-50%); background: radial-gradient(circle at center, rgba(10,110,211,.18), rgba(10,110,211,0) 60%); filter: blur(40px); pointer-events: none; }
[data-theme="light"] .hero__glow { background: radial-gradient(circle at center, rgba(8,145,178,.1), rgba(8,145,178,0) 60%); }

@media (max-width: 720px), (prefers-reduced-motion: reduce) { #lightfall-canvas { display: none; } }

/* Module navigation replaces the hero overview panel. */
.hero-layout { display: block; }
.hero-copy { max-width: 900px; }
.hero h1 { max-width: 900px; }
.hero-lede { max-width: 680px; }
.module-dropdown { position: relative; }
.modules-trigger { display: inline-flex; align-items: center; gap: 8px; border: 0; padding: 10px 0; color: var(--muted); background: transparent; font: inherit; cursor: pointer; }
.modules-trigger:hover, .modules-trigger[aria-expanded="true"] { color: var(--text); }
.modules-dropdown-panel { position: absolute; top: calc(100% + 12px); right: 0; width: 270px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 16px 40px rgba(0,0,0,.3); max-height: calc(100dvh - 150px); overflow-y: auto; }
.modules-dropdown-panel[hidden] { display: none; }
.modules-dropdown-panel a { display: block; padding: 12px; border-radius: 4px; }
.modules-dropdown-panel a:hover, .modules-dropdown-panel a:focus-visible { background: var(--surface-raised); }
.modules-dropdown-panel strong { display: block; font-size: 14px; font-weight: 500; color: var(--text); }
.modules-dropdown-panel small { display: block; margin-top: 2px; font-size: 11px; color: var(--muted); }
@media (max-width: 560px) { .modules-dropdown-panel { right: auto; left: 0; top: calc(100% + 8px); width: min(270px, calc(100vw - 40px)); } }

/* Full managed-service catalogues. */
.service-menu .all-services-button { color: var(--accent); margin-top: 8px; border-top: 1px solid var(--line); border-radius: 0; }
.service-menu .all-services-button span { opacity: 1; }
#service-standard-content[hidden], #service-catalogue[hidden] { display: none; }
.catalogue-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; list-style: none; padding: 0; margin: 22px 0 28px; }
.catalogue-list li { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.5; }
.catalogue-contact { font-size: 13px; }
@media (max-width: 560px) { .catalogue-list { grid-template-columns: 1fr; } .catalogue-contact { width: 100%; gap: 12px; padding-inline: 14px; } }

/* Theme-specific brand assets and a bright comet background. */
.logo-for-light { display: none; }
[data-theme="light"] .logo-for-dark { display: none; }
[data-theme="light"] .logo-for-light { display: block; }
[data-theme="light"] .brand, [data-theme="light"] .eyebrow--partner { background: transparent; padding: 0; border-radius: 0; }
[data-theme="light"] .eyebrow--partner { color: var(--text); }
[data-theme="light"] { --bg: #ffffff; --header: rgba(255,255,255,.94); }

/* A calm, drifting glow replaces comets in the light theme. */
[data-theme="light"] #lightfall-canvas { display: none; }
[data-theme="light"] .light-scroll-glow {
  width: min(1000px, 150vw);
  height: 760px;
  top: -16%;
  left: 55%;
  background:
    radial-gradient(ellipse at 30% 42%, rgba(100, 172, 240, .36), transparent 52%),
    radial-gradient(ellipse at 72% 60%, rgba(162, 134, 229, .30), transparent 50%);
  filter: blur(38px);
  animation: light-glow-drift 9s ease-in-out infinite alternate;
}
@keyframes light-glow-drift {
  from { transform: translateX(-72%) translateY(-65px) scale(.90) rotate(-8deg); }
  to { transform: translateX(-28%) translateY(85px) scale(1.12) rotate(8deg); }
}
@media (prefers-reduced-motion: reduce) {
  [data-theme="light"] .light-scroll-glow { animation: none; transform: translateX(-50%); }
}


.light-scroll-glow { display: none; }
[data-theme="light"] .hero__glow { display: none; }
[data-theme="light"] .light-scroll-glow {
  display: block; position: fixed; z-index: 0; pointer-events: none;
  opacity: var(--glow-opacity, 1);
}

/* Coordinated motion for modules, navigation and explanatory workflows. */
.module-card { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .module-card:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(0,0,0,.10); }
  .button:hover span, .text-link:hover span, .module-link:hover span { transform: translate(3px,-2px); }
}
.button span, .text-link span, .module-link span { display: inline-block; transition: transform .22s ease; }
.modules-dropdown-panel:not([hidden]) { transform-origin: top right; animation: dropdown-enter .2s ease-out; }
@keyframes dropdown-enter { from {opacity:0;transform:translateY(-6px) scale(.98);} to {opacity:1;transform:translateY(0) scale(1);} }
.service-menu button { transition: color .2s ease, background .2s ease, border-color .2s ease; }
.motion-flow { position: relative; }
.workflow.motion-flow { gap: 16px; }
.workflow.motion-flow li { position:relative; padding: 10px 12px 10px 0; border-radius: 6px; gap: 17px; transition: background .4s ease; }
.workflow.motion-flow li > span, .governance-steps.motion-flow article > span { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; flex-shrink:0; width:30px; height:30px; padding:0; margin:0; border:1px solid var(--line); border-radius:50%; background:var(--bg); transition:color .3s ease,border-color .3s ease,background .3s ease; }
.workflow.motion-flow li:not(:last-of-type)::after { content:''; position:absolute; left:14px; top:40px; bottom:-26px; border-left:1px solid var(--line); }
.motion-flow .flow-active > span { color:var(--accent); border-color:var(--accent); background:var(--surface-raised); }
.workflow.motion-flow li.flow-active { background:var(--surface); }
.flow-active strong, .flow-active h3 { color:var(--accent); transition:color .3s ease; }
.flow-signal { display:none; position:absolute; z-index:3; left:11px; top:var(--signal-y,15px); width:7px; height:7px; margin-top:-3px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); pointer-events:none; }
.flow-running .flow-signal { display:block; }
.governance-steps.motion-flow article { position:relative; }
.governance-steps.motion-flow article:not(:last-of-type)::after { content:''; position:absolute; left:14px; top:54px; bottom:0; border-left:1px solid var(--line); }
.motion-flow.flow-complete > :last-of-type { border-bottom-color:var(--line); }
@media (prefers-reduced-motion: reduce) {
  .modules-dropdown-panel:not([hidden]) { animation:none; }
  .module-card:hover, .button:hover span, .text-link:hover span, .module-link:hover span { transform:none; }
  .flow-signal { display:none !important; }
}

/* Clear service category headings and more prominent service principles. */
.service-menu .menu-label {
  font-family: var(--font); font-size: 19px; font-weight: 650; line-height: 1.25;
  color: var(--text); letter-spacing: -.02em; text-transform: none;
  margin: 0 10px 18px; padding: 0 0 13px; border-bottom: 2px solid var(--accent);
}
.service-menu .menu-label:not(:first-child) { margin-top: 34px; }
.principles-strip { background: var(--surface); }
.principles-inner { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding-block: 34px; }
.principle { display: flex; gap: 16px; align-items: flex-start; padding: 4px 26px; }
.principle:first-child { padding-left: 0; }
.principle:last-child { padding-right: 0; }
.principle + .principle { border-left: 1px solid var(--line); }
.principles-inner .principle-number { font: 600 14px/1 var(--font); margin: 2px 0 0; display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex-shrink:0; color:var(--accent); border:1px solid var(--line); border-radius:8px; background:var(--surface-raised); }
.principle h2 { font-size: 21px; font-weight: 600; line-height:1.3; letter-spacing:-.025em; }
.principles-inner .principle p { color:var(--muted); font-size:13px; line-height:1.65; margin-top:8px; }
@media (max-width: 1100px) { .principle { padding-inline:18px; gap:12px; } .principle h2 { font-size:18px; } }
@media (max-width: 850px) {
  .principles-inner { grid-template-columns:1fr; padding-block:12px; }
  .principle, .principle:first-child, .principle:last-child { padding:20px 0; }
  .principle + .principle { border-left:0; border-top:1px solid var(--line); }
  .principle h2 { font-size:21px; }
  .service-menu .menu-label { grid-column:1 / -1; }
}


/* Requested brand, stack and interaction refinements. */
.hero-layout { display:block; }
.hero-copy { max-width:900px; }
.module-video { display:block; width:calc(100% + 54px); max-width:none; aspect-ratio:16/9; margin:-27px -27px 24px; border-radius:8px 8px 0 0; background:#070b13; object-fit:cover; }
.stack-marks { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:20px; }
.stack-marks li { display:flex; align-items:center; gap:14px; color:var(--text); }
.stack-marks svg { flex:0 0 28px; }
.integration-grid .stack-marks span { font:400 14px/1.4 var(--font); color:var(--muted); }
.footer-brand { display:flex; align-items:center; gap:22px; }
.footer-partner-logo { width:94px; height:auto; flex-shrink:0; filter:brightness(0) invert(1); }
[data-theme="light"] .footer-partner-logo { filter:brightness(0); }
.hero .button-primary { position:relative; isolation:isolate; overflow:hidden; background:#2463bd; color:#fff; }
.hero .button-primary::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,#07669b 0%,#4051c9 35%,#8133bb 65%,#b82e6d 100%); opacity:0; transition:opacity .25s ease; }
.hero .button-primary:hover::before,.hero .button-primary:focus-visible::before { opacity:1; }
.site-nav,.actions,.module-link,.module-use p,.principles-inner .principle p { font-size:14px; }
.card-description,.section-heading > p { font-size:16px; }
.module-category,.module-use > span { font-size:12px; }
@media(max-width:650px) { .footer-inner { align-items:flex-start; } .footer-brand { flex-wrap:wrap; gap:16px; } .stack-marks li { gap:10px; } }
@media(prefers-reduced-motion:reduce) { .hero .button-primary::before { transition:none; } }

/* Product and LLM brands: native monochrome marks, theme-aware. */
.integration-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.integration-grid > div { padding:26px 18px; }
.integration-grid h3 { min-height:48px; line-height:1.25; }
.stack-marks { gap:24px; }
.stack-marks li { min-height:36px; gap:12px; }
.stack-brand-logo { width:32px; height:32px; object-fit:contain; flex:0 0 32px; filter:brightness(0) invert(1); }
[data-theme="light"] .stack-brand-logo { filter:brightness(0); }
.integration-grid .stack-marks span { color:var(--text); font-size:14px; }
.stack-examples { margin-top:20px; color:var(--muted); font-size:14px; max-width:760px; }
@media(max-width:1100px) {
 .integration-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .integration-grid > div,.integration-grid > div:first-child,.integration-grid > div:last-child { padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
 .integration-grid > div:nth-child(3n) { border-right:0; }
}
@media(max-width:700px) {
 .integration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .integration-grid > div:nth-child(3n) { border-right:1px solid var(--line); }
 .integration-grid > div:nth-child(2n) { border-right:0; }
 .integration-grid > div:last-child { grid-column:1 / -1; border:0; }
 .integration-grid h3 { min-height:0; }
 .integration-grid > div:last-child .stack-marks { grid-template-columns:1fr 1fr; }
}
@media(max-width:380px) { .stack-marks li { gap:8px; } .stack-brand-logo { width:26px; height:26px; flex-basis:26px; } }

/* Compact partner branding and an inline film dialog. */
.keep-together { white-space:nowrap; }
.hero h1 { font-size:clamp(36px,4.2vw,60px); }
.footer-copyright { display:flex; align-items:center; gap:12px; }
.footer-copyright .footer-partner-logo { width:46px; height:auto; }
.contact-wordmarks { display:flex; align-items:center; justify-content:center; gap:22px; margin:0 auto 26px; color:var(--text); }
.wordmark { display:block; height:28px; width:auto; overflow:hidden; filter:brightness(0) invert(1); }
.wordmark-coality { width:84px; }
.wordmark-terrabit { width:142px; }
[data-theme="light"] .wordmark { filter:brightness(0); }
#contact .button-primary { position:relative; isolation:isolate; overflow:hidden; background:#2463bd; color:#fff; }
#contact .button-primary::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,#07669b 0%,#4051c9 35%,#8133bb 65%,#b82e6d 100%); opacity:0; transition:opacity .25s ease; }
#contact .button-primary:hover::before,#contact .button-primary:focus-visible::before { opacity:1; }
.module-video-trigger { display:block; padding:0; border:0; width:calc(100% + 54px); margin:-27px -27px 24px; aspect-ratio:16/9; position:relative; overflow:hidden; border-radius:8px 8px 0 0; cursor:pointer; background:#070b13; color:white; }
.module-video-trigger img { width:100%; height:100%; object-fit:cover; }
.module-video-trigger span { position:absolute; left:16px; bottom:16px; border:1px solid #ffffff80; border-radius:99px; padding:8px 15px; background:#080b11df; font-size:14px; }
.module-video-trigger:hover span { background:#225bb9; }
.film-dialog { width:min(960px,calc(100vw - 40px)); max-height:90dvh; padding:0; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); box-shadow:0 30px 100px #0009; }
.film-dialog::backdrop { background:#030711c9; backdrop-filter:blur(8px); }
.film-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; }
.film-dialog h2 { font-size:20px; letter-spacing:-.02em; }
.film-dialog button { cursor:pointer; color:var(--text); background:var(--surface-raised); border:1px solid var(--line); border-radius:6px; padding:8px 14px; font-size:14px; }
#dialog-video { display:block; width:100%; max-height:65dvh; aspect-ratio:16/9; object-fit:contain; background:#030711; }
.film-controls { display:flex; align-items:center; gap:14px; padding:16px 22px; }
#film-seek { flex:1; min-width:30px; accent-color:var(--accent); }
.film-seek-label,#film-time { font-size:14px; }
#film-time { white-space:nowrap; font-variant-numeric:tabular-nums; }
#film-error { padding:0 22px 18px; font-size:14px; }
body.film-open { overflow:hidden; }
@media(max-width:600px) { .footer-copyright { flex-wrap:wrap; } .film-dialog-heading { padding:14px; } .film-dialog h2 { font-size:17px; } .film-controls { padding:14px; gap:10px; } .film-seek-label { display:none; } }
@media(prefers-reduced-motion:reduce) { #contact .button-primary::before { transition:none; } }

/* Compact logo-only ecosystem grids. */
.integration-grid .stack-marks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; margin-top:24px; }
.integration-grid .stack-marks li { min-width:0; min-height:48px; display:flex; align-items:center; justify-content:center; }
.integration-grid .stack-brand-logo { width:42px; height:42px; flex:0 0 42px; }
@media(max-width:700px) { .integration-grid > div:last-child .stack-marks { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Playable ecosystem: invisible circular bodies, original brand marks. */
.ecosystem-playground { border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--surface); }
.ecosystem-toolbar,.ecosystem-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; }
.ecosystem-toolbar { border-bottom:1px solid var(--line); }
.ecosystem-toolbar p,.ecosystem-bottom p { font-size:14px; line-height:1.5; color:var(--muted); }
.ecosystem-toolbar > div { display:flex; gap:10px; flex-shrink:0; }
.ecosystem-toolbar button { background:transparent; border:1px solid var(--line); color:var(--text); border-radius:99px; padding:9px 14px; font-size:14px; cursor:pointer; }
.ecosystem-toolbar button:hover { border-color:var(--accent); }
.logo-arena { position:relative; height:440px; overflow:hidden; display:flex; flex-wrap:wrap; align-content:flex-start; gap:8px; padding:16px; background:radial-gradient(ellipse at 50% 0%,#3885ff0b,transparent 70%); }
.logo-arena.physics-ready { display:block; padding:0; }
.logo-ball { display:flex; align-items:center; justify-content:center; width:var(--ball-size,72px); height:var(--ball-size,72px); padding:16px; border:0; border-radius:50%; background:transparent; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.physics-ready .logo-ball { position:absolute; left:0; top:0; will-change:transform; }
.logo-ball img { width:100%; height:100%; object-fit:contain; pointer-events:none; filter:brightness(0) invert(1); }
[data-theme="light"] .logo-ball img { filter:brightness(0); }
.logo-ball:hover,.logo-ball.is-selected { background:#598dff12; }
.logo-ball.is-held { cursor:grabbing; z-index:2; background:#598dff20; }
.logo-ball:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.ecosystem-bottom { border-top:1px solid var(--line); min-height:76px; }
#physics-selection { color:var(--text); font-weight:600; text-align:right; }
@media(max-width:700px) { .ecosystem-toolbar { flex-direction:column; align-items:flex-start; padding:18px; gap:14px; } .ecosystem-bottom { padding:18px; flex-direction:column; align-items:flex-start; gap:8px; } #physics-selection { text-align:left; } .logo-arena { height:460px; } .logo-ball { padding:12px; } }

/* Independent category lanes and in-place brand labels. */
.ecosystem-lanes { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.ecosystem-lane { min-width:0; border-right:1px solid var(--line); }
.ecosystem-lane:last-child { border-right:0; }
.ecosystem-lane h3 { font-size:16px; line-height:1.3; letter-spacing:-.02em; min-height:68px; padding:20px 14px 10px; }
.ecosystem-lane .logo-arena { height:350px; }
.ecosystem-lane .logo-ball { padding:11px; }
.logo-tooltip { position:absolute; z-index:4; pointer-events:none; background:var(--text); color:var(--bg); border-radius:5px; padding:5px 8px; font-size:12px; max-width:calc(100% - 8px); line-height:1.35; text-align:center; box-shadow:0 3px 12px #0003; }
.wordmark-terrabit { width:84px; height:auto; }
.suite-note:hover h3,.suite-note:focus-within h3 { background:linear-gradient(110deg,#179ddd,#6753f3,#cb3ab6,#fa6856); background-clip:text; -webkit-background-clip:text; color:transparent; }
.inline-film { width:calc(100% + 54px); margin:-27px -27px 24px; position:relative; overflow:hidden; border-radius:8px 8px 0 0; background:#070b13; aspect-ratio:16/9; }
.inline-film-video { width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; }
.inline-film-controls { position:absolute; left:14px; right:14px; bottom:14px; display:flex; justify-content:space-between; gap:12px; pointer-events:none; }
.inline-film-controls button { pointer-events:auto; color:white; background:#080b11d9; border:1px solid #ffffff70; border-radius:99px; padding:8px 13px; font-size:14px; cursor:pointer; }
.inline-film-toggle { width:40px; height:40px; padding:0 !important; }
.inline-film-controls button:hover { background:#285bb4; }
@media(max-width:1150px) { .ecosystem-lanes { grid-template-columns:repeat(3,minmax(0,1fr)); } .ecosystem-lane:nth-child(3n) { border-right:0; } .ecosystem-lane:nth-child(-n+3) { border-bottom:1px solid var(--line); } }
@media(max-width:650px) { .ecosystem-lanes { grid-template-columns:repeat(2,minmax(0,1fr)); } .ecosystem-lane:nth-child(3n) { border-right:1px solid var(--line); } .ecosystem-lane:nth-child(2n) { border-right:0; } .ecosystem-lane:nth-child(-n+4) { border-bottom:1px solid var(--line); } .ecosystem-lane h3 { font-size:15px; } }
@media(max-width:380px) { .ecosystem-lanes { grid-template-columns:1fr; } .ecosystem-lane { border-right:0 !important; border-bottom:1px solid var(--line); } .ecosystem-lane:last-child { border-bottom:0; } }

/* Compact lanes with click-only brand and capability labels. */
.ecosystem-lane .logo-arena { height:220px; }
.ecosystem-lane h3 { min-height:58px; padding-top:16px; }
.ecosystem-toolbar { padding:14px 20px; }
.logo-tooltip { width:180px; padding:9px 10px; font-size:12px; }
.logo-tooltip strong { display:block; font-size:14px; line-height:1.3; margin-bottom:4px; }
.logo-tooltip span { display:block; line-height:1.45; }

/* Draft service targets and explorable service stories. */
.service-metrics-block { padding:20px 0; margin:12px 0 22px; border-block:1px solid var(--line); }
.metrics-caption { font-size:12px; color:var(--accent); font-weight:600; margin-bottom:16px; }
.service-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-metrics strong { display:block; font-size:clamp(24px,2.3vw,34px); line-height:1.15; letter-spacing:-.03em; color:var(--text); }
.service-metrics span { display:block; font-size:13px; line-height:1.4; color:var(--muted); margin-top:8px; }
.metrics-note { font-size:12px; color:var(--muted); margin-top:16px; }
.scenario-chooser { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.scenario-chooser button,.scenario-next { cursor:pointer; background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:7px; padding:12px 18px; font-size:14px; }
.scenario-chooser button[aria-pressed="true"] { border-color:var(--accent); background:var(--surface-raised); color:var(--accent); }
.scenario[hidden] { display:none; }
.scenario { gap:28px 40px; padding:32px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.scenario-evidence { grid-column:1 / -1; padding:28px; border:1px solid var(--line); border-radius:9px; background:var(--bg); }
.scenario-evidence h4 { font-size:26px; line-height:1.2; margin:12px 0 16px; font-weight:600; letter-spacing:-.025em; }
.scenario-evidence > p:not(.overline) { font-size:16px; line-height:1.65; color:var(--muted); max-width:900px; }
.scenario-evidence ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; list-style:none; padding:0; margin:24px 0; }
.scenario-evidence li { padding:16px; background:var(--surface); border-left:2px solid var(--accent); font-size:14px; }
.scenario-evidence .scenario-decision { color:var(--text) !important; }
.scenario-next { margin-top:20px; }
.scenario-step { display:flex; width:100%; gap:14px; align-items:flex-start; text-align:left; padding:14px; background:transparent; border:1px solid var(--line); border-radius:7px; color:var(--text); cursor:pointer; }
.scenario-step > span:first-child { color:var(--accent); font-size:13px; }
.scenario-step strong { display:block; font-size:16px; }
.scenario-step small { display:block; margin-top:4px; font-size:14px; color:var(--muted); }
.scenario-step[aria-pressed="true"] { border-color:var(--accent); background:var(--surface-raised); }
.scenario-tags a { display:inline-block; padding:5px 9px; border:1px solid var(--line); border-radius:4px; color:var(--module); font-size:14px; }
.scenario-tags a:hover { border-color:var(--module); }
.module-card { scroll-margin-top:100px; }
@media(max-width:700px) { .scenario { grid-template-columns:1fr; padding:20px; } .scenario-evidence { padding:20px; } .scenario-evidence ul { grid-template-columns:1fr; gap:10px; } .service-metrics { gap:12px; } }
@media(max-width:420px) { .service-metrics { grid-template-columns:1fr; } .service-metrics > div { display:flex; align-items:center; gap:16px; } .service-metrics span { margin:0; } }

/* Mid-viewport heading entrances and rolling metric figures. */
.heading-awaiting { opacity:0; }
.service-metrics strong { font-variant-numeric:tabular-nums; }
.service-metrics strong .metric-rolling { display:inline-flex; align-items:baseline; white-space:pre; color:inherit; font:inherit; line-height:1.15; margin:0; }
.service-metrics strong .metric-digit { display:inline-block; height:1.15em; width:.64em; overflow:hidden; color:inherit; font:inherit; line-height:1.15; margin:0; }
.service-metrics strong .metric-digit-strip { display:block; color:inherit; font:inherit; line-height:1.15; margin:0; }
.service-metrics strong .metric-digit-strip > span { display:block; height:1.15em; color:inherit; font:inherit; line-height:1.15; margin:0; }
@media(prefers-reduced-motion:reduce) { .heading-awaiting { opacity:1; } }

/* Keep the hero statement on two deliberate lines at every width. */
.hero-copy { container-type:inline-size; }
.hero #hero-title { font-size:min(3.75rem,6cqi); line-height:1.16; width:100%; }
.hero-title-line { display:block; white-space:nowrap; }

/* Keep headings readable while awaiting their gentle entrance. */
.heading-awaiting { opacity:1; }

.scenario-visual { margin:24px 0; }
.scenario-visual a { display:block; border-radius:9px; overflow:hidden; border:1px solid var(--line); }
.scenario-visual a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.scenario-visual img { display:block; width:100%; height:auto; }
.scenario-visual figcaption { margin-top:10px; font-size:12px; color:var(--muted); }

/* Leave room for headline descenders and the supporting paragraph. */
.hero #hero-title { line-height:1.3; padding-bottom:.12em; }
.hero-title-line { padding-block:.08em; }
.hero .hero-lede { margin-top:32px; }
/* Walkthrough accents follow their participating modules. */
.scenario, .scenario-chooser button { --accent:var(--module); }
#scenario-0 { --support-accent:#f4b27c; }
#scenario-2 { --support-accent:#74d1de; }
[data-theme="light"] #scenario-0 { --support-accent:#9b520a; }
[data-theme="light"] #scenario-2 { --support-accent:#176f7b; }
.scenario-step[aria-pressed="true"], .scenario-chooser button[aria-pressed="true"] { background:color-mix(in srgb,var(--module) 9%,var(--surface)); }
.scenario-evidence li:nth-child(2) { border-left-color:var(--support-accent,var(--module)); }
.scenario-next { color:var(--module); border-color:var(--module); }
#scenario-0 .scenario-step[data-step="1"] > span:first-child,
#scenario-2 .scenario-step[data-step="1"] > span:first-child { color:var(--support-accent); }

/* Accessible release controls and text enlargement. */
.hero #hero-title { font-size:clamp(2rem,calc(1.5rem + 2.5vw),3.375rem); }
@media(max-width:1100px) { .hero-title-line { white-space:normal; overflow-wrap:normal; } }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state:paused !important; }
#motion-toggle, .film-retry, #film-retry { color:var(--text); background:var(--surface); border:1px solid var(--line); padding:8px 12px; border-radius:6px; cursor:pointer; }
#motion-toggle:disabled { cursor:default; }
.inline-film-error { position:absolute; left:0; right:0; bottom:60px; z-index:2; padding:12px; background:var(--surface); color:var(--text); font-size:14px; }
.inline-film:has(.inline-film-error:not([hidden])) { height:auto; }

.hero-title-line { white-space:normal; }

/* Wide, viewport-conscious sections. Content is never clipped to force a fit. */
.container { width:min(1680px,calc(100% - 80px)); }
.section { padding-block:clamp(28px,4vh,48px); }
.section-heading { gap:40px; margin-bottom:24px; grid-template-columns:1.2fr 1fr; }
.section-heading > p { max-width:640px; font-size:1rem; line-height:1.5; }
.section-heading .overline { margin-bottom:8px; }
.section h2 { font-size:clamp(2rem,2.5vw,2.75rem); }
.module-selector { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.module-selector[hidden],.module-card[hidden] { display:none; }
.module-selector button { padding:10px 22px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--text); cursor:pointer; font-size:1rem; }
.module-selector button[aria-pressed="true"] { color:var(--module); border-color:var(--module); background:color-mix(in srgb,var(--module) 9%,var(--surface)); }
.module-explorer-ready .module-grid { display:block; }
.module-explorer-ready .module-card { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px; padding:24px; align-items:center; }
.module-explorer-ready .module-card[hidden] { display:none; }
.module-explorer-ready .inline-film { width:100%; margin:0; border-radius:7px; }
.module-copy { min-width:0; }
.module-copy .card-top { margin-bottom:10px; }
.module-copy h3 { margin-bottom:10px; }
.module-copy .module-promise { max-width:none; margin-bottom:10px; }
.module-copy .card-description { font-size:1rem; line-height:1.5; margin-bottom:14px; }
.module-copy .module-use { padding-top:10px; }
.module-copy .module-use p,.module-copy .module-link { font-size:.875rem; }
.module-copy .module-link { margin-top:12px; }
.module-explorer-ready #omniscient { grid-template-columns:1fr; }
.module-explorer-ready .suite-note { padding:14px 0 0; display:grid; grid-template-columns:220px 1fr auto; gap:8px 24px; align-items:center; }
.module-explorer-ready .suite-note .note-line { display:none; }
.module-explorer-ready .suite-note .overline { margin:0; }
.module-explorer-ready .suite-note h3 { grid-column:1; font-size:1.125rem; }
.module-explorer-ready .suite-note > p:not(.overline) { grid-column:2; grid-row:1 / 3; margin:0; line-height:1.5; }
.module-explorer-ready .suite-note a { grid-column:3; grid-row:1 / 3; margin:0; }
@media(min-width:1100px) {
 .hero { padding-block:clamp(40px,8vh,90px); }
 .hero-copy { max-width:1100px; }
 .service-explorer { grid-template-columns: minmax(260px,.7fr) minmax(0,2fr); }
 .service-menu { padding:16px; }
 .service-menu button { padding:9px 10px; font-size:.875rem; line-height:1.35; }
 .menu-label:not(:first-child) { margin-top:16px; }
 .service-detail { padding:20px 28px; min-height:0; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; align-content:start; }
 #service-category,#service-title { grid-column:1 / -1; }
 .service-detail h3 { margin:6px 0 14px; font-size:1.6rem; }
 .service-metrics-block { grid-column:1; margin:0; padding:14px 0; align-self:start; }
 #service-standard-content,#service-catalogue { grid-column:2; grid-row:3 / 5; }
 .service-metrics { grid-template-columns:1fr; gap:14px; }
 .service-metrics > div { display:flex; align-items:center; gap:20px; }
 .service-metrics span { margin:0; font-size:.875rem; }
 .service-metrics strong { min-width:105px; }
 .service-intro { margin-bottom:14px; font-size:1rem; line-height:1.5; }
 .engineer-role { margin-top:14px; padding-top:12px; }
 .service-result { margin-top:14px; }
 .catalogue-list { margin-top:0; }
 .scenario-chooser { margin-bottom:14px; }
 .scenario { padding:20px; grid-template-columns:minmax(200px,.6fr) minmax(0,2fr); gap:16px 24px; }
 .scenario > div:first-child { grid-column:1; grid-row:1; }
 .scenario h3 { margin:8px 0; font-size:1.35rem; }
 .scenario-tags { margin-top:12px; }
 .scenario .workflow { grid-column:1; grid-row:2; gap:8px; align-self:start; }
 .scenario-step { padding:10px; }
 .scenario-evidence { grid-column:2; grid-row:1 / 3; padding:18px; display:grid; grid-template-columns:1.15fr 1fr; gap:10px 20px; align-content:start; }
 .scenario-evidence > .overline,.scenario-evidence h4 { grid-column:1 / -1; margin:0; }
 .scenario-evidence h4 { font-size:1.5rem; }
 .scenario-visual { grid-column:1; grid-row:3 / 7; margin:0; align-self:center; }
 .scenario-evidence > p:not(.overline),.scenario-evidence ul,.scenario-next { grid-column:2; margin:0; }
 .scenario-evidence > p:not(.overline) { font-size:1rem; line-height:1.45; }
 .scenario-evidence ul { grid-template-columns:1fr; gap:6px; }
 .scenario-evidence li { padding:8px 10px; }
 .scenario-next { justify-self:start; padding:8px 14px; }
 .governance-layout { gap:70px; }
 .governance-steps p { font-size:1rem; }
 .contact-section { padding-block:48px; }
}
@media(max-width:1099px) {
 .container { width:calc(100% - 40px); }
 .module-explorer-ready .module-card { grid-template-columns:1fr; }
 .module-explorer-ready .inline-film { max-width:700px; }
 .module-explorer-ready .suite-note { display:block; }
 .module-explorer-ready .suite-note > * { margin-bottom:12px !important; }
}
@media(max-width:700px) {
 .container { width:calc(100% - 32px); }
 .section-heading { grid-template-columns:1fr; gap:16px; }
 .module-selector button { padding:9px 12px; }
 .module-explorer-ready .module-card { padding:18px; }
}

/* Suite positioning belongs with the introduction, above the module selector. */
.suite-introduction { border-left:2px solid var(--accent); padding-left:24px; max-width:680px; }
.suite-introduction > p:not(.overline) { color:var(--muted); font-size:1rem; line-height:1.5; }
.suite-introduction .text-link { margin-top:10px; font-size:.875rem; }
.suite-introduction:hover .overline { background:linear-gradient(110deg,#179ddd,#6753f3,#cb3ab6,#fa6856); background-clip:text; -webkit-background-clip:text; color:transparent; }
@media(max-width:700px) { .suite-introduction { padding-left:16px; } }

/* Give each chapter breathing room while preserving the wide content layout. */
.hero { padding-bottom:clamp(96px,12vh,144px); }
.section { padding-block:clamp(88px,11vh,128px); }
.contact-section { padding-block:clamp(96px,12vh,144px); }
#modules .section-heading { align-items:center; margin-bottom:32px; }
#modules .suite-introduction { align-self:center; margin-top:40px; }
@media(max-width:700px) {
 .hero { padding-bottom:80px; }
 .section { padding-block:72px; }
 .contact-section { padding-block:80px; }
 #modules .suite-introduction { margin-top:8px; }
}

/* Product films share the existing inline / expanded player. */
.hero-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:40px; align-items:center; }
.hero-copy { max-width:none; min-width:0; }
@media(min-width:1100px) {
 .hero-copy { position:relative; top:-24px; }
}
.hero #hero-title { font-size:clamp(2rem,3.05vw,3.375rem); }
.hero-film { min-width:0; }
.hero-film .inline-film { width:100%; margin:0; border:1px solid var(--line); border-radius:12px; box-shadow:0 20px 70px #0003; }
.module-explorer-ready #omniscient { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.suite-introduction .overline { background:linear-gradient(110deg,#179ddd,#6753f3,#cb3ab6,#fa6856); background-clip:text; -webkit-background-clip:text; color:transparent; width:fit-content; font-size:.875rem; font-weight:700; }
[data-theme="light"] .suite-introduction .overline { background-image:linear-gradient(110deg,#09698f,#5836c9,#a02289,#b84230); }
@media(max-width:1099px) {
 .hero-layout { grid-template-columns:1fr; gap:32px; }
 .hero-film { width:100%; max-width:760px; }
 .module-explorer-ready #omniscient { grid-template-columns:1fr; }
}
/* Media feedback and Aurora audio controls stay with the active player. */
.film-audio { display:flex; align-items:center; gap:8px; pointer-events:auto; }
.film-audio input { width:86px; accent-color:var(--accent); cursor:pointer; }
.film-audio button { font-size:14px; padding:8px 12px; border:1px solid var(--line); border-radius:20px; background:var(--surface); color:var(--text); cursor:pointer; }
.hero-film .inline-film-controls { flex-wrap:wrap; align-items:center; gap:8px; }
.hero-film .film-audio { margin-left:auto; }
.film-controls { flex-wrap:wrap; }
.media-loading { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; background:#080b1170; color:#fff; font-size:14px; pointer-events:none; z-index:1; }
.media-loading[hidden] { display:none; }
.media-loading-expanded { inset:64px 0 86px; }
.inline-film-controls { z-index:3; }
.loading-ring { width:24px; height:24px; border:2px solid #ffffff55; border-top-color:#fff; border-radius:50%; animation:media-spin .8s linear infinite; }
@keyframes media-spin { to { transform:rotate(360deg); } }
img.image-loading { background: center / 28px 28px no-repeat url('media/loading.svg'),var(--surface-raised); }
@media(prefers-reduced-motion:reduce) { .loading-ring { animation:none; } }

.inline-film:has(.inline-film-error:not([hidden])) > .media-loading, .film-dialog:has(#film-error:not([hidden])) > .media-loading { display:none; }
/* Always-visible, draggable timelines inside each inline video. */
.inline-film-controls { flex-wrap:wrap; align-items:center; padding:10px; left:0; right:0; bottom:0; gap:8px; background:linear-gradient(transparent,#080b11df); }
.inline-timeline { display:flex; align-items:center; gap:10px; width:100%; order:10; pointer-events:auto; }
.inline-timeline input { flex:1; min-width:0; margin:0; height:24px; accent-color:#86bdff; cursor:pointer; }
.inline-timeline input:disabled { cursor:wait; }
.inline-film-time { flex-shrink:0; color:#fff; font-size:12px; font-variant-numeric:tabular-nums; }
.inline-film-error { bottom:100px; }
/* Keep the film uncluttered until a viewer interacts with it. */
@media(hover:hover) and (pointer:fine) {
 .inline-film-controls { background:transparent; }
 .inline-film-controls > :not(.inline-film-toggle),
 .film-dialog .film-controls > :not(#film-toggle) { opacity:0; pointer-events:none; transition:opacity .18s ease; }
 .inline-film-controls > .film-audio button,
 .inline-film-controls > .film-audio input { pointer-events:none; }
 .inline-film:hover .inline-film-controls,
 .inline-film:focus-within .inline-film-controls { background:linear-gradient(transparent,#080b11df); }
 .inline-film:hover .inline-film-controls > :not(.inline-film-toggle),
 .inline-film:focus-within .inline-film-controls > :not(.inline-film-toggle),
 .film-dialog:hover .film-controls > :not(#film-toggle),
 .film-dialog:focus-within .film-controls > :not(#film-toggle) { opacity:1; pointer-events:auto; }
 .inline-film:hover .film-audio button,.inline-film:hover .film-audio input,
 .inline-film:focus-within .film-audio button,.inline-film:focus-within .film-audio input { pointer-events:auto; }
}
@media(prefers-reduced-motion:reduce) {
 .inline-film-controls > *, .film-dialog .film-controls > * { transition:none; }
}
/* A living brand-colour halo sits behind, never over, the Aurora film. */
.hero-film { position:relative; isolation:isolate; }
.hero-film::before,.hero-film::after { content:""; position:absolute; inset:-14px; z-index:-1; border-radius:24px; pointer-events:none; background:conic-gradient(from 30deg,#16bace,#356bdf,#8755e9,#dc4d99,#f1844b,#16bace); filter:blur(25px); opacity:.58; animation:aurora-halo 10s ease-in-out infinite alternate; }
.hero-film::after { inset:-8px; filter:blur(12px); opacity:.28; background:linear-gradient(120deg,#2ed2bc,#7565e8,#e871ad,#efa351); background-size:250% 250%; animation:aurora-ribbon 13s ease-in-out infinite alternate; }
@keyframes aurora-halo { 0% { transform:translate(-7px,3px) scale(.98); filter:blur(24px) hue-rotate(-12deg); } 50% { transform:translate(8px,-6px) scale(1.025); } 100% { transform:translate(-2px,8px) scale(1.01); filter:blur(30px) hue-rotate(15deg); } }
@keyframes aurora-ribbon { from { background-position:0% 30%; transform:scale(.99); } to { background-position:100% 70%; transform:scale(1.035); } }
[data-theme="light"] .hero-film::before { opacity:.38; }
[data-theme="light"] .hero-film::after { opacity:.22; }
/* Match the visual lettering height, retaining each original wordmark's ratio. */
.wordmark-coality { width:84px; height:28px; }
.wordmark-terrabit { width:142px; height:28px; }
@media(max-width:380px) { .contact-wordmarks { gap:16px; } }
@media(prefers-reduced-motion:reduce) { .hero-film::before,.hero-film::after { animation:none; } }
/* Optical balance: match capital-letter height, not the descender-inclusive box. */
.wordmark-terrabit { width:110px; height:21.65px; transform:translateY(-3px); }
/* Keep the moving halo close to the video edge. */
.hero-film::before { inset:-5px; filter:blur(13px); opacity:.46; animation-name:aurora-halo-tight; }
.hero-film::after { inset:-3px; filter:blur(7px); opacity:.23; animation-name:aurora-ribbon-tight; }
@keyframes aurora-halo-tight { 0% { transform:translate(-2px,1px); filter:blur(12px) hue-rotate(-12deg); } 50% { transform:translate(2px,-2px); } 100% { transform:translate(-1px,2px); filter:blur(15px) hue-rotate(15deg); } }
@keyframes aurora-ribbon-tight { from { background-position:0% 30%; } to { background-position:100% 70%; } }
@media(prefers-reduced-motion:reduce) { .hero-film::before,.hero-film::after { animation:none; } }

/* Playback controls disappear on mouse-out, including a mouse-focused play button. */
@media(hover:hover) and (pointer:fine) {
 .inline-film.video-playing:not(:hover):not(:has(:focus-visible)) .inline-film-controls,
 .film-dialog.video-playing:not(:hover):not(:has(:focus-visible)) .film-controls { opacity:0; pointer-events:none; }
 .inline-film.video-playing:not(:hover):not(:has(:focus-visible)) .inline-film-controls *,
 .film-dialog.video-playing:not(:hover):not(:has(:focus-visible)) .film-controls * { pointer-events:none; }
 .inline-film.video-ended .inline-film-controls > *,
 .film-dialog.video-ended .film-controls > * { opacity:1; pointer-events:auto; }
 .inline-film.video-ended .film-audio button,.inline-film.video-ended .film-audio input { pointer-events:auto; }
 .inline-film.video-ended .inline-film-controls { background:linear-gradient(transparent,#080b11df); }
}
.media-loading { z-index:2; }

/* Section 02: KPI-led service overview. */
#services .service-explorer { grid-template-columns:minmax(245px,.65fr) minmax(0,2.35fr); background:linear-gradient(115deg,var(--bg),var(--surface)); border-radius:12px; }
#services .service-menu { padding:24px 20px; }
#services .service-menu button { font-size:.875rem; padding:9px 10px; line-height:1.35; }
#services .menu-label { font-size:.875rem; margin-bottom:8px; }
#services .menu-label:not(:first-child) { margin-top:24px; }
#services .service-detail { display:flex; flex-direction:column; justify-content:center; padding:32px 40px; min-height:0; gap:0; }
#services #service-category { order:0; }
#services #service-title { order:1; font-size:clamp(1.6rem,2.4vw,2.6rem); margin:8px 0 16px; }
#services #service-standard-content { display:contents; }
#services #service-standard-content[hidden] { display:none; }
#services .service-intro { order:2; font-size:1.125rem; line-height:1.5; min-height:0; max-width:760px; margin:0 0 28px; }
#services .service-metrics-block { order:3; border:0; padding:0; margin:0 0 24px; align-self:stretch; }
#services .metrics-caption { margin-bottom:16px; font-size:.75rem; color:var(--muted); }
#services .service-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#services .service-metrics > div { display:block; padding-right:16px; }
#services .service-metrics > div + div { border-left:1px solid var(--line); padding-left:24px; }
#services .service-metrics strong { min-width:0; font-size:clamp(2.25rem,4.2vw,4.6rem); line-height:1.16; font-weight:650; letter-spacing:-.045em; color:var(--accent); white-space:nowrap; }
#services .service-metrics > div > span { font-size:1rem; margin-top:12px; line-height:1.4; }
#services .metrics-note { margin-top:24px; font-size:.75rem; }
#services #service-standard-content > .detail-label { order:4; margin:0 0 10px; padding-top:18px; border-top:1px solid var(--line); }
#services .service-module-list { order:5; display:flex; flex-wrap:wrap; gap:12px 24px; }
#services .service-module { align-items:center; gap:8px; }
#services .service-module strong { font-size:1rem; }
#services .service-module .module-symbol { width:30px; height:30px; font-size:.75rem; }
#services .service-module p,#services .engineer-role,#services .service-result { display:none; }
#services #service-catalogue { order:4; }
#services .catalogue-summary { color:var(--muted); font-size:1rem; margin-bottom:12px; }
#services #catalogue-details summary { cursor:pointer; color:var(--accent); font-size:.875rem; }
#services .catalogue-contact { margin-top:20px; }
@media(max-width:1100px) {
 #services .service-detail { padding:28px 24px; }
 #services .service-metrics { gap:14px; }
 #services .service-metrics > div + div { padding-left:14px; }
 #services .service-metrics strong { font-size:2.5rem; white-space:normal; }
}
@media(max-width:800px) {
 #services .service-explorer { grid-template-columns:1fr; }
 #services .service-menu { border-right:0; border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:6px; }
 #services .menu-label { width:100%; margin:8px 0; }
 #services .menu-label:not(:first-child) { margin-top:12px; }
 #services .service-menu button { width:auto; border-color:var(--line); }
 #services .service-metrics strong { font-size:clamp(1.5rem,5.5vw,2.8rem); }
}
@media(max-width:480px) {
 #services .service-metrics { grid-template-columns:1fr; gap:16px; }
 #services .service-metrics > div { display:flex; gap:20px; align-items:center; padding:0; }
 #services .service-metrics > div + div { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
 #services .service-metrics strong { font-size:2.5rem; min-width:125px; }
 #services .service-metrics > div > span { margin:0; }
}

/* Enquiry window */
body.enquiry-open { overflow: hidden; }
.enquiry-dialog { color-scheme: light; width: min(900px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 0; margin: auto; border: 0; border-radius: 20px; background: #fff; color: #13203d; box-shadow: 0 28px 100px #0006; overscroll-behavior: contain; }
.enquiry-dialog::backdrop { background: rgb(5 10 24 / 74%); backdrop-filter: blur(7px); }
.enquiry-shell { position: relative; padding: 42px 48px 36px; }
.enquiry-close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #f2f3f8; color: #18233e; font-size: 28px; cursor: pointer; }
.enquiry-close:hover { background: #e6e7f0; }
.enquiry-heading { text-align: center; margin-bottom: 28px; }
.enquiry-heading h2 { font-size: clamp(32px, 4vw, 46px); letter-spacing: -.045em; line-height: 1.15; margin: 0 24px 16px; }
.enquiry-heading p { color: #626875; font-size: 16px; line-height: 1.6; max-width: 650px; margin: auto; }
#coality-enquiry-form { display: grid; gap: 18px; }
#coality-enquiry-form label { display: block; color: #273248; font-size: 16px; font-weight: 500; line-height: 1.45; }
.enquiry-required { color: #da4055; margin-left: 3px; }
#coality-enquiry-form input, #coality-enquiry-form select, #coality-enquiry-form textarea { display: block; width: 100%; min-height: 48px; margin-top: 7px; border: 1px solid #d9dbe4; border-radius: 8px; background: #fff; color: #18233e; padding: 12px 15px; font: 400 16px/1.4 var(--font); }
#coality-enquiry-form textarea { min-height: 100px; resize: vertical; }
#coality-enquiry-form input::placeholder, #coality-enquiry-form textarea::placeholder { color: #7d8594; opacity: 1; }
#coality-enquiry-form :is(input,select,textarea,button,a):focus-visible, .enquiry-close:focus-visible { outline: 3px solid #7770da; outline-offset: 3px; }
.enquiry-submit { min-height: 50px; padding: 12px 24px; border: 0; border-radius: 999px; background: #544cc5; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.enquiry-submit:hover { background: #443bb1; }
.enquiry-status { font-size: 14px; color: #626875; line-height: 1.5; }
.enquiry-status:not([hidden]) { padding: 14px 16px; border-radius: 8px; background: #f0effb; color: #39326e; }
@media (max-width: 600px) { .enquiry-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 14px; } .enquiry-shell { padding: 56px 22px 26px; } .enquiry-heading { margin-bottom: 24px; } .enquiry-heading h2 { margin-inline: 0; } }

.enquiry-submit:disabled { opacity: .65; cursor: wait; }
.enquiry-status[data-state="error"] { background: #fff0f0; color: #982637; }
.enquiry-status[data-state="success"] { background: #eaf6f0; color: #1b6345; }

/* Keep seek controls interactive throughout mouse, touch and keyboard scrubbing. */
.inline-timeline input, #film-seek { touch-action: none; pointer-events: auto; min-height: 32px; }
.inline-film.video-scrubbing .inline-film-controls,
.inline-film.video-scrubbing .inline-film-controls *,
.film-dialog.video-scrubbing .film-controls,
.film-dialog.video-scrubbing .film-controls * { opacity: 1 !important; pointer-events: auto !important; }
