/* ScaleHousing 2.0 — shared architecture theme, existing routes and components. */
:root {
  --color-dark:#302b25;
  --color-gold:#a4834c;
  --color-gold-hover:#876731;
  --color-gold-light:#b3925912;
  --color-wood:#8b6f47;
  --color-bg:#f8f7f3;
  --color-white:#fff;
  --color-cream:#eeebe4;
  --color-text:#302b25;
  --color-muted:#746f66;
  --color-border:#dedbd4;
  --ff-heading:'Manrope','Helvetica Neue',sans-serif;
  --ff-body:'DM Sans','Helvetica Neue',sans-serif;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-xl:28px;
  --header-height:94px;
  --fs-base:1rem
}
body {
  background:var(--color-bg);
  overflow-x:clip
}
h1,h2,h3 {
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.17
}
h1 {
  font-size:clamp(2.7rem,5.2vw,5rem)
}
h2 {
  font-size:clamp(2rem,3.5vw,3.2rem)
}
.section-title {
  font-weight:500
}
.section-subtitle {
  font-weight:400
}
.site-header,.site-header.scrolled {
  background:#f8f7f3f5;
  color:var(--color-text);
  box-shadow:none;
  border-bottom:1px solid #dedbd460;
  backdrop-filter:blur(18px)
}
.header-inner {
  max-width:1500px;
  padding-left:3.5%;
  padding-right:3.5%
}
.logo,.logo:hover,.logo-accent,.logo span {
  color:var(--color-text)
}
.logo {
  font-size:25px;
  letter-spacing:-1px;
  font-weight:800
}
.logo small {
  display:block;
  font-size:9px;
  letter-spacing:4px;
  font-weight:500;
  line-height:1.1;
  margin-top:4px
}
.logo .shs-brand-mark {
  color:var(--color-gold);
  font-size:34px;
  float:left;
  margin:2px 12px 0 0;
  font-weight:700;
  letter-spacing:-7px;
  padding-right:7px
}
.nav-mega .mega-trigger,.nav-mega .mega-home-link,.lang-dropdown-trigger {
  color:var(--color-text);
  font-size:14px;
  font-weight:500
}
.nav-mega .mega-trigger:hover,.nav-mega .mega-home-link:hover {
  color:var(--color-gold)
}
.mobile-toggle span {
  background:var(--color-text)
}
.header-cta {
  border-radius:40px
}
.btn {
  border-radius:40px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  font-size:14px;
  min-height:46px;
  box-shadow:none
}
.btn::after {
  display:none
}
.btn-primary {
  background:var(--color-dark);
  border-color:var(--color-dark);
  color:var(--color-bg)
}
.btn-primary:hover {
  background:#514333;
  border-color:#514333;
  box-shadow:none;
  transform:translateY(-2px)
}
.btn-outline {
  border-color:var(--color-border);
  color:var(--color-dark)
}
.hero .btn-outline,.section-dark .btn-outline {
  color:#fff;
  border-color:#ffffff70
}
.hero .btn-primary,.section-dark .btn-primary {
  background:var(--color-bg);
  border-color:var(--color-bg);
  color:var(--color-dark)
}
main#main {
  padding-top:calc(var(--header-height) + 12px)
}
.hero {
  margin:0 24px;
  min-height:660px;
  border-radius:28px;
  overflow:hidden
}
.hero-bg {
  transform:none
}
.hero::after {
  display:none
}
.hero-overlay {
  background:linear-gradient(90deg,#152017b3,#15201730),linear-gradient(0deg,#17201670,transparent)
}
.hero-content {
  padding-top:95px;
  padding-bottom:80px
}
.hero-title {
  font-weight:500;
  font-size:clamp(2.6rem,4.5vw,4.5rem);
  line-height:1.13;
  letter-spacing:-.045em
}
.hero-sub {
  font-size:17px;
  font-weight:400;
  line-height:1.75
}
.hero-compact {
  min-height:490px
}
.hero-compact .hero-content {
  padding-top:90px
}
.hero-compact.hero--bottom-focus {
  min-height:660px
}
.hero-split {
  background:#ebe7dd;
  color:var(--color-dark)
}
.hero-split .hero-title,.hero-split .hero-sub,.hero-split .hero-bullets li,.hero-split .hero-trust {
  color:var(--color-dark)
}
.hero-split .btn-primary {
  background:var(--color-dark);
  color:var(--color-bg)
}
.hero-split .btn-outline {
  color:var(--color-dark);
  border-color:var(--color-dark)
}
.hero-split-image {
  border-radius:90px 24px 24px 24px;
  overflow:hidden
}
.hero-minimal {
  min-height:350px
}
.hero-overlay-solid {
  background:var(--color-dark)
}
.section {
  padding:90px 0
}
.section-white {
  background:var(--color-bg)
}
.section-warm {
  background:#eeebe4
}
.section-dark {
  background:#302b25
}
.section-label {
  font-size:12px;
  letter-spacing:1.6px;
  font-weight:500
}
.section-title::after {
  display:none
}
.card,.form-card,.spec-item,.roi-calc,.metric-card,.faq-item {
  box-shadow:none
}
.card {
  border-radius:22px;
  background:#eeebe4;
  border:0;
  padding:30px
}
.section-warm .card {
  background:#f8f7f3
}
.card h3 {
  font-size:23px;
  font-weight:500
}
.card p,.content-text,.content-split p {
  font-weight:400;
  font-size:16px
}
.content-split-image,.gallery-item,.target-card {
  border-radius:24px;
  overflow:hidden
}
.content-split-image img {
  border-radius:24px
}
.content-split {
  gap:7%
}
.target-card:hover {
  transform:translateY(-4px)
}
.target-card-link {
  border-radius:40px
}
.cta-section {
  background:#ded0b1;
  border-radius:26px;
  margin:24px
}
.cta-section .btn-primary {
  background:var(--color-dark);
  color:var(--color-bg)
}
.site-footer {
  background:#eeebe4;
  color:var(--color-dark);
  padding-top:65px
}
.footer-logo,.footer-logo span,.footer-col-title {
  color:var(--color-dark);
  font-family:var(--ff-heading)
}
.footer-nav a,.footer-tagline,.footer-disclaimer,.footer-copyright,.footer-powered {
  color:#655e54
}
.footer-bottom {
  border-color:#d3ccbf
}
.footer-nav a:hover {
  color:#302b25
}
.form-input,.form-select,.form-textarea {
  border-radius:12px
}
.lightbox.active {
  z-index:3000
}
.lightbox {
  background:#181c17e8
}
.tour-container,.video-container {
  border-radius:22px;
  overflow:hidden
}
.mobile-menu {
  background:var(--color-bg)
}
.mobile-menu a,.mobile-group-toggle {
  color:var(--color-dark)
}
.mega-panels {
  background:var(--color-bg)
}
.mega-item {
  border-radius:14px
}
.mega-item-title,.mega-aside-link {
  color:var(--color-dark)
}
.mega-item-desc,.mega-aside-label {
  color:var(--color-muted)
}
.lang-dropdown-menu {
  background:var(--color-bg)
}
.lang-dropdown-menu a {
  color:var(--color-dark)
}
/* Content remains visible if scripts or animation APIs are unavailable. */
[data-animate] {
  opacity:1;
  transform:none;
  transition:none
}
.motion-ready [data-reveal] {
  opacity:0;
  transform:translateY(26px);
  transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--reveal-delay,0ms)
}
.motion-ready [data-reveal].is-visible {
  opacity:1;
  transform:none
}
.motion-ready [data-reveal="image"] {
  transform:translateY(30px) scale(.975)
}
.motion-ready [data-reveal="image"].is-visible {
  transform:none
}
.shs-parallax-image {
  will-change:transform;
  transform:translateY(var(--parallax-y,0px)) scale(1.07)
}
.shs-scroll-progress {
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:#b39259;
  z-index:1500;
  pointer-events:none
}
.shs-home {
  line-height:1.5
}
.shs-home .hero {
  min-height:640px
}
.shs-home .hero-content {
  padding:0;
  margin:0
}
.shs-home h1,.shs-home h2,.shs-home h3,.shs-home p {
  font-weight:inherit
}
.shs-home .hero h1 {
  font-weight:500
}
.shs-home .hero-content {
  z-index:1
}
.shs-home .hero-foot,.shs-home .hero-topline,.shs-home .hero-notch,.shs-home .hero-image-credit {
  z-index:2
}
.shs-home .button {
  line-height:1.4
}
.shs-home .hero-content>p.eyebrow {
  margin-bottom:26px
}
.shs-home .section {
  padding-top:95px;
  padding-bottom:95px
}
.shs-home .facts {
  padding-top:0
}
.shs-home .room-tabs button {
  font-family:var(--ff-body)
}
.shs-home .intro-image img {
  height:100%;
  object-fit:cover
}
.shs-home .project-card h3 {
  font-weight:500
}
.shs-home .system .section {
  padding-top:70px;
  padding-bottom:70px
}
.shs-home .system-detail {
  min-height:120px
}
.shs-home .project-card .button {
  margin-top:12px
}
.shs-home .contact-content h2 {
  color:white
}
.shs-home .contact-content>p {
  margin-bottom:24px
}
.shs-home .text-link {
  font-weight:500
}
.shs-home .home-more {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  padding-top:0
}
.shs-home .home-more h3 {
  font-size:23px;
  letter-spacing:-1px
}
.shs-home .home-more p {
  font-size:15px;
  color:var(--color-muted);
  line-height:1.8
}
.shs-home .home-more article {
  border-top:1px solid var(--color-border);
  padding-top:25px
}
.shs-home .home-messe {
  margin:25px auto 0;
  max-width:1200px;
  padding:15px 24px;
  border-bottom:1px solid var(--color-border);
  font-size:14px;
  display:flex;
  justify-content:space-between;
  gap:20px
}
.shs-home .home-messe a {
  text-decoration:underline
}
.shs-home .room-stage img {
  max-width:none
}
@media(max-width:1100px) {
  .header-inner {
    padding-left:24px;
    padding-right:24px
  }
  .nav-mega {
    gap:10px
  }
  .nav-mega .mega-trigger,.nav-mega .mega-home-link {
    font-size:13px
  }
  .logo {
    font-size:22px
  }
  .header-cta {
    padding:11px 16px
  }
}
@media(max-width:800px) {
  :root {
    --header-height:78px
  }
  .hero {
    margin:0 12px;
    border-radius:22px;
    min-height:560px
  }
  .hero-compact {
    min-height:430px
  }
  .hero-compact.hero--bottom-focus {
    min-height:570px
  }
  .hero-content,.hero-compact .hero-content {
    padding-top:65px;
    padding-bottom:60px
  }
  .hero-title {
    font-size:clamp(2.3rem,8vw,3.5rem)
  }
  .section {
    padding:65px 0
  }
  .content-split {
    gap:30px
  }
  .cta-section {
    margin:12px
  }
  .shs-home .hero {
    min-height:670px
  }
  .shs-home .hero-content {
    padding:0
  }
  .shs-home .section {
    padding:65px 24px
  }
  .shs-home .facts {
    padding-top:0
  }
  .shs-home .home-more {
    grid-template-columns:1fr;
    padding-top:0
  }
  .shs-home .home-messe {
    display:block
  }
  .shs-home .home-messe a {
    display:block;
    margin-top:8px
  }
  .shs-home .rooms>.section {
    padding-left:12px;
    padding-right:12px
  }
  .shs-home .room-stage img {
    height:420px
  }
  .hero-split-image {
    border-top-left-radius:55px
  }
  .motion-ready [data-reveal] {
    transform:translateY(16px)
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto!important
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }
  .motion-ready [data-reveal],.motion-ready [data-reveal="image"],.shs-parallax-image {
    opacity:1!important;
    transform:none!important;
    will-change:auto
  }
  .shs-scroll-progress {
    display:none
  }
}
/* SHS24 product, shared by all six language routes. */
.shs-product .shs-hero {
  background:#ebe7dd
}
.shs-product .shs-hero .hero-split-inner {
  gap:6%;
  padding-top:70px;
  padding-bottom:70px;
  min-height:680px
}
.shs-eyebrow {
  font-size:12px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:#806137;
  margin-bottom:25px
}
.shs-hero-metrics {
  display:grid;
  gap:12px;
  margin:25px 0
}
.shs-hero-metrics strong {
  font-size:29px;
  font-weight:500;
  letter-spacing:-1px
}
.shs-hero-metrics span {
  font-size:14px;
  color:#716859
}
.shs-caveat {
  font-size:13px;
  line-height:1.7;
  color:#746f66;
  margin:22px 0
}
.shs-caveat small {
  font-size:inherit
}
.shs-hero-image {
  height:550px
}
.shs-hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:55% center
}
.shs-product .shs-hero .hero-title {
  font-size:clamp(2.5rem,4vw,4rem)
}
.shs-product .shs-hero .hero-trust {
  color:#746f66
}
.shs-facts-grid {
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.shs-facts-grid .spec-item {
  background:#eeebe4;
  border-radius:22px;
  padding:30px;
  min-width:0
}
.shs-facts-grid .spec-value {
  font-size:20px;
  line-height:1.5;
  word-break:normal
}
.shs-room-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:40px
}
.shs-room-card {
  background:#f8f7f3;
  border-radius:24px;
  overflow:hidden
}
.shs-room-card:first-child {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1.4fr 1fr
}
.shs-room-image {
  height:400px
}
.shs-room-image img {
  height:100%;
  width:100%;
  object-fit:cover
}
.shs-room-card:first-child .shs-room-image {
  height:480px
}
.shs-room-copy {
  padding:30px
}
.shs-room-copy h3 {
  font-size:28px;
  margin-bottom:20px
}
.shs-room-copy p {
  font-size:15px;
  line-height:1.8;
  color:#746f66
}
.shs-room-card:first-child .shs-room-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:45px
}
.shs-facade .content-split-image {
  height:auto;
  background:#ede9df;
  padding:18px
}
.shs-facade .content-split-image img {
  width:100%;
  height:auto;
  object-fit:contain
}
.shs-construction .content-split-image {
  max-width:420px
}
.shs-construction .content-split-image img {
  max-height:460px;
  object-fit:contain;
  background:#d0cbc4;
  width:100%
}
.shs-equipment-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
  border-top:1px solid #ffffff30;
  padding-top:40px;
  margin-top:45px
}
.shs-equipment-grid h3 {
  font-size:26px;
  color:#e7c58a;
  margin-bottom:20px
}
.shs-equipment-grid p,.shs-equipment-grid li {
  font-size:16px;
  line-height:1.8;
  color:#ddd6c9
}
.shs-construction .shs-caveat {
  color:#bcb5a8
}
.shs-product .faq-answer-inner {
  padding:5px 0 24px;
  line-height:1.8
}
.shs-legacy {
  padding-bottom:35px
}
.shs-legacy-tour {
  margin:0 24px;
  border-radius:26px
}
.shs-gallery .gallery-grid {
  gap:18px
}
.shs-gallery .gallery-item {
  aspect-ratio:1.25
}
.shs-gallery .gallery-item img {
  object-fit:cover;
  width:100%;
  height:100%
}
.shs-product .section-title {
  max-width:900px;
  margin-left:auto;
  margin-right:auto
}
.shs-hero .hero-ctas {
  margin-top:25px;
  margin-bottom:0
}
.site-footer::before {
  opacity:.015
}
@media(max-width:800px) {
  .shs-product .shs-hero .hero-split-inner {
    padding:45px 20px;
    min-height:0;
    gap:35px
  }
  .shs-hero-image {
    height:350px
  }
  .shs-product .shs-hero .hero-title {
    font-size:36px
  }
  .shs-facts-grid {
    grid-template-columns:1fr
  }
  .shs-facts-grid .spec-item {
    padding:25px
  }
  .shs-room-grid {
    grid-template-columns:1fr;
    gap:25px
  }
  .shs-room-card:first-child {
    display:block
  }
  .shs-room-card:first-child .shs-room-image,.shs-room-image {
    height:330px
  }
  .shs-room-card:first-child .shs-room-copy,.shs-room-copy {
    padding:25px
  }
  .shs-room-copy h3 {
    font-size:25px
  }
  .shs-equipment-grid {
    grid-template-columns:1fr;
    gap:30px
  }
  .shs-legacy-tour {
    margin:0 12px
  }
  .shs-hero-metrics strong {
    font-size:25px
  }
  .shs-hero-metrics span {
    font-size:13px
  }
}
/* Keep the editorial layout independent of legacy heading/navigation colours. */
.header-inner {
  gap:24px
}
.nav-mega {
  gap:22px;
  margin-left:auto
}
.nav-mega .mega-trigger,.nav-mega .mega-home-link {
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap
}
.header-cta {
  white-space:nowrap
}
.shs-home .hero h1 {
  color:#fff
}
.shs-home .hero-foot>span {
  max-width:530px;
  padding-right:30px
}
.shs-home .hero-foot a {
  color:#fff;
  white-space:nowrap
}
.shs-home .system h2,.shs-home .system h3,.shs-home .project-card.large h3,.shs-home .material-note h3,.shs-home .fact-dark h3,.shs-home .room-caption h3 {
  color:inherit
}
@media(min-width:1024px) and (max-width:1199px) {
  .header-inner {
    gap:16px;
    padding-left:20px;
    padding-right:20px
  }
  .nav-mega {
    gap:14px
  }
  .logo {
    font-size:21px
  }
  .nav-mega .mega-trigger,.nav-mega .mega-home-link {
    font-size:12px
  }
  .header-cta {
    font-size:12px;
    padding:10px 14px
  }
}
.hero-split {
  padding:0
}
.shs-hero-metrics strong {
  color:var(--color-dark)
}
.shs-hero-image img {
  max-height:none
}
.shs-home .room-under .text-link {
  white-space:normal;
  max-width:100%
}
.shs-home .room-under .text-link span {
  flex-shrink:0
}
main [id] {
  scroll-margin-top:calc(var(--header-height) + 24px)
}
.cta-section .cta-title,.cta-section .cta-text {color:var(--color-dark)}
.cta-section .cta-disclaimer {color:#655e54}
.mega-panel {background:#f8f7f3;box-shadow:0 24px 40px #302b2520;border-top-color:#dedbd4;border-bottom:1px solid #dedbd4}
.mega-panel-aside {border-color:#dedbd4}
.mega-item:hover {background:#eeebe4}
.mega-item-title,.mega-aside-phone {color:#302b25}
.mega-aside-link:hover {color:#876731}
.mega-item {opacity:1;transform:none}
.mega-item:hover .mega-item-desc {color:#655e54}
/* Light cards retain readable text inside dark sections, including hover. */
.card.card-dark,.card.card-dark:hover {
  background:#eeebe4;
  color:var(--color-text);
}
.section-dark .card :is(h1,h2,h3,h4,h5,h6) {
  color:var(--color-text);
}
.section-dark .card p,.card.card-dark .content-list li,.card.card-dark .finance-label {
  color:#655e54;
}
.card.card-dark .finance-item {
  border-color:var(--color-border);
}

/* ===== 2.0.2 Barrierefreiheit: Kontrast, Skip-Link, Umbruch ===== */
:root {
  --color-muted:#655e54;
  --color-gold-text:#7a5c26;
}
/* Skip-Link: bleibt unsichtbar, wird beim Fokussieren sichtbar (WCAG 2.4.1) */
.sr-only:focus,.sr-only:focus-visible {
  position:fixed;
  top:12px;
  left:12px;
  z-index:10000;
  width:auto;
  height:auto;
  margin:0;
  padding:12px 18px;
  clip:auto;
  overflow:visible;
  white-space:normal;
  background:var(--color-dark);
  color:#fff;
  border-radius:8px;
  font-weight:600;
  outline:2px solid var(--color-gold);
  outline-offset:2px
}
/* Lange Wörter (z. B. „Datenschutzerklärung“) brechen um, statt die Seite auf Mobilgeräten zu verbreitern */
h1,h2,h3,.hero-title {
  overflow-wrap:break-word;
  hyphens:auto
}
/* Gold als Textfarbe nur mit ausreichendem Kontrast (≥ 4,5:1) auf hellen Flächen */
.btn-link,.contact-alt a,.form-checkbox a,.finance-value,.advantage-icon,.diff-item.positive .diff-icon,.step-number,.footer-logo .logo-accent {
  color:var(--color-gold-text)
}
.section-dark .btn-link,.section-dark .finance-value,.section-dark .advantage-icon,.section-dark .step-number {
  color:var(--color-gold)
}
.section-dark .card .btn-link,.section-dark .card .finance-value,.card.card-dark .finance-value {
  color:var(--color-gold-text)
}
.cta-sub {
  color:var(--color-gold-text)
}
.btn-link:hover {
  color:var(--color-dark)
}
.roi-chip.is-active {
  background:#c4a56d;
  border-color:#c4a56d
}
.hero-note {
  color:rgba(255,255,255,.66)
}
.shs-hero-metrics span,.shs-caveat {
  color:#655e54
}
.footer-powered a {
  color:#655e54;
  text-decoration:underline;
  text-underline-offset:2px
}
.footer-powered a:hover {
  color:var(--color-dark)
}
.shs-home {
  --muted:#655e54
}
.shs-home em {
  color:#8f7032
}
/* Einwilligungs-Platzhalter für den 360°-Rundgang (Kuula wird erst nach Klick geladen) */
.tour-consent {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:24px;
  text-align:center;
  background:#eeebe4;
  color:var(--color-dark)
}
.tour-consent-title {
  color:var(--color-dark)!important;
  font-size:clamp(1.2rem,1rem + 1vw,1.7rem)
}
.tour-consent-text {
  max-width:560px;
  color:#4d473f!important;
  font-size:15px;
  line-height:1.6
}
.tour-consent-text a {
  color:var(--color-gold-text);
  text-decoration:underline
}
/* Galerie: per Tastatur bedienbar, sichtbarer Fokus */
.gallery-item:focus-visible {
  outline:3px solid var(--color-gold);
  outline-offset:3px
}
/* Formularmeldungen: unsichtbar auch für Screenreader, bis sie angezeigt werden */
.form-success-message:not(.visible),.form-error-message:not(.visible) {
  display:none
}
.form-success-message.visible,.form-error-message.visible {
  margin-top:16px
}
/* Programmatisch fokussierte Ankerziele (Skip-Link, #faq …) bekommen keinen Fokusrahmen */
[tabindex="-1"]:focus {
  outline:none
}
.tour-consent .btn-primary {
  background:var(--color-dark);
  color:#fff
}
/* Mobiles Menü: Telefon, E-Mail, CTA und aktive Sprache lesbar auf hellem Grund */
.mobile-menu .mobile-cta {
  color:#fff
}
.mobile-menu .mobile-contact-phone,.mobile-menu .mobile-contact-email {
  color:var(--color-dark)!important
}
.mobile-menu .mobile-lang-link.active {
  color:var(--color-gold-text)
}
/* Restliche Kontrastfälle (WCAG AA) */
.shs-home .system .eyebrow {
  color:#bcb6ac
}
.section-dark .disclaimer-box p {
  color:rgba(255,255,255,.74)
}
.cta-section .cta-sub {
  color:#4d473f
}
.legal-page a {
  color:var(--color-gold-text);
  text-decoration:underline;
  text-underline-offset:2px
}
/* Hinweiszeile im Bildhero und kleine Hero-Beschriftungen der Startseite: lesbar auf Fotos */
.hero:not(.hero-split) .hero-trust,.hero:not(.hero-split) .hero-trust strong {
  color:rgba(255,255,255,.82)
}
.shs-home .hero-topline span,.shs-home .hero-image-credit {
  text-shadow:0 1px 10px rgba(0,0,0,.55)
}

/* ── Mobiles Menü (2.0.3): Fußbereich, Sprachwahl, Untermenü-Pfeile ──
   Die allgemeine Regel ".mobile-menu a" (style.css) setzt Überschriften-Schrift und 2xl auf JEDEN Link
   im Menü; die Selektoren hier sind deshalb spezifischer. */
.mobile-menu .mobile-menu-footer {
  align-items:stretch;
  gap:20px
}
.mobile-menu .mobile-menu-contact {
  align-items:flex-start;
  gap:2px;
  width:100%
}
.mobile-menu .mobile-contact-phone,.mobile-menu .mobile-contact-email {
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:44px;
  font-family:var(--ff-body);
  font-weight:500;
  letter-spacing:0;
  text-align:left;
  overflow-wrap:anywhere
}
.mobile-menu .mobile-contact-phone {
  font-size:1.0625rem
}
.mobile-menu .mobile-contact-email {
  font-size:.9375rem
}
.mobile-menu .mobile-contact-icon {
  flex:none;
  color:var(--color-gold-text)
}
.mobile-menu .mobile-lang-links {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-top:0;
  width:100%
}
.mobile-menu .mobile-lang-link {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:44px;
  padding:0;
  font-family:var(--ff-body);
  font-size:.8125rem;
  font-weight:600;
  letter-spacing:.04em;
  color:#5a544b;
  background:transparent;
  border:1px solid #cfcac0;
  border-radius:12px
}
.mobile-menu .mobile-lang-link:hover {
  color:var(--color-dark);
  border-color:var(--color-dark)
}
.mobile-menu .mobile-lang-link.active,.mobile-menu .mobile-lang-link.active:hover {
  color:#fff;
  background:var(--color-dark);
  border-color:var(--color-dark)
}
/* Untermenü-Pfeil statt Plus: gut sichtbar, dreht sich beim Öffnen */
.mobile-menu .mobile-group-toggle {
  color:var(--color-dark)
}
.mobile-menu .mobile-group-icon {
  width:24px;
  height:24px;
  color:#5a544b;
  transition:color .25s ease
}
.mobile-menu .mobile-group-icon::before {
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  width:9px;
  height:9px;
  background:none;
  border:solid currentColor;
  border-width:0 2px 2px 0;
  border-radius:1px;
  opacity:1;
  transform:translate(-50%,-70%) rotate(45deg);
  transition:transform .25s ease
}
.mobile-menu .mobile-group-icon::after {
  display:none
}
.mobile-menu .mobile-nav-group.active .mobile-group-icon {
  color:var(--color-gold-text)
}
.mobile-menu .mobile-nav-group.active .mobile-group-icon::before {
  transform:translate(-50%,-30%) rotate(225deg)
}
.mobile-menu .mobile-nav-group.active .mobile-group-toggle {
  color:var(--color-gold-text)
}
/* Geschlossene Untermenü-Links nicht per Tab erreichbar (Fokus landete sonst auf unsichtbaren Links) */
.mobile-menu .mobile-group-items {
  visibility:hidden;
  transition:max-height var(--transition-smooth),visibility 0s linear var(--transition-smooth)
}
.mobile-menu .mobile-nav-group.active .mobile-group-items {
  visibility:visible;
  transition:max-height var(--transition-smooth),visibility 0s
}
.mobile-menu .mobile-group-items a {
  color:#5a544b
}
.mobile-menu .mobile-group-items a:hover {
  color:var(--color-gold-text)
}
@media (prefers-reduced-motion:reduce) {
  .mobile-menu .mobile-group-icon::before {
    transition:none
  }
}
@media (max-width:400px) {
  .mobile-menu .mobile-nav-groups,.mobile-menu .mobile-menu-footer {
    padding-left:16px;
    padding-right:16px
  }
  .mobile-menu .mobile-lang-links {
    gap:4px
  }
  .mobile-menu .mobile-contact-email {
    font-size:.875rem
  }
  .mobile-menu .mobile-contact-phone,.mobile-menu .mobile-contact-email {
    gap:10px
  }
}
