.service-page { background: var(--ink); }
.service-site-header { position: absolute; }

.service-hero {
  display: grid;
  min-height: 875px;
  padding: 165px 48px 48px;
  grid-template-columns: .98fr 1.02fr;
  grid-template-rows: 1fr auto;
  gap: 58px 70px;
  border-inline: 1px solid var(--line);
}
.service-hero-copy { align-self: center; }
.service-overline { display: flex; margin-bottom: 35px; gap: 13px; color: #7b7e74; font-family: var(--mono); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }
.service-overline span { padding-right: 13px; border-right: 1px solid var(--line); }
.service-overline span:last-child { color: var(--orange); border-right: 0; }
.service-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(78px,8.3vw,130px); font-weight: 300; letter-spacing: -.062em; line-height: .8; }
.service-hero h1 em { color: var(--acid); font-weight: 300; }
.service-hero-copy > p { max-width: 620px; margin: 40px 0 0; color: #bbb9b0; font-family: var(--serif); font-size: 23px; line-height: 1.45; }
.service-actions { display: flex; margin-top: 42px; align-items: center; gap: 25px; }

.service-console { align-self: center; padding: 15px; background: #070806; border: 1px solid #353930; box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.service-console-bar,
.service-console-foot { display: flex; height: 34px; align-items: center; justify-content: space-between; color: #686b63; font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.service-live { display: flex; align-items: center; gap: 7px; color: var(--acid); }
.service-live i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 9px currentColor; }
.service-flow { display: flex; min-height: 485px; padding: 24px; align-items: center; justify-content: center; flex-direction: column; background: linear-gradient(rgba(238,234,222,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(238,234,222,.035) 1px,transparent 1px),#0b0d0a; background-size: 28px 28px; border: 1px solid #262a22; }
.service-flow div { display: grid; width: min(100%,370px); min-height: 76px; padding: 12px 16px; align-items: center; grid-template-columns: .8fr 1.2fr; border: 1px solid var(--line); background: rgba(11,12,10,.88); }
.service-flow div > span,
.service-flow small { color: #6d7067; font-family: var(--mono); font-size: 6px; letter-spacing: .07em; text-transform: uppercase; }
.service-flow strong { font-family: var(--serif); font-size: 22px; font-weight: 300; text-align: right; }
.service-flow small { grid-column: 1 / -1; text-align: right; }
.service-flow > i { height: 28px; color: var(--acid); font-style: normal; line-height: 28px; }
.service-flow .flow-active { color: var(--ink); background: var(--acid); border-color: var(--acid); }
.service-flow .flow-active > span,
.service-flow .flow-active small { color: #48532e; }
.service-flow .flow-process { background: #15182b; border-color: rgba(104,136,255,.6); }
.service-console-foot { height: 30px; align-items: end; font-size: 6px; }
.service-console-foot span:nth-child(2) { color: var(--acid); }

.service-stats { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-stats div { display: flex; min-height: 103px; padding: 18px; align-items: flex-end; gap: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-stats strong { font-family: var(--serif); font-size: 37px; font-weight: 300; line-height: .82; white-space: nowrap; }
.service-stats span { max-width: 95px; color: #74776d; font-family: var(--mono); font-size: 7px; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; }

.commit-section { padding-block: 135px; color: var(--ink); background: var(--paper); }
.service-heading { display: grid; align-items: end; grid-template-columns: 165px 1fr .55fr; gap: 38px; }
.service-heading > span { align-self: start; color: #696b63; font-family: var(--mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.service-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(55px,6vw,86px); font-weight: 300; letter-spacing: -.05em; line-height: .92; }
.service-heading > p { margin: 0 0 7px; color: #5b5d55; font-size: 11px; line-height: 1.7; }
.commit-trail { display: grid; margin: 80px 0 0; padding: 0; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(11,12,10,.25); border-left: 1px solid rgba(11,12,10,.25); list-style: none; }
.commit-trail li { border-right: 1px solid rgba(11,12,10,.25); border-bottom: 1px solid rgba(11,12,10,.25); }
.commit-trail li:last-child { grid-column: 1 / -1; }
.commit-trail a { display: grid; min-height: 350px; padding: 27px; grid-template-columns: 1fr auto; transition: background 170ms ease; }
.commit-trail a:hover { background: #e4e0d4; }
.commit-trail span,
.commit-trail time,
.commit-trail small { color: #676960; font-family: var(--mono); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
.commit-trail time { text-align: right; }
.commit-trail strong { max-width: 490px; margin: 65px 0 18px; grid-column: 1 / -1; font-family: var(--serif); font-size: 36px; font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.commit-trail p { max-width: 520px; margin: 0 0 35px; grid-column: 1 / -1; color: #5b5d55; font-size: 10px; line-height: 1.7; }
.commit-trail small { display: flex; padding-top: 17px; grid-column: 1 / -1; align-self: end; justify-content: space-between; border-top: 1px solid rgba(11,12,10,.16); }
.commit-trail small b { color: #567300; font-size: 11px; font-weight: 400; }
.state-record { display: grid; margin-top: 20px; padding: 23px; grid-template-columns: .5fr 1.5fr; color: var(--paper); background: var(--ink); }
.state-record span { color: var(--orange); font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.state-record p { margin: 0; color: #a4a49b; font-size: 10px; line-height: 1.7; }
.state-record code { color: var(--acid); font-family: var(--mono); font-size: .85em; }

.service-layout { display: grid; padding: 145px 48px 0; grid-template-columns: 175px minmax(0,850px); justify-content: center; gap: 55px; border-inline: 1px solid var(--line); }
.service-toc > div { position: sticky; top: 30px; display: flex; padding-top: 18px; flex-direction: column; border-top: 1px solid var(--line); }
.service-toc span { margin-bottom: 20px; color: #777a70; font-family: var(--mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.service-toc a { display: grid; padding: 10px 0; grid-template-columns: 32px 1fr; color: #777a70; border-bottom: 1px solid rgba(238,234,222,.07); font-family: var(--mono); font-size: 8px; line-height: 1.35; }
.service-toc a:hover { color: var(--acid); }
.service-toc b { color: var(--acid); font-weight: 400; }
.service-body { min-width: 0; }
.service-part { padding-bottom: 145px; }
.service-part > header > span { display: block; margin-bottom: 20px; color: var(--acid); font-family: var(--mono); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }
.service-part h2 { max-width: 790px; margin: 0; font-family: var(--serif); font-size: clamp(52px,6vw,78px); font-weight: 300; letter-spacing: -.05em; line-height: .93; }
.service-part h3 { margin: 65px 0 20px; font-family: var(--serif); font-size: 39px; font-weight: 300; letter-spacing: -.03em; }
.part-intro { max-width: 740px; margin: 42px 0 58px; color: #c1bfb6; font-family: var(--serif); font-size: 27px; line-height: 1.4; }
.service-part > p:not(.part-intro) { color: #9c9e94; font-size: 13px; line-height: 1.8; }
.service-part p code,
.service-part li code { padding: 2px 5px; color: var(--acid); background: rgba(200,255,61,.07); font-family: var(--mono); font-size: .85em; }

.terminal-proof { margin: 50px 0 0; }
.terminal-proof-window { padding: 14px; background: #070806; border: 1px solid #353930; box-shadow: 0 26px 65px rgba(0,0,0,.35); }
.terminal-proof-bar,
.terminal-proof-foot { display: flex; height: 34px; align-items: center; justify-content: space-between; color: #65685f; font-family: var(--mono); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
.terminal-proof-window img { display: block; width: 100%; height: auto; image-rendering: pixelated; border: 1px solid #242720; }
.terminal-proof-foot { height: 28px; align-items: end; font-size: 6px; }
.terminal-proof-foot span:last-child { color: var(--acid); }
.terminal-proof figcaption { display: grid; padding-top: 25px; grid-template-columns: .8fr 1.2fr; gap: 35px; }
.terminal-proof figcaption strong { font-family: var(--serif); font-size: 27px; font-weight: 300; line-height: 1.2; }
.terminal-proof figcaption p { margin: 0; color: #92948a; font-size: 11px; line-height: 1.7; }

.frontend-contract,
.compile-pipeline { display: flex; padding: 20px 14px; align-items: center; justify-content: space-between; gap: 7px; background: #10120f; border: 1px solid var(--line); }
.frontend-contract div,
.compile-pipeline div { display: flex; min-height: 90px; padding: 10px; flex: 1; align-items: center; justify-content: center; flex-direction: column; border: 1px solid var(--line); text-align: center; }
.frontend-contract span,
.compile-pipeline span { margin-bottom: 9px; color: #71746a; font-family: var(--mono); font-size: 6px; text-transform: uppercase; }
.frontend-contract strong,
.compile-pipeline strong { font-family: var(--mono); font-size: 8px; font-weight: 400; }
.frontend-contract small { margin-top: 8px; color: #5f625a; font-family: var(--mono); font-size: 6px; text-transform: uppercase; }
.frontend-contract > i,
.compile-pipeline > i { color: var(--acid); font-style: normal; }
.test-marker { margin-top: 38px; padding: 26px; color: var(--ink); background: var(--acid); }
.test-marker > span { display: block; margin-bottom: 18px; font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.test-marker strong { font-family: var(--serif); font-size: 26px; font-weight: 400; }
.test-marker p { margin: 18px 0 0; color: #424637; font-size: 10px; line-height: 1.65; }
.test-marker code { color: inherit; background: rgba(11,12,10,.08); }

.protocol-table { border-top: 1px solid var(--line); }
.protocol-table > div { display: grid; min-height: 105px; padding: 18px 9px; align-items: center; grid-template-columns: .7fr 1fr 1fr; gap: 22px; border-bottom: 1px solid var(--line); }
.protocol-table code { color: var(--orange); font-family: var(--mono); font-size: 10px; }
.protocol-table span { font-family: var(--serif); font-size: 20px; }
.protocol-table small { color: #74776d; font-family: var(--mono); font-size: 7px; line-height: 1.7; text-transform: uppercase; }
.protocol-table small b { color: var(--acid); font-weight: 400; }
.compile-pipeline { margin: 36px 0; }
.compile-pipeline div:first-child,
.compile-pipeline div:last-child { border-color: rgba(104,136,255,.6); }
.service-part blockquote { margin: 50px 0 0; padding: 32px 0; color: var(--paper); border-block: 1px solid var(--line); font-family: var(--serif); font-size: 35px; font-weight: 300; line-height: 1.25; }

.lux-service-code { margin: 0 0 40px; padding: 29px; overflow-x: auto; color: #b9baaf; background: #070806; border: 1px solid #34382e; font-family: var(--mono); font-size: 11px; line-height: 1.85; }
.lux-service-code span { color: var(--acid); }
.lux-service-code b { color: var(--orange); font-weight: 400; }
.loop-diagram { display: flex; margin-top: 42px; padding: 24px; align-items: center; justify-content: space-between; gap: 9px; color: var(--ink); background: var(--acid); }
.loop-diagram span { font-family: var(--mono); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.loop-diagram i { font-style: normal; }

.proof-grid-service { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.proof-grid-service article { display: flex; min-height: 230px; padding: 23px; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.proof-grid-service span { color: #74776d; font-family: var(--mono); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
.proof-grid-service strong { margin: 38px 0 14px; color: var(--acid); font-family: var(--serif); font-size: 42px; font-weight: 300; }
.proof-grid-service p { margin: auto 0 0; color: #92948a; font-size: 10px; line-height: 1.65; }
.edge-list-service { margin-top: 45px; border-top: 1px solid var(--line); }
.edge-list-service article { display: grid; min-height: 125px; padding: 25px 8px; grid-template-columns: 62px 1fr; gap: 22px; border-bottom: 1px solid var(--line); }
.edge-list-service article > span { color: var(--orange); font-family: var(--mono); font-size: 8px; }
.edge-list-service strong { font-family: var(--serif); font-size: 27px; font-weight: 300; }
.edge-list-service p { margin: 10px 0 0; color: #92948a; font-size: 11px; line-height: 1.7; }
.service-end { padding: 115px 0 140px; border-top: 1px solid var(--line); }
.service-end > span { color: var(--acid); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.service-end blockquote { max-width: 790px; margin: 30px 0 50px; font-family: var(--serif); font-size: 56px; font-weight: 300; letter-spacing: -.04em; line-height: 1; }
.service-end > div { display: flex; align-items: center; gap: 25px; }
.service-footer { margin-top: 0; background: #070806; }

@media (max-width: 1080px) {
  .service-hero { padding-inline: 36px; grid-template-columns: 1fr; }
  .service-console { width: min(100%,680px); justify-self: center; }
  .service-heading { grid-template-columns: 130px 1fr; }
  .service-heading > p { grid-column: 2; }
  .service-layout { padding-inline: 30px; grid-template-columns: 145px minmax(0,1fr); gap: 35px; }
  .compile-pipeline { flex-wrap: wrap; }
  .compile-pipeline div { min-width: 27%; }
}

@media (max-width: 720px) {
  .service-hero { min-height: auto; padding: 125px 14px 35px; border-inline: 0; }
  .service-overline { flex-wrap: wrap; }
  .service-hero h1 { font-size: 68px; }
  .service-hero-copy > p { font-size: 20px; }
  .service-actions { align-items: flex-start; flex-direction: column; }
  .service-console { padding: 9px; }
  .service-flow { min-height: 445px; padding: 15px; }
  .service-stats { grid-template-columns: 1fr 1fr; }
  .service-stats div:nth-child(2n) { border-right: 0; }
  .commit-section { padding-block: 90px; }
  .service-heading { display: block; }
  .service-heading > span { display: block; margin-bottom: 20px; }
  .service-heading h2 { font-size: 52px; }
  .service-heading > p { margin-top: 25px; }
  .commit-trail { grid-template-columns: 1fr; }
  .commit-trail li:last-child { grid-column: 1; }
  .commit-trail a { min-height: 320px; }
  .state-record { grid-template-columns: 1fr; gap: 16px; }
  .service-layout { display: block; padding: 95px 14px 0; border-inline: 0; }
  .service-toc { display: none; }
  .service-part { padding-bottom: 110px; }
  .service-part h2 { font-size: 51px; }
  .part-intro { font-size: 23px; }
  .terminal-proof figcaption { grid-template-columns: 1fr; }
  .frontend-contract, .compile-pipeline { align-items: stretch; flex-direction: column; flex-wrap: nowrap; }
  .frontend-contract > i, .compile-pipeline > i { text-align: center; transform: rotate(90deg); }
  .compile-pipeline div { min-width: 0; }
  .protocol-table > div { grid-template-columns: 1fr; padding-block: 22px; gap: 11px; }
  .service-part blockquote { font-size: 29px; }
  .lux-service-code { padding: 20px; font-size: 8px; }
  .loop-diagram { align-items: flex-start; flex-direction: column; }
  .loop-diagram i { transform: rotate(90deg); }
  .proof-grid-service { grid-template-columns: 1fr; }
  .edge-list-service article { grid-template-columns: 38px 1fr; }
  .service-end blockquote { font-size: 47px; }
  .service-end > div { align-items: flex-start; flex-direction: column; }
}
