:root {/* BRP design system – canonical palette used by every modern page. */
  --brp-color-ink: #242830;
  --brp-color-dark: #20262f;
  --brp-color-dark-soft: #252b35;
  --brp-color-gold: #b37a1d;
  --brp-color-gold-light: #d4a24d;
  --brp-color-paper: #f7f6f4;
  --brp-color-soft: #f3f1ee;
  --brp-color-white: #ffffff;
  --brp-font-body: "Segoe UI", Arial, sans-serif;
  --brp-font-heading: Georgia, "Times New Roman", serif;

  /* Backwards-compatible aliases used throughout the existing theme. */
  --ink: var(--brp-color-ink);
  --dark: var(--brp-color-dark);
  --dark-soft: var(--brp-color-dark-soft);
  --gold: var(--brp-color-gold);
  --gold-light: var(--brp-color-gold-light);
  --paper: var(--brp-color-paper);
  --line: rgba(181, 126, 37, .56);
  --cc-font-family: var(--brp-font-body);
  --cc-modal-border-radius: 6px;
  --cc-btn-border-radius: 4px;
  --cc-bg: #ffffff;
  --cc-primary-color: var(--ink);
  --cc-secondary-color: #5d6570;
  --cc-btn-primary-bg: var(--dark);
  --cc-btn-primary-color: #ffffff;
  --cc-btn-primary-border-color: var(--dark);
  --cc-btn-primary-hover-bg: #111821;
  --cc-btn-primary-hover-color: #ffffff;
  --cc-btn-primary-hover-border-color: #111821;
  --cc-btn-secondary-bg: #f0ede8;
  --cc-btn-secondary-color: var(--dark);
  --cc-btn-secondary-border-color: #ddd7cf;
  --cc-btn-secondary-hover-bg: #e6dfd5;
  --cc-btn-secondary-hover-color: var(--ink);
  --cc-btn-secondary-hover-border-color: #d3c8bb;
  --cc-link-color: var(--gold);
  --cc-separator-border-color: rgba(36, 40, 48, .12);
  --cc-toggle-on-bg: var(--gold);
  --cc-toggle-off-bg: #8b949f;
  --cc-toggle-readonly-bg: #d9d2c8;
  --cc-cookie-category-block-bg: #f7f6f4;
  --cc-cookie-category-block-border: #e2ddd6;
  --cc-cookie-category-block-hover-bg: #f0ede8;
  --cc-cookie-category-block-hover-border: #d8cfbf;
  --cc-cookie-category-expanded-block-hover-bg: #ece6dd;
  --cc-footer-bg: #f7f6f4;
  --cc-footer-border-color: #e2ddd6;
  --cc-overlay-bg: rgba(32, 38, 47, .58);}

* {box-sizing: border-box;}

html {scroll-behavior: smooth;
  scroll-padding-top: 140px;
  scrollbar-color: rgba(179, 122, 29, .62) rgba(247, 246, 244, .72);
  scrollbar-width: thin;}

::-webkit-scrollbar {width: 10px;
  height: 10px;}

::-webkit-scrollbar-track {background: linear-gradient(180deg, rgba(247, 246, 244, .92), rgba(238, 235, 230, .72));}

::-webkit-scrollbar-thumb {min-height: 56px;
  border: 2px solid rgba(247, 246, 244, .92);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(212, 162, 77, .88), rgba(179, 122, 29, .72));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);}

::-webkit-scrollbar-thumb:hover {background: linear-gradient(180deg, rgba(212, 162, 77, .98), rgba(151, 97, 15, .84));}

::-webkit-scrollbar-corner {background: var(--paper);}

body {margin: 0;
  padding-top: 130px;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--brp-font-body);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;}

body.nav-open {overflow: hidden;}

#cc-main .cm,
#cc-main .pm {border: 1px solid rgba(36, 40, 48, .12);
  box-shadow: 0 18px 54px rgba(18, 24, 31, .18);}

#cc-main .cm__title,
#cc-main .pm__title {font-family: var(--brp-font-heading);
  color: var(--dark);
  letter-spacing: 0;}

#cc-main .cm__btn,
#cc-main .pm__btn {font-weight: 700;}

a {color: inherit;
  text-decoration: none;}

.site-header {height: 130px;
  padding: 27px 31px 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  background: white;
  color-scheme: only light;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;}

.brand {display: flex;
  height: 100%;
  align-items: center;
  overflow: visible;}

.brand img {height: 100%;
  width: auto;
  display: block;
  object-fit: contain;
  margin: 0;}

.brand-hero-crop {width: 72px;
  height: 88%;
  display: block;
  flex: 0 0 72px;
  overflow: hidden;}

.brand img.brand-hero {width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;}

.brand-logo {height: 72% !important;
  width: auto;
  flex: 0 0 auto;
  object-fit: contain;
  margin: 0;}

.main-nav {display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 35px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;}

.main-nav a {position: relative;
  white-space: nowrap;}

