.official-logo {
  width: 54px;
  height: 54px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #fff;
  background: #fff;
}

.hero-media {
  background:
    linear-gradient(90deg, rgba(4,5,7,.96) 0%, rgba(4,5,7,.72) 38%, rgba(4,5,7,.16) 68%, rgba(4,5,7,.34) 100%),
    linear-gradient(0deg, rgba(5,5,6,.72), transparent 45%),
    url('wa-wiese-weit.jpeg') center / cover no-repeat;
  filter: saturate(.92);
}

footer {
  grid-template-columns: 1.5fr repeat(4, 1fr);
}

.footer-brand {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.footer-brand img {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
}

.footer-brand b {
  margin-top: .15rem;
}

footer address,
.legal p {
  color: #bbb;
  font-size: .86rem;
  line-height: 1.65;
  font-style: normal;
  margin: 0 0 .45rem;
}

.legal strong {
  color: #fff;
}

.terrain-gallery {
  height: 630px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  grid-template-rows: 1fr 1fr;
  gap: .7rem;
  position: relative;
}

.terrain-gallery::after {
  content: "1. BBS";
  position: absolute;
  left: -.8rem;
  bottom: 1rem;
  padding: .25rem 1.2rem;
  color: #fff;
  background: #d20a16;
  font: 800 1.5rem/1.4 "Barlow Condensed", sans-serif;
  letter-spacing: .08em;
  transform: skew(-8deg);
}

.terrain-photo {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #17191d;
}

.terrain-photo-main { grid-row: 1 / 3; }

.terrain-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.9) contrast(1.05);
  transition: transform .5s ease;
}

.terrain-photo:hover img { transform: scale(1.035); }

.terrain-photo figcaption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 1;
  padding: .35rem .6rem;
  background: rgba(8, 9, 11, .82);
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.board {
  display: grid;
  grid-template-columns: .75fr 1.5fr;
  gap: clamp(3rem, 8vw, 8rem);
  background: #f4f4f2;
}

