/* A tighter, more consistent public-site rhythm without changing page content. */
:root {
  --site-canvas: #f3f6fb;
  --site-border: #e1e7f0;
  --site-shadow-soft: 0 10px 30px rgba(18, 34, 62, .055);
}

html { scroll-padding-top: 92px; }
body {
  background:
    radial-gradient(ellipse at 88% 5%, rgba(37, 99, 235, .075), transparent 34rem),
    linear-gradient(180deg, var(--site-canvas), #fff 44rem);
}
.nav {
  border-bottom-color: rgba(219, 229, 240, .9);
  background: rgba(248, 250, 253, .9);
  box-shadow: 0 4px 18px rgba(18, 34, 62, .035);
  backdrop-filter: blur(16px) saturate(150%);
}
.nav__links a { border-radius: 10px; }
.section { scroll-margin-top: 100px; }
.section-header { max-width: 880px; }
.card, .booking-grid > div > .card {
  border-color: var(--site-border);
  box-shadow: var(--site-shadow-soft);
}
.card { border-radius: 18px; }
.btn, .btn--primary, .btn--cta, .btn--outline, .btn--white { border-radius: 10px; }
input:focus-visible, select:focus-visible, textarea:focus-visible,
button:focus-visible, a:focus-visible {
  outline: 3px solid rgba(21, 94, 239, .62);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .container { padding-inline: 18px; }
  .card { border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
