:root {
  --ink: #17324a;
  --muted: #60798b;
  --cream: #f7f0e6;
  --paper: #fffdf9;
  --coral: #ff7868;
  --teal: #5b9c91;
  --line: #e4d7c7;
}

* { box-sizing: border-box; }

html { color-scheme: light; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 6%, rgba(255, 191, 116, .34), transparent 27rem),
    radial-gradient(circle at 92% 18%, rgba(91, 156, 145, .18), transparent 24rem),
    var(--cream);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.65;
}

a { color: inherit; }

.shell {
  width: min(760px, calc(100% - 32px));
  margin: 0 auto;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.15rem;
}

.mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  color: white;
  background: var(--coral);
  font-family: Arial, sans-serif;
}

nav { display: flex; flex-wrap: wrap; gap: 18px; }
nav a { color: var(--muted); font: 700 .78rem Arial, sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

main {
  margin: 18px 0 64px;
  padding: clamp(28px, 6vw, 64px);
  border: 1px solid var(--line);
  border-radius: 34px;
  background: rgba(255, 253, 249, .92);
  box-shadow: 0 30px 80px rgba(70, 50, 30, .09);
}

.eyebrow { color: #317c8e; font: 800 .75rem Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: .25em 0 .35em; font-size: clamp(2.4rem, 7vw, 4.6rem); line-height: .95; letter-spacing: -.045em; }
h2 { margin: 2.2rem 0 .55rem; font-size: 1.45rem; line-height: 1.15; }
p, li { color: #344f62; }
.lead { max-width: 36rem; font-size: 1.14rem; }
.updated { color: var(--muted); font: 600 .8rem Arial, sans-serif; }

.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button { display: inline-flex; padding: 13px 18px; border-radius: 999px; background: var(--ink); color: white; font: 700 .88rem Arial, sans-serif; text-decoration: none; }
.button.secondary { background: #dcece8; color: var(--ink); }

.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 34px; }
.card { padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.card strong { display: block; margin-bottom: 4px; }
.card span { color: var(--muted); font: .86rem/1.45 Arial, sans-serif; }

footer { padding: 0 0 40px; color: var(--muted); font: .78rem Arial, sans-serif; text-align: center; }

@media (max-width: 640px) {
  header { align-items: flex-start; }
  nav { justify-content: flex-end; gap: 10px; }
  .grid { grid-template-columns: 1fr; }
  main { border-radius: 26px; }
}


.brand-icon {
  border-radius: 11px;
  box-shadow: 0 5px 14px rgba(28, 42, 53, 0.14);
  height: 36px;
  object-fit: cover;
  width: 36px;
}
