/* Cadive · shared styling for entity + knowledge (document) pages.
   Minimalist editorial. Silver on cool charcoal. Matches the brand tokens. */
:root{
  --bg:#0A0B0D; --panel:#121419; --hair:#272B31;
  --silver:#C8CDD4; --silver-hi:#EEF1F5; --steel:#5A616B;
  --fg:#D7DBE0; --ghost-1:#8B919B; --ghost-2:#474C55; --ghost-3:#22262C;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:"General Sans","Helvetica Neue",Arial,sans-serif;
  font-size:17px; line-height:1.72; -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(120% 80% at 50% -10%, rgba(120,130,145,.06), transparent 60%);
}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.wrap{max-width:760px; margin:0 auto; padding:0 clamp(1.2rem,5vw,2rem)}

/* top bar */
.docbar{position:sticky; top:0; z-index:10; background:rgba(10,11,13,.72); backdrop-filter:blur(10px); border-bottom:1px solid var(--ghost-3)}
.docbar .wrap{display:flex; align-items:center; justify-content:space-between; height:60px}
.brand{display:inline-flex; align-items:center; gap:11px; color:var(--silver); text-decoration:none}
.brand svg{width:19px; height:19px}
.brand .nm{font-family:"JetBrains Mono",monospace; font-size:.74rem; letter-spacing:.26em; font-weight:500}
.docbar nav{display:flex; gap:1.3rem}
.docbar nav a{font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ghost-1); text-decoration:none; transition:color .2s}
.docbar nav a:hover{color:var(--silver-hi)}

/* layout */
main{padding:clamp(2.6rem,7vw,5rem) 0 1rem}
.breadcrumb{font-family:"JetBrains Mono",monospace; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ghost-2); margin-bottom:1.6rem}
.breadcrumb a{color:var(--ghost-1); text-decoration:none}
.breadcrumb a:hover{color:var(--silver)}
.eyebrow{font-family:"JetBrains Mono",monospace; font-size:.66rem; letter-spacing:.3em; text-transform:uppercase; color:var(--silver); margin-bottom:1.1rem}
h1{font-weight:600; font-size:clamp(2rem,5.5vw,3.3rem); line-height:1.04; letter-spacing:-.035em; color:var(--silver-hi); margin:0 0 1rem}
h2{font-weight:600; font-size:clamp(1.4rem,3.4vw,2rem); line-height:1.1; letter-spacing:-.025em; color:var(--silver-hi); margin:2.8rem 0 .9rem}
h3{font-weight:600; font-size:1.12rem; letter-spacing:-.01em; color:var(--silver); margin:1.8rem 0 .5rem}
p{margin:0 0 1.1rem; color:var(--fg)}
.lead{font-size:clamp(1.1rem,2.4vw,1.3rem); line-height:1.55; color:var(--silver); font-weight:400; margin-bottom:1.6rem}
a{color:var(--silver-hi); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--ghost-2); transition:text-decoration-color .2s}
a:hover{text-decoration-color:var(--silver)}
strong{color:var(--silver-hi); font-weight:600}
ul,ol{margin:0 0 1.2rem; padding-left:1.2rem; color:var(--fg)}
li{margin:.35rem 0}
hr{border:0; border-top:1px solid var(--ghost-3); margin:2.6rem 0}
blockquote{margin:1.6rem 0; padding:.2rem 0 .2rem 1.3rem; border-left:2px solid var(--steel); color:var(--silver); font-size:1.08rem}
code{font-family:"JetBrains Mono",monospace; font-size:.86em; background:var(--panel); border:1px solid var(--ghost-3); border-radius:4px; padding:.08em .4em; color:var(--silver-hi)}

/* definition / answer-first callout */
.answer{background:var(--panel); border:1px solid var(--ghost-3); border-radius:14px; padding:clamp(1.2rem,3vw,1.6rem); margin:0 0 2rem}
.answer .label{display:block; font-family:"JetBrains Mono",monospace; font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ghost-1); margin-bottom:.6rem}
.answer p:last-child{margin-bottom:0}

/* FAQ */
.faq{border-top:1px solid var(--ghost-3); margin-top:1rem}
.faq .qa{padding:1.3rem 0; border-bottom:1px solid var(--ghost-3)}
.faq .q{font-weight:600; color:var(--silver-hi); margin:0 0 .5rem; font-size:1.05rem; line-height:1.35}
.faq .a{margin:0; color:var(--ghost-1)}

