:root {
  --bg: #d9d9d9;
  --nav: #1f5e93;
  --navText: #ffffff;
  --text: #1f5e93;
  --muted: #2b6ea6;
}

* { box-sizing: border-box; }

html, body {
  height: 100%;
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
}

.page {
  min-height: 100vh;
}

.topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 14px 18px;
  gap: 16px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand.right {
  justify-content: flex-end;
}

.logo {
  width: auto;
  height: 80px;
  object-fit: contain;
}

.brand-name {
  line-height: 1.1;
  font-size: 12px;
  letter-spacing: 0.2px;
  color: #2b2b2b;
}

.nav {
  justify-self: center;
  display: inline-flex;
  background: var(--nav);
}

.nav a {
  padding: 10px 26px;
  color: var(--navText);
  text-decoration: none;
  font-size: 14px;
  text-transform: lowercase;
}

.nav a + a {
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.nav a[aria-current="page"] {
  background: rgba(255, 255, 255, 0.12);
}

.hero {
  background: #3a3a3a;
  padding: 22px 18px;
}

.hero-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.hero img {
  display: block;
  width: min(980px, 100%);
  margin: 0 auto;
  height: auto;
}

.content {
  text-align: center;
  padding: 36px 16px 50px;
}

.content h1 {
  margin: 0;
  font-size: clamp(36px, 5vw, 56px);
  font-style: italic;
  font-weight: 700;
  color: var(--text);
}

.content p {
  margin: 10px 0 0;
  font-size: 14px;
  color: var(--muted);
}

@media (max-width: 720px) {
  /* Layout: logos side-by-side on top row, nav full-width below */
  .topbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "brand-left brand-right"
      "nav nav";
    align-items: center;
    gap: 6px 12px;
    padding: 12px 12px;
  }

  .brand {
    grid-area: brand-left;
    justify-self: start;
  }

  .brand.right {
    grid-area: brand-right;
    justify-self: end;
  }

  .nav {
    grid-area: nav;
    width: 100%;
    justify-self: center;
    display: flex;
    justify-content: center;
  }

  .nav a {
    flex: 0 0 auto;
    text-align: center;
    padding: 10px 14px;
  }

  /* scale logos down on small screens */
  .logo {
    height: 64px;
  }
}
