/* Technical pages: a documentation layout on the marketing site's palette.
   Everything here is scoped to `body.docs` so the landing page is untouched. */

.docs-main{display:grid;grid-template-columns:230px minmax(0,1fr);gap:70px;align-items:start;padding:60px 0 40px}

.docs-toc{position:sticky;top:104px}
.docs-toc .kicker{display:block;margin-bottom:14px}
.docs-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.docs-toc li{counter-increment:toc}
.docs-toc a{display:block;padding:7px 0 7px 26px;position:relative;font-size:13px;color:#8598ac;border-left:1px solid #1b2c42;transition:.15s ease}
.docs-toc a:before{content:counter(toc,decimal-leading-zero);position:absolute;left:10px;font:500 9px/2.2 'JetBrains Mono',monospace;color:#41597230}
.docs-toc a:hover{color:#dce7f3;border-left-color:#4ea5ff}

.nav a.current{color:#fff;position:relative}
.nav a.current:after{content:'';position:absolute;left:0;right:0;bottom:-27px;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet))}

.docs-body{max-width:820px}
.docs-hero{padding-bottom:26px;border-bottom:1px solid #16293d;margin-bottom:14px}
.docs-hero h1{font-size:clamp(38px,4.4vw,58px);margin:18px 0 20px}
.docs-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:26px;color:#73879c;font-size:12px}
.docs-meta i{width:3px;height:3px;border-radius:50%;background:#52667c}

.docs-body section{padding-top:64px}
.docs-body h2{font-size:clamp(27px,3vw,34px);line-height:1.15;letter-spacing:-.035em;margin:0 0 18px;scroll-margin-top:96px}
.docs-body h3{font-size:17px;margin:40px 0 12px}
.docs-body p{color:#a0b1c3;font-size:15.5px}
.docs-body code{padding:2px 6px;border-radius:5px;background:#0c1c2d;border:1px solid #1b2f46;color:#8fc5ff;font:500 12.5px 'JetBrains Mono',monospace}

.bullets{list-style:none;padding:0;margin:22px 0}
.bullets li{position:relative;padding:9px 0 9px 24px;color:#a0b1c3;font-size:15px;border-top:1px solid #142639}
.bullets li:first-child{border-top:0}
.bullets li:before{content:'';position:absolute;left:2px;top:18px;width:6px;height:6px;border-radius:2px;background:linear-gradient(135deg,var(--blue),var(--violet))}
.bullets b{color:#dfe9f4}

.callout{margin:30px 0 0;padding:20px 22px;border:1px solid #23405f;border-left:3px solid var(--blue);border-radius:10px;background:rgba(17,40,66,.42)}
.callout b{display:block;margin-bottom:6px;font:600 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:#8fc5ff}
.callout p{margin:0;font-size:14.5px}

.note{padding-left:16px;border-left:2px solid #23405f;color:#8397aa;font-size:14.5px}

.wide-diagram{margin:30px 0 10px}
.wide-diagram .node small{line-height:1.4}

.spec-table{margin:26px 0 0;border:1px solid #1b2c40;border-radius:12px;overflow:hidden}
.spec-row{display:grid;grid-template-columns:1fr 1.75fr 1.25fr;gap:18px;padding:14px 18px;border-top:1px solid #16293d;font-size:14px;color:#9db0c3}
.spec-row:first-child{border-top:0}
.spec-head{background:#0a1725;color:#61788f;font:600 10px/1.5 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.spec-row span:first-child{color:#dbe6f2}
.spec-row b{color:#dbe6f2}
.spec-table .spec-row:nth-child(even){background:rgba(9,22,37,.55)}
.object-table .spec-row{grid-template-columns:1fr 2fr 1.1fr}
.object-table .spec-row span:last-child{font:500 12px 'JetBrains Mono',monospace;color:#6f8aa4}
#requirements .spec-row{grid-template-columns:1fr 2.4fr}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:28px 0;background:#1b2c40;border:1px solid #1b2c40;border-radius:12px;overflow:hidden}
.stat-grid>div{padding:20px;background:#091625;text-align:center}
.stat-grid b{display:block;font-size:26px;letter-spacing:-.03em;background:linear-gradient(90deg,#86c9ff,#9c90ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-grid small{display:block;margin-top:5px;color:#61788f;font:600 10px/1.4 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}

.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.flow article{padding:24px;border:1px solid #1e3149;border-radius:12px;background:#091625}
.flow .step{font:600 10px 'JetBrains Mono',monospace;letter-spacing:.12em;color:#4f9eea}
.flow h3{margin:12px 0 8px;font-size:17px}
.flow p{font-size:13.5px;color:#8397aa;margin-bottom:14px}
.flow code{display:block;padding:9px 10px;font-size:11px;overflow-x:auto;white-space:nowrap}

.docs-grid{margin-top:28px}
.docs-grid article{min-height:auto;padding:26px}
.docs-grid .icon{margin-bottom:18px}
.docs-grid b{color:#8fc5ff;font-weight:600}

.edition-split{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
.edition-split article{padding:28px;border:1px solid #21364d;border-radius:14px;background:#091625}
.edition-split article.featured{border-color:#3d63a2;background:linear-gradient(180deg,rgba(33,65,108,.26),#091625)}
.edition-split h3{margin:12px 0 4px;font-size:19px}
.edition-split ul{list-style:none;padding:0;margin:18px 0 0}
.edition-split li{padding:9px 0;border-top:1px solid #192c41;color:#bdcad7;font-size:13.5px}
.edition-split li:before{content:'✓';color:#62d7a0;margin-right:9px}

.docs-cta{margin-top:80px;padding-top:60px;border-top:1px solid #16293d}
.docs-cta h2{font-size:clamp(26px,3vw,36px);margin:14px 0 0}

@media(max-width:980px){
  .docs-main{grid-template-columns:1fr;gap:0;padding-top:40px}
  .docs-toc{position:static;margin-bottom:34px;padding-bottom:26px;border-bottom:1px solid #16293d}
  .docs-toc ol{display:flex;flex-wrap:wrap;gap:6px}
  .docs-toc a{border-left:0;padding:6px 12px;border:1px solid #1b2c42;border-radius:99px;font-size:12px}
  .docs-toc a:before{display:none}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .flow,.edition-split{grid-template-columns:1fr}
}

@media(max-width:720px){
  .spec-row{grid-template-columns:1fr;gap:6px}
  .spec-head{display:none}
  .spec-row span:first-child{color:#dbe6f2;font-weight:600}
  .object-table .spec-row,#requirements .spec-row{grid-template-columns:1fr}
  .docs-body h2{font-size:26px}
}

/* Edition comparison: three columns where the middle two are verdicts. */
.edition-table .spec-row{grid-template-columns:1.5fr 1fr 1.3fr}
.edition-table .yes{color:#bdcad7}
.edition-table .yes:before{content:'✓';color:#62d7a0;margin-right:8px}
.edition-table .part{color:#8397aa}
.edition-table .part:before{content:'·';color:#4f7ea8;margin-right:10px;font-weight:700}
.edition-table .no{color:#5b6f84}

.inline-link{border-bottom:1px solid #2a5a86}
.inline-link:hover{color:#bcdcff;border-bottom-color:#4ea5ff}

/* Install: a numbered sequence, because the order genuinely matters -
   the realm cannot be hardened before it exists. */
.steps{list-style:none;counter-reset:step;padding:0;margin:28px 0 0;display:grid;gap:14px}
.steps>li{counter-increment:step;position:relative;padding:22px 24px 22px 62px;border:1px solid #1e3149;border-radius:12px;background:#091625}
.steps>li:before{content:counter(step,decimal-leading-zero);position:absolute;left:22px;top:24px;font:600 12px/1 'JetBrains Mono',monospace;color:#4f9eea}
.steps h3{margin:0 0 8px;font-size:16px}
.steps p{font-size:14px;margin:0 0 12px}
.steps pre{margin:0;padding:14px 16px;border:1px solid #17293c;border-radius:9px;background:#050d17;overflow-x:auto}
.steps pre code{padding:0;border:0;background:none;color:#9fd0ff;font-size:12.5px;line-height:1.85;white-space:pre}

.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.paths article{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid #1e3149;border-radius:12px;background:#091625}
.paths h3{margin:0;font-size:16px}
.paths p{font-size:13.5px;color:#8397aa;margin:0;flex:1}
.path-label{font:600 10px 'JetBrains Mono',monospace;letter-spacing:.12em;color:#7dbdff}
.paths .inline-link{align-self:flex-start;font-size:13px;border-bottom:0}

@media(max-width:980px){.paths{grid-template-columns:1fr}}
@media(max-width:720px){.edition-table .spec-row{grid-template-columns:1fr}.steps>li{padding:20px 18px 20px 54px}}

/* Contact zone on the landing page. Loaded there too: one stylesheet for
   everything added after the original build. */
.contact-layout{display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:start}
.contact-copy h2{font-size:clamp(32px,3.6vw,46px);line-height:1.1;letter-spacing:-.04em;margin:16px 0 18px}
.contact-copy>p{color:var(--muted);font-size:16px}
.contact-paths{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:2px}
.contact-paths li{display:grid;gap:4px;padding:16px 0;border-top:1px solid #172a3e}
.contact-paths b{font-size:14px;color:#dfe9f4}
.contact-paths span{font-size:13.5px;color:#8397aa}
.contact-paths .inline-link{justify-self:start;font-size:13px;color:#8fc5ff;border-bottom:0}

.contact-form{padding:30px;border:1px solid #21364d;border-radius:16px;background:linear-gradient(180deg,rgba(33,65,108,.18),#091625);box-shadow:var(--shadow)}
.contact-form h3{margin:0 0 20px;font-size:19px}
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font:600 10px/1.4 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:#7f95ab}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid #22374f;border-radius:9px;background:#07131f;color:#e7eff8;font:400 14px/1.5 Inter,system-ui,sans-serif;transition:.15s ease}
.field textarea{resize:vertical;min-height:96px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:#4ea5ff;box-shadow:0 0 0 3px rgba(78,165,255,.16)}
.field input::placeholder,.field textarea::placeholder{color:#5d7189}
.field-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form button{margin-top:6px}
.contact-form button[disabled]{opacity:.6;cursor:progress}
.form-note{margin:14px 0 0;font-size:12px;color:#6f8499;line-height:1.6}
.form-note.is-sent{color:#6ad4a2}
.form-note.is-error{color:#ff9a8b}
.form-fallback{margin:8px 0 0;font-size:12px;color:#6f8499}

@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:40px}}
