:root{
  --base-font: 16px;
}
html{font-size: var(--base-font);}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
/* Parallax helper */
.parallax{
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
/* Soft overlay for readability */
.hero-overlay{
  background: linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,.25) 45%, rgba(0,0,0,.70));
}

/* Modal */
.modal-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  z-index: 60;
}
.modal-backdrop.is-open{display: flex;}
.modal-card{
  width: min(640px, 100%);
  border-radius: 1.25rem;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

/* Cookie banner (home only) */
.cookie-banner{
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 55;
  transform: translateY(130%);
  transition: transform .35s ease;
}
.cookie-banner.is-visible{transform: translateY(0);}

/* Focus ring */
:focus-visible{
  outline: 3px solid rgba(59,130,246,.6);
  outline-offset: 3px;
}
