:root {
  --ep-green: #087557;
  --ep-forest: #083f37;
  --ep-gold: #efbf55;
  --ep-red: #b93c3d;
  --ep-sky: #83cbed;
  --ep-sky-soft: #e9f6ff;
  --ep-ink: #183e53;
  --ep-stripe: linear-gradient(90deg, var(--ep-green) 0 25%, var(--ep-gold) 25% 50%, var(--ep-red) 50% 75%, var(--ep-sky) 75% 100%);
}

.ep-home { --green: var(--ep-green); --pale: var(--ep-sky-soft); --ink: var(--ep-ink); --muted: #456578; }
.ep-home .hero {
  background-color: var(--ep-forest);
  background-image: linear-gradient(100deg, #073b34f7 5%, #0a4c45ed 55%, #1a5b779e), url('https://images.unsplash.com/photo-1531058020387-3be344556be6?w=1600&q=85');
}
.ep-home .hero h1 em { color: #ffdb84; }
.ep-home .hero .pill { color: #bceaff; }
.ep-home .hero-stripe { background: var(--ep-stripe); }
.ep-home .hero .btn.light { background: var(--ep-gold); color: #173c37; }
.ep-home .hero .btn.light:hover { background: #ffda80; }
.ep-home .quick-access { background: #f3faff; }
.ep-home .quick-link { border-top: 3px solid var(--ep-green); }
.ep-home .quick-link:nth-child(2) { border-top-color: var(--ep-sky); }
.ep-home .quick-link:nth-child(3) { border-top-color: var(--ep-gold); }
.ep-home .statement-logo { background: linear-gradient(145deg, #fff, #d8efff); border: 1px solid #d5eaf3; }
.ep-home .statement-logo::after { color: #3e6276; }
.ep-home .strategy-overview > div { background: #d8efff; color: var(--ep-ink); }
.ep-home .pillar { border-top-color: var(--ep-green); border-radius: 13px; }
.ep-home .pillar:nth-child(2) { border-top-color: var(--ep-gold); }
.ep-home .pillar:nth-child(3) { border-top-color: var(--ep-red); }
.ep-home .pillar .axis-icon { background: #e1f3eb; color: #086449; }
.ep-home .pillar:nth-child(2) .axis-icon { background: #fff0cb; color: #775000; }
.ep-home .pillar:nth-child(3) .axis-icon { background: #fbe9e9; color: #992d32; }
.ep-home .axis-card[open] { background: #f1faff; }
.ep-home .cross { background: #dff3e9; }
.ep-home .tools-section { background: linear-gradient(120deg, #063c37, #0a4860); }
.ep-home .tool { background: #ffffff0b; border-top: 3px solid var(--ep-sky); }
.ep-home .tool:nth-child(2) { border-top-color: var(--ep-gold); }
.ep-home .tool:nth-child(3) { border-top-color: #e78a8a; }
.ep-home .place { border-color: var(--ep-green); }
.ep-home .place:nth-child(2) { border-color: var(--ep-red); }
.ep-home .place:nth-child(3) { border-color: var(--ep-gold); }
.ep-home .team { background: #f1f9ff; }
.ep-home .member { border-bottom-color: var(--ep-green); }
.ep-home .member p { color: #49677b; }
.ep-home .contact { background: linear-gradient(110deg, #0c5648, #115570); }
.ep-home footer { background: #093731; }

.ep-questionnaire { --paper: var(--ep-sky-soft); --green: var(--ep-green); }
.ep-questionnaire .hero,
.ep-questionnaire .assessment-head { background: linear-gradient(110deg, #073b34, #0c5365); }
.ep-questionnaire .hero { border-bottom: 5px solid transparent; border-image: var(--ep-stripe) 1; }
.ep-questionnaire .dimension { border-top: 3px solid var(--ep-green); }
.ep-questionnaire .dimension:nth-child(2) { border-top-color: var(--ep-gold); }
.ep-questionnaire .dimension:nth-child(3) { border-top-color: var(--ep-red); }
.ep-questionnaire .footer { background: #093731; }

.ep-navigator { --cream: #f1f9ff; --green: var(--ep-green); }
.ep-navigator .top { border-bottom: 3px solid transparent; border-image: var(--ep-stripe) 1; }
.ep-navigator .intro-card { background: linear-gradient(115deg, #083f37, #0c5365); }
.ep-navigator .learning-section { background: var(--ep-sky-soft); }

.ep-dashboard { background: #f0f9ff; }
.ep-dashboard .sidebar { background: linear-gradient(155deg, #073c34, #0a4a5f); border-top: 5px solid transparent; border-image: var(--ep-stripe) 1; }
.ep-dashboard .stats > .stat { border-top: 3px solid var(--ep-green); }
.ep-dashboard .stats > .stat:nth-child(2) { border-top-color: var(--ep-gold); }
.ep-dashboard .stats > .stat:nth-child(3) { border-top-color: var(--ep-red); }
.ep-dashboard .stats > .stat:nth-child(4) { border-top-color: var(--ep-sky); }

.ep-statuts { background: #f0f9ff; }
.ep-statuts header { border-bottom: 4px solid transparent; border-image: var(--ep-stripe) 1; }
.ep-statuts footer { background: #093731; }
@media print {
  .ep-statuts, .ep-navigator { background: #fff; }
}

@property --hero-odd-color {
  syntax: "<color>";
  inherits: true;
  initial-value: #3f7e44;
}

@keyframes hero-odd-palette {
  0%, 100% {
    --hero-odd-color: #e5243b;
    --hero-odd-caption-fr: "SDG 1 · Keine Armut";
    --hero-odd-caption-en: "SDG 1 · No Poverty";
  }
  5.882% {
    --hero-odd-color: #dda63a;
    --hero-odd-caption-fr: "SDG 2 · Kein Hunger";
    --hero-odd-caption-en: "SDG 2 · Zero Hunger";
  }
  11.765% {
    --hero-odd-color: #4c9f38;
    --hero-odd-caption-fr: "SDG 3 · Gesundheit und Wohlergehen";
    --hero-odd-caption-en: "SDG 3 · Good Health and Well-being";
  }
  17.647% {
    --hero-odd-color: #c5192d;
    --hero-odd-caption-fr: "SDG 4 · Hochwertige Bildung";
    --hero-odd-caption-en: "SDG 4 · Quality Education";
  }
  23.529% {
    --hero-odd-color: #ff3a21;
    --hero-odd-caption-fr: "SDG 5 · Geschlechtergleichstellung";
    --hero-odd-caption-en: "SDG 5 · Gender Equality";
  }
  29.412% {
    --hero-odd-color: #26bde2;
    --hero-odd-caption-fr: "SDG 6 · Sauberes Wasser und Sanitäreinrichtungen";
    --hero-odd-caption-en: "SDG 6 · Clean Water and Sanitation";
  }
  35.294% {
    --hero-odd-color: #fcc30b;
    --hero-odd-caption-fr: "SDG 7 · Bezahlbare und saubere Energie";
    --hero-odd-caption-en: "SDG 7 · Affordable and Clean Energy";
  }
  41.176% {
    --hero-odd-color: #a21942;
    --hero-odd-caption-fr: "SDG 8 · Menschenwürdige Arbeit und Wirtschaftswachstum";
    --hero-odd-caption-en: "SDG 8 · Decent Work and Economic Growth";
  }
  47.059% {
    --hero-odd-color: #fd6925;
    --hero-odd-caption-fr: "SDG 9 · Industrie, Innovation und Infrastruktur";
    --hero-odd-caption-en: "SDG 9 · Industry, Innovation and Infrastructure";
  }
  52.941% {
    --hero-odd-color: #dd1367;
    --hero-odd-caption-fr: "SDG 10 · Weniger Ungleichheiten";
    --hero-odd-caption-en: "SDG 10 · Reduced Inequalities";
  }
  58.824% {
    --hero-odd-color: #fd9d24;
    --hero-odd-caption-fr: "SDG 11 · Nachhaltige Städte und Gemeinden";
    --hero-odd-caption-en: "SDG 11 · Sustainable Cities and Communities";
  }
  64.706% {
    --hero-odd-color: #bf8b2e;
    --hero-odd-caption-fr: "SDG 12 · Nachhaltiger Konsum und Produktion";
    --hero-odd-caption-en: "SDG 12 · Responsible Consumption and Production";
  }
  70.588% {
    --hero-odd-color: #3f7e44;
    --hero-odd-caption-fr: "SDG 13 · Massnahmen zum Klimaschutz";
    --hero-odd-caption-en: "SDG 13 · Climate Action";
  }
  76.471% {
    --hero-odd-color: #0a97d9;
    --hero-odd-caption-fr: "SDG 14 · Leben unter Wasser";
    --hero-odd-caption-en: "SDG 14 · Life Below Water";
  }
  82.353% {
    --hero-odd-color: #56c02b;
    --hero-odd-caption-fr: "SDG 15 · Leben an Land";
    --hero-odd-caption-en: "SDG 15 · Life on Land";
  }
  88.235% {
    --hero-odd-color: #00689d;
    --hero-odd-caption-fr: "SDG 16 · Frieden, Gerechtigkeit und starke Institutionen";
    --hero-odd-caption-en: "SDG 16 · Peace, Justice and Strong Institutions";
  }
  94.118% {
    --hero-odd-color: #19486a;
    --hero-odd-caption-fr: "SDG 17 · Partnerschaften zur Erreichung der Ziele";
    --hero-odd-caption-en: "SDG 17 · Partnerships for the Goals";
  }
}

.hero-odd-caption, .hero-colors-control { display: none; }
@supports (color: color-mix(in srgb, black, white)) and selector(:has(input:checked)) {
  @media (prefers-reduced-motion: no-preference) {
    .ep-home .hero {
      background-image:
        linear-gradient(100deg,
          color-mix(in srgb, var(--hero-odd-color, #3f7e44) 31%, #061c25f7) 5%,
          color-mix(in srgb, var(--hero-odd-color, #3f7e44) 37%, #061c25ee) 70%,
          color-mix(in srgb, var(--hero-odd-color, #3f7e44) 49%, #061c25b0)),
        url('https://images.unsplash.com/photo-1531058020387-3be344556be6?w=1600&q=85');
      animation: hero-odd-palette 102s ease-in-out infinite;
      animation-timing-function: linear(0, 0 65%, 1);
    }
    .ep-home .hero-stripe { background: var(--hero-odd-color, var(--ep-stripe)); }
    .ep-home .hero:has(#pause-odd-colors:checked) { animation-play-state: paused; }
    .hero-odd-caption {
      position: absolute;
      z-index: 2;
      top: 18px;
      right: max(22px, calc((100% - 1170px) / 2));
      display: inline-flex;
      align-items: center;
      gap: 8px;
      max-width: min(390px, calc(100% - 44px));
      padding: 6px 10px;
      border: 1px solid #ffffff42;
      border-radius: 12px;
      background: #061c2580;
      color: #fff;
      font-size: 12px;
      line-height: 1.35;
    }
    .hero-odd-caption::before {
      content: "";
      flex: 0 0 8px;
      height: 8px;
      border: 1px solid #ffffff80;
      border-radius: 50%;
      background-color: var(--hero-odd-color);
    }
    .hero-odd-caption::after { content: var(--hero-odd-caption-fr); }
    .hero:lang(en) .hero-odd-caption::after { content: var(--hero-odd-caption-en); }
    .hero-colors-control {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-top: 18px;
      color: #fff;
      font-size: 13px;
      cursor: pointer;
    }
    .hero-colors-control input { margin: 0; accent-color: var(--ep-gold); }
  }
}

/* Show only the original tree emblem in the home header. The full logo remains
   available elsewhere; these bounds exclude the embedded name and slogan. */
.ep-home .site-header .logo {
  position: relative;
  display: block;
  width: 88px;
  aspect-ratio: 560 / 520;
  overflow: hidden;
}
.ep-home .site-header .logo img {
  position: absolute;
  display: block;
  width: 160.714286%;
  max-width: none;
  height: auto;
  left: -30.357143%;
  top: -7.692308%;
}
@media (max-width: 760px) {
  .ep-home .site-header .logo { width: 70px; }
  .ep-home .site-header .nav { min-height: 80px; }
}

/* Equal outer columns keep the organization name at the exact center. */
.ep-home .site-header { height: auto; }
.ep-home .site-header .nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  height: auto;
  gap: 6px 16px;
  padding-block: 8px;
}
.ep-home .site-header .logo { grid-column: 1; grid-row: 1; justify-self: start; }
.ep-home .header-wordmark {
  grid-column: 2;
  grid-row: 1;
  text-align: center;
  font-family: Manrope, sans-serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.6px;
  line-height: 1.2;
  color: var(--blue);
}
.ep-home .site-header .nav-actions { grid-column: 3; grid-row: 1; justify-self: end; }
.ep-home .site-header .navlinks {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-content: center;
  min-height: 34px;
}
@media (max-width: 760px) {
  .ep-home .site-header .nav { gap: 8px; min-height: 80px; }
  .ep-home .site-header .logo { width: 54px; }
  .ep-home .header-wordmark { font-size: clamp(15px, 4.5vw, 21px); letter-spacing: -.35px; }
  .ep-home .header-wordmark span { display: block; }
  .ep-home .site-header .nav-actions { gap: 4px; }
  .ep-home .site-header .language, .ep-home .site-header .hamb { width: 38px; height: 40px; }
  .ep-home .site-header .navlinks { justify-content: stretch; }
}

/* Keep the signature and Swiss flag readable independently of the emblem. */
.ep-home .site-header .nav {
  grid-template-columns: minmax(0, 1fr) minmax(0, 600px) minmax(0, 1fr);
  padding-block: 12px 8px;
}
.ep-home .header-wordmark { display: block; letter-spacing: 0; }
.ep-home .header-wordmark .header-name {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 44px;
  line-height: 1;
  font-weight: 700;
}
.ep-home .header-wordmark .header-country {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 5px;
  font-size: 18px;
  line-height: 1.25;
}
.ep-home .header-wordmark .swiss-flag { width: 23px; height: 23px; flex: none; }
.ep-home .header-wordmark .header-slogan {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 760px) {
  .ep-home .site-header .nav {
    grid-template-columns: 80px minmax(0, 1fr) 80px;
    gap: 6px;
    padding-block: 10px;
    min-height: 140px;
  }
  .ep-home .header-wordmark .header-name { font-size: clamp(25px, 7vw, 34px); }
  .ep-home .header-wordmark .header-country { font-size: 13px; gap: 5px; margin-top: 4px; }
  .ep-home .header-wordmark .swiss-flag { width: 18px; height: 18px; }
  .ep-home .header-wordmark .header-slogan { font-size: 10px; line-height: 1.4; margin-top: 6px; }
  .ep-home .header-slogan br { display: none; }
}
@media (max-width: 350px) {
  .ep-home .site-header .nav { width: calc(100% - 24px); grid-template-columns: 72px minmax(0, 1fr) 72px; gap: 4px; }
  .ep-home .site-header .language, .ep-home .site-header .hamb { width: 34px; }
}

/* Signature on one line, with a separate slogan beneath. */
.ep-home .header-wordmark .header-title { display: flex; align-items: center; justify-content: center; gap: 10px; white-space: nowrap; }
.ep-home .header-wordmark .header-name { font-size: 36px; }
.ep-home .header-wordmark .header-country { margin: 0; font-size: 24px; }
.ep-home .header-wordmark .header-slogan { font-size: 13px; }
.ep-home .site-header .nav { grid-template-columns: minmax(0,1fr) minmax(0,620px) minmax(0,1fr); gap: 10px 16px; padding-block: 12px; }
.ep-home .site-header .navlinks {
  justify-self: center;
  gap: 4px;
  min-height: 44px;
  padding: 5px;
  border: 1px solid #dceae5;
  border-radius: 999px;
  background: #f4f8f6;
  box-shadow: 0 3px 12px #083f3706;
}
.ep-home .site-header .navlinks a {
  padding: 10px 19px;
  border-radius: 999px;
  color: #355b55;
  font-size: 12px;
  transition: background .18s, color .18s, box-shadow .18s;
  text-decoration: none;
}
.ep-home .site-header .navlinks a:hover { background: #e2eee8; color: #075944; }
.ep-home .site-header .navlinks a[aria-current="location"] { background: #087557; color: #fff; box-shadow: 0 3px 9px #08755725; }
.language-picker { position: relative; flex: none; }
.language-trigger {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  border: 1px solid #dceae5; border-radius: 999px;
  padding: 10px 13px; min-height: 44px;
  background: #f4f8f6; color: #174e42; font-size: 12px; font-weight: 800;
}
.language-trigger:hover, .language-trigger[aria-expanded="true"] { background: #e5f1eb; border-color: #a8cebb; }
.language-flag { font-size: 19px; line-height: 1; }
.language-options {
  position: absolute; right: 0; top: calc(100% + 10px); width: 184px; z-index: 60;
  padding: 6px; border-radius: 16px; border: 1px solid #dceae5;
  background: white; box-shadow: 0 14px 40px #083f3726;
}
.language-options button {
  width: 100%; display: flex; align-items: center; gap: 10px;
  padding: 12px 10px; border: 0; border-radius: 10px;
  background: transparent; color: #174e42; font-size: 13px; text-align: left;
}
.language-options button:hover { background: #f0f6f2; }
.language-options button[aria-pressed="true"] { background: #e7f2eb; font-weight: 800; }
.language-check { margin-left: auto; visibility: hidden; }
.language-options button[aria-pressed="true"] .language-check { visibility: visible; }
@media (max-width: 950px) and (min-width: 761px) {
  .ep-home .site-header .navlinks a { padding-inline: 13px; }
}
@media (max-width: 760px) {
  .ep-home .site-header .nav { grid-template-columns: 80px minmax(0, 1fr) 80px; gap: 6px; min-height: 112px; padding-block: 12px; }
  .ep-home .header-wordmark .header-title { gap: 4px; }
  .ep-home .header-wordmark .header-name { font-size: clamp(16px, 4.5vw, 28px); }
  .ep-home .header-wordmark .header-country { font-size: clamp(10px, 2.5vw, 16px); gap: 3px; }
  .ep-home .header-wordmark .swiss-flag { width: 13px; height: 13px; }
  .ep-home .header-wordmark .header-slogan { font-size: 10px; line-height: 1.4; }
  .language-trigger { gap: 2px; width: 42px; min-height: 40px; padding: 5px; }
  .language-trigger .language-code { display: none; }
  .language-trigger .language-flag { font-size: 18px; }
  .ep-home .site-header .hamb { width: 34px; border-radius: 50%; }
  .ep-home .site-header .navlinks { justify-self: stretch; border-radius: 18px; padding: 8px; }
  .ep-home .site-header .navlinks a { border-radius: 12px; padding: 12px 15px; font-size: 14px; }
}
@media (max-width: 350px) {
  .ep-home .site-header .nav { grid-template-columns: 62px minmax(0,1fr) 72px; gap: 3px; }
  .language-trigger { width: 34px; }
  .language-trigger svg { display: none; }
  .ep-home .header-wordmark .header-name { font-size: 16px; }
  .ep-home .header-wordmark .header-country { font-size: 10px; }
}

/* Mobile: preserve a readable central signature and full-size touch controls. */
@media (max-width: 760px) {
  .ep-home .site-header .nav {
    grid-template-columns: 50px minmax(0, 1fr) 50px;
    grid-template-rows: auto auto;
    gap: 8px;
    min-height: 122px;
    padding-block: 12px;
  }
  .ep-home .site-header .logo { width: 50px; grid-row: 1 / 3; align-self: center; }
  .ep-home .header-wordmark { grid-column: 2; grid-row: 1 / 3; }
  .ep-home .header-wordmark .header-name { font-size: clamp(22px, 6vw, 32px); }
  .ep-home .header-wordmark .header-country { font-size: clamp(12px, 3.5vw, 18px); }
  .ep-home .header-wordmark .header-slogan { font-size: 11px; line-height: 1.45; max-width: 330px; margin: 7px auto 0; }
  .ep-home .site-header .nav-actions { grid-column: 3; grid-row: 1 / 3; flex-direction: column; gap: 5px; }
  .language-trigger { width: 44px; min-height: 44px; }
  .ep-home .site-header .hamb { width: 44px; height: 44px; border-radius: 14px; }
  .ep-home .site-header .navlinks { grid-row: auto; }
  .language-options button { min-height: 46px; }
}
@media (max-width: 350px) {
  .ep-home .site-header .nav { grid-template-columns: 44px minmax(0,1fr) 44px; gap: 5px; }
  .ep-home .site-header .logo { width: 44px; }
  .ep-home .header-wordmark .header-name { font-size: 21px; }
  .ep-home .header-wordmark .header-country { font-size: 12px; }
}

/* Unified name typography; mobile emblem centered above the signature. */
.ep-home .header-wordmark .header-name,
.ep-home .header-wordmark .header-country {
  font-family: Manrope, sans-serif;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
}
@media (max-width: 760px) {
  .ep-home .site-header .nav {
    grid-template-columns: 50px minmax(0, 1fr) 50px;
    grid-template-rows: auto auto;
    gap: 8px;
    padding-block: 12px 16px;
  }
  .ep-home .site-header .logo {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    align-self: center;
    width: 76px;
  }
  .ep-home .header-wordmark { grid-column: 1 / -1; grid-row: 2; }
  .ep-home .header-wordmark .header-title { gap: 6px; }
  .ep-home .header-wordmark .header-name,
  .ep-home .header-wordmark .header-country { font-size: clamp(18px, 5.2vw, 23px); }
  .ep-home .header-wordmark .swiss-flag { width: 19px; height: 19px; }
  .ep-home .header-wordmark .header-slogan { font-size: 12px; line-height: 1.4; margin-top: 7px; }
  .ep-home .site-header .nav-actions { grid-column: 3; grid-row: 1; align-self: center; }
}

/* Mobile controls flank the centered emblem with matching geometry. */
@media (max-width: 760px) {
  .ep-home .site-header .nav-actions { display: contents; }
  .ep-home .site-header .hamb {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
  }
  .ep-home .site-header .language-picker {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: center;
  }
  .ep-home .site-header .hamb,
  .ep-home .site-header .language-trigger {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 1px solid #dce9e6;
    border-radius: 14px;
    background: #f4f8f6;
    color: #174e42;
    box-shadow: 0 2px 8px #083f3706;
  }
  .ep-home .site-header .language-trigger > svg { display: none; }
  .ep-home .site-header .language-flag { font-size: 21px; }
  .ep-home .site-header .hamb:hover,
  .ep-home .site-header .language-trigger:hover { background: #e5f1eb; border-color: #a8cebb; }
  .ep-home .site-header .hamb[aria-expanded="true"],
  .ep-home .site-header .language-trigger[aria-expanded="true"] { background: #e5f1eb; border-color: #87bba2; color: #174e42; }
}

.ep-home .header-wordmark .header-locations {
  display: block;
  margin-top: 5px;
  color: #62768a;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 1.1px;
}
@media (max-width: 760px) {
  .ep-home .header-wordmark .header-locations { font-size: 10px; letter-spacing: .9px; }
}

.ep-home .header-wordmark .header-flag {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 7px;
}
.ep-home .header-wordmark .header-flag .swiss-flag {
  display: block;
  width: 20px;
  height: 20px;
}

/* Refined navigation: lightweight dock on desktop, spacious cards on mobile. */
.ep-home .site-header .navlinks {
  background: #ffffffed;
  border-color: #e0eae6;
  box-shadow: 0 8px 30px #083f370a;
  gap: 3px;
}
.ep-home .site-header .navlinks a {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  font-weight: 700; padding: 11px 15px;
}
.ep-home .site-header .navlinks a::before {
  content: ''; display: block; width: 17px; height: 17px; flex: 0 0 17px;
  background: currentColor; mask: var(--nav-icon) center / contain no-repeat;
}
.ep-home .site-header .navlinks a:focus-visible,
.ep-home .site-header .hamb:focus-visible,
.ep-home .site-header .language-trigger:focus-visible { outline: 3px solid #1685ad; outline-offset: 3px; }
@media(max-width:760px) {
  .ep-home .site-header .navlinks {
    inset: calc(100% + 8px) 12px auto;
    padding: 12px; border-radius: 24px; gap: 8px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    max-height: 65dvh; overscroll-behavior: contain;
    background: #fffffff5; backdrop-filter: blur(18px);
    box-shadow: 0 18px 55px #083f3729;
  }
  .ep-home .site-header .navlinks a {
    min-height: 66px; padding: 14px 12px; gap: 10px;
    justify-content: flex-start; border-radius: 16px;
    background: #f4f8f6; border: 1px solid #e8efeb;
    font-size: 13px; line-height: 1.25;
  }
  .ep-home .site-header .navlinks a::before { width: 20px; height: 20px; flex-basis: 20px; }
  .ep-home .site-header .navlinks a[aria-current="location"] { background: #087557; border-color: #087557; color: #fff; }
  .ep-home .site-header .hamb,
  .ep-home .site-header .language-trigger {
    border-radius: 16px; background: #fff; box-shadow: 0 5px 16px #083f370b;
    transition: background .2s, color .2s, transform .2s;
  }
  .ep-home .site-header .hamb[aria-expanded="true"] { background: #083f37; color: #fff; border-color: #083f37; }
  .ep-home .site-header .hamb:active,
  .ep-home .site-header .language-trigger:active { transform: scale(.95); }
}
@media (prefers-reduced-motion:no-preference) {
  .ep-home .site-header .navlinks.open { animation: ep-menu-reveal .22s ease-out; }
  @keyframes ep-menu-reveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
}
.ep-home .navlinks a:nth-child(1){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203%203%207l9%204%209-4-9-4ZM3%2012l9%204%209-4M3%2017l9%204%209-4%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(2){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020V10m8%2010V4m8%2016v-7%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(3){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s-8-5-8-11a4%204%200%200%201%208-3%204%204%200%200%201%208%203c0%206-8%2011-8%2011Z%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(4){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14%206%204-3%203%203-3%204m-5-3L4%2016v4h4l9-9M4%204l4%204%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(5){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%209a3%203%200%201%201%204%203c-1%20.5-1%201-1%202m0%203h.01M5%203h14v18H5Z%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(6){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2012h6M12%209v6M3%203h5v5H3ZM16%203h5v5h-5ZM3%2016h5v5H3ZM16%2016h5v5h-5Z%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(7){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2M9%2011a4%204%200%201%200%200-8%204%204%200%200%200%200%208ZM22%2021v-2a4%204%200%200%200-3-4M16%203a4%204%200%200%201%200%208%22%2F%3E%3C%2Fsvg%3E");}
.ep-home .navlinks a:nth-child(8){--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205h18v14H3ZM3%205l9%208%209-8%22%2F%3E%3C%2Fsvg%3E");}
