
/* Base */
:root { --ink:#0f172a; --primary:#0ea5e9; --primary-dark:#0284c7; --sand:#f1f5f9; }
* { box-sizing: border-box; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; }
a { color: #0ea5e9; text-decoration: none; }
a:hover { color:#0284c7; }
.section-title { @apply text-2xl md:text-3xl font-extrabold text-ink; }
.section-subtitle { @apply text-slate-600; }
.card { @apply bg-white border border-slate-200 rounded-xl p-5 shadow-sm; }
.card-title { @apply text-lg font-bold mt-3; }
.footer-title { @apply font-bold text-slate-800 mb-3; }
.btn-primary { @apply inline-flex items-center justify-center bg-ocean text-white font-semibold px-4 py-2 rounded-lg hover:bg-primary-dark transition; }
.btn-secondary { @apply inline-flex items-center justify-center bg-white border border-slate-300 text-ink font-semibold px-4 py-2 rounded-lg hover:bg-slate-50 transition; }
.btn-outline { @apply inline-flex items-center justify-center border border-slate-300 text-ink font-semibold px-4 py-2 rounded-lg hover:bg-slate-50 transition; }
.btn-invert { @apply inline-flex items-center justify-center bg-white text-ink font-semibold px-4 py-2 rounded-lg hover:bg-slate-100 transition; }
.nav-link { @apply text-slate-700 hover:text-ink; }
.nav-link.active { @apply text-ink font-bold; }
.input { @apply w-full rounded-lg border border-slate-300 px-3 py-2 text-slate-800 focus:outline-none focus:ring-2 focus:ring-primary; }
.label { @apply block text-sm font-medium text-slate-700 mb-1; }
.step { @apply flex items-center gap-3; }
.step::before { content: "✓"; @apply inline-flex items-center justify-center w-6 h-6 rounded-full bg-ocean text-white text-sm; }

/* Quotes */
.quote { @apply bg-white border border-slate-200 rounded-xl p-5; }
.quote p { @apply text-slate-800; }
.quote footer { @apply mt-3 text-sm text-slate-600; }

/* Cookie banner */
.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: rgba(15,23,42,.98); color: #fff; padding: 14px; z-index: 60; }
.cookie-inner { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; gap: 8px; }
.cookie-banner .btn-primary { @apply bg-ocean; }
.cookie-banner .btn-outline { @apply border border-slate-400 text-white; }
.cookie-banner .btn-secondary { @apply bg-white text-ink; }
.cookie-modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: grid; place-items: center; z-index: 70; }
.cookie-modal-content { @apply bg-white rounded-xl p-6 w-full max-w-md; }
.cookie-row { @apply flex items-center justify-between border border-slate-200 rounded-lg px-3 py-2; }
.hidden { display:none; }

/* Prose minimal */
.prose h2 { @apply text-xl font-extrabold mt-6 mb-2; }
.prose p { @apply mb-3; }
.prose ul { @apply list-disc list-inside my-3; }
