:root{
  color-scheme: light dark;
  --bg:#fcfbf9; --fg:#1e1e1e; --muted:#6f6f6f; --rule:#e6e2dc; --card:#ffffff;
  --accent:#b4532a;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#151515; --fg:#e8e6e3; --muted:#9a9793; --rule:#2b2b2b; --card:#1c1c1c; --accent:#e08a5f; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:48px 22px 72px}

/* hero */
.hero{display:flex;gap:32px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.hero img{width:220px;height:220px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  box-shadow:0 1px 2px rgba(0,0,0,.12), 0 8px 24px rgba(0,0,0,.08)}
.hero .id{min-width:240px;flex:1}
h1{font-size:2rem;line-height:1.2;margin:0 0 6px;font-weight:650;letter-spacing:-.02em}
.role{color:var(--muted);font-size:.95rem;margin:0 0 10px}
.lead{margin:0;font-size:1.02rem}

nav.lang{font-size:.86rem;color:var(--muted);white-space:nowrap}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:26px}
nav.lang a{color:inherit;text-decoration:none;padding:2px 7px;border-radius:5px}
nav.lang a[aria-current]{color:var(--fg);font-weight:600}
nav.lang a:hover{background:var(--rule)}

h2{font-size:1.12rem;margin:46px 0 6px;font-weight:650;letter-spacing:-.01em}
h2 + p, h2 + .sec-lead{margin-top:0}
.sec-lead{color:var(--muted);font-size:.93rem;margin:0 0 20px}
p{margin:0 0 15px}
section > p:last-child{margin-bottom:0}

.grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:620px){.grid{grid-template-columns:1fr 1fr}}
.item{display:flex;gap:13px;background:var(--card);border:1px solid var(--rule);
  border-radius:12px;padding:15px 16px}
.item .ico{flex:0 0 26px;color:var(--accent);margin-top:2px}
.item h3{margin:0 0 4px;font-size:.99rem;font-weight:620}
.item p{margin:0;font-size:.92rem;color:var(--muted);line-height:1.6}
.item.wide{grid-column:1/-1}

ul.plain{list-style:none;margin:0;padding:0;display:grid;gap:9px}
@media (min-width:620px){ul.plain{grid-template-columns:1fr 1fr;gap:9px 26px}}
ul.plain li{display:flex;gap:10px;font-size:.97rem}
ul.plain li span.k{color:var(--muted);flex:0 0 18px;text-align:center}

form.contact{display:grid;gap:11px;margin:18px 0 0;max-width:470px}
form.contact label{font-size:.86rem;color:var(--fg);opacity:.72;display:block;margin-bottom:4px}
form.contact input,form.contact textarea{width:100%;padding:9px 11px;font:inherit;font-size:.95rem;
  color:var(--fg);background:var(--card);border:1px solid var(--rule);border-radius:9px}
form.contact textarea{min-height:118px;resize:vertical}
form.contact button{justify-self:start;padding:9px 20px;font:inherit;font-size:.92rem;
  border:1px solid var(--rule);border-radius:9px;background:var(--fg);color:var(--bg);cursor:not-allowed;opacity:.5}
.hp{position:absolute;left:-9999px}
footer{color:var(--muted);font-size:.8rem;margin-top:60px;border-top:1px solid var(--rule);padding-top:14px}
a{color:var(--accent)}
.draft{display:inline-block;font-size:.78rem;color:var(--muted);border:1px dashed var(--rule);
  border-radius:6px;padding:2px 8px}

@media (max-width:520px){.hero{gap:18px}.hero img{width:168px;height:168px}}

.mark{font-size:.82rem;color:var(--muted);letter-spacing:.02em}

.form-status{font-size:.9rem;margin:4px 0 0;min-height:1.2em;color:var(--muted)}
.form-status.ok{color:#2f7d4f}
.form-status.err{color:#b3452a}
@media (prefers-color-scheme:dark){.form-status.ok{color:#79c39a}.form-status.err{color:#e0896a}}
