/* СОВЕСТЬ · Sovest — shared design layer. Dark, serious, "civilizational frame". No external assets. */
:root{
  --bg:#07080b; --bg2:#0c0e13; --panel:#101319; --panel2:#141822;
  --ink:#eef1f6; --mut:#9aa3b2; --dim:#69707e; --line:#1e2430;
  --gold:#d9b26a; --acc:#6ea8fe; --grn:#5fce9a; --amb:#e0a758; --red:#e06a6a;
  --mono:ui-monospace,"SF Mono",Menlo,"Cascadia Code",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.mono{font-family:var(--mono)}
::selection{background:var(--gold);color:#000}

/* nav */
nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);
  background:rgba(7,8,11,.72);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:24px;height:60px}
.brand{font-weight:700;letter-spacing:.14em;font-size:14px}
.brand b{color:var(--gold)}
nav .sp{flex:1}
nav a.link{color:var(--mut);font-size:13.5px;letter-spacing:.02em}
nav a.link:hover{color:var(--ink)}
nav a.link.on{color:var(--ink)}
@media(max-width:760px){nav a.link.hideable{display:none}}

/* hero */
header{position:relative;padding:92px 0 70px;overflow:hidden}
header.short{padding:74px 0 40px}
header::before{content:"";position:absolute;inset:-30% -10% auto -10%;height:70%;
  background:radial-gradient(60% 100% at 50% 0,rgba(110,168,254,.10),transparent 70%),
             radial-gradient(40% 80% at 80% 10%,rgba(217,178,106,.08),transparent 70%);
  filter:blur(8px);pointer-events:none}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);
  background:var(--panel);border-radius:100px;padding:6px 14px;font-size:12.5px;color:var(--mut);
  font-family:var(--mono)}
.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--amb);box-shadow:0 0 10px var(--amb)}
.chip .dot.grn{background:var(--grn);box-shadow:0 0 10px var(--grn)}
.chip .dot.dim{background:var(--dim);box-shadow:none}
h1{font-size:clamp(34px,6.2vw,68px);line-height:1.04;letter-spacing:-.02em;margin:22px 0 0;font-weight:700}
h1.sm{font-size:clamp(30px,5vw,52px)}
h1 .fade{color:var(--gold)}
.lede{font-size:clamp(17px,2.4vw,22px);color:var(--mut);max-width:660px;margin:22px 0 0}
.lede b{color:var(--ink);font-weight:600}
.kicker{font-family:var(--mono);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* grammar block */
.grammar{margin:40px 0 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,var(--panel),var(--bg2))}
.grammar .row{display:grid;grid-template-columns:120px 1fr;gap:0;border-top:1px solid var(--line)}
.grammar .row:first-child{border-top:0}
.grammar .k{padding:16px 18px;font-family:var(--mono);font-size:13px;color:var(--gold);
  border-right:1px solid var(--line);display:flex;align-items:center;letter-spacing:.04em}
.grammar .v{padding:16px 18px}
.grammar .law{font-family:var(--mono);font-size:15px;color:var(--ink)}
.grammar .gloss{font-size:13.5px;color:var(--dim);margin-top:3px}
@media(max-width:560px){.grammar .row{grid-template-columns:92px 1fr}.grammar .law{font-size:13px}}

/* sections */
section{padding:64px 0;border-top:1px solid var(--line)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
h2{font-size:clamp(24px,3.6vw,36px);letter-spacing:-.01em;margin:12px 0 0;font-weight:700}
.sub{color:var(--mut);max-width:700px;margin:14px 0 0;font-size:16px}
.sub b{color:var(--ink)}

/* two-box turn */
.turn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
@media(max-width:680px){.turn{grid-template-columns:1fr}}
.turn .box{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--panel)}
.turn .box.old{opacity:.72}
.turn .box .tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.turn .box.now .tag{color:var(--gold)}
.turn .box pre{margin:12px 0 0;font-family:var(--mono);font-size:14px;color:var(--ink);white-space:pre-wrap;line-height:1.7}
.turn .box.old pre{color:var(--mut)}

/* cards grid */
.dirs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}
@media(max-width:680px){.dirs{grid-template-columns:1fr}}
.card{position:relative;border:1px solid var(--line);border-radius:16px;padding:24px;
  background:linear-gradient(180deg,var(--panel),var(--bg2));transition:.2s border-color,.2s transform}