/* notice (disambiguation) */
.notice{background:#0d0f13; border:1px solid var(--hair); border-left:3px solid var(--steel); border-radius:10px; padding:clamp(1.2rem,3vw,1.7rem); margin:1.6rem 0; font-size:.97rem; color:var(--ghost-1)}
.notice b{color:var(--silver)}

/* dl key-facts */
.facts{display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid var(--ghost-3); margin:1.4rem 0}
.facts .row{display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--ghost-3); font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase}
.facts .row span{color:var(--ghost-1)} .facts .row b{color:var(--silver); font-weight:500; text-align:right}

/* card list (hub) */
.cards{display:grid; gap:1px; background:var(--ghost-3); border:1px solid var(--ghost-3); border-radius:14px; overflow:hidden; margin:2rem 0}
.card{display:block; background:var(--bg); padding:clamp(1.3rem,3vw,1.8rem); text-decoration:none; transition:background .2s}
.card:hover{background:var(--panel)}
.card .k{font-family:"JetBrains Mono",monospace; font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ghost-1)}
.card h3{margin:.5rem 0 .4rem; color:var(--silver-hi)}
.card p{margin:0; color:var(--ghost-1); font-size:.96rem}

/* footer */
.docfoot{border-top:1px solid var(--ghost-3); margin-top:3.5rem; padding:2.2rem 0 3rem}
.docfoot .wrap{display:flex; flex-wrap:wrap; gap:1rem 1.6rem; align-items:center; justify-content:space-between}
.docfoot, .docfoot a{font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.14em; color:var(--ghost-1)}
.docfoot a{color:var(--ghost-1); text-decoration:none}
.docfoot a:hover{color:var(--silver)}
.docfoot .creed{width:100%; color:var(--ghost-2); letter-spacing:.1em; line-height:1.7}

/* comparison table */
.ctable{width:100%; border-collapse:collapse; margin:1.6rem 0; font-size:.92rem}
.ctable th,.ctable td{text-align:left; padding:.75rem .8rem; border-bottom:1px solid var(--ghost-3); vertical-align:top}
.ctable thead th{font-family:"JetBrains Mono",monospace; font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--silver); border-bottom:1px solid var(--steel)}
.ctable tbody th{font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ghost-1); font-weight:500; white-space:nowrap}
.ctable td{color:var(--fg)}
.ctable-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch}

/* definition list (glossary) */
.terms{border-top:1px solid var(--ghost-3); margin:1.6rem 0}
.terms .term{padding:1.2rem 0; border-bottom:1px solid var(--ghost-3)}
.terms dt{font-weight:600; color:var(--silver-hi); font-size:1.05rem; margin-bottom:.4rem}
.terms dd{margin:0; color:var(--ghost-1)}

/* services stage block */
.stage{padding:1.6rem 0; border-bottom:1px solid var(--ghost-3); display:grid; grid-template-columns:1fr; gap:.5rem}
.stage .sn{font-family:"JetBrains Mono",monospace; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ghost-2)}
.stage h3{margin:.2rem 0 .3rem}
.stage ul{margin:.4rem 0 0}
@media(min-width:760px){ .stage{grid-template-columns:minmax(0,.5fr) minmax(0,1fr); gap:1.6rem} }

/* article byline */
.byline{font-family:"JetBrains Mono",monospace; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ghost-1); margin:-.2rem 0 1.8rem}
.byline a{color:var(--silver); text-decoration:none}
.byline a:hover{color:var(--silver-hi)}

/* related reading mesh */
.related{margin-top:2.6rem; padding-top:1.6rem; border-top:1px solid var(--ghost-3)}
.related .rl{font-family:"JetBrains Mono",monospace; font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ghost-2); margin:0 0 .9rem}
.related ul{list-style:none; padding:0; margin:0; display:grid; gap:.6rem}
.related li{margin:0}
.related a{color:var(--silver); text-decoration:none; font-weight:500}
.related a:hover{color:var(--silver-hi); text-decoration:underline; text-underline-offset:3px}

@media(max-width:540px){ .docbar nav{gap:.9rem} .facts .row{font-size:.56rem} }
