/* Standalone, unlinked service reference; no shared marketing navigation. */
.apex-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 4vw; background:#07110f; border-bottom:1px solid var(--line); }
.apex-brand { font-size:1.7rem; font-weight:600; letter-spacing:.08em; color:var(--acid); }
.apex-brand small { font-size:.95rem; color:var(--text); letter-spacing:.04em; }
.apex-header > span:last-child { font-family:var(--mono); font-size:.8rem; color:var(--muted); }
.apex-header b { color:var(--text); margin-left:.75rem; }
.apex-intro { padding-bottom:1.5rem !important; border-bottom:1px solid var(--line); }
.apex-intro > p:last-child { color:var(--muted); max-width:850px; }
.apex-source-bullet { margin:.6rem 0 .6rem 1.25rem; display:list-item; color:#d1dad6; }
.apex-source-label { font-family:var(--mono); font-size:.85rem; color:var(--muted) !important; }
.apex-field-example { margin-top:.6rem; }
.apex-field-example summary { cursor:pointer; font-size:.85rem; color:var(--muted); }
.apex-field-example pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--cyan); font-size:.85rem; }
.apex-json { overflow:auto; max-height:700px; padding:1.5rem; background:var(--ink); border:1px solid var(--line); font-size:.9rem; }
.apex-site .reference-document h2 { overflow-wrap:anywhere; }
.apex-footer { border-top:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:1.5rem 4vw; color:var(--muted); font-size:.85rem; }
@media(max-width:600px) { .apex-header { padding:1rem; } .apex-header > span:last-child { font-size:.7rem; } .apex-footer { flex-direction:column; } }

