:root { --ink:#1b2430; --muted:#5c6b7a; --line:#e6ebf1; --bg:#fff; --soft:#f4f7fb; --blue:#2457d6; --amber:#e8a317; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.65 "Segoe UI", Arial, sans-serif; }
a { color:var(--blue); }
header { border-bottom:1px solid var(--line); background:#fff; }
.bar, body > header { max-width:820px; margin:0 auto; padding:.85rem 1.1rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
body > header:has(.bar) { max-width:none; display:block; padding:0; position:sticky; top:0; }
.brand { color:var(--ink); text-decoration:none; font-weight:800; letter-spacing:-.02em; }
nav a { margin-left:.85rem; text-decoration:none; font-size:.92rem; color:#31445c; }
main { max-width:820px; margin:0 auto; padding:1.4rem 1.1rem 3rem; }
h1 { font-size:2rem; line-height:1.2; margin:.2rem 0 1rem; letter-spacing:-.03em; }
h2 { font-size:1.35rem; margin:2rem 0 .6rem; }
h3 { font-size:1.05rem; margin:1.1rem 0 .3rem; }
.lead { font-size:1.08rem; }
.shot { margin:1.1rem 0 1.4rem; }
.shot img { width:100%; height:auto; border-radius:12px; display:block; background:#0e1626; }
.shot figcaption { color:var(--muted); font-size:.88rem; margin-top:.4rem; }
table { width:100%; border-collapse:collapse; margin:1rem 0 1.3rem; font-size:.95rem; }
th, td { border:1px solid var(--line); padding:.55rem .6rem; text-align:left; vertical-align:top; }
th { background:var(--soft); width:34%; }
.note { background:#f7f4ea; border-left:4px solid var(--amber); padding:.8rem 1rem; margin:1rem 0; }
.cards { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:1rem 0; }
.card { display:block; border:1px solid var(--line); border-radius:10px; padding:.8rem .9rem; text-decoration:none; color:var(--ink); }
.card strong { display:block; margin-bottom:.2rem; }
.card span { color:var(--muted); font-size:.9rem; }
.btn { display:inline-block; background:var(--blue); color:#fff; text-decoration:none; font-weight:700; padding:.75rem 1.1rem; border-radius:8px; }
.reg { margin:0 0 1.6rem; text-align:center; }
.reg .btn-reg { display:inline-block; background:#f5b400; color:#1b1404; text-decoration:none; font-weight:800; font-size:1.25rem; letter-spacing:.01em; padding:1.05rem 1.8rem; border-radius:12px; box-shadow:0 12px 30px rgba(245,180,0,.5); }
.reg .btn-reg:hover { background:#ffc833; }
.reg small { display:block; margin-top:.45rem; color:var(--muted); }
details { border-top:1px solid var(--line); padding:.6rem 0; }
summary { cursor:pointer; font-weight:650; }
footer { max-width:820px; margin:0 auto; padding:1rem 1.1rem 2rem; color:var(--muted); font-size:.9rem; border-top:1px solid var(--line); }
@media (max-width:700px) {
  nav { display:none; }
  .cards { grid-template-columns:1fr; }
  h1 { font-size:1.55rem; }
}
