/* Compact typography pass after the first visual review. */
.intro h1,
.tool-head h1 {
  font-size: clamp(1.85rem, 3.4vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.tool-head h1 { font-size: clamp(1.9rem, 3.7vw, 3rem); }
.intro p, .tool-head p { font-size: 0.98rem; }
.category-card h2 { font-size: 0.98rem; }
.category-card p { font-size: 0.8rem; }
.intro { margin-bottom: 28px; }
.category-grid { gap: 10px; }
.category-card {
  min-height: 58px;
  padding: 12px 15px;
  gap: 13px;
  border-radius: 13px;
}
.big-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  flex: 0 0 38px;
}
.category-card h2 { margin-bottom: 2px; }
.value-row input { font-size: 1.25rem; }
.result-row span { font-size: 0.84rem; }
.result-row small { font-size: 0.74rem; }
.result-row strong { font-size: 0.92rem; }

/* The third column stays intentionally empty until an ad network is enabled. */
.ad-rail { display: none; }

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  margin-bottom: 12px;
}
.footer-links a { color: var(--ink); font-weight: 650; }
.footer-links a:hover { color: var(--blue); }
footer p { margin: 0 0 8px; }
footer small { color: #8993a6; }

.legal-page { max-width: 760px; }
.legal-page h1 {
  margin: 0 0 28px;
  font-size: clamp(2rem, 3.5vw, 3.1rem);
  letter-spacing: -.04em;
  line-height: 1.08;
}
.legal-page p {
  margin: 0 0 18px;
  color: #4e5d75;
  font-size: 1rem;
  line-height: 1.75;
}
.legal-page a { color: var(--blue); font-weight: 700; }
.legal-page .updated { margin-top: 34px; font-size: .84rem; color: var(--muted); }

@media (min-width: 1200px) {
  .layout {
    grid-template-columns: 240px minmax(0, 1100px) 300px;
    max-width: 1740px;
  }

  .layout > aside {
    position: sticky;
    top: 74px;
    max-height: calc(100vh - 74px);
    overflow-y: auto;
  }

  .layout > main {
    max-width: none;
  }

  .ad-rail {
    display: block;
    min-height: 600px;
  }
}

@media (max-width: 470px) {
  .intro h1, .tool-head h1 { font-size: 1.9rem; }
  .tool-head p { font-size: 0.88rem; }
}
