/* sernaaldeia.pt — base partilhada (vídeo de fundo, cores, tipografia) */

:root{
  --bg-top: oklch(16% 0.03 70);
  --bg-bot: oklch(9% 0.025 70);
  --gold: oklch(82% 0.15 85);
  --gold-dim: oklch(66% 0.13 80);
  --ivory: oklch(93% 0.015 85);
  --muted: oklch(72% 0.02 70);
  --sage: oklch(54% 0.075 122);
  --ember: oklch(58% 0.14 42);
  --ochre: oklch(64% 0.11 78);
  --leaf: oklch(56% 0.1 122);
  --skin: oklch(76% 0.08 55);
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{
  background: var(--bg-bot);
  color-scheme: dark;
}

body{
  background: linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bot) 100%);
  font-family: 'Quicksand', system-ui, sans-serif;
  color: var(--ivory);
}

.bg-video{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
}

.scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(closest-side at 100% 100%, oklch(10% 0.03 70 / .88), transparent 62%),
    linear-gradient(115deg, oklch(10% 0.03 70 / .78) 0%, oklch(10% 0.03 70 / .5) 36%, oklch(10% 0.03 70 / .18) 58%, transparent 78%),
    linear-gradient(180deg, oklch(10% 0.03 70 / .1) 0%, transparent 30%, transparent 65%, oklch(10% 0.03 70 / .45) 100%);
}

.sky{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:2; }

.firefly{ position:absolute; border-radius:50%; background:var(--gold); box-shadow:0 0 6px 2px var(--gold-dim); animation:drift ease-in-out infinite; }

@keyframes drift{
  0%{ transform:translate(0,0); opacity:.2; }
  50%{ transform:translate(var(--dx,14px), var(--dy,-18px)); opacity:1; }
  100%{ transform:translate(0,0); opacity:.2; }
}

@keyframes rise{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }

.wordmark{
  font-family:'Quicksand', sans-serif; font-weight:700;
  font-size:.8rem; letter-spacing:.28em; text-transform:uppercase;
  color: var(--gold-dim);
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}

@media (max-width:900px){
  .bg-video{ object-position: 25% center; }
}
