/* This page owns its shell. The Provider/Family styles remain untouched. */
.weekend-page {
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-display: 'Outfit', 'Inter', system-ui, sans-serif;
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.weekend-page *, .weekend-page *::before, .weekend-page *::after { box-sizing: border-box; }
:where(.weekend-page) h1, :where(.weekend-page) h2, :where(.weekend-page) h3, :where(.weekend-page) p,
:where(.weekend-page) figure, :where(.weekend-page) dl, :where(.weekend-page) dd { margin: 0; }
:where(.weekend-page) a { color: inherit; }
:where(.weekend-page) img { display: block; max-width: 100%; height: auto; }
:where(.weekend-page) button { font-family: inherit; }
.weekend-page .container { width: min(1200px, calc(100% - 48px)); margin: 0 auto; }
.weekend-page .skip-link { position: absolute; top: -80px; left: 16px; z-index: 1000; padding: 12px 18px; background: #fff; color: #173b52; border-radius: 8px; }
.weekend-page .skip-link:focus { top: 12px; }
.weekend-page .navbar { z-index: 100; background: rgba(255,253,247,.97); border-bottom: 1px solid #e9e2d5; }
.weekend-page .navbar__inner { display: flex; align-items: center; gap: 24px; min-height: 78px; }
.weekend-page .navbar__logo { margin-right: auto; text-decoration: none; flex-shrink: 0; }
.weekend-page .logo-text { font-family: var(--font-display); font-weight: 800; font-size: 24px; color: #173b52; white-space: nowrap; }
.weekend-page .navbar__links { display: flex; gap: 19px; align-items: center; }
.weekend-page .nav-link { font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; padding: 12px 0; }
.weekend-page .nav-link:hover { color: #2f756f; }
.weekend-page .navbar__hamburger { display: none; width: 44px; height: 44px; background: none; border: 1px solid #d5dace; border-radius: 10px; padding: 10px; cursor: pointer; }
.weekend-page .navbar__hamburger span { display: block; height: 2px; background: #173b52; margin: 4px 0; }
.weekend-page .btn { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; padding: 13px 22px; border: 2px solid transparent; border-radius: 12px; font-size: 14px; font-weight: 700; text-decoration: none; line-height: 1.35; cursor: pointer; text-align: center; }
.weekend-page .btn--primary { color: #fff; background: #2f756f; border-color: #2f756f; }
.weekend-page .btn--primary:hover { background: #255e59; border-color: #255e59; }
.weekend-page .btn--outline { background: transparent; border-color: #2f756f; color: #2f756f; }
.weekend-page .btn--outline:hover { background: #edf4ef; }
.weekend-page .btn--lg { min-height: 52px; padding: 15px 26px; }
@media (max-width: 1100px) {
  .weekend-page .navbar__hamburger { display: block; }
  .weekend-page .navbar__links { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 20px; background: #fffdf7; border-bottom: 1px solid #d5dace; box-shadow: 0 12px 20px #173b5214; }
  .weekend-page .navbar__links.open { display: flex; }
  .weekend-page .nav-link { padding: 12px 0; }
}
@media (max-width: 600px) {
  .weekend-page .container { width: calc(100% - 32px); }
  .weekend-page .navbar__inner { min-height: 68px; gap: 12px; }
  .weekend-page .logo-text { font-size: 22px; }
}