.board-heading h2,
.downloads-heading h2 {
  margin: 0;
  font: 800 clamp(3.2rem, 6.2vw, 6.5rem)/.86 "Barlow Condensed", sans-serif;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.board-heading h2 em {
  color: transparent;
  font-style: normal;
  -webkit-text-stroke: 1.5px #17191d;
}

.board-heading > p:last-child { color: #5a5e64; margin-top: 2rem; }

.board-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: #d5d5d2;
}

.board-card {
  min-height: 180px;
  padding: 1.6rem;
  background: #fff;
  border-top: 4px solid transparent;
}

.board-card.lead { border-color: #d20a16; }
.board-card > span { color: #d20a16; font-size: .7rem; font-weight: 800; }
.board-card h3 { margin: 2.1rem 0 .15rem; font: 700 1.75rem/1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.board-card p { margin: 0; color: #6b6e74; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.board-card a { display: inline-block; margin-top: .65rem; color: #d20a16; font-size: .82rem; font-weight: 700; }

.success {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: stretch;
}

.success-content { align-self: center; }
.success-copy { margin-left: 0; }

.event-photo {
  margin: 0;
  min-height: 500px;
  position: relative;
  overflow: hidden;
  background: #17191d;
}

.event-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.event-photo figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1rem 1.2rem;
  color: #fff;
  background: linear-gradient(transparent, rgba(5,5,6,.88));
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.directions {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
  background: #ececea;
}

.directions h2 {
  margin: 0;
  font: 800 clamp(3.2rem, 6.2vw, 6.5rem)/.86 "Barlow Condensed", sans-serif;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.directions h2 em {
  color: transparent;
  font-style: normal;
  -webkit-text-stroke: 1.5px #17191d;
}

.directions-copy > p:not(.section-kicker) { color: #5a5e64; margin: 2rem 0; }
.directions address { padding-left: 1rem; border-left: 4px solid #d20a16; font-style: normal; }

.route-note {
  display: grid;
  gap: .35rem;
  margin: 2rem 0;
  padding: 1.2rem 0;
  border-top: 1px solid #c9c9c6;
  border-bottom: 1px solid #c9c9c6;
}

.route-note b { color: #d20a16; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.route-note span { color: #4e5258; font-size: .9rem; }

.directions-visual {
  min-height: 650px;
  position: relative;
}

.directions-visual > img {
  width: 72%;
  height: 620px;
  display: block;
  object-fit: cover;
}

.map-frame {
  position: absolute;
  right: 0;
  bottom: 2rem;
  width: 58%;
  height: 330px;
  border: 8px solid #fff;
  background: #fff;
  box-shadow: 0 20px 50px rgba(0,0,0,.24);
}

.map-frame iframe { width: 100%; height: 100%; border: 0; }

.downloads {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(3rem, 8vw, 8rem);
  color: #fff;
  background: #0b0c0e;
}

.downloads-heading > p:last-child { max-width: 440px; color: #a8abb2; }
.download-list { border-top: 1px solid rgba(255,255,255,.2); }

.download-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(255,255,255,.2);
}

.download-item h3 { margin: 0; font: 700 1.35rem "Barlow Condensed", sans-serif; text-transform: uppercase; }
.download-item p { margin: .2rem 0 0; color: #8e9299; font-size: .78rem; }
.download-item a { color: #fff; background: #d20a16; padding: .65rem .9rem; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 1100px) {
  footer { grid-template-columns: repeat(2, 1fr); }
  .footer-brand, .legal { grid-column: 1 / -1; }
  .board, .downloads { grid-template-columns: 1fr; }
  .success, .directions { grid-template-columns: 1fr; }
  .directions-visual { min-height: 560px; }
  .directions-visual > img { height: 530px; }
}

@media (max-width: 600px) {
  .official-logo { width: 47px; height: 47px; }
  footer { grid-template-columns: 1fr; }
  .footer-brand, .legal { grid-column: auto; }
  .terrain-gallery { height: 440px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.45fr .8fr; }
  .terrain-photo-main { grid-column: 1 / -1; grid-row: auto; }
  .board-grid { grid-template-columns: 1fr; }
  .event-photo { min-height: 360px; }
  .directions-visual { min-height: 510px; }
  .directions-visual > img { width: 100%; height: 390px; }
  .map-frame { width: 88%; height: 260px; bottom: 0; }
}

/* 3D-Symbol: Tierkontur mit markierter Trefferzone */
.target-animal { display: block; width: 150px; height: 112px; margin: 2.7rem auto 1rem; overflow: visible; transform: none; }
.target-animal .animal-outline,
.target-animal .animal-detail,
.target-animal .animal-zone,
.target-animal .animal-zone-inner {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.target-animal .animal-outline { stroke-width: 3.2; }
.target-animal .animal-detail { stroke-width: 2.4; }
.target-animal .animal-eye { fill: #fff; }
.target-animal .animal-zone { stroke-width: 3; }
.target-animal .animal-zone-inner { stroke-width: 2; }

/* Direkte Links zu den offiziellen Ausschreibungsseiten */
.competition-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 1.7rem 0; background: rgba(255,255,255,.18); }
.competition-links a { display: grid; grid-template-columns: 1fr auto; gap: .15rem .75rem; align-items: center; padding: .9rem 1rem; background: #1a1c20; color: #fff; transition: .2s; }
.competition-links a:hover { background: #d20a16; }
.competition-links b { font: 800 1.2rem/1 "Barlow Condensed", sans-serif; letter-spacing: .04em; }
.competition-links small { grid-column: 1; font-size: .7rem; color: #aeb1b6; }
.competition-links a:hover small { color: #fff; }
.competition-links span { grid-column: 2; grid-row: 1 / 3; color: #ff4450; }
.competition-links a:hover span { color: #fff; }
@media (max-width: 600px) { .competition-links { grid-template-columns: 1fr; } }

/* Aktuelles */
.news { background: #fff; }
.news-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 3rem; }
.news-heading h2 { margin: 0; font: 800 clamp(3.2rem,6.2vw,6.5rem)/.88 "Barlow Condensed", Impact, sans-serif; text-transform: uppercase; letter-spacing: -.025em; }
.news-heading h2 em { font-style: normal; color: transparent; -webkit-text-stroke: 1.5px #17191d; }
.news-heading > p { max-width: 470px; margin: 0; color: #5a5e64; }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #d6d6d3; }
.news-card { display: flex; min-height: 310px; padding: 2rem; flex-direction: column; background: #f4f4f2; transition: .25s; }
.news-card:hover { background: #ececea; transform: translateY(-4px); }
.news-card-featured { background: #d20a16; color: #fff; }
.news-card-featured:hover { background: #b90812; }
.news-card > span { color: #d20a16; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.news-card-featured > span { color: #fff; }
.news-card h3 { margin: 2.8rem 0 .7rem; font: 800 clamp(2rem,3vw,3.1rem)/.95 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.news-card p { margin: 0; color: #5f6267; }
.news-card-featured p { color: rgba(255,255,255,.86); }
.news-card b { margin-top: auto; padding-top: 2rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 900px) { .news-heading { display: block; } .news-heading > p { margin-top: 1.5rem; } .news-grid { grid-template-columns: 1fr; } .news-card { min-height: 250px; } }
