:root {
  --owwl-ink: #1e2a32;
  --owwl-sea: #0f627b;
  --owwl-mist: #e7f2f6;
}

body {
  background: linear-gradient(120deg, #f7fbfd 0%, var(--owwl-mist) 100%);
  color: var(--owwl-ink);
  font-family: "Source Serif 4", "Georgia", serif;
}

.page-shell {
  max-width: 900px;
  margin: 3rem auto;
  padding: 2.5rem 2.75rem;
  background: white;
  border-radius: 18px;
  box-shadow: 0 20px 45px rgba(17, 35, 45, 0.12);
}

.brand-logo {
  height: 72px;
  width: auto;
}

h1,
h2,
h3,
label {
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}

.section-card {
  padding: 1.5rem;
  border-radius: 14px;
  background: #f9fcfd;
  border: 1px solid rgba(15, 98, 123, 0.12);
}

.section-title {
  color: var(--owwl-sea);
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.btn-primary {
  background-color: var(--owwl-sea);
  border-color: var(--owwl-sea);
}

.btn-primary:hover {
  background-color: #0b5166;
  border-color: #0b5166;
}

.form-text {
  color: #51616b;
}

.form-selection {
  margin-top: 1rem;
}

.selection-card {
  display: block;
  height: 100%;
  padding: 1.25rem;
  border: 1px solid rgba(15, 98, 123, 0.2);
  border-radius: 14px;
  text-decoration: none;
  color: var(--owwl-ink);
  background: #f9fcfd;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.selection-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(17, 35, 45, 0.1);
  color: var(--owwl-ink);
}

.selection-title {
  display: block;
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

.selection-desc {
  display: block;
  color: #51616b;
}

.group-shell {
  padding: 1rem;
  border: 1px solid rgba(15, 98, 123, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.7);
}

.group-title {
  margin-bottom: 0.8rem;
  color: var(--owwl-sea);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