/* Exact-source reference documentation; styles do not alter field casing. */
.reference-header { background:#07110f; color:var(--text); padding:2.5rem 4vw 0; }
.reference-header h1 { font-family:var(--body); font-size:clamp(1.8rem,3vw,3rem); font-weight:600; letter-spacing:-.03em; text-transform:none; }
.reference-header nav { display:flex; gap:2rem; flex-wrap:wrap; margin-top:1.5rem; }
.reference-header nav a { color:var(--muted); border-bottom:3px solid transparent; padding:1rem 0; }
.reference-header nav a[aria-current] { color:var(--acid); border-color:var(--acid); }
.reference-workspace { background:var(--ink-soft); color:var(--text); display:grid; grid-template-columns:250px minmax(0,1fr); padding:0 4vw; gap:3vw; }
.reference-contents { border-right:1px solid var(--line); padding:2rem 1rem 2rem 0; }
.reference-contents nav { position:sticky; top:100px; max-height:calc(100vh - 120px); overflow:auto; }
.reference-contents h2 { font-family:var(--mono); font-size:.85rem; color:var(--acid); margin-bottom:1rem; }
.reference-contents a,.reference-unavailable { display:block; padding:.55rem .75rem; font-size:.9rem; }
.reference-contents a:hover,.reference-contents a:focus-visible { color:var(--acid); background:var(--panel); }
.reference-unavailable { color:var(--muted); }
.reference-unavailable small { display:block; font-size:.7rem; }
.reference-document { min-width:0; max-width:1200px; padding:2rem 0; line-height:1.7; }
.reference-document section { margin-bottom:3rem; }
.reference-document [id] { scroll-margin-top:110px; }
.reference-document [id]:target > :is(h2,h3,h4) { color:var(--acid); }
.reference-document :is(h2,h3,h4,h5,h6) { font-family:var(--body); font-weight:600; letter-spacing:normal; text-transform:none; line-height:1.3; margin:1.8rem 0 1rem; }
.reference-document h2 { font-size:1.8rem; }
.reference-document h3 { font-size:1.5rem; }
.reference-document h4 { font-size:1.2rem; }
.reference-document h5 { font-size:1rem; }
.reference-document p { color:#d1dad6; margin:.9rem 0; }
.reference-document ul { padding-left:1.5rem; list-style:disc; }
.reference-document li { margin:.35rem 0; }
.reference-document .reference-callout { background:var(--panel); border-left:3px solid var(--acid); padding:.75rem 1.25rem; margin:1.25rem 0; }
.reference-document .reference-callout > :first-child { margin-top:0; }
.reference-document .reference-callout > :last-child { margin-bottom:0; }
.reference-document .reference-table-scroll { overflow-x:auto; margin:1.5rem 0; border:1px solid var(--line); }
.reference-document table { border-collapse:collapse; width:100%; font-size:.9rem; }
.reference-document :is(th,td) { padding:.8rem 1rem; border-bottom:1px solid var(--line); vertical-align:top; text-align:left; text-transform:none; }
.reference-document th { background:var(--panel); }
.reference-document td:first-child { color:var(--cyan); width:22%; overflow-wrap:anywhere; }
.reference-document td:nth-child(2) { color:#b9c9bd; width:23%; }
.reference-document tr:last-child td { border-bottom:0; }
.reference-document .reference-mono,.reference-document code { font-family:var(--mono); font-size:.86em; text-transform:none; }
.reference-document code { color:var(--acid); overflow-wrap:anywhere; }
.reference-document .reference-italic { font-style:italic; }
.reference-document .reference-strong { font-weight:600; }
@media(max-width:800px) {
  .reference-workspace { display:block; padding:0 1.25rem; }
  .reference-header { padding:2rem 1.25rem 0; }
  .reference-header nav { gap:.5rem 1.5rem; }
  .reference-contents { border-right:0; border-bottom:1px solid var(--line); padding:1rem 0; }
  .reference-contents nav { position:static; max-height:240px; }
  .reference-document table { min-width:620px; }
}

/* Troyen Website visual system.
 * Version: 0.1.0
 * Purpose: Style the public site, private proposal rooms, and admin application.
 */

:root {
  --ink: #07110f;
  --ink-soft: #0d1b18;
  --panel: #11211e;
  --line: rgba(202, 222, 215, 0.17);
  --line-light: #cfd4ce;
  --paper: #f0f0ea;
  --paper-bright: #fafaf6;
  --text: #f4f5ef;
  --muted: #98a7a2;
  --muted-dark: #66706c;
  --acid: #d9ff43;
  --green: #1cff83;
  --cyan: #6bc6d2;
  --danger: #ff7065;
  --sans: "Arial Narrow", "Aptos Narrow", "Segoe UI", sans-serif;
  --body: "Segoe UI", Arial, sans-serif;
  --mono: "Cascadia Mono", "Consolas", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--text); font-family: var(--body); font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.site-header {
  align-items: center; background: rgba(7,17,15,.92); border-bottom: 1px solid var(--line); display: grid;
  grid-template-columns: 1fr auto 1fr; min-height: 72px; padding: 0 4vw; position: sticky; top: 0; z-index: 20;
  backdrop-filter: blur(14px);
}
.brand { align-items: baseline; display: inline-flex; font-family: var(--mono); font-size: 1.16rem; letter-spacing: .12em; width: max-content; }
.brand span { font-weight: 800; }.brand i { color: var(--acid); font-style: normal; margin: 0 .45rem; }.brand em { color: #7f8b87; font-style: normal; font-weight: 300; }
.site-nav { display: flex; gap: clamp(1.5rem,4vw,4rem); }
.site-nav a { font-family: var(--mono); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.header-actions { align-items: center; display: flex; gap: 1.5rem; justify-content: flex-end; }
.status { color: #bdc7c3; font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }.status b { background: var(--green); border-radius: 50%; display: inline-block; height: 7px; margin-right: .5rem; width: 7px; }
.menu-button { background: transparent; border: 1px solid var(--line); color: white; display: none; padding: .65rem; }
.public-header { background:linear-gradient(90deg,rgba(4,10,10,.25),rgba(4,10,10,.55)),url('../images/header-texture.png') center 48% / cover no-repeat; grid-template-columns:1fr auto; min-height:84px; }
.public-header .brand { align-items:center; gap:.85rem; }
.public-header .header-logo { display:block; width:64px; height:64px; object-fit:contain; border-radius:50%; }
.public-header .brand-wordmark { display:inline-flex; align-items:baseline; }
.public-header .header-actions .button { display:inline-flex; }
.public-site .button-outline { background:transparent; }
.access-dialog-open { overflow:hidden; }
.access-dialog { background:var(--paper-bright); border:1px solid #b1b8b3; border-radius:16px; color:var(--ink); margin:auto; max-height:90dvh; overflow:auto; padding:0; width:min(680px,calc(100% - 2rem)); box-shadow:0 30px 100px #0007; }
.access-dialog::backdrop { background:rgba(0,0,0,.65); backdrop-filter:blur(3px); }
.access-dialog-header { align-items:center; background:linear-gradient(90deg,rgba(4,10,10,.25),rgba(4,10,10,.55)),url('../images/header-texture.png') center 48% / cover no-repeat; color:white; display:flex; gap:1rem; padding:1.25rem clamp(1rem,3vw,2rem); position:relative; }
.access-dialog-header img { border-radius:50%; flex-shrink:0; height:64px; object-fit:contain; width:64px; }
.access-dialog h2 { color:white; font-size:clamp(1.4rem,2.6vw,2rem); padding-right:2rem; }
.access-dialog>p { color:var(--muted-dark); margin:1.25rem clamp(1rem,3vw,2rem) .75rem; }
.dialog-close { background:transparent; border:0; color:white; cursor:pointer; font-size:2rem; height:44px; line-height:1; position:absolute; right:.5rem; top:.5rem; width:44px; }
.access-dialog form { display:grid; gap:.4rem; padding:0 clamp(1rem,3vw,2rem) 1.5rem; }
.access-dialog label { font-size:1rem; font-weight:600; margin-top:.6rem; }
.access-dialog label small { color:var(--muted-dark); font-weight:400; }
.access-dialog input:not([type="hidden"]),.access-dialog textarea { background:white; border:1px solid #b1c0b5; border-radius:4px; color:var(--ink); font:inherit; min-width:0; padding:.7rem; width:100%; }
.access-dialog textarea { resize:vertical; }
.access-dialog :is(input,textarea,button):focus-visible { outline:2px solid #688600; outline-offset:3px; }
.access-dialog [hidden] { display:none; }
.enquiry-feedback { color:#9a2424; margin:.5rem 0; }
.enquiry-feedback:empty { display:none; }
.access-dialog form>.button { margin-top:.8rem; width:100%; }
.access-dialog .button:disabled { cursor:wait; opacity:.6; }
.enquiry-success { padding:0 clamp(1rem,3vw,2rem) 1.5rem; }
.enquiry-success p { font-size:1.1rem; }
.enquiry-record { border-bottom:1px solid var(--line); padding:1rem 0; overflow-wrap:anywhere; }
.enquiry-record summary { cursor:pointer; }
.enquiry-record summary small { color:var(--muted); margin-left:1rem; }
.enquiry-comment { white-space:pre-wrap; }
@media (max-width:480px) { .public-header .brand { font-size:.85rem; gap:.5rem; }.public-header .header-logo { width:48px; height:48px; }.public-header .brand-wordmark { display:none; }.public-header .button { font-size:.65rem; gap:.5rem; padding:.6rem .7rem; } }

.hero { min-height: 720px; overflow: hidden; position: relative; }
.public-hero { min-height:560px; padding:4.5rem 4vw 3.5rem; isolation:isolate; }
.public-hero::before { background:url('../images/public-hero-performance.png') right center / cover no-repeat; content:""; filter:brightness(.45) saturate(.65); inset:0; opacity:.65; pointer-events:none; position:absolute; z-index:-2; }
.public-hero::after { background:linear-gradient(90deg,rgba(7,17,15,.92),rgba(7,17,15,.65) 38%,rgba(7,17,15,.08) 76%),linear-gradient(0deg,var(--ink),transparent 28%); content:""; inset:0; pointer-events:none; position:absolute; z-index:-1; }
.ambient-grid { background-image: linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size: 72px 72px; inset: 0; mask-image: linear-gradient(to bottom, black, transparent 85%); opacity: .28; position: absolute; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow,.section-index { color: var(--muted); font-family: var(--mono); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
h1,h2,h3 { font-family: var(--sans); font-stretch: condensed; line-height: .95; margin: 0; text-transform: uppercase; }
.hero h1 { font-size: clamp(4rem,6.5vw,7.25rem); letter-spacing: -.055em; max-width: 780px; }
.public-hero h1 { max-width:1180px; }
.hero h1 strong,.dark-section h2 strong { color: var(--acid); display: block; }
.hero-summary { color: #d1d8d5; font-size: clamp(1rem,1.35vw,1.28rem); line-height: 1.45; max-width: 650px; }
.button-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.button { align-items:center; border:1px solid transparent; cursor:pointer; display:inline-flex; font-family:var(--mono); font-size:.8rem; font-weight:700; gap:1.5rem; justify-content:center; letter-spacing:.04em; min-height:48px; padding:.75rem 1.4rem; text-transform:uppercase; }
.button-accent { background: var(--acid); color: var(--ink); }.button-accent:hover { background:#ebff96; }.button-outline { border-color:#9aa6a2; color:white; }.button-small { min-height:42px; padding:.6rem 1rem; }
.metric-row { display:flex; gap:clamp(2rem,5vw,5rem); margin:3.25rem 0 0; }.metric-row div { min-width:100px; }.metric-row dt { font-family:var(--sans); font-size:2rem; font-weight:800; line-height:1; text-transform:uppercase; }.metric-row dd { color:var(--muted); font-family:var(--mono); font-size:.68rem; margin:.5rem 0 0; text-transform:uppercase; }

.console-bar { align-items:center; padding:.58rem 1rem; }
.console-bar { border-bottom:1px solid var(--line); display:flex; font-size:.74rem; justify-content:space-between; text-transform:uppercase; }.console-bar b { background:var(--green); border-radius:50%; display:inline-block; height:7px; margin-right:.5rem; width:7px; }.console-bar time { color:var(--muted); }

.light-section { background:var(--paper); color:var(--ink); padding:6rem 4vw; }
.public-site [data-datapoints] { position:relative; isolation:isolate; }
.public-site [data-datapoints] > :not(.homepage-datapoints) { position:relative; z-index:1; }
.homepage-datapoints { position:absolute; inset:0; overflow:hidden; z-index:0; opacity:.65; pointer-events:none; }
.homepage-datapoints canvas { display:block; pointer-events:none; }
@media (prefers-reduced-motion:reduce) { .homepage-datapoints { display:none; } }
.overview-section,.access-explanation { border-bottom:1px solid var(--line-light); display:grid; gap:8vw; grid-template-columns:.8fr 1.2fr; }
.editorial-copy { columns:2; column-gap:4rem; max-width:1000px; }.editorial-copy p { break-inside:avoid; color:#46504d; font-size:1.05rem; margin:0 0 1.4rem; }
.overview-columns { columns:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,3vw,3rem); }
.overview-columns>div>p:last-child { margin-bottom:0; }
.dataset-section { border-bottom:1px solid var(--line-light); display:grid; gap:5vw; grid-template-columns:.58fr 1.42fr; }.dataset-grid { display:grid; grid-template-columns:1fr 1fr; }.dataset-card { border-left:1px solid var(--line-light); border-top:1px solid var(--line-light); min-height:245px; padding:1.5rem 2rem; }.dataset-card>span,.process-grid span { color:#77807d; font-family:var(--mono); font-size:.72rem; }.dataset-card h3 { font-size:1.8rem; margin:3.5rem 0 1rem; }.dataset-card p { color:var(--muted-dark); margin:0; }
.capability-section { display:grid; gap:6vw; grid-template-columns:.7fr 1.3fr; }
.section-heading h2,.company-section h2,.contact-section h2 { font-size:clamp(3.2rem,5vw,6rem); letter-spacing:-.045em; }.section-heading>p:last-child { color:var(--muted-dark); font-size:1.05rem; max-width:460px; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); }.capability-card { border-left:1px solid var(--line-light); min-height:320px; padding:1rem 2rem; }.capability-card span { color:#77807d; font-family:var(--mono); font-size:.75rem; }.capability-card h3 { font-size:2rem; margin:6rem 0 1rem; }.capability-card p { color:var(--muted-dark); }
.integration-section { border-top:1px solid var(--line-light); display:grid; gap:5vw; grid-template-columns:.55fr 1.45fr; }.integration-grid { display:grid; grid-template-columns:1fr 1fr; }.integration-grid article { border-left:1px solid var(--line-light); border-top:1px solid var(--line-light); min-height:230px; padding:1.5rem 2rem; }.integration-grid span { color:#77807d; font-family:var(--mono); font-size:.72rem; }.integration-grid h3 { font-size:1.65rem; margin:2rem 0 1rem; }.integration-grid p { color:var(--muted-dark); margin:0; }
.dark-section { background:var(--ink-soft); color:white; padding:6rem 4vw; }
.delivery-section { display:grid; gap:4vw; grid-template-columns:.72fr 1.1fr .7fr; }.delivery-section h2 { font-size:clamp(3rem,4.5vw,5.5rem); }.schema-panel { align-self:center; border:1px solid var(--line); padding:1rem; }.schema-line { align-items:center; display:grid; font-family:var(--mono); font-size:.75rem; grid-template-columns:auto 1fr auto; gap:1rem; padding:1rem; }.schema-line i { border-top:1px solid #53635e; }.schema-line strong { color:var(--acid); font-weight:400; }.principle-list { align-self:center; list-style:none; margin:0; padding:0; }.principle-list li { border-top:1px solid var(--line); padding:1rem 0; }
.company-section { display:grid; grid-template-columns:.4fr 1fr; }.company-section>div { max-width:900px; }.company-section p:last-child { color:var(--muted-dark); font-size:1.2rem; max-width:620px; }
.process-section { border-bottom:1px solid var(--line-light); display:grid; gap:5vw; grid-template-columns:.58fr 1.42fr; }.process-grid { display:grid; grid-template-columns:repeat(4,1fr); }.process-grid article { border-left:1px solid var(--line-light); min-height:260px; padding:1.5rem; }.process-grid h3 { font-size:1.6rem; margin:5rem 0 1rem; }.process-grid p { color:var(--muted-dark); margin:0; }
.contact-section { align-items:end; background:linear-gradient(115deg,#0b1715,#13231f); display:grid; gap:8vw; grid-template-columns:1fr .65fr; padding:6rem 4vw; }.contact-section>div:last-child { border-left:1px solid var(--line); padding-left:3rem; }.contact-section .button { margin-top:1rem; }
.site-footer { align-items:center; background:#050a09; color:var(--muted); display:flex; font-family:var(--mono); font-size:.72rem; justify-content:space-between; padding:1.5rem 4vw; }.site-footer a { color:white; text-decoration:underline; text-underline-offset:4px; }

/* Compact the public page's section rhythm and oversized card gaps. */
.public-site .light-section,.public-site .dark-section,.public-site .contact-section { padding-block:3.5rem; }
.public-site .section-index { margin-top:0; }
.public-site .dataset-card { min-height:200px; }
.public-site .dataset-card h3 { margin-top:1.5rem; }
.public-site .capability-card { min-height:240px; }
.public-site .capability-card h3 { margin-top:2rem; }
.public-site .integration-grid article { min-height:200px; }
.public-site .integration-grid h3 { margin-top:1.25rem; }
.public-site .process-grid article { min-height:210px; }
.public-site .process-grid h3 { margin-top:2rem; }

.access-page { background:radial-gradient(circle at 80% 20%,#183026,#07110f 55%); min-height:100vh; }.access-shell { min-height:100vh; padding:2rem 4vw; }.access-card { background:rgba(13,27,24,.8); border:1px solid var(--line); margin:12vh auto 0; max-width:600px; padding:clamp(2rem,5vw,4rem); }.access-card h1 { font-size:clamp(2.5rem,5vw,4.5rem); }.access-card>p { color:var(--muted); }.access-card form { display:grid; gap:.8rem; margin-top:2rem; }.access-card label { font-family:var(--mono); font-size:.76rem; text-transform:uppercase; }.access-card input { background:#07110f; border:1px solid #5b6b65; color:white; font-family:var(--mono); font-size:1.1rem; padding:1rem; }.form-error { color:var(--danger); }

/* Admin application */
.admin-site { background:#091310; min-height:100vh; }
.admin-sidebar { background:#07110f; border-right:1px solid var(--line); bottom:0; display:flex; flex-direction:column; left:0; padding:2rem 1.2rem; position:fixed; top:0; width:230px; z-index:20; }
.admin-sidebar nav { display:grid; gap:.35rem; margin-top:4rem; }.admin-sidebar nav a { border-left:2px solid transparent; color:#aebbb6; font-family:var(--mono); font-size:.78rem; padding:.8rem 1rem; text-transform:uppercase; }.admin-sidebar nav a:hover { background:rgba(255,255,255,.04); border-color:var(--acid); color:white; }.admin-sidebar form { margin-top:auto; }.admin-sidebar form button { background:transparent; border:0; color:var(--muted); cursor:pointer; font-family:var(--mono); text-transform:uppercase; }
.admin-main { margin-left:230px; min-height:100vh; padding:3rem clamp(1.5rem,4vw,4rem) 5rem; }
.admin-heading { align-items:end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:2.5rem; }.admin-heading h1 { font-size:clamp(2.8rem,5vw,5rem); }.admin-heading p { color:var(--muted); }
.admin-actions { align-items:center; display:flex; gap:.75rem; }.admin-actions form { margin:0; }
.notice,.customer-notice { background:#15261f; border-left:3px solid var(--acid); margin:0 0 1.5rem; padding:1rem 1.25rem; }.notice.error,.customer-notice.error { border-color:var(--danger); }
.dashboard-metrics { display:grid; gap:1px; grid-template-columns:repeat(5,1fr); margin-bottom:2rem; }.dashboard-metrics article { background:#10201b; border:1px solid var(--line); min-height:130px; padding:1.2rem; }.dashboard-metrics span { color:var(--muted); font-family:var(--mono); font-size:.72rem; text-transform:uppercase; }.dashboard-metrics strong { display:block; font-family:var(--sans); font-size:3rem; line-height:1; margin-top:2rem; }
.admin-columns { display:grid; gap:2rem; grid-template-columns:1.25fr .75fr; }.admin-columns.wide-left { grid-template-columns:1.45fr .55fr; }.admin-panel { background:#0e1c18; border:1px solid var(--line); margin-bottom:2rem; padding:1.5rem; }.panel-title { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin:-.2rem 0 1rem; padding-bottom:1rem; }.panel-title h2,.admin-panel h2 { font-size:1.45rem; }.panel-title span { color:var(--muted); font-family:var(--mono); font-size:.7rem; }
.record-list { display:grid; }.record-list a { border-bottom:1px solid var(--line); display:grid; gap:.25rem; grid-template-columns:120px 1fr; padding:1rem .25rem; }.record-list a:hover { background:rgba(255,255,255,.025); }.record-list a strong { grid-column:2; }.record-list a small { color:var(--muted); grid-column:2; }.status-chip { background:#26332f; color:#cbd3d0; display:inline-block; font-family:var(--mono); font-size:.65rem; letter-spacing:.04em; padding:.22rem .45rem; text-transform:uppercase; width:max-content; }.status-sent{background:#193644;color:#75cceb}.status-accepted{background:#173b29;color:#75e3a1}.status-changes_requested{background:#4a3420;color:#ffd18b}.status-revised{background:#343252;color:#bbb6ff}
.activity-list { list-style:none; margin:0; padding:0; }.activity-list li { border-bottom:1px solid var(--line); display:grid; padding:.85rem 0; }.activity-list span { color:var(--acid); font-family:var(--mono); font-size:.68rem; text-transform:uppercase; }.activity-list time { color:var(--muted); font-size:.72rem; }.empty-state { color:var(--muted); padding:3rem 1rem; text-align:center; }.empty-state a { color:var(--acid); }
.form-panel form,.proposal-builder,.mou-admin form,.comment-form { display:grid; gap:1rem; }.form-panel label,.proposal-builder label,.mou-admin label,.comment-form label,.acceptance-panel label,.mou-submit label { color:#aeb9b5; display:grid; font-family:var(--mono); font-size:.72rem; gap:.45rem; text-transform:uppercase; }
.form-panel input,.form-panel select,.form-panel textarea,.proposal-builder input,.proposal-builder select,.proposal-builder textarea,.mou-admin input,.mou-admin textarea,.comment-form input,.comment-form textarea,.acceptance-panel input,.mou-submit input { background:#091310; border:1px solid #3a4c46; color:white; padding:.8rem; resize:vertical; text-transform:none; }
.builder-section { background:#0e1c18; border:1px solid var(--line); display:grid; grid-template-columns:52px 1fr; padding:1.5rem; }.builder-index { align-items:center; background:var(--acid); border-radius:50%; color:var(--ink); display:flex; font-family:var(--mono); font-size:.75rem; height:28px; justify-content:center; width:28px; }.builder-content h2 { font-size:1.5rem; }.builder-content>p { color:var(--muted); }.form-grid { display:grid; gap:1rem; margin-top:1rem; }.form-grid.three { grid-template-columns:repeat(3,1fr); }.form-grid.two { grid-template-columns:1fr 1fr; }
.country-picker { display:grid; gap:.75rem; grid-template-columns:repeat(3,1fr); }.jurisdiction-card { background:#0a1714; border:1px solid var(--line); }.country-select,.service-picker label { cursor:pointer; display:block; position:relative; }.country-select>input,.service-picker input { opacity:0; position:absolute; }.country-select>span,.service-picker label>span { background:#10211c; border-bottom:1px solid var(--line); display:grid; gap:.25rem; min-height:86px; padding:.8rem; }.country-select>input:checked+span,.service-picker input:checked+span { border-color:var(--acid); box-shadow:inset 3px 0 0 var(--acid); }.country-picker b { color:var(--acid); font-family:var(--mono); font-size:.65rem; }.country-picker small,.service-picker small { color:var(--muted); font-family:var(--body); font-size:.72rem; text-transform:none; }.country-assumptions { display:grid; gap:.5rem; grid-template-columns:repeat(3,1fr); opacity:.35; padding:.7rem; transition:opacity .15s ease; }.jurisdiction-card.selected .country-assumptions { opacity:1; }.country-assumptions label { cursor:default; font-size:.6rem; }.country-assumptions input { min-width:0; padding:.55rem .45rem; width:100%; }.service-picker { display:grid; gap:.5rem; grid-template-columns:repeat(3,1fr); }.service-picker label>span { min-height:105px; }.invoice-preview { background:#07110f; border:1px solid var(--line); margin-top:1.5rem; padding:1rem; }.invoice-preview>header { align-items:end; display:flex; gap:1rem; justify-content:space-between; }.invoice-preview h3 { margin:.25rem 0 0; }.invoice-preview>header>small,.preview-lines>p { color:var(--muted); }.preview-lines { margin-top:1rem; }.preview-lines>div { gap:1rem; }.preview-lines b { color:var(--acid); text-align:right; }.live-estimate { align-items:end; border-top:1px solid var(--line); display:flex; gap:1rem; margin-top:1.5rem; padding-top:1.5rem; }.live-estimate span,.live-estimate small { color:var(--muted); }.live-estimate strong { color:var(--acid); font-family:var(--sans); font-size:2.2rem; margin-left:auto; }
.share-panel { align-items:center; background:var(--acid); color:var(--ink); display:flex; gap:1rem; justify-content:space-between; margin-bottom:2rem; padding:1rem 1.5rem; }.share-panel span { display:block; font-family:var(--mono); font-size:.66rem; text-transform:uppercase; }.share-panel strong { font-family:var(--mono); }.share-panel .button { border-color:var(--ink); color:var(--ink); }.share-actions { display:flex; gap:.6rem; }
.quote-lines { display:grid; }.quote-lines>div { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:1rem 0; }.quote-lines span { display:grid; }.quote-lines small { color:var(--muted); }.quote-lines b { font-family:var(--mono); font-weight:500; }.quote-lines .quote-total { border-top:2px solid var(--acid); color:var(--acid); font-size:1.2rem; }.detail-list { margin:0; }.detail-list div { border-bottom:1px solid var(--line); padding:.8rem 0; }.detail-list dt { color:var(--muted); font-family:var(--mono); font-size:.68rem; text-transform:uppercase; }.detail-list dd { margin:.25rem 0 0; }
.mou-admin form label { margin-top:1rem; }.change-requests { background:#132620; margin:1rem 0 2rem; padding:1rem; }.change-requests>article { align-items:flex-start; border-top:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:1rem 0; }.change-requests article>div { flex:1; }.change-requests article strong { margin-left:.65rem; }.change-requests button { background:transparent; border:0; color:var(--acid); cursor:pointer; white-space:nowrap; }.word-diff { margin-top:1rem; }.word-diff h3,.word-diff h4 { font-size:.72rem; letter-spacing:.05em; margin:0 0 .35rem; text-transform:uppercase; }.word-diff p { line-height:1.65; margin:0; }.word-diff del { background:#ffc9c9; color:#742323; padding:.1em .2em; }.word-diff mark { background:#ddfa72; color:#13210c; padding:.1em .2em; }.discussion { display:grid; gap:1rem; }.discussion article { background:#10211c; border-left:2px solid #63736d; padding:1rem; }.discussion .comment-customer { border-color:var(--acid); }.discussion article p { margin:.45rem 0; }.discussion time { color:var(--muted); font-family:var(--mono); font-size:.66rem; }

/* Private customer experience */
.customer-site { background:var(--paper); color:var(--ink); }.customer-header { align-items:center; background:#07110f; color:white; display:grid; grid-template-columns:auto 1fr auto; min-height:76px; padding:0 3vw; position:sticky; top:0; z-index:30; }.customer-header nav { display:flex; gap:clamp(1rem,2.5vw,2.5rem); justify-content:center; }.customer-header nav a { border-bottom:2px solid transparent; font-family:var(--mono); font-size:.7rem; padding:1.65rem 0; text-transform:uppercase; }.customer-header nav a.active { border-color:var(--acid); color:var(--acid); }.customer-room-link { border:1px solid var(--acid); display:grid; padding:.55rem .8rem; }.customer-room-link span { color:var(--muted); font-family:var(--mono); font-size:.56rem; text-transform:uppercase; }.customer-room-link strong { color:var(--acid); font-family:var(--mono); font-size:.68rem; text-transform:uppercase; }.customer-room-actions { align-items:center; display:flex; gap:1rem; }.customer-room-actions>a,.customer-room-actions button { background:transparent; border:0; color:var(--muted); cursor:pointer; font-family:var(--mono); font-size:.62rem; padding:0; text-transform:uppercase; }.customer-room-actions>a:hover,.customer-room-actions button:hover { color:var(--acid); }.customer-room-actions form { margin:0; }.customer-notice { background:#172a23; color:white; margin:0; }
.racing-hero { background:#07110f; color:white; min-height:710px; overflow:hidden; position:relative; }.racing-hero>img { height:100%; object-fit:cover; position:absolute; right:0; top:0; width:70%; }.racing-overlay { background:linear-gradient(90deg,#07110f 16%,rgba(7,17,15,.94) 42%,rgba(7,17,15,.35) 75%,rgba(7,17,15,.7)); inset:0; position:absolute; }.racing-copy { left:4vw; max-width:640px; position:absolute; top:14%; z-index:2; }.racing-copy h1 { font-size:clamp(4rem,6vw,7rem); }.racing-copy h1 strong { color:var(--acid); display:block; }.racing-copy>p:not(.eyebrow) { color:#d1d8d5; font-size:1.1rem; max-width:520px; }.live-racing-feed { background:rgba(5,14,12,.9); border:1px solid rgba(255,255,255,.22); bottom:5%; font-family:var(--mono); padding:.5rem; position:absolute; right:4vw; width:min(480px,35vw); z-index:3; }.race-feed-row { display:grid; font-size:.7rem; grid-template-columns:45px 1fr auto; padding:.4rem .7rem; }.race-feed-row:nth-child(odd){background:rgba(255,255,255,.04)}.race-feed-row em{color:var(--green);font-style:normal}.live-racing-feed pre { border-top:1px solid var(--line); color:#d6e1dc; font-size:.7rem; margin:.5rem 0 0; padding:.8rem; }.live-racing-feed code b{color:#79bcec}.live-racing-feed code q{color:var(--green)}.live-racing-feed code i{color:var(--acid);font-style:normal}
.private-data-story { background:#0a1714; color:white; display:grid; gap:3vw; grid-template-columns:.55fr 1.4fr .55fr; padding:5rem 4vw; }.private-data-story h2 { font-size:clamp(3rem,4vw,5rem); }.private-data-story>div:first-child>p:not(.section-index) { color:#b7c2be; }.private-data-story>div:first-child>a { border:1px solid #7c8b86; display:inline-block; font-family:var(--mono); font-size:.72rem; margin-top:2rem; padding:1rem; text-transform:uppercase; }.annotated-json { border:1px solid var(--line); display:grid; grid-template-columns:1.1fr .9fr; }.annotated-json pre { color:#8ee2b3; font-family:var(--mono); font-size:.72rem; margin:0; overflow:auto; padding:1.5rem; }.annotated-json ul { align-self:center; list-style:none; margin:0; padding:1.5rem; }.annotated-json li { border-top:1px solid var(--line); display:grid; padding:1rem 0; }.annotated-json li strong { font-family:var(--mono); font-size:.72rem; text-transform:uppercase; }.annotated-json li span { color:var(--muted); font-size:.78rem; }.use-cases article { border-top:1px solid var(--line); display:grid; padding:.8rem; }.use-cases article.active { border-left:3px solid var(--acid); }.use-cases strong { font-family:var(--mono); font-size:.76rem; text-transform:uppercase; }.use-cases span { color:var(--muted); font-size:.76rem; }
.customer-page { min-height:calc(100vh - 76px); padding:5rem 4vw; }.customer-page>header { display:grid; grid-template-columns:1fr .7fr; }.customer-page h1 { font-size:clamp(3.5rem,6vw,7rem); }.customer-page h1 strong { color:#8ca600; display:block; }.customer-page>header>p:last-child { color:var(--muted-dark); font-size:1.1rem; max-width:500px; }.coverage-tabs { border-bottom:1px solid var(--line-light); display:flex; gap:2rem; margin-top:4rem; overflow:auto; }.coverage-tabs button { background:transparent; border:0; border-bottom:2px solid transparent; cursor:pointer; font-family:var(--mono); padding:1rem 0; white-space:nowrap; }.coverage-tabs button.active { border-color:var(--ink); }.coverage-panels article { display:none; grid-template-columns:.8fr .8fr 1fr; min-height:380px; padding:3rem 0; }.coverage-panels article.active { display:grid; }.coverage-panels h2 { font-size:4rem; }.coverage-panels dl { display:grid; grid-template-columns:1fr 1fr; margin:0; }.coverage-panels dl div { border-left:1px solid var(--line-light); padding:1rem; }.coverage-panels dt { color:var(--muted-dark); font-family:var(--mono); font-size:.7rem; text-transform:uppercase; }.coverage-panels dd { font-family:var(--sans); font-size:2rem; margin:.5rem 0; }.coverage-panels ul { list-style:none; margin:0; padding:0; }.coverage-panels li { border-top:1px solid var(--line-light); padding:.8rem; }
.docs-hero { background:#07110f; color:white; padding:4rem 4vw; }.docs-hero h1 { font-size:clamp(3.8rem,6vw,7rem); }.docs-hero h1 strong { color:var(--acid); display:block; }.docs-hero p:last-child { color:#c1cbc7; max-width:650px; }.docs-workspace { background:#0d1b18; color:white; display:grid; grid-template-columns:220px 1fr 340px; min-height:670px; }.docs-workspace>aside { border-right:1px solid var(--line); display:grid; align-content:start; padding:2rem 1rem; }.docs-workspace>aside>span { color:var(--acid); font-family:var(--mono); font-size:.68rem; margin-bottom:1rem; text-transform:uppercase; }.docs-workspace>aside>a { border-left:2px solid transparent; color:var(--muted); padding:.65rem 1rem; }.docs-workspace>aside>a.active { background:#152821; border-color:var(--acid); color:white; }.docs-workspace>main { padding:3rem; }.docs-workspace h2 { font-size:3rem; }.endpoint-path { align-items:center; border:1px solid var(--line); display:flex; font-family:var(--mono); margin:1.5rem 0; }.endpoint-path b { color:var(--acid); padding:1rem; }.endpoint-path code { color:#73bde9; }.endpoint-path button { background:transparent; border:0; color:white; cursor:pointer; margin-left:auto; padding:1rem; }.code-panel { border:1px solid var(--line); }.code-panel>div { border-bottom:1px solid var(--line); display:flex; gap:2rem; padding:.8rem 1rem; }.code-panel span { color:var(--muted); font-family:var(--mono); font-size:.68rem; }.code-panel span.active { color:var(--acid); }.code-panel pre { color:#8ee2b3; font-size:.76rem; margin:0; min-height:340px; overflow:auto; padding:1.5rem; }.docs-workspace .endpoint-details { border-left:1px solid var(--line); border-right:0; }.endpoint-details section { border-bottom:1px solid var(--line); padding:1rem; }.endpoint-details h3 { font-family:var(--mono); font-size:.72rem; text-transform:uppercase; }.endpoint-details dl div,.endpoint-details p { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; margin:0; padding:.7rem 0; }.endpoint-details dt,.endpoint-details p strong { color:var(--muted); font-family:var(--mono); font-size:.66rem; }.endpoint-details dd,.endpoint-details p span { font-family:var(--mono); font-size:.66rem; margin:0; }.endpoint-details p small { color:var(--muted); grid-column:1/-1; margin-top:.35rem; }
.proposal-document { background:var(--paper-bright); margin:3rem auto; max-width:1180px; min-height:700px; padding:clamp(2rem,5vw,5rem); }.proposal-document>header { align-items:start; border-bottom:2px solid var(--ink); display:flex; justify-content:space-between; padding-bottom:2rem; }.proposal-document h1 { font-size:clamp(3rem,6vw,6rem); }.proposal-document>header dl { display:grid; gap:.7rem; margin:0; min-width:260px; }.proposal-document>header dl div { display:flex; justify-content:space-between; }.proposal-document dt { color:var(--muted-dark); font-family:var(--mono); font-size:.68rem; text-transform:uppercase; }.proposal-document dd { margin:0; }.proposal-intro { display:grid; grid-template-columns:1fr 1fr; padding:4rem 0; }.proposal-intro h2,.included-services h2,.acceptance-panel h2 { font-size:clamp(2rem,4vw,4rem); }.proposal-intro p { color:var(--muted-dark); }.customer-lines>div { border-color:var(--line-light); padding:1.2rem 0; }.customer-lines small { color:var(--muted-dark); }.customer-lines .quote-total { border-color:var(--ink); color:var(--ink); font-size:1.5rem; }.discount-line b { color:#8ca600; }.included-services { border-top:1px solid var(--line-light); margin-top:4rem; padding-top:3rem; }.included-services>div { display:grid; grid-template-columns:repeat(3,1fr); }.included-services article { border-left:1px solid var(--line-light); padding:1.5rem; }.included-services article span { color:var(--muted-dark); font-family:var(--mono); font-size:.68rem; }.included-services article h3 { font-size:1.5rem; margin:2rem 0 1rem; }.included-services article p { color:var(--muted-dark); }.acceptance-panel { background:#07110f; color:white; display:grid; gap:4rem; grid-template-columns:.8fr 1.2fr; margin:5rem -5rem -5rem; padding:4rem 5rem; }.acceptance-panel form { display:grid; gap:1rem; }.acceptance-panel .check-label { align-items:start; display:grid; grid-template-columns:auto 1fr; }.accepted-panel { background:#173b29; color:white; margin-top:3rem; padding:2rem; }.accepted-panel strong { color:var(--acid); font-family:var(--sans); font-size:2rem; text-transform:uppercase; }
.mou-notice { background:#e9f7b7; border-left:3px solid #94ad19; margin:2rem 0; padding:1rem; }.customer-change-requests { border:1px solid var(--line-light); margin:2rem 0; padding:1.5rem; }.customer-change-requests>article+article { border-top:1px solid var(--line-light); margin-top:1.5rem; padding-top:1.5rem; }.customer-change-requests>article>span { color:#66736f; display:block; font-family:var(--mono); font-size:.68rem; margin-top:.3rem; text-transform:uppercase; }.mou-sections { display:grid; gap:1px; }.mou-sections label,.mou-sections article { border-top:1px solid var(--line-light); display:grid; gap:2rem; grid-template-columns:220px 1fr; padding:1.4rem 0; }.mou-sections label>span,.mou-sections article>span { font-family:var(--mono); font-size:.72rem; text-transform:uppercase; }.mou-sections textarea { background:white; border:1px solid #aeb6b1; color:var(--ink); font-family:var(--body); font-size:1rem; line-height:1.55; padding:1rem; resize:vertical; }.mou-sections article p { margin:0; }.mou-submit { align-items:end; background:#07110f; display:grid; gap:2rem; grid-template-columns:1fr auto; margin:2rem -5rem -5rem; padding:2rem 5rem; }.accepted-panel.pending { background:#eef2df; border-color:#a9b66b; }.accepted-panel a { color:inherit; font-weight:700; }.discussion-page>.discussion { margin:3rem 0; }.discussion-page .comment-customer { background:#edf4d4; border-color:#8da70a; }.discussion-page .comment-admin { background:#e5eeeb; border-color:#193b32; }.customer-footer { background:#07110f; color:var(--muted); display:flex; font-family:var(--mono); font-size:.7rem; justify-content:space-between; padding:1.25rem 3vw; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns:1fr auto; }.site-nav,.status { display:none; }.overview-section,.access-explanation,.dataset-section,.capability-section,.integration-section,.delivery-section,.process-section { grid-template-columns:1fr; }.dataset-grid,.capability-grid,.process-grid { margin-top:2rem; }.process-grid { grid-template-columns:1fr 1fr; }.principle-list { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; }
  .dashboard-metrics { grid-template-columns:repeat(3,1fr); }.country-picker { grid-template-columns:repeat(2,1fr); }.customer-header { grid-template-columns:auto 1fr; }.customer-header nav { grid-column:1/-1; justify-content:flex-start; overflow:auto; order:3; }.customer-room-link,.customer-room-actions { justify-self:end; }.private-data-story { grid-template-columns:1fr; }.docs-workspace { grid-template-columns:180px 1fr; }.docs-workspace .endpoint-details { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); }.live-racing-feed { width:42vw; }
}
@media (max-width: 720px) {
  .overview-columns { grid-template-columns:1fr; gap:1.4rem; }
  .site-header { padding:0 1rem; }.header-actions .button { display:none; }.menu-button { display:block; }.site-header.menu-open .site-nav { background:var(--ink); display:flex; flex-direction:column; grid-column:1/-1; padding:1rem 0 2rem; }
  .public-hero { min-height:auto; padding:3rem 1.25rem; }.public-hero::before { background-position:65% center; }.hero h1 { font-size:3.75rem; }.metric-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.metric-row dt { font-size:1.4rem; }
  .public-site .light-section,.public-site .dark-section,.public-site .contact-section { padding-block:2.5rem; }
  .public-site .dataset-card,.public-site .capability-card,.public-site .integration-grid article,.public-site .process-grid article { min-height:0; }
  .light-section,.dark-section,.contact-section { padding:4rem 1.25rem; }.editorial-copy { columns:1; }.dataset-grid,.capability-grid,.integration-grid,.process-grid { grid-template-columns:1fr; }.dataset-card,.capability-card,.process-grid article { min-height:auto; padding:1.5rem 0; }.dataset-card h3,.capability-card h3,.process-grid h3 { margin:2rem 0 1rem; }.company-section,.contact-section { display:block; }.contact-section>div:last-child { border-left:0; border-top:1px solid var(--line); margin-top:2rem; padding:2rem 0 0; }.principle-list { grid-template-columns:1fr; }.site-footer { align-items:flex-start; flex-direction:column; gap:.6rem; }
  .admin-sidebar { position:static; width:auto; }.admin-sidebar nav { grid-template-columns:repeat(3,1fr); margin-top:1rem; }.admin-sidebar form { display:none; }.admin-main { margin:0; padding:2rem 1rem; }.admin-heading { align-items:flex-start; flex-direction:column; }.dashboard-metrics { grid-template-columns:1fr 1fr; }.admin-columns,.admin-columns.wide-left { grid-template-columns:1fr; }.builder-section { grid-template-columns:36px 1fr; padding:1rem; }.country-picker,.service-picker,.form-grid.three,.form-grid.two { grid-template-columns:1fr; }.live-estimate { align-items:flex-start; flex-direction:column; }.live-estimate strong { margin:0; }.share-panel { align-items:flex-start; flex-direction:column; }.share-actions { flex-wrap:wrap; }
  .customer-header { padding:1rem; }.customer-header nav { gap:1.2rem; }.customer-header nav a { padding:1rem 0; }.customer-room-link span { display:none; }.customer-room-actions { gap:.6rem; }.racing-hero { min-height:860px; }.racing-hero>img { height:45%; top:0; width:100%; }.racing-overlay { background:linear-gradient(0deg,#07110f 45%,rgba(7,17,15,.2)); }.racing-copy { left:1.25rem; right:1.25rem; top:35%; }.racing-copy h1 { font-size:3.6rem; }.live-racing-feed { bottom:1rem; left:1.25rem; right:1.25rem; width:auto; }.private-data-story { padding:4rem 1.25rem; }.annotated-json { grid-template-columns:1fr; }.customer-page { padding:3rem 1.25rem; }.customer-page>header,.coverage-panels article { grid-template-columns:1fr; }.coverage-panels dl { margin:2rem 0; }.docs-workspace { display:block; }.docs-workspace>aside { display:flex; overflow:auto; }.docs-workspace>main { padding:2rem 1rem; }.docs-workspace .endpoint-details { display:block; }.proposal-document { margin:0; padding:2rem 1.25rem; }.proposal-document>header,.proposal-intro { display:block; }.proposal-document>header dl { margin-top:2rem; }.included-services>div { grid-template-columns:1fr; }.acceptance-panel { display:block; margin:3rem -1.25rem -2rem; padding:2rem 1.25rem; }.mou-sections label,.mou-sections article { grid-template-columns:1fr; gap:.5rem; }.mou-submit { display:block; margin:2rem -1.25rem -2rem; padding:2rem 1.25rem; }.mou-submit .button { margin-top:1rem; }.customer-footer { align-items:flex-start; flex-direction:column; gap:.5rem; }
}
