/* =========================================================
   Moderatoren-Agentur – gemeinsame Basis
   Für modernisierte Startseite und modernisierte Unterseiten
   ========================================================= */

/* -------------------- tokens -------------------- */
:root {
  --ma-yellow: rgb(255, 196, 0);
  --ma-title-accent: #a56f00;
  --ma-gold: #b58c16;
  --ma-text: #2b2e31;
  --ma-text-soft: #6f685f;
  --ma-white: #ffffff;
  --ma-surface-card: #ffffff;
  --ma-surface-card-soft: #fffefc;
  --ma-surface-hero-card: rgba(255, 255, 253, 0.97);
  --ma-surface-footer: #faf7f1;
  --ma-surface-page: #fffefc;
  --ma-porcelain: #fcfaf6;
  --ma-porcelain-deep: #f6f0e7;
  --ma-border-soft: rgba(212, 175, 55, 0.12);
  --ma-border-card-soft: rgba(226, 174, 19, 0.08);
  --ma-border-card-hover: rgba(226, 174, 19, 0.14);
  --ma-shadow-soft: 0 10px 24px rgba(76, 61, 30, 0.028);
  --ma-shadow-hover: 0 14px 28px rgba(76, 61, 30, 0.045);
  --ma-copy-size: 15.2px;
  --ma-copy-line: 1.76;
  --ma-copy-track: 0.002em;
  --ma-topbar-min-height: 54px;
  --ma-header-offset-desktop: 132px;
  --ma-header-offset-mobile: 96px;
  --ma-focus-ring: rgba(165, 111, 0, 0.42);
  --ma-focus-shadow: 0 0 0 3px rgba(255, 196, 0, 0.18);

  --ma-radius-10: 10px;
  --ma-radius-12: 12px;
  --ma-radius-16: 16px;
  --ma-radius-18: 18px;
  --ma-radius-20: 20px;
  --ma-radius-22: 22px;
  --ma-radius-24: 24px;
  --ma-radius-30: 30px;
  --ma-radius-round: 999px;

  --ma-accent-line: linear-gradient(90deg, rgba(176, 136, 18, 0), rgba(212, 175, 55, 0.68), rgba(255, 196, 0, 0.64), rgba(212, 175, 55, 0.68), rgba(176, 136, 18, 0));
  --ma-divider-strong: linear-gradient(90deg, rgba(176, 136, 18, 0), rgba(212, 175, 55, 0.50), rgba(255, 196, 0, 0.78), rgba(212, 175, 55, 0.50), rgba(176, 136, 18, 0));
  --ma-divider-soft: linear-gradient(90deg, rgba(176, 136, 18, 0), rgba(212, 175, 55, 0.34), rgba(255, 196, 0, 0.40), rgba(212, 175, 55, 0.34), rgba(176, 136, 18, 0));
  --ma-surface-warm:
    linear-gradient(118deg, rgba(255, 255, 255, 0.985) 0%, rgba(255, 250, 239, 0.978) 28%, rgba(255, 255, 255, 0.968) 56%, rgba(255, 249, 238, 0.978) 78%, rgba(255, 255, 255, 0.985) 100%),
    linear-gradient(180deg, var(--ma-porcelain) 0%, var(--ma-porcelain-deep) 100%);
}

/* -------------------- base -------------------- */
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--ma-header-offset-desktop);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  color: var(--ma-text);
  background: var(--ma-surface-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: Arial, Helvetica, sans-serif;
}

html,
body,
body * {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--ma-focus-ring);
  outline-offset: 3px;
}

h1,
h2,
h3,
.title,
.widget-title .title,
.hero-wide-card-title,
.hero-kicker,
.section-label,
.faq-card summary,
#accordion1 .panel-title a {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -0.01em;
  text-transform: none !important;
  text-wrap: balance;
}

