/* RSE Germany layout v2. Keep style.min.css and style-rse.css unchanged. */
/* Compact, balanced header: avoid a white gap beneath the left-hand photo. */
.header .logo-area { display: flex; flex-direction: column; }
.header .logo-area > .row:first-child { flex: 0 0 auto; }
.header .logo-area > .row:nth-child(2) { flex: 1 1 auto; min-height: 0; }
.header .logo-area .logo { padding: 20px 0 !important; }
.header .logo-area .logo img { width: 190px; max-width: 85%; height: auto; }
.header .logo-area .small-header-img { min-height: 0 !important; max-height: none !important; height: 100% !important; }
.header .logo-area .small-header-img .gray-overlay { min-height: 0 !important; height: 100% !important; }
.header .slider-area, .header .slider-area .header-carousel,
.header .slider-area .carousel-inner, .header .slider-area .header-slider-image { height: 500px !important; }
.header .slider-area .carousel-indicators, .header .slider-area .carousel-actions { height: 74px; }
@media (min-width: 1200px) {
  .header .slider-area .carousel-actions .carousel-control-prev,
  .header .slider-area .carousel-actions .carousel-control-next { bottom: 32px; }
}
/* Navigation: subtle language links and clear main action */
.rse-top-navigation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:18px 28px; padding:22px 15px 12px; }
.rse-languages { display:flex; align-items:center; flex-wrap:wrap; gap:10px 28px; }
.rse-top-navigation a { font-size:17px; line-height:1.4; }
.rse-languages a { color:#258c38; white-space:nowrap; }
.rse-languages a[aria-current="page"] { color:#145322; font-weight:600; }
.rse-languages a:hover, .rse-languages a:focus-visible { color:#145322; text-decoration:underline; }
.rse-top-navigation .rse-career-button { display:inline-flex; align-items:center; gap:10px;
  background:#23a438; color:#fff; padding:11px 20px; border-radius:5px; font-size:16px;
  font-weight:600; white-space:nowrap; transition:background .2s ease; }
.rse-top-navigation .rse-career-button:hover, .rse-top-navigation .rse-career-button:focus-visible { background:#145322; color:#fff; }
/* Restore the introduction as a prominent but compact standalone paragraph */
.rse-introduction { padding:13px 0 38px; }
.rse-introduction .container { max-width:1110px; }
.rse-introduction h4 { max-width:980px; margin:0; font-size:clamp(22px,2.05vw,30px); line-height:1.45; font-weight:400; }
.rse-introduction h4 a { font-size:inherit !important; line-height:inherit; }
/* Contact section and legal navigation visually separated */
footer.rse-footer { background:#f5f7f5; border-top:1px solid #e4ebe5; padding:44px 24px 28px !important; }
footer.rse-footer .contact-infos { max-width:1130px; margin:0 auto 30px; align-items:center; text-align:left; }
footer.rse-footer .contact-infos > div { justify-content:flex-start !important; align-items:center; }
footer.rse-footer .contact-infos > div:first-child { justify-content:center !important; }
footer.rse-footer .contact-infos .logo { width:160px; margin:0; }
footer.rse-footer .contact-infos p, footer.rse-footer .contact-infos span,
footer.rse-footer .contact-infos a { font-size:18px; line-height:1.65; opacity:1; }
footer.rse-footer .contact-infos p { margin:0; }
footer.rse-footer .contact-infos span { color:#145322; }
footer.rse-footer .contact-infos .white br:first-child { display:none; }
footer.rse-footer > .row:last-of-type { max-width:1130px; margin:0 auto; padding-top:20px; border-top:1px solid #d9e3dc; }
footer.rse-footer .legal-notes { display:flex !important; align-items:center; justify-content:flex-start !important;
  flex-wrap:wrap; gap:12px 28px; padding:0 15px; }
footer.rse-footer .legal-notes > div { margin:0; padding:0; }
footer.rse-footer .legal-notes .btn-primary, footer.rse-footer .legal-notes > div > a {
  display:inline-block; margin:0 !important; padding:4px 0 !important; background:transparent !important;
  border:0 !important; font-family:'Roboto',Arial,sans-serif; font-size:15px !important;
  font-weight:400; line-height:1.6 !important; color:#287f37 !important; text-align:left; }
footer.rse-footer .legal-notes .btn-primary:hover, footer.rse-footer .legal-notes > div > a:hover,
footer.rse-footer .legal-notes .btn-primary:focus-visible, footer.rse-footer .legal-notes > div > a:focus-visible {
  color:#145322 !important; text-decoration:underline; }
@media(max-width:991.98px) {
  .header .slider-area, .header .slider-area .header-carousel,
  .header .slider-area .carousel-inner, .header .slider-area .header-slider-image { height:400px !important; }
  footer.rse-footer .contact-infos .logo { width:140px; }
  footer.rse-footer .contact-infos p, footer.rse-footer .contact-infos span,
  footer.rse-footer .contact-infos a { font-size:16px; }
}
@media(max-width:767.98px) {
  .header .logo-area .logo { padding:14px 0 !important; }
  .header .logo-area .logo img { width:160px; }
  .header .logo-area .small-header-img, .header .logo-area .small-header-img .gray-overlay { height:120px !important; }
  .header .slider-area, .header .slider-area .header-carousel,
  .header .slider-area .carousel-inner, .header .slider-area .header-slider-image { height:300px !important; }
  .rse-top-navigation { padding:18px 15px; }
  .rse-languages { gap:10px 20px; }
  .rse-top-navigation a { font-size:15px; }
  .rse-introduction { padding:14px 0 32px; }
  .rse-introduction h4 { font-size:22px; }
  footer.rse-footer { padding:35px 16px 24px !important; }
  footer.rse-footer .contact-infos { gap:22px 0; text-align:center; }
  footer.rse-footer .contact-infos > div { justify-content:center !important; }
  footer.rse-footer .contact-infos .logo { width:135px; }
  footer.rse-footer .legal-notes { justify-content:center !important; gap:8px 22px; }
  footer.rse-footer .legal-notes .btn-primary, footer.rse-footer .legal-notes > div > a { text-align:center; }
}

/* v3: announcement card now sits between hero and single language navigation. */
.announcement-bar { box-sizing:border-box; max-width:1110px; margin:34px auto 18px; padding:22px 28px; }
.announcement-bar .announcement-text h3 { font-size:18px; line-height:1.35; }
.announcement-bar .announcement-text p { font-size:16px; line-height:1.5; margin:8px 0 10px; opacity:1; }
.announcement-bar .read-more { font-size:14px; line-height:1.4; padding:9px 18px; margin-top:4px; }
.announcement-bar .logo-rse img { max-height:82px; object-fit:contain; }
.rse-top-navigation { padding-top:22px; padding-bottom:24px; }
.rse-introduction { padding-top:22px; padding-bottom:68px; }
.rse-introduction h4 { margin:0; }
footer.rse-footer { margin-top:0; }
@media(max-width:767.98px) {
  .announcement-bar { margin:24px 15px 8px; padding:20px; gap:20px; }
  .announcement-bar .announcement-text { max-width:100%; }
  .rse-introduction { padding-top:12px; padding-bottom:45px; }
}
