/* pravitel.online — original stylesheet. No third-party resources, no web fonts. */

:root{
  color-scheme: light;

  --paper:#f6f5f2;
  --surface:#efece5;
  --soft:#e8e4da;
  --line:#ddd8cf;
  --line-strong:#c9c2b4;
  --ink:#14161a;
  --muted:#5c626d;
  --brand:#a4161a;
  --brand-dark:#7a1013;
  --brand-ink:#ffffff;
  --navy:#24405c;
  --olive:#5c6b3f;
  --sand:#b08442;
  --ok:#2f6b4f;

  --f-head:Georgia,"Iowan Old Style","Times New Roman",Times,serif;
  --f-body:Georgia,"Iowan Old Style",Cambria,"Times New Roman",Times,serif;
  --f-ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --maxw:1180px;
  --gap:clamp(24px,3.4vw,52px);
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:clamp(17px,0.98rem + 0.18vw,19px);
  line-height:1.66;
  overflow-wrap:break-word;
}

img,svg{max-width:100%;height:auto}

a{color:var(--brand-dark);text-underline-offset:2px}
a:hover{color:var(--brand)}
a:focus-visible,button:focus-visible{outline:3px solid var(--navy);outline-offset:2px}

h1,h2,h3,h4{font-family:var(--f-head);line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(1.85rem,1.35rem + 2.1vw,2.9rem);margin-bottom:.35em}
h2{font-size:clamp(1.4rem,1.15rem + 1.05vw,1.95rem);margin-top:2em;padding-top:.55em;border-top:1px solid var(--line)}
h3{font-size:clamp(1.12rem,1.02rem + .45vw,1.3rem);margin-top:1.7em}
h4{font-size:1.02rem;margin-top:1.4em}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.15em;padding-left:1.35em}
li{margin:0 0 .45em}
hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
small{font-size:.86em}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--soft);padding:.1em .35em;border-radius:3px}

.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:8px;top:8px;z-index:200;background:var(--brand);color:var(--brand-ink);padding:10px 14px;border-radius:var(--radius)}

.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- Disclosure bar (always first in the document body) ---------- */
.adbar{
  background:var(--brand);
  color:var(--brand-ink);
  font-family:var(--f-ui);
  font-size:.82rem;
  line-height:1.45;
  letter-spacing:.01em;
  padding:9px 0;
}
.adbar p{margin:0}
.adbar a{color:#fff;text-decoration:underline}
.adbar strong{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}

/* ---------- Masthead ---------- */
.masthead{background:var(--surface);border-bottom:1px solid var(--line)}
.masthead-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand svg{display:block;flex:0 0 auto}
.brand-name{font-family:var(--f-head);font-weight:700;font-size:1.32rem;letter-spacing:.01em}
.brand-sub{display:block;font-family:var(--f-ui);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:1px}
.mainnav{margin-left:auto;font-family:var(--f-ui);font-size:.88rem}
.mainnav ul{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;margin:0;padding:0}
.mainnav a{color:var(--muted);text-decoration:none;font-weight:600}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:var(--brand-dark);text-decoration:underline}

/* ---------- Layout ---------- */
.wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gap);padding-top:34px;padding-bottom:56px;align-items:start}
.wrap.solo{grid-template-columns:minmax(0,760px);justify-content:center}
main{min-width:0}
.rail{min-width:0;font-family:var(--f-ui);font-size:.92rem;position:sticky;top:16px}
@media (max-width:900px){
  .wrap{grid-template-columns:minmax(0,1fr)}
  .rail{position:static}
}

