:root {
  --color-primary: #059669;
  --color-primary-dark: #047857;
  --color-accent: #EA580C;
  --color-accent-dark: #C2410C;
  --color-bg: #ECFDF5;
  --color-fg: #064E3B;
  --color-card: #FFFFFF;
  --color-muted-fg: #475569;
  --color-border: #A7F3D0;
  --font-display: "Fredoka", sans-serif;
  --font-body: "Nunito", sans-serif;
}

body {
  font-family: var(--font-body);
  color: var(--color-fg);
  background: var(--color-bg);
}

h1, h2, h3, h4, .navbar-brand, .btn {
  font-family: var(--font-display);
}

a { color: var(--color-primary-dark); }

/* Buttons */
.btn-brand {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: #fff;
  font-weight: 600;
}
.btn-brand:hover, .btn-brand:focus {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: #fff;
}
.btn-outline-brand {
  color: var(--color-primary-dark);
  border-color: var(--color-primary);
  font-weight: 600;
}
.btn-outline-brand:hover, .btn-outline-brand:focus {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* Navbar */
.navbar-brand-logo { height: 48px; width: auto; }
.navbar-huepfburg { background: var(--color-card); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.navbar-huepfburg .nav-link {
  font-weight: 600;
  color: var(--color-fg);
}
.navbar-huepfburg .nav-link:hover,
.navbar-huepfburg .nav-link:focus,
.navbar-huepfburg .nav-link.active {
  color: var(--color-primary-dark);
}

/* Hero */
.hero {
  position: relative;
  background: linear-gradient(rgba(6,78,59,.55), rgba(6,78,59,.55)), var(--hero-img) center/cover no-repeat;
  color: #fff;
}
.hero h1 { font-size: clamp(2rem, 5vw, 3.25rem); }

/* USP strip */
.usp-strip { background: var(--color-primary); color: #fff; }
.usp-strip .bi { font-size: 1.5rem; }

/* Cards */
.card-huepfburg {
  border: 1px solid var(--color-border);
  border-radius: .75rem;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.card-huepfburg:hover {
  transform: translateY(-4px);
  box-shadow: 0 .75rem 1.5rem rgba(6,78,59,.15);
}
.card-huepfburg img { height: 190px; object-fit: cover; width: 100%; }

.burg-card {
  cursor: pointer;
  font-family: inherit;
  display: block;
}
.burg-card:hover .bi-zoom-in { color: var(--color-primary) !important; }

.section-eyebrow {
  color: var(--color-primary-dark);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .8rem;
}

.icon-badge {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}

footer a { color: #A7F3D0; }
footer a:hover { color: #fff; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .card-huepfburg { transition: none; }
  .card-huepfburg:hover { transform: none; }
}

/* Focus visibility */
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
}
