:root {
  font-family: Arial, Helvetica, sans-serif;
  color: #20363a;
  background: #edf4f1;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; line-height: 1.7; }
a { color: #087a70; }

.site-header { background: #fff; border-bottom: 1px solid #cee5db; }
.promo-bar { background: #12343e; color: #bde9da; }
.promo-inner {
  max-width: 880px;
  margin: auto;
  padding: 4px 0;
  text-align: right;
  font-size: 15px;
  line-height: 22px;
}
.promoter-row { max-width: 880px; margin: auto; padding: 15px 0; }
.promoter-row p { margin: 0; font-size: 16px; font-weight: 600; }
.promoter-row a { text-underline-offset: 3px; }

.content {
  max-width: 920px;
  margin: 28px auto 48px;
  padding: 44px 56px;
  background: #fff;
  border: 1px solid #d6e5df;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(18, 52, 62, .06);
}
h1, h2 { line-height: 1.25; letter-spacing: -.025em; color: #12343e; }
h1 { font-size: clamp(29px, 4vw, 43px); margin: 0 0 28px; }
h2 { font-size: clamp(23px, 3vw, 31px); margin: 48px 0 22px; }
p { margin: 0 0 20px; }
.intro { font-size: 1.15rem; font-weight: 600; line-height: 1.65; }
figure { margin: 24px 0 30px; }
figure img { display: block; width: 100%; height: auto; border-radius: 6px; }
.article-list { padding-left: 26px; margin: 0 0 25px; }
.article-list li { margin: 0 0 11px; }
blockquote {
  margin: 0 0 28px;
  padding: 16px 20px;
  border-left: 4px solid #0b8b7b;
  background: #eaf6f1;
  font-style: italic;
}
.offer-action { margin: 28px 0; }
.offer-button {
  display: block;
  padding: 17px 22px;
  background: #087a70;
  color: #fff;
  border-radius: 6px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
.offer-button:hover, .offer-button:focus-visible { background: #055c55; color: #fff; }
.policy-page .content { max-width: 850px; }
.policy-page h2 { margin-top: 36px; }

.site-footer {
  background: #12343e;
  color: #d0e2df;
  text-align: center;
  font-size: 14px;
  line-height: 21px;
}
.footer-inner { max-width: 880px; margin: auto; padding: 25px 20px 40px; }
.site-footer nav { display: flex; gap: 19px; justify-content: center; flex-wrap: wrap; margin-bottom: 30px; }
.site-footer a { color: #a9e4d1; }
.site-footer p { margin: 0 0 12px; }
.site-footer .footer-name { font-weight: 700; font-size: 16px; }
.site-footer .footer-heading { margin-top: 28px; }
.site-footer .copyright { margin-top: 28px; }

@media (max-width: 920px) {
  .promo-inner, .promoter-row { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 680px) {
  .content { margin: 0; padding: 28px 20px 36px; border: 0; border-radius: 0; box-shadow: none; }
  .footer-inner { padding: 20px; }
  h2 { margin-top: 36px; }
}