/* ---------- Article furniture ---------- */
.kicker{font-family:var(--f-ui);font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--brand);margin:0 0 10px}
.standfirst{font-size:1.12em;color:#2b3038;margin-bottom:1.2em}
.byline{font-family:var(--f-ui);font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:4px 16px}
.byline strong{color:var(--ink)}
.breadcrumb{font-family:var(--f-ui);font-size:.8rem;color:var(--muted);margin:0 0 14px}
.breadcrumb a{color:var(--muted)}

/* ---------- Disclosure box ---------- */
.disclosure{
  border:1px solid var(--brand);
  border-left-width:5px;
  background:#fbf3f3;
  border-radius:var(--radius);
  padding:16px 18px;
  margin:0 0 30px;
  font-family:var(--f-ui);
  font-size:.9rem;
  line-height:1.55;
}
.disclosure h2,.disclosure p:first-child strong{font-family:var(--f-ui)}
.disclosure .disclosure-title{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;color:var(--brand-dark);margin-bottom:7px}
.disclosure p{margin:0 0 .6em}
.disclosure p:last-child{margin-bottom:0}

/* ---------- Callouts ---------- */
.note{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius);padding:15px 18px;margin:0 0 1.4em;font-family:var(--f-ui);font-size:.92rem;line-height:1.55}
.note .note-title{display:block;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.note p:last-child{margin-bottom:0}
.note--warn{border-color:var(--sand);background:#fbf6ec}
.note--warn .note-title{color:#8a6220}

/* ---------- Figures ---------- */
figure{margin:1.9em 0;padding:0}
figure img,figure svg{display:block;width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf9}
figcaption{font-family:var(--f-ui);font-size:.82rem;line-height:1.5;color:var(--muted);margin-top:9px;border-left:3px solid var(--line-strong);padding-left:11px}
figcaption b{color:var(--ink)}

/* ---------- Tables ---------- */
.table-scroll{overflow-x:auto;margin:0 0 1.5em;border:1px solid var(--line);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;font-family:var(--f-ui);font-size:.9rem;background:#fffdf9}
caption{text-align:left;font-family:var(--f-ui);font-size:.82rem;color:var(--muted);padding:9px 12px;background:var(--surface);border-bottom:1px solid var(--line)}
th,td{text-align:left;padding:10px 13px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--soft);font-weight:700;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}

/* ---------- Calls to action ---------- */
.cta{margin:28px 0;padding:20px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}
.cta-lead{font-family:var(--f-ui);font-size:.95rem;margin:0 0 14px}
.btn{
  display:block;
  width:100%;
  text-align:center;
  font-family:var(--f-ui);
  font-weight:700;
  font-size:1.02rem;
  line-height:1.25;
  padding:15px 20px 12px;
  border-radius:var(--radius);
  text-decoration:none;
  background:var(--brand);
  color:var(--brand-ink);
  border:1px solid var(--brand-dark);
}
.btn:hover{background:var(--brand-dark);color:#fff}
.btn .btn-tag{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.92;margin-top:6px}
.btn--ghost{background:#fffdf9;color:var(--brand-dark);border-color:var(--brand)}
.btn--ghost:hover{background:var(--brand);color:#fff}
.btn--sm{font-size:.92rem;padding:12px 14px 10px}
.cta-note{font-family:var(--f-ui);font-size:.8rem;line-height:1.5;color:var(--muted);margin:10px 0 0}
.cta-note strong{color:var(--ink)}

/* ---------- Rail cards ---------- */
.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px 17px;margin:0 0 20px}
.card h2,.card h3{font-family:var(--f-ui);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 11px;padding:0;border:0}
.card ol,.card ul{margin:0;padding-left:1.15em}
.card li{margin-bottom:.4em}
.card a{color:var(--brand-dark)}
.card p{margin:0 0 .7em;font-size:.9rem}
.card p:last-child{margin-bottom:0}
.card--cta{background:#fbf3f3;border-color:var(--brand)}

.toc{font-family:var(--f-ui)}
.toc ol{list-style:decimal;font-size:.9rem}

/* ---------- Key–value list (legal pages) ---------- */
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-family:var(--f-ui);font-size:.95rem;margin:0 0 1.5em}
.kv dt{font-weight:700;color:var(--muted)}
.kv dd{margin:0}
@media (max-width:520px){.kv{grid-template-columns:1fr;gap:1px 0}.kv dd{margin-bottom:10px}}

/* ---------- Card grid (index / guides) ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:0 0 1.6em;padding:0;list-style:none}
.grid li{margin:0}
.tile{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf9;padding:18px}
.tile h3{margin:0 0 .45em;font-size:1.08rem}
.tile h3 a{text-decoration:none}
.tile h3 a:hover{text-decoration:underline}
.tile p{font-family:var(--f-ui);font-size:.88rem;color:var(--muted);margin:0}

/* ---------- Footer ---------- */
.foot{background:var(--surface);border-top:1px solid var(--line);font-family:var(--f-ui);font-size:.86rem;line-height:1.6;color:var(--muted);padding:34px 0 40px;margin-top:auto}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:26px;margin-bottom:26px}
.foot h2{font-family:var(--f-ui);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin:0 0 11px;padding:0;border:0}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 .4em}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--brand-dark);text-decoration:underline}
.foot address{font-style:normal}
.foot-legal{border-top:1px solid var(--line-strong);padding-top:18px;font-size:.8rem}
.foot-legal p{margin:0 0 .6em}
.foot-legal p:last-child{margin-bottom:0}

/* ---------- Error page ---------- */
.err{text-align:center;padding:60px 0 70px}
.err h1{font-size:clamp(2.4rem,1.8rem + 3vw,4rem)}

@media print{.adbar,.mainnav,.rail,.cta{display:none}body{background:#fff}}
