@font-face {
  font-family: 'Barlow';
  src: url('fonts/Barlow-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Chakra Petch';
  src: url('fonts/ChakraPetch-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
.services { --body: 'Barlow', system-ui, sans-serif; --heading: 'Chakra Petch', system-ui, sans-serif; --surface-edge: #64738b; --window-heading: #d9e4f1; --window-heading-ink: #111722; }
.shell { width: min(1200px, calc(100% - 112px)); margin-inline: auto; }
.skip { position: fixed; top: -80px; left: 20px; z-index: 100; padding: 12px 20px; background: var(--floodlight); color: var(--hull); }
.skip:focus { top: 12px; }
.menu { background: var(--hull); border-bottom: 1px solid var(--durasteel); position: relative; z-index: 4; }
.menu nav { display: flex; align-items: center; justify-content: space-between; height: 66px; }
.menu .mark { font-size: 12px; }
.back { display: inline-flex; align-items: center; gap: 14px; font: 14px var(--mono); color: var(--haze); text-decoration: none; min-height: 44px; }
.back:hover { color: var(--floodlight); }
.light-stage { position: relative; isolation: isolate; min-height: 490px; height: min(590px, 48vw); background: #060b14; overflow: hidden; }
#light-field { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 49%; }
.hero-content { height: 100%; min-height: inherit; display: flex; align-items: center; position: relative; z-index: 1; }
.hero-title { margin: 0; padding-bottom: 8px; color: #04112b; font-family: var(--body); font-size: clamp(44px, 7.45vw, 112px); line-height: .96; letter-spacing: -.065em; font-weight: 650; text-shadow: -1px 1px 0 #93dfff, -2px 2px 0 #2380a9, -4px 4px 0 #092542, -6px 5px 12px #04102280; }
.title-line { display: block; position: relative; width: fit-content; }
.title-line + .title-line { margin-top: .04em; }
.title-line::after { content: attr(data-copy); position: absolute; inset: 0; color: #a0e4ff; text-shadow: none; opacity: 0; pointer-events: none; }
.hero-title.tearing .title-line::after { opacity: .8; transform: translateX(9px); clip-path: inset(42% 0 46% 0); }
.hero-title.tearing .title-line:nth-child(2)::after { transform: translateX(-7px); clip-path: inset(68% 0 25% 0); }
.stage-foot { position: absolute; bottom: 24px; left: 0; right: 0; display: flex; justify-content: space-between; color: #53789d; font: 18px var(--mono); }
.window { border: 1px solid var(--surface-edge); background: var(--plate); position: relative; }
.window-bar { padding: 7px 11px; min-height: 30px; display: flex; justify-content: space-between; gap: 24px; align-items: center; background: var(--window-heading); color: var(--window-heading-ink); font: 12px/1.3 var(--mono); letter-spacing: .035em; }
.bar-grip { flex: 1; max-width: 76px; height: 9px; background: repeating-linear-gradient(to bottom, currentColor 0 1px, transparent 1px 3px); opacity: .28; }
.clock-section { display: flex; justify-content: flex-end; padding-block: 32px; }
.clock-window { width: 232px; }
.clock-body { padding: 22px 18px 20px; }
.clock-body time { display: block; font: 28px/1.1 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.045em; color: var(--holo); }
.clock-body span { display: block; margin-top: 14px; font: 12px/1.4 var(--mono); color: var(--haze); }
.service-desktop { position: relative; isolation: isolate; border-block: 1px solid var(--durasteel); padding-block: 74px 90px; overflow: hidden; }
#pixels { width: 100%; height: 100%; position: absolute; inset: 0; z-index: -1; opacity: .5; }
.window-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: 44px 32px; }
.crm { grid-column: 1 / 8; }
.automation { grid-column: 8 / 13; margin-top: 88px; }
.ai { grid-column: 2 / 8; margin-top: -35px; }
.training { grid-column: 8 / 13; margin: 28px 28px 0 0; }
.window-content { padding: 30px 30px 28px; }
.window-content h2 { font: 500 clamp(27px, 3.3vw, 44px)/1.15 var(--heading); letter-spacing: -.015em; margin: 0 0 24px; }
.crm h2 { font-size: clamp(32px, 3.6vw, 48px); }
.window-content p { max-width: 43ch; font-size: 18px; line-height: 1.6; color: var(--floodlight); margin: 0; }
.window-content p + p { margin-top: 18px; }
.window-content .detail { font: 12px/1.6 var(--mono); color: var(--haze); margin-top: 30px; padding-top: 14px; border-top: 1px solid var(--durasteel); }
.contact { padding-block: 96px 90px; }
.contact-window { width: min(680px, 100%); }
.contact .window-content { padding-block: 30px 36px; }
.contact p { color: var(--haze); margin-bottom: 23px; }
.contact a { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: fit-content; min-height: 44px; color: var(--floodlight); text-decoration: none; font: 500 clamp(24px, 3.5vw, 44px)/1.2 var(--heading); letter-spacing: -.015em; }
.contact a span { margin-left: 24px; font-weight: 300; color: var(--holo); }
.contact a:hover { color: var(--holo); }
.footer { border-top: 1px solid var(--durasteel); padding-block: 24px 34px; display: flex; align-items: center; gap: 30px; font: 12px var(--mono); color: var(--haze); }
.footer a { margin-left: auto; color: inherit; min-height: 44px; display: flex; align-items: center; text-decoration: none; }
.footer a:hover { color: var(--holo); }
.network-film { position: relative; background: #02060a; overflow: hidden; scroll-margin-top: 16px; }
.network-film video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
@media (max-width: 900px) {
  .shell { width: calc(100% - 56px); }
  .light-stage { min-height: 410px; }
  .hero-title { font-size: clamp(44px, 8.3vw, 80px); }
  .window-layout { gap: 32px 20px; }
  .window-content { padding: 25px; }
  .crm { grid-column: 1 / 8; }
  .automation { grid-column: 8 / 13; }
  .ai { grid-column: 1 / 8; margin-top: 0; }
  .training { margin-right: 0; }
}
@media (max-width: 650px) {
  .shell { width: calc(100% - 40px); }
  .menu nav { height: 58px; }
  .light-stage { min-height: 350px; height: 93vw; max-height: 430px; }
  .hero-title { font-size: clamp(32px, 8.5vw, 55px); letter-spacing: -.06em; text-shadow: -1px 1px 0 #93dfff, -2px 2px 0 #2380a9, -3px 3px 6px #04102290; }
  .title-line + .title-line { margin-top: .12em; }
  .clock-section { padding-block: 24px; }
  .clock-window { width: 208px; margin: 0 0 0 auto; }
  .clock-body { padding: 16px; }
  .clock-body time { font-size: 25px; }
  .clock-body span { margin-top: 9px; }
  .service-desktop { padding-block: 44px 54px; }
  .window-layout { display: flex; flex-direction: column; gap: 27px; }
  .window { max-width: 100%; }
  .window-layout .window { margin: 0; width: 100%; }
  .window-layout .automation, .window-layout .training { width: calc(100% - 12px); margin-left: 12px; }
  .window-layout .ai { width: calc(100% - 12px); }
  .window-content { padding: 24px 22px; }
  .window-content h2 { margin-bottom: 20px; font-size: 34px; }
  .crm h2 { font-size: 34px; }
  .window-content p { font-size: 17px; }
  .window-content .detail { margin-top: 24px; }
  .contact { padding-block: 54px; }
  .contact a { font-size: 27px; }
  .contact a span { margin-left: 0; }
  .footer { gap: 16px; flex-wrap: wrap; padding-block: 22px; }
  .footer a { width: 100%; margin: 0; }
}
@media (prefers-reduced-motion: reduce) { .hero-title.tearing .title-line::after { display: none; } }
/* The reference is a luminous volume surrounding dark type, not outlined chrome. */
.light-stage { height: clamp(430px, 46vw, 680px); background: #030b10; }
.hero-content { justify-content: center; }
.hero-title { text-align: center; font-family: var(--display); font-weight: 400; letter-spacing: .015em; font-size: clamp(28px, 5.7vw, 88px); line-height: 1.3; padding-bottom: 0; color: #031b48; text-shadow: -1px 1px 1px #63d7ef70, -5px 4px 7px #06244870; transform: translateY(4%); }
.title-line { margin-inline: auto; }
.title-line + .title-line { margin-top: .015em; }
.light-stage.art-fallback { background-image: url('assets/light-stream.png'); background-size: cover; background-position: 50% 49%; }
.art-unavailable .hero-title { color: var(--floodlight); text-shadow: none; }
@media (max-width: 650px) {
  .light-stage { min-height: 370px; height: 106vw; max-height: 470px; }
  .hero-title { font-size: clamp(18px, 5.35vw, 35px); letter-spacing: 0; line-height: 1.4; text-shadow: -1px 1px 1px #63d7ef70, -3px 3px 5px #06244870; }
}

.service-overview { padding-bottom: 56px; }
.service-overview h2 { font: 500 clamp(38px, 5vw, 68px)/1.12 var(--heading); letter-spacing: -.015em; margin: 0; }
.operations, .business-systems, .multiplayer { grid-column: 1 / 13; }
.operations .window-content p, .business-systems .window-content p, .multiplayer .window-content p { max-width: 75ch; }
.business-systems { scroll-margin-top: 24px; }
.systems-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px; margin: 30px 0 0; }
.systems-list > div { border-top: 1px solid var(--durasteel); padding-top: 18px; }
.systems-list dt strong { display: block; color: var(--holo); font: 16px var(--mono); margin-bottom: 8px; }
.systems-list dt span { font-size: 17px; color: var(--floodlight); }
.systems-list dd { margin: 10px 0 0; max-width: 43ch; color: var(--haze); font-size: 17px; line-height: 1.6; }
@media (max-width: 650px) {
  .service-overview { padding-bottom: 32px; }
  .systems-list { grid-template-columns: 1fr; gap: 24px; }
}
