
/* Tailwind base is loaded via CDN. These are small additions and component classes. */
:root {
  --ring: 0 0 #0000;
}
html { scroll-behavior: smooth; }
.nav-link { color: rgb(71 85 105); }
.nav-link:hover { color: rgb(15 23 42); }
.nav-link.active { color: rgb(30 64 175); font-weight: 600; }
.btn-primary {
  @apply inline-flex items-center justify-center rounded-lg bg-brand-600 text-white px-5 py-3 font-medium shadow-sm hover:bg-brand-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-400;
}
.btn-secondary {
  @apply inline-flex items-center justify-center rounded-lg border border-slate-300 bg-white text-slate-800 px-5 py-3 font-medium shadow-sm hover:bg-slate-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-400;
}
.btn-link { @apply text-brand-700 hover:text-brand-900 underline underline-offset-4; }
.btn-sm { @apply px-3 py-2 text-sm; }
.input {
  @apply w-full rounded-lg border border-slate-300 bg-white px-3 py-2 shadow-sm focus:outline-none focus:ring-2 focus:ring-brand-300;
}
.label { @apply block text-sm font-medium text-slate-700 mb-1; }
.card { @apply bg-white rounded-lg border border-slate-200 shadow-sm overflow-hidden; }
.check::before {
  content: "✔";
  @apply text-brand-700 mt-1;
}
.service-card { @apply p-6 bg-white rounded-lg border border-slate-200 shadow-sm flex flex-col; }
.service-title { @apply text-xl font-semibold; }
.service-desc { @apply mt-2 text-slate-600; }
.service-list { @apply mt-4 list-disc list-inside text-slate-700 space-y-1; }
.service-cta { @apply mt-6 flex items-center justify-between; }
.price { @apply font-semibold text-slate-800; }
.cookie-banner {
  @apply fixed bottom-0 left-0 right-0 bg-slate-900 text-slate-100 border-t border-slate-800;
}
.prose a { @apply text-brand-700 hover:text-brand-900 underline; }
/* Footer year fallback if JS disabled */
#year::after { content: "2025"; }
/* Mobile nav */
#primaryNav.show { display: flex !important; flex-direction: column; position: absolute; top: 64px; right: 1rem; left: 1rem; background: white; border: 1px solid rgb(226 232 240); border-radius: 0.5rem; padding: 1rem; gap: 0.75rem; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
/* Utility overrides */
.aspect-video { aspect-ratio: 16 / 9; }
