/* Shalvit Online School — public site. Navy/gold premium. No build step. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: linear-gradient(160deg, #0a1f44 0%, #123063 60%, #0a1f44 100%);
  color: #eef3ff;
  min-height: 100vh;
}
h1, h2, h3, .serif { font-family: Georgia, 'Times New Roman', serif; }
.gold { color: #f2c14e; }
a { color: #f2c14e; }

/* Header */
.site-head {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  max-width: 1080px; margin: 0 auto; padding: 18px 20px 6px;
}
.site-head img.logo { width: 54px; height: 54px; border-radius: 50%; border: 2px solid #f2c14e; background: #fff; object-fit: cover; }
.site-head .brand { font-family: Georgia, serif; font-size: 1.3rem; letter-spacing: .3px; margin-right: auto; }
.site-head nav { display: flex; gap: 6px; flex-wrap: wrap; }
.site-head nav a {
  color: #dbe6ff; text-decoration: none; font-size: .95rem;
  padding: 8px 12px; border-radius: 999px; border: 1px solid transparent;
}
.site-head nav a:hover { border-color: rgba(242,193,78,.5); color: #fff; }
.site-head nav a.here { background: #f2c14e; color: #0a1f44; font-weight: bold; }

/* Layout */
.wrap { max-width: 1080px; margin: 0 auto; padding: 28px 20px 64px; }
.hero { text-align: center; padding: 30px 0 8px; }
.hero img.crest { width: 120px; height: 120px; border-radius: 50%; border: 3px solid #f2c14e; background: #fff; object-fit: cover; }
.hero h1 { font-size: 2.7rem; margin: 16px 0 8px; line-height: 1.15; }
.hero .tagline { font-size: 1.13rem; color: #dbe6ff; max-width: 680px; margin: 8px auto; line-height: 1.6; }
.rule { width: 72px; height: 3px; background: #f2c14e; margin: 26px auto; border-radius: 2px; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 18px 0; }
.card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(242,193,78,.35);
  border-radius: 14px; padding: 18px;
}
.card h2, .card h3 { color: #f2c14e; margin: 0 0 8px; font-size: 1.12rem; }
.card p { margin: 0; font-size: .97rem; line-height: 1.6; color: #eef3ff; }
.card a.more { display: inline-block; margin-top: 10px; font-size: .92rem; }

section.block { margin: 38px 0; }
section.block > h2 { font-size: 1.6rem; margin: 0 0 10px; }
section.block p.lead { color: #dbe6ff; line-height: 1.65; max-width: 760px; }

/* Tables */
.tbl-wrap { overflow-x: auto; border: 1px solid rgba(242,193,78,.35); border-radius: 14px; }
table { border-collapse: collapse; width: 100%; min-width: 560px; background: rgba(255,255,255,.04); }
th, td { padding: 11px 14px; text-align: left; font-size: .96rem; }
th { background: rgba(242,193,78,.16); color: #f2c14e; font-family: Georgia, serif; }
tr + tr td { border-top: 1px solid rgba(255,255,255,.09); }
td.num, th.num { text-align: right; white-space: nowrap; }

/* Buttons */
.btn {
  display: inline-block; background: #f2c14e; color: #0a1f44; font-weight: bold;
  text-decoration: none; padding: 12px 22px; border-radius: 999px; font-size: 1rem;
}
.btn.ghost { background: transparent; color: #f2c14e; border: 1px solid #f2c14e; }
.cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 22px 0 4px; }

.note {
  background: rgba(242,193,78,.1); border: 1px solid rgba(242,193,78,.45);
  border-radius: 12px; padding: 14px 16px; line-height: 1.6; font-size: .97rem;
}
.small { font-size: .9rem; color: #b9c9ea; line-height: 1.6; }

footer {
  border-top: 1px solid rgba(255,255,255,.12); margin-top: 44px;
  padding: 22px 20px 34px; text-align: center; color: #9db4dd; font-size: .87rem; line-height: 1.7;
}
footer a { color: #cfe0ff; }

@media (max-width: 480px) {
  .hero h1 { font-size: 2.05rem; }
  .site-head .brand { font-size: 1.1rem; }
}
