:root {
  --ink: #183748;
  --muted: #4f6773;
  --blue: #4c62aa;
  --blue-dark: #354982;
  --background: #dff4f5;
  --surface: #fff;
  --line: rgba(24, 55, 72, 0.16);
}

* { box-sizing: border-box; }

html {
  min-width: 320px;
  color: var(--ink);
  background: var(--background);
  font-family: Arial, Helvetica, sans-serif;
  scroll-behavior: smooth;
}

body { margin: 0; }

a { color: var(--blue-dark); text-underline-offset: 0.15em; }
a:hover { color: var(--blue); }
a:focus-visible { outline: 3px solid #e4be2f; outline-offset: 3px; }

.site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
}

.site-header__inner,
.content,
.site-footer {
  width: min(100% - 40px, 1040px);
  margin-inline: auto;
}

.site-header__inner {
  min-height: 116px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.logo { display: block; width: 84px; height: auto; }
.back-link { font-weight: 700; text-decoration: none; }

.content { padding-block: 64px 80px; }

.legal-document {
  padding: clamp(28px, 5vw, 64px);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 18px 55px rgba(24, 55, 72, 0.11);
}

h1, h2, h3 { color: var(--ink); line-height: 1.15; }
h1 { margin: 0 0 40px; font-size: clamp(2.5rem, 6vw, 4.6rem); letter-spacing: -0.045em; }
h2 { margin: 44px 0 14px; font-size: clamp(1.35rem, 3vw, 1.8rem); }
h3 { margin: 30px 0 10px; font-size: 1.1rem; }
p, li { line-height: 1.65; }
p { margin: 0 0 16px; }
ul { padding-left: 1.4rem; }

.intro { max-width: 48rem; color: var(--muted); font-size: 1.08rem; }
.details { font-style: normal; }
.professionals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.professional { padding: 22px; border: 1px solid var(--line); border-radius: 14px; }
.professional h3 { margin-top: 0; }
.notice { padding: 18px 20px; border-left: 4px solid var(--blue); background: #f2f6ff; }

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-block: 24px 32px;
  border-top: 1px solid var(--line);
  font-size: 0.9rem;
}

.site-footer p { margin: 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }

@media (max-width: 760px) {
  .site-header__inner { min-height: 92px; }
  .logo { width: 70px; }
  .content { padding-block: 32px 48px; }
  .legal-document { padding: 26px 20px; border-radius: 16px; }
  h1 { margin-bottom: 28px; }
  .professionals { grid-template-columns: 1fr; }
  .site-footer { flex-direction: column; }
}