p,
li,
dd,
dt,
address {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-end {
  text-align: right !important;
}

.nowrap {
  white-space: nowrap;
}

.clearfix {
  clear: both;
}

.black {
  color: var(--ma-text) !important;
}

.inline-block {
  display: inline-block !important;
}

.head-no-margin {
  margin: 0 !important;
}

.no-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bottom-margin-20 {
  margin-bottom: 20px !important;
}

.top-pad-20 {
  padding-top: 20px !important;
}

.bottom-pad-20 {
  padding-bottom: 20px !important;
}

.bottom-xs-pad-20 {
  padding-bottom: 20px !important;
}

.anchor-target {
  display: block;
  position: relative;
  height: 0;
  scroll-margin-top: var(--ma-header-offset-desktop);
}

.skip-link {
  position: absolute;
  left: 14px;
  top: -60px;
  z-index: 10000;
  padding: 12px 16px;
  border-radius: var(--ma-radius-12);
  background: var(--ma-white);
  border: 2px solid var(--ma-yellow);
  color: var(--ma-text);
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
  transition: top 0.2s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  top: 12px;
  text-decoration: none;
  color: var(--ma-text);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* -------------------- lightweight grid -------------------- */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  width: 100%;
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  --bs-gutter-x: 30px;
  --bs-gutter-y: 0;
  margin-right: calc(var(--bs-gutter-x) / -2);
  margin-left: calc(var(--bs-gutter-x) / -2);
  margin-top: calc(var(--bs-gutter-y) * -1);
}

.row > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) / 2);
  padding-left: calc(var(--bs-gutter-x) / 2);
  margin-top: var(--bs-gutter-y);
}

.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }

@media (min-width: 576px) {
  .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
  .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 768px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 750px;
  }

  .col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 992px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 970px;
  }

  .col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .offset-lg-1 { margin-left: 8.333333%; }
}

@media (min-width: 1200px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 1170px;
  }
}

/* -------------------- svg icons -------------------- */
.icon-inline,
.social-badge,
.arrow-badge,
.contact-info-icon,
.contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.icon-inline svg,
.social-badge svg,
.arrow-badge svg,
.contact-info-icon svg,
.contact-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.icon-inline {
  color: #9a7a15;
  line-height: 1;
}

.icon-inline.phone-icon {
  width: 13.5px;
  height: 13.5px;
}

.icon-inline.mail-icon {
  width: 20px;
  height: 20px;
}

.social-badge {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 196, 0, 0.045);
  border: 1px solid rgba(181, 140, 22, 0.18);
  color: #615b53;
  text-decoration: none;
  transition: background-color 0.25s ease, transform 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  padding: 0;
}

.social-badge-xing svg {
  width: 12.5px;
  height: 12.5px;
}

.social-badge-facebook svg {
  width: 12.5px;
  height: 12.5px;
}

.social-badge-linkedin svg {
  width: 13px;
  height: 13px;
}

.social-badge:hover,
.social-badge:focus {
  background: rgba(255, 196, 0, 0.09);
  border-color: rgba(181, 140, 22, 0.26);
  transform: translateY(-1px);
  color: #615b53;
  text-decoration: none;
  outline: none;
}

.arrow-badge {
  width: 18px;
  height: 18px;
  color: #615a51;
}