.card:hover{border-color:#2b3446;transform:translateY(-2px)}
.card.link-card{cursor:pointer}
.card .idx{font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.1em}
.card h3{margin:8px 0 0;font-size:20px;font-weight:700}
.card h3 .en{display:block;font-size:12.5px;color:var(--dim);font-weight:500;font-family:var(--mono);margin-top:2px;letter-spacing:.02em}
.card p{color:var(--mut);font-size:14.5px;margin:12px 0 0}
.card .pain{margin-top:14px;font-size:12.5px;color:var(--dim);font-family:var(--mono);border-top:1px dashed var(--line);padding-top:12px}
.card .pain b{color:var(--amb);font-weight:500}
.card.first{grid-column:1/-1;border-color:#2c3448}
.card .go{margin-top:14px;font-family:var(--mono);font-size:12.5px;color:var(--acc)}

/* status badges */
.badge{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border-radius:6px;border:1px solid var(--line);color:var(--dim);margin-left:8px;vertical-align:middle}
.badge.frame{color:var(--dim)}
.badge.build{color:var(--amb);border-color:#3a2f1c}
.badge.beta{color:var(--grn);border-color:#1c3a2b}

/* organ rows */
.organs{margin-top:30px;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.organs .o{display:grid;grid-template-columns:150px 1fr;gap:0;border-top:1px solid var(--line)}
.organs .o:first-child{border-top:0}
.organs .o .n{padding:15px 18px;font-weight:700;font-size:15px;border-right:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.organs .o .n .en{font-family:var(--mono);font-size:11px;color:var(--dim);font-weight:400}
.organs .o .d{padding:15px 18px;color:var(--mut);font-size:14px;display:flex;align-items:center}
@media(max-width:560px){.organs .o{grid-template-columns:110px 1fr}.organs .o .d{font-size:13px}}

/* flow */
.flow{margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:var(--bg2)}
.flow .step{display:flex;gap:14px;padding:7px 0;font-size:14px;align-items:baseline}
.flow .step .a{font-family:var(--mono);color:var(--acc);min-width:78px;font-size:13px}
.flow .step .b{color:var(--mut)}
.flow .out{margin-top:12px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--mono);
  font-size:14px;color:var(--grn)}

/* honest status */
.status-band{background:linear-gradient(180deg,#0b0d12,#090a0e)}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
@media(max-width:680px){.statgrid{grid-template-columns:1fr}}
.stat{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--panel)}
.stat .lvl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.stat .lvl.w{color:var(--grn)} .stat .lvl.s{color:var(--amb)} .stat .lvl.p{color:var(--dim)}
.stat h4{margin:8px 0 0;font-size:15px}
.stat p{color:var(--mut);font-size:13.5px;margin:8px 0 0}

/* domain map */
.dommap{margin-top:28px;font-family:var(--mono);font-size:13.5px;border:1px solid var(--line);
  border-radius:14px;background:var(--bg2);padding:20px 22px;color:var(--mut);overflow-x:auto}
.dommap .d{padding:3px 0;white-space:nowrap}
.dommap .d b{color:var(--gold);font-weight:400}
.dommap .d span{color:var(--dim)}

/* generic prose list */
.plist{margin-top:22px;display:grid;gap:10px}
.plist .li{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel);color:var(--mut);font-size:14.5px}
.plist .li b{color:var(--ink);font-weight:600}

/* callout */
.callout{margin-top:26px;border:1px solid #3a2f1c;border-left:3px solid var(--amb);border-radius:12px;
  padding:18px 20px;background:rgba(224,167,88,.05);color:var(--mut);font-size:14.5px}
.callout b{color:var(--amb)}

/* CTA row */
.cta{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.btn{border:1px solid var(--line);border-radius:10px;padding:11px 18px;font-size:14px;color:var(--ink);
  background:var(--panel);transition:.15s border-color}
.btn:hover{border-color:#33405a}
.btn.gold{border-color:#4a3d20;color:var(--gold)}

footer{border-top:1px solid var(--line);padding:44px 0 60px;color:var(--dim);font-size:13px}
footer .law{font-family:var(--mono);color:var(--mut);font-size:13px;margin-top:10px}
footer b{color:var(--gold);font-weight:400}
footer a.link{color:var(--mut)} footer a.link:hover{color:var(--ink)}
footer .foot-nav{margin-top:16px;display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
