.entry-section {
  padding-block: clamp(2rem, 5vw, 4.5rem);
  color: #182a24;
  background: #f3f2e9;
}
.mp-site .entry-section h1 {
  max-width: 21ch;
  margin: .65rem 0 1.65rem;
  font-size: clamp(2.55rem, 6vw, 5.5rem);
}
.entry-grid, .portal-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.entry-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: .7rem;
  padding: clamp(1.1rem, 3vw, 2rem);
  border: 1px solid #40574b;
  border-radius: 1rem;
  color: #f9faed;
  text-decoration: none;
}
.entry-archer { background: #1c3428; }
.entry-club { background: #23374b; border-color: #405871; }
.entry-card:hover { box-shadow: 0 .45rem 1.4rem #17282026; }
.entry-card:focus-visible, .portal-page a:focus-visible { outline: 3px solid #68873e; outline-offset: 4px; }
.entry-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid #d8ed9180;
  border-radius: .8rem;
  color: #e1f5ad;
}
.entry-icon svg { width: 1.5rem; height: 1.5rem; }
.entry-card-title { font-size: clamp(1.3rem, 2.4vw, 1.9rem); font-weight: 750; }
.entry-card-copy { max-width: 42ch; color: #e1e9e0; line-height: 1.55; }
.entry-card-action { display: flex; justify-content: space-between; margin-top: .6rem; color: #e1f5ad; font-weight: 750; }
.mp-site .hero-title { margin-top: 18px; font-size: clamp(3.25rem, 7.25vw, 6.75rem); }
.mp-site .hero-title em { color: #d8ed91; font-weight: inherit; }

.portal-page {
  box-sizing: border-box;
  margin: 0;
  min-height: 100vh;
  background: #f3f2e9;
  color: #182a24;
  font-family: system-ui, sans-serif;
}
.portal-page *, .portal-page *::before, .portal-page *::after { box-sizing: inherit; }
.portal-bar, .portal-content { width: min(70rem, calc(100% - 2rem)); margin-inline: auto; }
.portal-bar, .portal-bar nav { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem 1rem; }
.portal-bar { justify-content: space-between; padding: .6rem 0; }
.portal-bar img { display: block; object-fit: contain; }
.portal-bar a, .portal-steps a { color: #1d4936; font-weight: 700; }
.portal-hero {
  padding: clamp(1.4rem, 6vw, 4.8rem);
  border-radius: 1.2rem;
  color: #f8f9ec;
  background: linear-gradient(135deg, #172820, #253e31);
}
.portal-kicker { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.portal-hero .portal-kicker, .portal-hero h1 em { color: #e1f5ad; }
.portal-hero h1 {
  margin: .5rem 0 1.1rem;
  font: 500 clamp(2.3rem, 7.3vw, 6rem)/1.02 Georgia, serif;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
.portal-hero p:not(.portal-kicker), .portal-steps p:not(.portal-kicker) { max-width: 57ch; line-height: 1.65; }
.portal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.4rem; }
.portal-button { padding: .8rem 1rem; border-radius: .6rem; color: #182a24; background: #e1f5ad; font-weight: 800; text-decoration: none; }
.portal-link { color: inherit; }
.portal-steps { margin-block: 1rem 2rem; }
.portal-steps article { padding: clamp(1rem, 3vw, 2rem); border: 1px solid #ced6c4; border-radius: 1rem; background: #fcfcf7; }
.portal-page-club { background: #f1f6fb; color: #183550; }
.portal-page-club .portal-hero { background: linear-gradient(135deg, #183550, #244d73); color: #f1f6fb; }
.portal-page-club .portal-kicker, .portal-page-club .portal-hero h1 em { color: #b9ddfa; }
.portal-page-club .portal-steps .portal-kicker, .portal-page-club .portal-bar a, .portal-page-club .portal-steps a { color: #244d73; }
.portal-page-club .portal-button { color: #183550; background: #b9ddfa; }
.portal-page-club .portal-steps article { border-color: #cbdceb; background: #fff; }
.portal-page-club a:focus-visible { outline-color: #5486b4; }
.portal-steps h2 { margin: .5rem 0; }
@media (max-width: 640px) {
  .entry-grid, .portal-steps { grid-template-columns: 1fr; }
}