/* -------------------- navigation + header -------------------- */
.escape-focus-reset {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

.escape-focus-reset:focus,
.escape-focus-reset:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.nav-dropdown-toggle,
.navbar-brand {
  outline: none;
}

.nav-dropdown-toggle:focus,
.nav-dropdown-toggle:focus-visible,
.navbar-brand:focus,
.navbar-brand:focus-visible {
  outline: none !important;
}

.nav-dropdown-toggle::-moz-focus-inner,
.navbar-toggler::-moz-focus-inner {
  border: 0 !important;
}

.nav-dropdown-toggle:-moz-focusring,
.navbar-brand:-moz-focusring {
  outline: none !important;
}

.has-premium-dropdown.is-escape-closed > .nav-dropdown-toggle,
.has-premium-dropdown.is-escape-closed > .nav-dropdown-toggle:focus,
.has-premium-dropdown.is-escape-closed > .nav-dropdown-toggle:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.navbar-brand:focus-visible,
.top-contact a:focus-visible,
.social-badge:focus-visible,
.navbar-toggler:focus-visible,
.navbar-nav-custom > li > a:focus-visible,
.nav-dropdown-toggle:focus-visible,
.dropdown-menu-custom li a:focus-visible,
.hero-btn:focus-visible,
.hero-wide-btn:focus-visible,
.footer-legal-links a:focus-visible,
.footer-social-row .social-badge:focus-visible,
.copyright .page-scroll a:focus-visible {
  box-shadow: var(--ma-focus-shadow);
  border-radius: var(--ma-radius-12);
}

.top-bar-section {
  background: var(--ma-surface-warm) !important;
  border-bottom: 1px solid rgba(210, 162, 58, 0.06);
}

.sticky-navigation {
  position: sticky;
  top: 0;
  z-index: 5000;
  transition: box-shadow 0.35s ease;
}

#top-bar .container,
#navigation .container {
  width: 100%;
  max-width: 1560px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 26px;
  padding-right: 26px;
}

#top-bar .top-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: var(--ma-topbar-min-height);
  padding-top: 0;
  padding-bottom: 0;
}

.top-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  flex: 1 1 auto;
  max-width: none;
  transform: translateX(38px);
}

.top-contact a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 10px 0;
  line-height: 1.2;
  font-size: 14.4px;
  letter-spacing: 0.008em;
  color: #555047;
  text-decoration: none;
  transition: color 0.25s ease;
}

.top-contact a:hover,
.top-contact a:focus {
  color: var(--ma-text);
}

.top-social-icon {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  transform: translateX(-240px);
}

.header-contact,
.header-contact-content {
  display: none !important;
}

#navigation.navbar {
  position: relative;
  background: rgba(255, 255, 255, 0.985);
  border: 0;
  box-shadow: 0 1px 0 rgba(210, 162, 58, 0.05);
  transition: background 0.35s ease, box-shadow 0.35s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

#navigation.navbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(176, 136, 18, 0), rgba(212, 175, 55, 0.18), rgba(255, 196, 0, 0.28), rgba(212, 175, 55, 0.18), rgba(176, 136, 18, 0));
  pointer-events: none;
}

.sticky-navigation.is-compact #navigation.navbar {
  background: rgba(255, 255, 255, 0.965);
  box-shadow: 0 14px 32px rgba(76, 61, 30, 0.07), 0 1px 0 rgba(210, 162, 58, 0.06);
}

.navbar-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 88px;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  padding: 12px 0 10px;
  margin-right: 0;
  margin-left: 0 !important;
  flex: 0 0 auto;
  border-radius: var(--ma-radius-10);
  position: relative;
  transform: translateX(42px);
  text-decoration: none;
}

