@font-face {
  font-family: 'Linux Biolinum G';
  src: url('/assets/fonts/linux-biolinum-g.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

html { scroll-behavior: smooth !important; }
h1, h2, h3 { font-family: 'Linux Biolinum G', Georgia, serif; }

/* Dropdown */
.dropdown-menu { opacity: 0; visibility: hidden; transform: translateY(-4px); transition: all 200ms ease; pointer-events: none; }
.dropdown.active .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.dropdown.active .dropdown-chevron { transform: rotate(180deg); }

/* Hero house SVG draw animation */
@keyframes draw-line {
  to { stroke-dashoffset: 0; }
}
.hero-house .house-outer {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  animation: draw-line 1.8s ease-out forwards;
}
.hero-house .house-roof {
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  animation: draw-line 1.2s ease-out 0.4s forwards;
}
.hero-house .house-inner {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: draw-line 1s ease-out 0.8s forwards;
}
.hero-house .house-text {
  opacity: 0;
  animation: fade-in 0.8s ease-out 1.4s forwards;
}

/* Scroll reveal animations */
@keyframes fade-in {
  to { opacity: 1; }
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.reveal.hidden-init {
  opacity: 0;
  transform: translateY(20px);
}
.reveal {
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.reveal.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Blue accent line decorator */
.accent-line {
  width: 80px;
  height: 2px;
  background: #5B8EC9;
}

/* Form inputs dark theme */
input::placeholder, textarea::placeholder {
  color: #6B7280;
}