.main-nav a.active {color: #9d711d;}

.main-nav a.active::after {content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 1px;
  background: #c39643;}

.main-nav a::before {display: none;}

.menu-button {display: none;}

.hero {min-height: 515px;
  padding: 75px 31px 49px 74px;
  position: relative;
  display: block;
  align-items: center;
  background: #f9f8f6;
  overflow: hidden;}

.hero-copy {position: relative;
  z-index: 2;
  width: 465px;}

h1,
h2,
h3 {margin: 0;
  font-family: var(--brp-font-heading);
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: uppercase;}

.hero h1 {font-size: 37px;
  line-height: 1.25;}

.hero h1 span,
.eyebrow,
.mobile-contact h2,
.footer-column h2 {color: var(--gold);}

.ornament {width: 204px;
  height: 14px;
  margin: 25px 0 24px;
  position: relative;}

.ornament::before,
.ornament::after {content: "";
  position: absolute;
  top: 6px;
  width: 92px;
  height: 1px;
  background: #b8944a;}

.ornament::before {left: 0;}

.ornament::after {right: 0;}

.ornament::before,
.ornament::after,
.ornament {background-image: radial-gradient(circle at 50% 50%, #b8944a 0 4px, transparent 4.5px);
  background-repeat: no-repeat;
  background-position: center;}

.hero p {margin: 0 0 32px;
  max-width: 375px;
  color: #252931;
  font-size: 16px;
  line-height: 1.72;}

.hero-actions {display: flex;
  gap: 13px;}

.button {min-width: 164px;
  min-height: 41px;
  padding: 12px 24px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b8872e;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;}

.button-gold {color: white;
  background: linear-gradient(#c9912c, #a86d12);
  box-shadow: inset 0 1px rgba(255, 255, 255, .18);}

.button-gold:hover {background: linear-gradient(#dba33b, #b87d19);
  box-shadow: inset 0 1px rgba(255, 255, 255, .26);}

.button-light {color: #28303a;
  background: rgba(255, 255, 255, .52);}

.hero-art {position: absolute;
  right: -45px;
  top: 41px;
  width: 657px;
  max-width: none;
  display: block;
  mix-blend-mode: multiply;}

.site-footer {background: var(--dark);
  color: white;}

.about {min-height: 346px;
  padding: 34px 73px 48px;
  display: grid;
  grid-template-columns: 364px 1fr;
  gap: 72px;
  align-items: start;
  background: #f3f1ee;}

.about-image {position: relative;
  width: 364px;
  max-height: 400px;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
  transition: max-height .4s ease;}

.about-image::after {content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 80px;
  background: linear-gradient(to bottom, transparent, #f3f1ee);
  pointer-events: none;
  transition: opacity .4s ease;}

.about.about-expanded .about-image {max-height: 1000px;}

.about.about-expanded .about-image::after {opacity: 0;}

.about img {width: 100%;
  height: auto;
  display: block;}

.about-copy {max-width: 680px;}

.eyebrow {margin: 0 0 7px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;}

.about h2 {font-size: 29px;
  line-height: 1.14;}

.about .ornament {margin: 20px 0 20px;}

.about p:not(.eyebrow) {margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
  hyphens: auto;}

.about p:last-of-type {margin-bottom: 0;}

.about .button {margin-top: 10px;
  min-width: 137px;}

.about-collapse {overflow: hidden;
  max-height: 340px;
  position: relative;}

.about-collapse::after {content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to bottom, transparent, #f3f1ee);
  pointer-events: none;}

.about-collapse.expanded {max-height: none;}

.about-collapse.expanded::after {display: none;}

.about-expand-btn {display: inline-block;
  margin-top: 10px;
  padding: 0;
  border: none;
  background: none;
  color: #b4946a;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;}

.about-expand-btn:hover {color: #9a7d56;}

.mobile-contact {padding: 50px 72px;
  text-align: center;
  background: #f3f1ee;}

.mobile-contact h2 {margin-bottom: 24px;
  font-size: 27px;}

.mobile-contact p {margin: 0 0 12px;
  font-size: 15px;}

.mobile-contact .button {margin-top: 16px;}

.contact-form {max-width: 640px;
  margin: 32px auto 0;
  text-align: left;}

.form-row {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;}

.form-group {margin-bottom: 20px;}

.form-group label {display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--dark);
  transition: opacity .4s ease, filter .4s ease;}

.mobile-contact .form-group label {color: var(--ink);}

.required {color: var(--gold);}

.form-group input,
.form-group select,
.form-group textarea {width: 100%;
  padding: 11px 14px;
  border: 1px solid #d5d0c8;
  border-radius: 4px;
  background: white;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  color: var(--ink);
  transition: border-color .2s ease, box-shadow .4s ease, opacity .4s ease, filter .4s ease;}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(179, 122, 29, .15);}

.form-group textarea {resize: vertical;
  min-height: 100px;}

.checkbox-group {margin-bottom: 24px;}

.checkbox-label {display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;}

.checkbox-label span {transition: opacity .4s ease, filter .4s ease;}

.checkbox-label input[type="checkbox"] {width: 18px;
  height: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--gold);}

.checkbox-label a {color: var(--gold);
  text-decoration: underline;}

.checkbox-label a:hover {text-decoration: none;}

.contact-form .button {width: 100%;}

.contact-form .button:disabled {opacity: .7;
  cursor: wait;}

.form-status {margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;}

.form-status.is-success {background: #ecf6ef;
  color: #1f5b34;
  border: 1px solid #b7d7bf;}

.form-status.is-error {background: #fbefea;
  color: #8a2f18;
  border: 1px solid #e3b8ab;}

.form-honeypot {position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;}

.field-error input,
.field-error select,
.field-error textarea,
.field-error .select-custom-trigger {border-color: var(--gold);
  box-shadow: 0 0 0 5px var(--gold);}

.form-error-active .form-group:not(.field-error) input,
.form-error-active .form-group:not(.field-error) select,
.form-error-active .form-group:not(.field-error) textarea,
.form-error-active .form-group:not(.field-error) .select-custom-trigger,
.form-error-active .form-group:not(.field-error) label,
.form-error-active .form-group:not(.field-error) .checkbox-label span {opacity: .35;
  filter: blur(1px);
  transition: opacity .4s ease, filter .4s ease;}

.form-error-active .form-group.field-error input,
.form-error-active .form-group.field-error select,
.form-error-active .form-group.field-error textarea,
.form-error-active .form-group.field-error .select-custom-trigger {transition: box-shadow .4s ease, border-color .4s ease;}

.select-custom {position: relative;}

.select-custom-trigger {width: 100%;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid #d5d0c8;
  border-radius: 4px;
  background: white;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .4s ease;}

.select-custom-trigger:focus,
.select-custom-trigger[aria-expanded="true"] {outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(179, 122, 29, .15);}

.select-custom-arrow {width: 10px;
  height: 10px;
  flex-shrink: 0;
  border: solid var(--ink);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-bottom: 4px;
  transition: transform .2s ease;}

.select-custom-trigger[aria-expanded="true"] .select-custom-arrow {transform: rotate(-135deg);
  margin-bottom: 0;
  margin-top: 4px;}

.select-custom-options {position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 20;
  margin: 2px 0 0;
  padding: 0;
  max-height: 220px;
  overflow-y: auto;
  background: white;
  border: 1px solid #d5d0c8;
  border-radius: 4px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .1);
  list-style: none;
  display: none;}

.select-custom-options.open {display: block;}

.select-custom-options li {padding: 10px 14px;
  cursor: pointer;
  font-size: 15px;
  color: var(--ink);
  transition: background .15s ease;}

.select-custom-options li:hover,
.select-custom-options li.active {background: #eeebe6;
  color: var(--gold);}

.select-custom-options li:not(:last-child) {border-bottom: 1px solid #f0ede8;}

.site-footer {padding: 28px 72px 13px;}

.footer-grid {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 124px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);}

.footer-column {min-height: 118px;
  padding: 0 48px;
  box-sizing: border-box;}

.footer-column:first-child {border-right: 1px solid rgba(255, 255, 255, .06);}

.footer-column h2 {margin: 0 0 15px;
  color: var(--gold);
  font-size: 14px;
  font-weight: 700;}

.footer-column p {margin: 0 0 8px;
  color: #f5f3f0;
  font-size: 13px;
  line-height: 1.45;}

.footer-contact {display: flex;
  justify-content: center;}

.footer-contact-inner {width: min(100%, 390px);}

.footer-contact p {display: flex;
  gap: 15px;
  text-align: left;}

.footer-contact-icon,
.mobile-contact p span,
.time span {width: 1.15rem;
  flex: 0 0 1.15rem;
  display: inline-flex;
  justify-content: center;
  color: var(--gold-light);
  font-weight: 700;}

.footer-address-text {min-width: 0;
  color: inherit;}

.footer-alternatives {display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;}

.footer-alternatives p {max-width: 360px;}

.footer-channels {margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;}

.footer-channel-link {width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  border: 1px solid var(--gold-light);
  border-radius: 50%;
  color: var(--gold-light);
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;}

a.footer-channel-link:hover,
a.footer-channel-link:focus-visible {transform: translateY(-1px) scale(1.04);
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: var(--dark);
  outline: none;}

.footer-channel-link.is-placeholder {cursor: default;}

.footer-channel-link svg {width: 21px;
  height: 21px;
  display: block;
  fill: currentColor;}

.legal {padding-top: 12px;
  display: flex;
  justify-content: space-between;
  color: #f1eee9;
  font-size: 12px;}

.legal-page {min-height: calc(100vh - 130px - 200px);
  padding: 76px 72px 92px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(247, 246, 244, .96) 48%),
    var(--paper);}

.legal-page .content {max-width: 976px;
  margin: 0 auto;}

.legal-document {padding: 42px 0 24px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;}

.legal-document h1 {margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  font-weight: 500;
  line-height: 1.15;
  color: var(--gold);
  letter-spacing: .01em;}

.legal-document h2 {margin: 36px 0 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(181, 126, 37, .18);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--dark);}

.legal-document h3 {margin: 22px 0 8px;
  color: var(--dark);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;}

.legal-document p {margin: 0 0 14px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.72;
  text-align: left;
  overflow-wrap: anywhere;
  text-wrap: pretty;}

.legal-document a {color: var(--gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;}

.legal-document a:hover {color: #8f5f13;}

.legal-document .ornament {margin: 18px 0 32px;}

.legal-document .legal-block {margin: 0 0 24px;}

.legal-document .legal-lines p {margin-bottom: 8px;}

.legal-document .legal-list {margin: 2px 0 22px 0;
  padding: 0;
  list-style: none;}

.legal-document .legal-list li {position: relative;
  margin: 0 0 8px;
  padding-left: 24px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.65;
  text-align: left;
  overflow-wrap: anywhere;}

.legal-document .legal-list li::before {content: "";
  position: absolute;
  left: 2px;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-light);}

.legal-document .legal-note {margin-top: 28px;
  color: #5c6470;}

.legal-plain {margin: 0;
  color: var(--ink);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.72;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  text-align: left;}

.legal-copy {margin: 0 0 14px;}

.legal-right {margin: 0 0 18px;
  padding-left: 18px;
  border-left: 2px solid rgba(212, 162, 77, .55);}

@media (max-width: 760px) {
html {scroll-padding-top: 96px;}

body {padding-top: 88px;
    background: white;
    font-size: 14px;}

.site-header {height: 88px;
    padding: 26px 37px 13px;
    align-items: center;
    background: white;
    color-scheme: only light;
    gap: 14px;}

.brand-hero-crop {width: 45px;
    height: 88%;
    flex-basis: 45px;}

img.brand-hero {height: 100%;
    margin: 0;}

.brand-logo {height: 72% !important;
    margin: 0 !important;}

.brand,
.menu-button {flex-shrink: 0;}

.main-nav {position: absolute;
    left: 0;
    right: 0;
    top: 88px;
    z-index: 8;
    padding: 9px 38px 18px;
    display: grid;
    gap: 0;
    background: var(--dark);
    border-top: 1px solid rgba(179, 122, 29, .45);
    box-shadow: 0 18px 28px rgba(17, 22, 29, .24);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;}

body.nav-open .main-nav {opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;}

.main-nav a {padding: 15px 0 14px;
    color: #f8f4ec;
    border-bottom: 1px solid rgba(212, 162, 77, .26);
    font-size: 13px;
    letter-spacing: .08em;}

.main-nav a:last-child {border-bottom: 0;}

.main-nav a.active {color: var(--gold-light);}

.main-nav a.active::after {display: none;}

.main-nav a::before {content: "";
    width: 6px;
    height: 6px;
    margin-right: 13px;
    display: inline-block;
    vertical-align: 1px;
    background: var(--gold-light);
    transform: rotate(45deg);}

.menu-button {width: 38px;
    height: 38px;
    padding: 0;
    display: grid !important;

    place-items: center;
    border: 1px solid #bd8b32;
    border-radius: 3px;
    background: linear-gradient(#c9912c, #a86d12);
    position: absolute;
    right: 22px;
    top: 25px;
    z-index: 120;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto;
    color: white;
    font-family: Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
    box-shadow: inset 0 1px rgba(255, 255, 255, .18);}

.menu-button span {display: block;
    transform: translateY(-1px);}

.hero {min-height: auto;
    padding: 58px 38px 21px;
    display: flex;
    flex-direction: column;
    background: #f9f8f6;}

.hero-copy {width: 100%;
    display: contents;}

.hero h1 {order: 1;
    font-size: 28px;
    line-height: 1.34;}

.ornament {order: 2;
    width: 140px;
    margin: 16px 0 16px;}

.ornament::before,
.ornament::after {width: 61px;}

.hero p {order: 3;
    margin-bottom: 15px;
    max-width: 265px;
    font-size: 12px;
    line-height: 1.46;}

.hero-art {order: 4;
    position: static;
    width: 100%;
    margin: -10px auto 20px;}

.hero-actions {order: 5;
    display: grid;
    gap: 11px;}

.button {width: 100%;
    min-height: 44px;
    font-size: 12px;}

.about {padding: 37px 38px 37px;
    display: flex;
    flex-direction: column;
    gap: 17px;
    align-items: stretch;
    background: #f9f8f6;}

.about img {width: 100%;
    height: auto;
    order: 2;}

.about-image {width: 100%;
    order: 2;
    border-radius: 5px;}

.about-image::after {background: linear-gradient(to bottom, transparent, #f9f8f6);}

.about-copy {display: flex;
    flex-direction: column;}

.eyebrow {order: 0;
    font-size: 12px;}

.about h2 {order: 1;
    font-size: 22px;
    line-height: 1.22;}

.about .ornament {order: 2;
    margin: -3px 0 -1px;}

.about-collapse {order: 3;}

.about p:not(.eyebrow) {margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.7;
    text-align: justify;
    hyphens: auto;}

.about p:last-of-type {margin-bottom: 0;}

.about-expand-btn {order: 4;}

.about .button {order: 5;
    width: 132px;
    min-width: 132px;
    margin-top: 6px;}
}

.social-engagement {padding: 34px 72px 29px;
  background: #0b121a;
  color: #f7f3ec;}

/* Mehrstufige Schulungsnavigation */

/* Freigestellte Original-Icons der Schulungsreferenz */

.home-training-points li:before,
.home-training-points li+li:before {content:none; display:none;}

.home-training-points li img {width:24px; height:24px; flex:0 0 24px; object-fit:contain;}

@media (max-width:760px) {
.home-training-points li img {width:19px; height:19px; flex-basis:19px;}
}

/* Navigation fit and consistent training-mega-menu gutters. */

@media (min-width: 761px) {
.site-header {gap: clamp(12px, 1.5vw, 28px);}

.main-nav {gap: clamp(8px, 1vw, 16px);}
}

@media (min-width: 761px) and (max-width: 1450px) {
.brand-logo {height: 64% !important;}

.brand-hero-crop {width: 62px;
    flex-basis: 62px;}

.main-nav {gap: 8px;
    font-size: 9px;
    letter-spacing: .025em;}
}

@media (max-width: 760px) {
.main-nav {max-height: calc(100dvh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;}
}

.social-hero {display: grid;
  grid-template-columns: minmax(0, 1.34fr) minmax(360px, .86fr);
  gap: 38px;
  align-items: start;}

.social-intro .eyebrow {margin-bottom: 10px;
  color: #d4a24d;}

.social-kicker-line {width: 82px;
  height: 2px;
  margin-bottom: 23px;
  background: linear-gradient(90deg, var(--gold-light), rgba(212, 162, 77, .15));}

.social-engagement h2 {max-width: 840px;
  font-size: 32px;
  line-height: 1.12;
  color: white;
  text-transform: none;}

.social-engagement h2 span,
.social-copy span,
.social-drive-copy span,
.social-closing strong {color: var(--gold-light);}

.social-drive-copy span {display: block;
  margin-top: 8px;}

.social-subline {margin: 16px 0 11px;
  color: #e4d8c8;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;}

.social-copy {max-width: 690px;}

.social-copy p,
.social-drive-copy p,
.social-closing-copy p,
.social-closing-aside p {margin: 0 0 12px;
  color: rgba(247, 243, 236, .9);
  font-size: 13px;
  line-height: 1.55;
  text-wrap: pretty;}

.social-copy p:last-child,
.social-drive-copy p:last-child,
.social-closing-copy p:last-child,
.social-closing-aside p:last-child {margin-bottom: 0;}

.social-art {position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;}

.social-art::before {display: none;}

.social-art img {width: min(100%, 416px);
  height: auto;
  display: block;
  position: relative;
  z-index: 1;}

.social-divider {margin: 16px 0 22px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;}

.social-divider span {height: 1px;
  background: linear-gradient(90deg, rgba(212, 162, 77, .78), rgba(212, 162, 77, .15));}

.social-divider span:last-child {background: linear-gradient(90deg, rgba(212, 162, 77, .15), rgba(212, 162, 77, .78));}

.social-divider img {width: 28px;
  height: 28px;
  object-fit: contain;}

.social-values {position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .96fr);
  gap: 27px;
  align-items: stretch;}

.social-values::after {content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: rgba(212, 162, 77, .28);}

.social-quote,
.social-drive,
.social-card,
.social-closing {background: rgba(18, 23, 29, .78);
  border: 1px solid rgba(180, 130, 52, .25);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .12);}

.social-quote {min-height: 100%;
  padding: 20px 23px;
  position: relative;
  border-color: transparent;
  box-shadow: none;
  background: transparent;}

.social-quote p {margin: 0;
  padding: 7px 54px;
  color: #f7f3ec;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.48;
  text-wrap: balance;}

.social-quote-mark {position: absolute;
  color: var(--gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  line-height: .7;}

.social-quote-open {top: 20px;
  left: 26px;}

.social-quote-close {right: 26px;
  bottom: 14px;}

.social-drive {padding: 0 0 0 25px;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;}

.social-icon-img {width: 77px;
  height: 77px;
  display: block;
  object-fit: contain;
  flex: 0 0 auto;}

.social-icon-img-large {width: 88px;
  height: 88px;}

.social-icon-heart-img {width: 70px;
  height: 70px;}

.social-drive-copy h3,
.social-card-copy h3,
.social-closing-copy h3 {margin-bottom: 10px;
  color: var(--gold-light);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;}

.social-drive-copy p {max-width: 68ch;}

.social-card-grid {margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;}

.social-card {min-height: 193px;
  padding: 12px 20px 14px;
  display: grid;
  grid-template-columns: 77px minmax(0, 1fr);
  gap: 10px 14px;
  align-items: start;}

.social-card-copy h3 {margin-bottom: 6px;}

.social-card-copy p {margin-bottom: 0;
  line-height: 1.4;}

.social-card ul {grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  list-style: none;}

.social-card li {margin-bottom: 7px;
  padding-left: 20px;
  position: relative;
  color: rgba(247, 243, 236, .92);
  font-size: 13px;
  line-height: 1.45;
  text-wrap: pretty;}

.social-card li:last-child {margin-bottom: 0;}

.social-card li::before {content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gold-light);
  font-weight: 700;}

.social-closing {margin-top: 20px;
  padding: 11px 25px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(270px, .85fr);
  gap: 22px;
  align-items: center;
  border-color: rgba(212, 162, 77, .68);}

.social-closing-main {display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 20px;
  align-items: center;}

.social-closing-aside {padding-left: 27px;
  border-left: 1px solid rgba(212, 162, 77, .24);}

.social-closing-aside .social-icon-heart-img {margin-bottom: 14px;}

.social-closing-aside strong {display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;}

.blog {padding: 50px 58px 44px;
  text-align: center;
  background: #f3f1ee;}

.blog .eyebrow {margin-bottom: 7px;}

.blog h2 {font-size: 29px;
  line-height: 1.14;
  color: var(--ink);}

.blog .ornament {margin: 20px auto 20px;}

.blog-sub {margin: 0 auto 32px;
  max-width: 640px;
  color: #4a4e57;
  font-size: 15px;
  line-height: 1.58;}

.blog-grid {display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 1152px;
  margin: 0 auto 32px;
  text-align: left;}

.blog-card {background: white;
  border: 1px solid #e2ddd6;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;}

.blog-card:hover {border-color: var(--gold-light);
  box-shadow: 0 4px 16px rgba(179, 122, 29, .1);}

.blog-card-img {width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;}

.blog-card-body {padding: 20px 24px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;}

.blog-category {font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 4px;}

.blog-card h3 {font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  text-transform: none;
  margin: 0 0 6px;
  line-height: 1.35;}

.blog-date {font-size: 10px;
  color: #8a8f99;
  font-weight: 600;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;}

.blog-card p {margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.55;
  color: #4a4e57;
  flex: 1;
  text-align: justify;
  hyphens: auto;}

.blog-readmore {font-size: 12px;
  font-weight: 800;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .03em;
  transition: color .2s ease;}

.blog-readmore:hover {color: #8a6418;}

.blog-footer {margin-top: 8px;}

.blog-footer .button {min-width: 180px;}

/* Gutenberg home-page compatibility.
 * WordPress wraps Group block contents in an additional layout container.
 * Flattening that generated wrapper preserves the original, carefully tuned
 * grid and flex relationships while every element remains independently
 * editable in the block editor.
 */

.brp-editable-home .wp-block-group__inner-container {display: contents;}

.home .hero-art {margin: 0;}

.home .hero-art img {width: 100%;
  height: auto;
  display: block;}

.home .about-image,
.home .social-art .wp-block-image,
.home .social-divider .wp-block-image,
.home .social-icon-img {margin: 0;}

.home .social-icon-img img,
.home .social-divider .wp-block-image img {width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;}

.home .reviews-small {margin-top: 4px;
  color: rgba(247, 243, 236, .72);
  font-size: 13px;
  font-weight: 400;}

.home .wp-block-buttons {align-items: center;}

.home .wp-block-button.button-gold,
.home .wp-block-button.button-light {padding: 0;
  border: 0;
  background: none;
  box-shadow: none;}

.home .wp-block-button.button-gold .wp-block-button__link,
.home .wp-block-button.button-light .wp-block-button__link {min-width: 164px;
  min-height: 41px;
  padding: 12px 24px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b8872e;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;}

.home .wp-block-button.button-gold .wp-block-button__link {color: white;
  background: linear-gradient(#c9912c, #a86d12);
  box-shadow: inset 0 1px rgba(255, 255, 255, .18);}

.home .wp-block-button.button-light .wp-block-button__link {color: #28303a;
  background: rgba(255, 255, 255, .52);}

.home .reviews-actions,
.home .blog-footer {justify-content: center;}

.home .reviews-actions {margin-top: 30px;}

@media (max-width: 760px) {
.mobile-contact {display: block;
    padding: 34px 38px 37px;
    background: #f3f1ee;}

.mobile-contact h2 {margin-bottom: 18px;
    font-size: 12px;
    font-weight: 700;}

.mobile-contact p {margin: 0 0 14px;
    display: flex;
    gap: 18px;
    font-size: 12px;
    line-height: 1.5;}

.mobile-contact .button {margin-top: 11px;}

.contact-form {margin-top: 24px;}

.form-row {grid-template-columns: 1fr;
    gap: 0;}

.form-group label {font-size: 10px;}

.form-group input,
.form-group select,
.form-group textarea {padding: 10px 12px;
    font-size: 14px;}

.social-engagement .eyebrow,
.blog .eyebrow {font-size: 12px;}

.social-engagement h2,
.blog h2 {font-size: 22px;
    line-height: 1.22;}

.blog .ornament {width: 140px;
    margin: 16px auto 16px;}

.blog .ornament::before,
.blog .ornament::after {width: 61px;}

.blog-sub {margin: 0 auto 24px;
    font-size: 13px;
    line-height: 1.45;}

.blog {padding: 34px 38px 37px;}

.blog-grid {grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 24px;}

.blog-card-img {height: 140px;}

.blog-card-body {padding: 16px 18px 20px;}

.blog-card h3 {font-size: 15px;}

.blog-card p {font-size: 13px;}

.blog-footer .button {min-width: 0;}

.social-engagement {padding: 31px 38px 33px;}

.social-hero {grid-template-columns: 1fr;
    gap: 18px;}

.social-kicker-line {width: 56px;
    margin-bottom: 18px;}

.social-subline {margin: 14px 0 13px;
    font-size: 11px;
    line-height: 1.45;}

.social-copy p,
.social-drive-copy p,
.social-closing-copy p,
.social-closing-aside p {font-size: 12px;
    line-height: 1.6;}

.social-art {min-height: 0;
    margin: 6px 0 0;}

.social-art img {width: min(100%, 324px);}

.social-divider {margin: 16px 0 20px;
    gap: 10px;}

.social-divider img {width: 24px;
    height: 24px;
    object-fit: contain;}

.social-values,
.social-card-grid,
.social-closing,
.social-closing-main {grid-template-columns: 1fr;}

.social-values {gap: 14px;}

.social-values::after {display: none;}

.social-quote,
.social-drive,
.social-card,
.social-closing {padding-left: 20px;
    padding-right: 20px;}

.social-quote {margin-left: -20px;
    margin-right: -20px;
    padding: 12px 0 10px;
    text-align: center;}

.social-quote p {margin: 0 auto;
    padding: 6px 38px;
    font-size: 13px;
    line-height: 1.34;}

.social-quote-mark {font-size: 44px;}

.social-quote-open {top: 13px;
    left: 18px;}

.social-quote-close {right: 18px;
    bottom: 3px;}

.social-drive {padding-top: 16px;
    padding-bottom: 16px;
    display: block;
    border-left: 0;}

.social-drive .social-icon-img {float: left;
    margin: 0 16px 8px 0;}

.social-drive-copy p {text-wrap: pretty;}

.social-drive-copy span {display: inline;
    margin-top: 0;}

.social-drive::after {content: "";
    display: block;
    clear: both;}

.social-icon-img {width: 65px;
    height: 65px;}

.social-icon-img-large {width: 70px;
    height: 70px;}

.social-icon-heart-img {width: 56px;
    height: 56px;}

.social-drive-copy h3,
.social-card-copy h3,
.social-closing-copy h3 {font-size: 13px;}

.social-card-grid {margin-top: 14px;
    gap: 14px;}

.social-card {padding-top: 20px;
    padding-bottom: 20px;
    grid-template-columns: 65px minmax(0, 1fr);
    gap: 14px 16px;}

.social-card-copy p {margin-bottom: 14px;}

.social-card li {font-size: 12px;}

.social-closing {margin-top: 16px;
    gap: 16px;
    padding-top: 20px;
    padding-bottom: 20px;}

.social-closing-main {gap: 16px;}

.social-closing-aside {padding-left: 0;
    padding-top: 18px;
    border-left: 0;
    border-top: 1px solid rgba(212, 162, 77, .24);}

.social-closing-aside .social-icon-heart-img {margin-bottom: 10px;}

.social-closing-aside strong {font-size: 14px;
    line-height: 1.4;}


.legal-page {padding: 38px 24px 56px;
    background: var(--paper);}

.legal-document {padding: 18px 0 28px;}

.legal-document h1 {font-size: 24px;}

.legal-document h2 {margin-top: 28px;
    padding-top: 16px;
    font-size: 16px;}

.legal-document h3 {font-size: 14px;}

.legal-document p,
.legal-document .legal-list li,
.legal-plain {font-size: 14px;}
}

@media (min-width: 761px) {
.about-copy p:nth-of-type(3) {display: none;}
}

/* Startseiten-Sektion Schulungen */

.home-training {background:#f8f7f4;padding:72px max(5vw,34px) 56px;color:#24282e}

.home-training-inner,
.home-training-benefits-inner {max-width:1240px;margin:auto}

.home-training-hero {display:grid;grid-template-columns:35% 65%;align-items:center}

.home-training-copy {padding:18px 32px 18px 0}

.home-training-copy h2,
.home-training-heading h3 {margin:0;font-family:Georgia,serif;font-weight:400;text-transform:uppercase}

.home-training-copy h2 {font-size:42px;line-height:1.2;letter-spacing:.015em}

.home-training-copy h2 span {color:#b8872e}

.home-training-rule {display:block;position:relative;width:144px;margin:24px 0 25px;border-top:1px solid #bd8b39}

.home-training-rule:after,
.home-training-heading>span:after {position:absolute;content:"";width:7px;height:7px;background:#bd8b39;transform:rotate(45deg)}

.home-training-rule:after {right:47px;top:-4px}

.home-training-copy>p {max-width:330px;margin:0;font-size:15px;line-height:1.65}

.home-training-points {padding:0;margin:24px 0 29px;list-style:none}

.home-training-points li {display:flex;align-items:center;gap:14px;margin:12px 0;font-size:14px}

.home-training-points li:before {content:"✓";display:grid;place-items:center;width:22px;height:22px;border:1px solid #222831;border-radius:3px;font-size:16px;font-weight:700}

.home-training-points li+li:before {content:"♧";font-size:20px}

.home-training-button {display:inline-block;padding:14px 24px;border-radius:4px;background:linear-gradient(105deg,#c9912c,#a86d12);box-shadow:0 2px 5px #5b3b0c33;color:#fff!important;font-size:12px;font-weight:800;letter-spacing:.03em;text-decoration:none;text-transform:uppercase}

.home-training-hero>img {display:block;width:100%;height:auto;max-height:500px;object-fit:cover;object-position:center}

.home-training-heading {text-align:center;margin:30px 0 23px}

.home-training-heading h3 {font-size:26px;letter-spacing:.025em}

.home-training-heading>span {position:relative;display:block;width:102px;margin:12px auto 0;border-top:1px solid #bd8b39}

.home-training-heading>span:after {top:-4px;left:47px}

.home-training-cards {display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

.home-training-cards article {display:flex;min-height:220px;padding:22px 18px 20px;flex-direction:column;align-items:center;background:#fff;border:1px solid #ece9e3;border-radius:6px;box-shadow:0 2px 7px #172d4517;text-align:center}

.home-training-cards img {width:62px;height:62px;object-fit:contain;margin-bottom:15px}

.home-training-cards b {display:block;font-size:15px}

.home-training-cards span {display:block;margin-top:12px;font-size:13px;line-height:1.48}

.home-training-cards a {margin-top:auto;padding-top:17px;color:#b17821;font-size:11px;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}

.home-training-cards a i {font-size:16px;font-style:normal}

.home-training-all {display:table;margin:23px auto 0}

.home-training-benefits {background:linear-gradient(115deg,#19232d,#2a3039);padding:28px max(5vw,34px) 35px;color:#fff}

.home-training-heading-dark {margin:0 0 23px}

.home-training-heading-dark h3 {color:#d1a04b}

.home-training-benefits-grid {display:grid;grid-template-columns:repeat(4,1fr)}

.home-training-benefits-grid article {display:flex;min-height:130px;padding:0 22px;flex-direction:column;align-items:center;border-left:1px solid #ffffff1e;text-align:center}

.home-training-benefits-grid article:first-child {border-left:0}

.home-training-benefits-grid img {width:51px;height:51px;object-fit:contain;margin-bottom:13px}

.home-training-benefits-grid b {display:block;color:#d1a04b;font-family:Georgia,serif;font-size:15px;font-weight:400;text-transform:uppercase}

.home-training-benefits-grid span {display:block;margin:9px auto 0;max-width:180px;font-size:13px;line-height:1.45}

.home-training-benefits-grid i {display:none}

@media (max-width:760px) {
.home-training {padding:38px 20px 30px}

.home-training-hero {grid-template-columns:1fr}

.home-training-copy {padding:0}

.home-training-copy h2 {font-size:26px;line-height:1.14}

.home-training-rule {width:95px;margin:19px 0}

.home-training-rule:after {right:27px}

.home-training-copy>p {font-size:12px;line-height:1.55}

.home-training-points {margin:17px 0 21px}

.home-training-points li {gap:10px;margin:9px 0;font-size:11px}

.home-training-points li:before {width:18px;height:18px;font-size:13px}

.home-training-button {padding:12px 16px;font-size:10px}

.home-training-hero>img {margin:25px auto 0;width:100%;max-height:none}

.home-training-heading {margin:23px 0 16px}

.home-training-heading h3 {font-size:19px}

.home-training-heading>span {margin-top:9px}

.home-training-cards {grid-template-columns:1fr;gap:12px}

.home-training-cards article {display:grid;min-height:0;padding:14px;grid-template-columns:64px 1fr;column-gap:10px;align-items:center;text-align:left}

.home-training-cards img {width:58px;height:58px;margin:0;grid-row:1 / span 3}

.home-training-cards b {font-size:12px}

.home-training-cards span {margin:5px 0 0;font-size:10px;line-height:1.4}

.home-training-cards a {margin:0;padding-top:7px;font-size:9px}

.home-training-all {margin-top:18px}

.home-training-benefits {padding:22px 20px}

.home-training-heading-dark {margin-bottom:16px}

.home-training-benefits-grid {display:block}

.home-training-benefits-grid article {min-height:0;padding:12px 0;display:grid;grid-template-columns:30px 1fr 16px;gap:10px;align-items:center;border:0;border-top:1px solid #ffffff22;text-align:left}

.home-training-benefits-grid article:first-child {border-top:0}

.home-training-benefits-grid img {width:29px;height:29px;margin:0}

.home-training-benefits-grid b {font-size:10px}

.home-training-benefits-grid span {display:none}

.home-training-benefits-grid i {display:block;color:#d1a04b;font-size:16px;font-style:normal}
}

/* Schulungen */

@media (max-width: 760px) {
.home .hero-actions {width: auto;
    display: grid;
    align-items: stretch;}

.home .about-image {order: 2;}

.home .reviews-actions {margin-top: 22px;}
}

/* Abschlusskorrekturen: Original-Crops statt CSS-Ersatzzeichen. */

.home-training-points li:before,
.home-training-points li+li:before {content: none; display: none;}

.home-training-points li img {width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain;}

.home-training-hero > img {width: auto; max-width: 100%; height: 420px; max-height: none; object-fit: contain; justify-self: end;}

.home-training-copy h2 {text-transform: none; font-size: 43px; line-height: 1.16; letter-spacing: 0;}

.home-training-copy > .training-eyebrow {display: none;}

@media (max-width: 760px) {
.home-training-copy > .training-eyebrow {display: block;}

.home-training-copy h2 {font-size: 26px; line-height: 1.14;}

.home-training-points li img {width: 19px; height: 19px; flex-basis: 19px;}

.home-training-hero > img {width: 100%; height: auto; max-height: none; justify-self: stretch;}

/* Vorteile auf Mobilgeräten als vollständige, vertikale Kachelliste. */

.home-training-benefits-grid {display: grid; grid-template-columns: 1fr; gap: 12px;}

.home-training-benefits-grid article {display: flex; min-height: 0; padding: 14px; flex-direction: column; align-items: center; border: 0; border-top: 1px solid #ffffff22; text-align: center;}

.home-training-benefits-grid article:first-child {border-top: 0;}

.home-training-benefits-grid img {width: 36px; height: 36px; margin: 0 0 8px;}

.home-training-benefits-grid b {font-size: 12px;}

.home-training-benefits-grid span {display: block; margin: 6px auto 0; font-size: 11px;}
}

/* Generische Untermenüs der Hauptnavigation (Leistungen, Blog usw.) */

.brp-nav-item {position: relative;}

.brp-nav-trigger-row {display: flex;
  align-items: center;
  gap: 3px;}

.brp-submenu-toggle {display: inline-flex;
  width: 22px;
  height: 22px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #172d45;
  cursor: pointer;}

.brp-submenu-toggle span {display: block;
  width: 7px;
  height: 7px;
  overflow: hidden;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  font-size: 0;
  line-height: 0;
  transform: rotate(45deg);
  transition: transform .2s ease;}

.brp-nav-item.submenu-open .brp-submenu-toggle span {transform: rotate(225deg);}

.brp-submenu {position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  z-index: 70;
  visibility: hidden;
  min-width: 340px;
  max-width: 430px;
  padding: 9px;
  border: 1px solid #c9953d;
  border-radius: 5px;
  background: rgba(255, 255, 255, .99);
  box-shadow: 0 16px 30px rgba(10, 34, 60, .18);
  opacity: 0;
  transform: translate(-50%, -6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;}

.brp-nav-item:hover .brp-submenu,
.brp-nav-item:focus-within .brp-submenu,
.brp-nav-item.submenu-open .brp-submenu {visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);}

.main-nav .brp-submenu a {display: block;
  padding: 10px 12px;
  border-bottom: 1px solid #ebe2d4;
  color: #263646;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .02em;
  text-transform: none;
  white-space: normal;}

.main-nav .brp-submenu a:last-child {border-bottom: 0;}

.main-nav .brp-submenu a:hover,
.main-nav .brp-submenu a:focus-visible {color: #9d711d;
  background: #faf7f1;}

.main-nav .brp-submenu a::before,
.main-nav .brp-submenu a::after {display: none;}

@media (max-width: 760px) {
.brp-nav-item {width: 100%;}

.brp-nav-trigger-row {border-bottom: 1px solid rgba(212, 162, 77, .26);}

.main-nav .brp-nav-main {flex: 1;
    border-bottom: 0;}

.brp-submenu-toggle {width: 46px;
    height: 46px;
    color: #f0c778;}

.brp-submenu {position: static;
    display: none;
    visibility: visible;
    min-width: 0;
    max-width: none;
    padding: 4px 0 12px 18px;
    border: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, .04);
    box-shadow: none;
    opacity: 1;
    transform: none;}

.brp-nav-item:hover .brp-submenu,
.brp-nav-item:focus-within .brp-submenu {display: none;
    transform: none;}

.brp-nav-item.submenu-open .brp-submenu,
.brp-nav-item.submenu-open:hover .brp-submenu,
.brp-nav-item.submenu-open:focus-within .brp-submenu {display: block;}

.main-nav .brp-submenu a {padding: 10px 4px 10px 38px;
    border-bottom-color: rgba(212, 162, 77, .16);
    color: #f8f4ec;
    font-size: 11px;}
}

/* Phase 16.1: Einheitliche mobile Untermenüs + kompakter Footer */


@media (max-width: 760px) {
/* Alle Unterpunkte haben exakt dieselbe Höhe wie eine Hauptnavigation-Zeile. */

.main-nav .brp-submenu a {box-sizing: border-box;
    height: 46px;
    min-height: 46px;
    padding: 0 12px 0 38px;
    display: flex;
    align-items: center;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.18;}

.brp-submenu {padding-top: 4px;
    padding-bottom: 8px;}

/* Footer auf kleinen Displays: beide Bereiche sauber untereinander. */

.site-footer {padding: 24px 22px 15px;}

.footer-grid {grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: 17px;}

.footer-column {min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;}

.footer-column:first-child {padding-bottom: 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .10);}

.footer-contact {justify-content: center;}

.footer-contact-inner {width: min(100%, 390px);}

.footer-column h2 {margin: 0 0 10px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .04em;}

.footer-column p {margin: 0 0 6px;
    font-size: 11px;
    line-height: 1.35;}

.footer-contact p {gap: 10px;}

.footer-contact-icon {width: 1rem;
    flex-basis: 1rem;}

.footer-alternatives {padding-top: 18px;}

.footer-alternatives p {max-width: 330px;}

.footer-channels {margin-top: 7px;
    gap: 11px;}

.footer-channel-link {width: 34px;
    height: 34px;}

.footer-channel-link svg {width: 19px;
    height: 19px;}

.legal {display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 14px;
    font-size: 10.5px;
    line-height: 1.35;}

.legal span {margin: 0;}
}

/* Legacy home-training teaser: scoped compatibility only. */
.home-training .training-eyebrow {
  margin: 0 0 14px;
  color: #b8872e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
}