.navbar-brand .site_logo {
  width: 146px !important;
  height: auto;
  margin-top: 6px;
  transition: width 0.35s ease, margin-top 0.35s ease, opacity 0.35s ease, transform 0.35s ease;
  transform-origin: left center;
  animation: logoReveal 1.15s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes logoReveal {
  0% {
    opacity: 0;
    transform: translateY(6px) scale(0.985);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.sticky-navigation.is-compact .navbar-brand {
  padding-top: 14px;
  padding-bottom: 10px;
}

.sticky-navigation.is-compact .navbar-brand .site_logo {
  width: 182px !important;
  height: auto;
  margin-top: 6px;
}

.navbar-toggler {
  display: none;
  width: 48px;
  height: 48px;
  border-radius: var(--ma-radius-12);
  border: 1px solid rgba(176, 136, 18, 0.28);
  background: #fffdf9;
  padding: 0;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.navbar-toggler:hover,
.navbar-toggler:focus {
  border-color: rgba(176, 136, 18, 0.42);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 196, 0, 0.18);
}

.navbar-toggler-box {
  width: 22px;
  height: 16px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}

.navbar-toggler-box span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: var(--ma-radius-round);
  background-color: #6f685f;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-box span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-box span:nth-child(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-box span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.navbar-menu {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
}

.navbar-nav-custom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  transform: translateX(204px);
}

.navbar-nav-custom > li {
  position: relative;
}

.navbar-nav-custom > li > a,
.nav-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 60px;
  padding: 22px 14px 20px;
  color: var(--ma-text);
  font-size: 14.7px;
  font-weight: 500;
  letter-spacing: 0.012em;
  text-decoration: none;
  background: transparent;
  border: 0;
  transition: color 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
  box-shadow: inset 0 0 0 rgba(226, 174, 19, 0);
  white-space: nowrap;
  cursor: pointer;
}

.navbar-nav-custom > li > a:hover,
.navbar-nav-custom > li > a:focus,
.navbar-nav-custom > li > a[aria-current="page"],
.navbar-nav-custom > li > a.is-active,
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle:focus,
.has-premium-dropdown.is-open > .nav-dropdown-toggle {
  color: var(--ma-text);
  box-shadow: inset 0 -2px 0 rgba(226, 174, 19, 0.42);
  text-decoration: none;
  outline: none;
}

.nav-dropdown-toggle::after {
  content: "▾";
  font-size: 12px;
  line-height: 1;
  color: #9a7a15;
  position: relative;
  top: -1px;
}

.has-premium-dropdown {
  position: relative;
}

.dropdown-menu-custom {
  list-style: none;
  margin: 0;
  padding: 12px 0 10px;
  border: 1px solid rgba(212, 175, 55, 0.12);
  border-radius: var(--ma-radius-16);
  box-shadow: 0 18px 34px rgba(76, 61, 30, 0.075);
  background: rgba(255, 255, 255, 0.985);
  min-width: 500px;
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  z-index: 6000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
  transform: translateY(4px);
  overflow: hidden;
}

.dropdown-menu-custom::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  border-radius: var(--ma-radius-round);
  background: linear-gradient(90deg, rgba(176, 136, 18, 0), rgba(212, 175, 55, 0.58), rgba(255, 196, 0, 0.66), rgba(212, 175, 55, 0.58), rgba(176, 136, 18, 0));
}

.dropdown-menu-custom li a {
  display: block;
  padding: 11px 20px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--ma-text);
  white-space: normal;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.dropdown-menu-custom li a:hover,
.dropdown-menu-custom li a:focus {
  background: rgba(255, 196, 0, 0.055);
  color: var(--ma-text);
  text-decoration: none;
  outline: none;
}

@media (min-width: 992px) {
  .has-premium-dropdown:hover > .dropdown-menu-custom,
  .has-premium-dropdown:focus-within > .dropdown-menu-custom,
  .has-premium-dropdown.is-open > .dropdown-menu-custom {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .has-premium-dropdown.is-escape-closed > .dropdown-menu-custom {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(4px) !important;
  }
}

/* -------------------- buttons -------------------- */
.hero-btn,
.hero-wide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 16px 30px;
  border-radius: var(--ma-radius-12);
  font-size: 19px;
  line-height: 1.24;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease, color 0.35s ease;
  box-shadow: 0 10px 24px rgba(76, 61, 30, 0.045);
  border: 2px solid transparent;
}

.hero-btn:hover,
.hero-btn:focus,
.hero-wide-btn:hover,
.hero-wide-btn:focus {
  text-decoration: none;
  transform: translateY(-1px);
}

