
:root{
  --bg:#f7f8fb;
  --paper:#ffffff;
  --line:#d9e0e8;
  --text:#1f2937;
  --muted:#5f6b7a;
  --navy:#0f2a43;
  --sky:#1f5f8b;
  --gold:#f4b942;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
}
img{max-width:100%;height:auto}
a{color:var(--sky);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,248,251,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(6px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px}
.brand{display:flex;align-items:center;gap:16px;color:var(--navy)}
.brand-logo{width:220px;max-width:42vw}
.since{font:600 13px/1.2 Arial,Helvetica,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.main-nav{display:flex;flex-wrap:wrap;gap:18px;font:600 14px/1.2 Arial,Helvetica,sans-serif}
.main-nav a{color:var(--navy)}
.main-nav a.active{color:var(--sky)}
.main-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
  gap:42px;
  padding-top:34px;
  padding-bottom:48px;
}
.content,.sidebar{
  background:var(--paper);
  border:1px solid var(--line);
  padding:28px 30px;
}
.content h1{
  margin:0 0 14px;
  color:var(--navy);
  font-size:2.3rem;
  line-height:1.12;
}
.content h2{margin-top:32px;color:var(--navy);font-size:1.4rem}
.content h3{margin-top:24px;color:var(--navy);font-size:1.08rem}
.content p, .content li{font-size:1.03rem}
.sidebar h2{font:bold 1rem/1.3 Arial,Helvetica,sans-serif;color:var(--navy);margin-top:0}
.sidebar section+section{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.plain-list{padding-left:18px;margin:0}
.plain-list li{margin:0 0 10px}
.link-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;padding-left:0;list-style:none
}
.link-grid li{border-top:1px solid var(--line);padding-top:10px}
.link-grid span{display:block;color:var(--muted);font-size:.95rem}
.inline-tags{display:flex;flex-wrap:wrap;gap:8px}
.inline-tags span, .tag-list li{
  display:inline-block;
  font:600 13px/1.2 Arial,Helvetica,sans-serif;
  color:var(--navy);
  background:#eef3f8;
  border:1px solid var(--line);
  padding:7px 10px;
}
.tag-list{padding-left:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin:0}
.entity-list{padding-left:18px}
.entity-list li{margin:0 0 9px}
.contact-form{display:grid;gap:16px;max-width:760px}
.contact-form label{display:grid;gap:7px;font:600 14px/1.4 Arial,Helvetica,sans-serif;color:var(--navy)}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:12px 14px;border:1px solid #bcc8d4;background:#fff;color:var(--text);font:400 16px/1.4 Arial,Helvetica,sans-serif
}
.contact-form button{
  width:max-content;padding:12px 18px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:700 14px/1 Arial,Helvetica,sans-serif;cursor:pointer
}
.checkbox{grid-template-columns:auto 1fr;align-items:start}
.checkbox input{margin-top:4px}
.site-footer{
  border-top:1px solid var(--line);
  background:#fff;
  padding:30px 0 44px;
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px
}
.footer-brand,.footer-heading{
  margin:0 0 8px;
  font:700 15px/1.3 Arial,Helvetica,sans-serif;
  color:var(--navy);text-transform:uppercase;letter-spacing:.06em
}
@media (max-width:980px){
  .main-grid,.footer-grid{grid-template-columns:1fr}
  .header-inner{align-items:flex-start;flex-direction:column}
  .brand-logo{width:190px}
}
@media (max-width:640px){
  .content,.sidebar{padding:22px 18px}
  .content h1{font-size:1.8rem}
  .link-grid{grid-template-columns:1fr}
}
