body {
  background: var(--br-paper);
  color: var(--br-ink);
  font-family: var(--br-font-sans);
}

body > nav {
  display: flex;
  min-height: 80px;
  align-items: center;
  height: auto;
  border-bottom: 1px solid var(--br-line);
  padding: 0 max(28px, calc((100vw - 1200px) / 2));
  background: var(--br-paper);
}

body > nav .logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--br-ink);
  text-decoration: none;
}

body > nav .logo-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 11px;
  background: var(--br-blue);
}

body > nav .logo-name {
  font-size: 1.16rem;
  font-weight: 850;
  letter-spacing: -0.025em;
}

body > .page {
  width: min(100% - 56px, 720px);
  max-width: none;
  margin: 0 auto;
  padding: 48px 0 78px;
}

.back {
  min-height: 44px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--br-ink-soft);
  font-size: 0.84rem;
  font-weight: 750;
}

body > .page > h1 {
  margin: 0 0 8px;
  color: var(--br-ink);
  font-family: var(--br-font-serif);
  font-size: clamp(2.25rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.subtitle {
  margin-bottom: 32px;
  color: var(--br-ink-soft);
  font-size: 0.94rem;
}

.card,
.warning-box {
  margin-bottom: 14px;
  border: 1px solid var(--br-line);
  border-radius: 16px;
  padding: 22px 24px;
  background: var(--br-surface);
  box-shadow: none;
}

.card h2,
.warning-box h2 {
  margin: 0 0 10px;
  border-bottom: 1px solid var(--br-line);
  padding: 0 0 9px;
  color: var(--br-ink);
  font-family: var(--br-font-serif);
  font-size: 1.08rem;
  line-height: 1.4;
}

.card p,
.warning-box p {
  color: var(--br-ink-soft);
  font-size: 0.9rem;
  line-height: 1.75;
}

.green-box {
  border-color: #c7dfd2;
  background: var(--br-success-soft);
}

.green-box p {
  color: #276c4d;
}

.warning-box,
.highlight {
  border-color: #ead8b5;
  background: var(--br-sand);
}

.warning-box p,
.highlight {
  color: #704b20;
}

.emergency-box {
  border-color: #efc3c3;
  background: var(--br-danger-soft);
}

.emergency-box h2,
.emergency-box p,
.emergency-box a {
  color: #8f2e2e;
}

@media (max-width: 560px) {
  body > nav {
    min-height: 72px;
    padding-inline: 16px;
  }

  body > .page {
    width: calc(100% - 32px);
    padding: 34px 0 58px;
  }

  .card,
  .warning-box {
    padding: 19px 18px;
  }
}