.hero-btn-primary,
.hero-wide-btn-primary {
  color: #43351a;
  background:
    linear-gradient(180deg, rgba(255, 254, 249, 0.98) 0%, rgba(252, 245, 228, 0.98) 100%) padding-box,
    linear-gradient(135deg, rgba(176, 136, 18, 0.92) 0%, rgba(212, 175, 55, 0.98) 18%, rgba(255, 196, 0, 0.92) 38%, rgba(255, 241, 198, 1) 50%, rgba(255, 196, 0, 0.92) 64%, rgba(212, 175, 55, 0.98) 82%, rgba(164, 124, 10, 0.94) 100%) border-box;
  box-shadow: 0 14px 28px rgba(76, 61, 30, 0.055);
}

/* -------------------- footer -------------------- */
#footer .footer-widget {
  color: #1b1b1b !important;
  background: var(--ma-surface-footer) !important;
  border-top: 1px solid rgba(210, 162, 58, 0.08);
  padding-top: 16px;
  padding-bottom: 14px;
}

#footer .widget-title .title,
#footer .footer-widget p,
#footer .footer-widget li,
#footer .footer-widget a,
#footer .footer-widget strong,
#footer .footer-count .count-number {
  color: #1b1b1b !important;
  text-decoration: none !important;
}

#footer .footer-widget p,
#footer .footer-widget li {
  line-height: 1.8;
  font-size: 16px;
}

#footer .footer-widget a[href^="tel:"],
#footer .footer-widget a[href^="mailto:"],
.footer-legal-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

#footer .widget.bottom-xs-pad-20 {
  padding-bottom: 34px;
}

.footer-legal-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-legal-links li {
  margin: 0 0 10px;
}

.footer-social-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 6px;
}

.footer-social-row .social-badge {
  width: 30px;
  height: 30px;
  color: #1f1f1f !important;
  background: rgba(255, 196, 0, 0.03);
  border-color: rgba(31, 31, 31, 0.10);
}

.footer-social-row .social-badge:hover,
.footer-social-row .social-badge:focus {
  background: rgba(255, 196, 0, 0.08);
  color: #1f1f1f !important;
  border-color: rgba(31, 31, 31, 0.16);
}

.footer-count .count-number {
  margin: 6px 0 0;
  line-height: 1.45;
  color: #1b1b1b;
  font-size: 16px;
}

.footer-count .counter {
  color: #7d5d00 !important;
  font-weight: 700;
}

.copyright {
  background: var(--ma-white) !important;
  border-top: 0 !important;
  padding-top: 18px;
  padding-bottom: 14px;
  color: #4f4942 !important;
}

.copyright-lead,
.copyright a,
.copyright a:hover,
.copyright a:focus,
.copyright a:visited {
  color: #4f4942 !important;
  text-decoration: none !important;
}

.copyright-inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  justify-content: space-between;
}

.copyright-text {
  flex: 1 1 auto;
  min-width: 0;
}

.copyright-arrow {
  flex: 0 0 auto;
}

.copyright-keywords-wrap {
  margin-top: 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(185, 178, 169, 0.34);
}

.copyright-keywords {
  display: block;
  width: 100%;
  max-width: none;
  font-size: 12px;
  line-height: 1.62;
  letter-spacing: 0.006em;
  color: #4f4942;
}

.copyright-keywords a,
.copyright-keywords a:hover,
.copyright-keywords a:focus,
.copyright-keywords a:visited {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

.copyright .page-scroll a {
  color: #615a51 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #fbf8f2;
  border: 1px solid #d8cfc1;
  box-shadow: 0 4px 10px rgba(76, 61, 30, 0.045);
  transition: transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease, border-color 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .copyright .page-scroll a:hover,
  .copyright .page-scroll a:focus {
    background: #f8f4ec;
    border-color: #cfc4b3;
    box-shadow: 0 6px 12px rgba(76, 61, 30, 0.055);
    transform: translateY(-1px);
  }
}

/* -------------------- animations -------------------- */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-18px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {
  0% {
    opacity: 0;
    transform: scale(0.985);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.fadeInUp { animation-name: fadeInUp; }
.fadeInDown { animation-name: fadeInDown; }
.fadeInLeft { animation-name: fadeInLeft; }
.pulse { animation-name: pulse; }

[data-animation].anim-init {
  opacity: 0;
  pointer-events: none;
}

[data-animation].animated {
  animation-duration: 0.92s;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: auto;
}

/* -------------------- reduced motion -------------------- */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* -------------------- responsive shell -------------------- */
@media (max-width: 991px) {
  #top-bar .top-bar-inner {
    display: block;
    min-height: 0;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  #top-bar .top-contact {
    margin-bottom: 6px;
    transform: none;
  }

  #top-bar .top-social-icon {
    justify-content: flex-start;
    transform: none;
  }

  .navbar-main {
    min-height: 76px;
    flex-wrap: wrap;
  }

  .navbar-toggler {
    display: inline-flex;
  }

  .navbar-brand {
    margin-left: 0;
    transform: none;
  }

  .navbar-menu {
    display: none;
    width: 100%;
    flex: 0 0 100%;
    padding-bottom: 10px;
  }

  .navbar-menu.is-open {
    display: block;
  }

  .navbar-nav-custom {
    display: block;
    width: 100%;
    border-top: 1px solid rgba(210, 162, 58, 0.08);
    padding-top: 6px;
    transform: none;
  }

  .navbar-nav-custom > li > a,
  .nav-dropdown-toggle {
    width: 100%;
    justify-content: flex-start;
    min-height: 0;
    padding: 14px 0;
  }

  .dropdown-menu-custom {
    position: static;
    min-width: 0;
    width: auto;
    max-width: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    padding-top: 6px;
    padding-bottom: 6px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    display: none;
    background: transparent;
  }

  .dropdown-menu-custom::before {
    display: none;
  }

  .has-premium-dropdown.is-open > .dropdown-menu-custom {
    display: block;
  }

  .dropdown-menu-custom li a {
    padding: 11px 0 11px 16px;
  }
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: var(--ma-header-offset-mobile);
  }

  .anchor-target {
    scroll-margin-top: var(--ma-header-offset-mobile);
  }

  .nowrap {
    white-space: normal;
  }

  #top-bar .container,
  #navigation .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .top-contact a {
    padding: 8px 0;
    font-size: 14.6px;
  }

  .top-social-icon {
    display: none;
  }

  .navbar-brand {
    padding-top: 10px;
    padding-bottom: 8px;
    margin-left: 0;
  }

  .navbar-brand .site_logo,
  .sticky-navigation.is-compact .navbar-brand .site_logo {
    width: 170px !important;
    height: auto;
    margin-top: 6px;
  }

  .sticky-navigation.is-compact .navbar-brand {
    padding-top: 10px;
    padding-bottom: 8px;
  }

  .hero-btn,
  .hero-wide-btn {
    width: 100%;
    min-width: 0 !important;
    min-height: 56px;
    font-size: 15px;
    line-height: 1.35;
    padding: 13px 15px;
  }

  #footer .footer-widget p,
  #footer .footer-widget li,
  #footer .footer-widget a,
  #footer .footer-widget strong,
  #footer .footer-count .count-number {
    font-size: 15px;
  }

  .copyright {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .copyright .row {
    display: flex;
    flex-direction: column;
  }

  .copyright .col-10,
  .copyright .col-2 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  .copyright .page-scroll {
    order: -1;
    text-align: right;
    margin-top: 0;
    margin-bottom: 14px;
    padding-right: 15px;
  }

  .copyright .page-scroll a {
    width: 44px;
    height: 44px;
  }

  .copyright-keywords-wrap {
    margin-top: 0;
    padding-top: 14px;
  }

  .copyright-keywords {
    line-height: 1.58;
  }

  .copyright-inner {
    display: block;
  }

  .copyright-arrow {
    text-align: right;
    margin-bottom: 14px;
  }
}