/* Restore the template's image composition and motion without its demo content. */
.home-hero-wraper { isolation: isolate; padding-bottom: 0; }
.home-hero-wraper::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("../img/alma-foot-pattern.svg") center / 680px 480px repeat;
  opacity: .2;
}
.hero-grid-wrap { gap: 24px; }
.home-hero-title { position: relative; z-index: 2; padding-bottom: 52px; }
.hero-image-wrap { align-self: stretch; justify-content: flex-end; min-height: 650px; }
.hero-big-image {
  display: block; width: 100%; height: 650px; max-width: 656px;
  object-fit: contain; object-position: center bottom; transform-origin: center bottom;
}
.hero-big-image.alma-hero-portrait {
  width: min(78%, 470px);
  max-width: 470px;
  margin-inline: auto;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 22px 34px rgba(31, 52, 54, .16));
}
.hero-inner-image { pointer-events: none; }
.hero-card-image.alma-floating-card { width: calc(50% - 14px); max-width: 276px; height: 206px; bottom: 62px; }
.alma-floating-card._01 { left: 0; right: auto; }
.alma-floating-card._02 { right: 0; left: auto; }
.hero-bottom-card { background: var(--color-transparent); }
.quality-left-image { width: 100%; min-width: 0; align-self: stretch; }
#qualitaet .quality-conetnt-wrap { order: 0; }
.quality-image {
  display: block; width: 100%; height: 100%; min-height: 520px;
  object-fit: cover; object-position: center; aspect-ratio: 578 / 647;
}
.quality-conetnt-wrap .trusted-title > div { display: inline-block; }
.hero-button-wraper .arrow-wrapper { overflow: hidden; }
.hero-button-wraper .arrow-wrapper .alma-icon { transition: transform 240ms ease; }
.hero-button-wraper .button-link-wrap:hover .alma-icon { transform: translate(3px, -3px); }
.reason-inner-wrap { display: block; width: 100%; overflow: hidden; border-radius: 20px; }
.reason-image { display: block; width: 100%; height: 100%; min-height: 450px; object-fit: cover; object-position: center; }
.button-dubble-line .alma-icon { transition: transform 240ms ease; }
.button-dubble-line:hover .alma-icon { transform: translate(3px, -3px); }
.alma-service-grid .slide-icon-wrap { transition: transform 240ms ease; }
.alma-service-grid article:hover .slide-icon-wrap { transform: translateY(-4px); }
.nav-link { position: relative; }
.nav-link::after { content: ""; position: absolute; bottom: 6px; left: 0; right: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 240ms ease; }
.nav-link:hover::after, .nav-link:focus-visible::after { transform: scaleX(1); }
.alma-contact-options { margin: 0; display: grid; gap: 12px; width: 100%; }
.alma-contact-options > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: baseline; gap: 8px; }
.alma-contact-options dt { color: var(--color-text-secondary); font-size: 16px; }
.alma-contact-options dd { margin: 0; min-width: 0; }
.alma-contact-options a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; overflow-wrap: anywhere; }

/* Original image pair and service cards, with the confirmed practice content. */
#praxis .small-features-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.alma-trust-points { grid-template-columns: 1fr 1fr; border: 0; padding: 0; gap: 32px; }
.alma-trust-points .alma-care-icon { margin-bottom: 18px; }
.alma-practice-images { display: grid; grid-template-columns: .8fr 1.4fr; align-items: end; gap: 20px; }
.alma-practice-images > div { overflow: hidden; border-radius: 20px; }
.alma-practice-images img { display: block; width: 100%; height: 300px; object-fit: cover; }
.alma-practice-images .rt-image { height: 240px; }
.alma-scroll-copy { color: var(--color-text); }
.alma-underline { text-decoration: underline; text-decoration-color: var(--color-primary); text-decoration-thickness: .1em; text-underline-offset: .14em; text-decoration-skip-ink: none; }
.alma-underline.is-drawing { text-decoration: none; padding-bottom: .06em; background: linear-gradient(var(--color-primary), var(--color-primary)) left bottom / 100% .1em no-repeat; animation: alma-underline-draw 750ms ease-out both; }
@keyframes alma-underline-draw {
  from { background-size: 0 .1em; }
  to { background-size: 100% .1em; }
}
#leistungen { position: relative; isolation: isolate; }
#leistungen::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("../img/alma-template-backdrop.webp") center / cover; filter: grayscale(1); opacity: .16; }
.alma-carousel { position: relative; }
.alma-service-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--color-primary) transparent; padding-bottom: 18px; position: relative; }
.alma-service-track > article { flex: 0 0 calc((100% - 24px) / 2); scroll-snap-align: start; scroll-snap-stop: always; min-width: 0; min-height: 360px; padding: 36px; gap: 48px; cursor: auto; background: var(--color-background-mint); }
.alma-service-track > article:nth-child(2) { background: var(--color-background-soft); }
.alma-service-track > article:nth-child(3) { background: var(--color-background-sage); }
.alma-service-track .slide-icon-wrap { transition: transform 240ms ease; }
.alma-service-track article:hover .slide-icon-wrap { transform: translateY(-5px) rotate(-6deg); }
.alma-service-track .slider-content-wrap { gap: 24px; }
.alma-slider-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 22px; }
.alma-slider-arrow { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--color-text); background: var(--color-primary); border: 1px solid var(--color-primary); border-radius: 50%; cursor: pointer; transition: background 200ms ease; }
.alma-slider-arrow:hover { background: var(--color-primary-hover); }
.alma-slider-arrow.is-previous svg { transform: rotate(180deg); }
.alma-slider-position { min-width: 78px; text-align: center; font-size: 16px; font-variant-numeric: tabular-nums; }
#fragen .faq-ara-conetnt { flex-direction: column; gap: 28px; max-width: 1000px; margin-inline: auto; }
#fragen .faq-left-conetnt { max-width: none; text-align: center; }
#fragen .faq-left-conetnt > p { margin: 18px auto 0; max-width: 630px; }
#fragen .alma-faq-list { width: 100%; max-width: none; gap: 10px; }
#fragen .faq-title { padding: 20px 24px; min-height: 64px; }
#fragen .faq-heading { font-size: 21px; }
#fragen .alma-faq-answer { padding: 0 24px 22px; }
.alma-contact-details { gap: 10px; padding: 24px 0 0; }
.alma-contact-details-compact { padding: 14px 0 0; gap: 12px; }
.alma-contact-details h3 { font-size: 23px; }
.alma-contact-details-compact h3 { font-size: 24px; }
.alma-contact-details address { font-size: 19px; }
.alma-contact-options { gap: 0; }
.alma-contact-call { display: none; }
.form-block { width: 100%; min-width: 0; border: 1px solid var(--color-border); background: var(--color-background); border-radius: 20px; padding: 28px 36px; }
.alma-contact-form { display: flex; flex-direction: column; gap: 24px; }
.form-text-wrap { min-width: 0; }
.text-label { display: block; font-size: 19px; font-weight: 600; margin-bottom: 10px; }
.form-text-field { display: block; width: 100%; max-width: 100%; border: 1px solid transparent; border-radius: 14px; padding: 18px; color: var(--color-text); background: var(--color-background-mint); font: inherit; min-height: 62px; }
textarea.form-text-field { resize: vertical; min-height: 180px; }
.form-text-field:focus { border-color: var(--color-primary-dark); }
.alma-contact-form .alma-primary { width: 100%; gap: 14px; min-height: 64px; border: 0; cursor: pointer; }
.alma-privacy-check { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.6; cursor: pointer; }
.alma-privacy-check input { flex: 0 0 22px; width: 22px; height: 22px; accent-color: var(--color-primary-dark); margin: 2px 0 0; }
.alma-privacy-check a, .alma-map a { text-underline-offset: 3px; }
.alma-form-note { font-size: 14px; line-height: 1.6; margin: -10px 0 0; color: var(--color-text-secondary); }
.alma-location { margin-top: 120px; }
.alma-location-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 24px; }
.alma-location-heading h3 { font-size: 32px; margin: 0; }
.alma-location-heading p { margin: 0; font-size: 18px; }
.alma-map { background: var(--color-background); border: 1px solid var(--color-border); border-radius: 20px; overflow: hidden; min-height: 380px; }
.alma-map-consent { min-height: 380px; padding: 40px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 14px; }
.alma-map-consent > svg { width: 40px; height: 40px; color: var(--color-primary-dark); }
.alma-map-consent h4 { font-size: 26px; margin: 0; }
.alma-map-consent p { max-width: 560px; font-size: 16px; margin: 0; }
.alma-map-consent a { display: inline-flex; min-height: 44px; align-items: center; font-size: 16px; }
.alma-map iframe { border: 0; width: 100%; height: 400px; display: block; }
.alma-map-tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.alma-map-tools p { margin: 0; font-size: 14px; }
.alma-map-tools button { color: var(--color-text); background: transparent; border: 0; text-decoration: underline; min-height: 44px; cursor: pointer; font: inherit; font-size: 14px; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .alma-underline.is-drawing { animation: none; }
  .alma-service-track { scroll-behavior: auto; }
}

@media (max-width: 1279px) {
  .reason-grid-wrap { grid-template-columns: 1fr; gap: 36px; }
  .reason-image-wrap { grid-template-columns: 1fr 1fr; }
  .reason-inner-wrap { display: block; }
  .reason-image { max-height: 590px; }
}

@media (min-width: 992px) and (max-width: 1279px) {
  .hero-image-wrap, .hero-big-image { min-height: 640px; height: 640px; }
  .hero-big-image.alma-hero-portrait { width: min(76%, 440px); max-width: 440px; }
  .hero-card-image.alma-floating-card { height: 194px; padding: 20px 14px; }
}
@media (max-width: 991px) {
  #praxis .small-features-grid { grid-template-columns: 1fr; gap: 36px; }
  .alma-trust-points { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .alma-practice-images { max-width: 700px; }
  .hero-grid-wrap { grid-template-columns: 1fr 1fr; align-items: end; gap: 18px; }
  .home-hero-title { padding-bottom: 34px; gap: 30px; }
  .hero-title.left { font-size: 54px; }
  .hero-subtext.left { font-size: 21px; }
  .hero-image-wrap { min-height: 610px; }
  .hero-big-image { height: 610px; }
  .hero-big-image.alma-hero-portrait { width: min(78%, 390px); max-width: 390px; }
  .hero-card-image.alma-floating-card { width: calc(50% - 7px); height: 186px; padding: 14px 10px; bottom: 34px; }
  .alma-floating-card p { font-size: 13px; }
  .alma-floating-card strong { font-size: 36px; }
  .alma-tags { gap: 4px; }
  .alma-tags span { font-size: 11px; padding: 4px 6px; }
}
@media (max-width: 767px) {
  .alma-trust-points { grid-template-columns: 1fr 1fr; }
  .alma-practice-images { gap: 14px; }
  .alma-practice-images img { height: 240px; }
  .alma-practice-images .rt-image { height: 200px; }
  .alma-service-track { gap: 16px; }
  .alma-service-track > article { flex-basis: 100%; min-height: 350px; padding: 26px; }
  #fragen .faq-title { padding: 18px; }
  #fragen .faq-heading { font-size: 19px; }
  #fragen .alma-faq-answer { padding: 0 18px 20px; }
  .form-block { padding: 24px; }
  .alma-location-heading { flex-direction: column; gap: 12px; }
  .alma-location-heading h3 { font-size: 28px; }
  .alma-contact-number { font-size: 30px; }
  .home-hero-wraper::before { background-size: 460px 420px; }
  .hero-grid-wrap { grid-template-columns: 1fr; gap: 0; }
  .hero-title.left { font-size: 48px; }
  .home-hero-title { padding-bottom: 26px; gap: 24px; }
  .hero-image-wrap { min-height: 0; }
  .hero-big-image { height: auto; max-width: 360px; }
  .hero-big-image.alma-hero-portrait { width: min(76vw, 340px); max-width: 340px; }
  .hero-card-image.alma-floating-card { width: calc(50% - 10px); max-width: 230px; height: 182px; bottom: 24px; padding: 18px; }
  .alma-floating-card p { font-size: 14px; }
  .quality-left-image { display: none; }
  .reason-image-wrap { grid-template-columns: 1fr; }
  .reason-image { min-height: 0; height: auto; max-height: 480px; object-position: center 25%; aspect-ratio: 1 / 1; }
  .alma-contact-options > div { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 479px) {
  .hero-title.left { font-size: 40px; }
  .hero-subtext.left { font-size: 19px; }
  .alma-hero-description { font-size: 17px; }
  .hero-image-wrap { min-height: 0; }
  .hero-big-image { height: auto; }
  .hero-big-image.alma-hero-portrait { width: 76vw; max-width: 300px; }
  .hero-card-image.alma-floating-card { padding: 14px 10px; height: 174px; bottom: 20px; }
  .alma-floating-card p { font-size: 13px; }
}

/* Explicit feedback against the live Medura reference. */
.home-hero-title { justify-content: flex-start; padding-top: 48px; padding-bottom: 100px; }
.hero-image-wrap { isolation: isolate; }
.hero-big-image { position: relative; z-index: 1; }
.hero-inner-image { z-index: 2; }
.hero-mockup-wraper { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hero-mockup-wraper img { position: absolute; object-fit: contain; filter: none; }
.hero-mockup-01 { rotate: 24deg; }
.hero-mockup-02 { rotate: -28deg; scale: -1 1; }
.hero-mockup-01 { width: 265px; height: auto; top: 27%; right: -12px; }
.hero-mockup-02 { width: 150px; height: auto; top: 55%; left: -52px; }
.alma-practice-images { grid-template-columns: 1fr; }
.alma-practice-images img { height: 320px; object-position: center 35%; }
#betreuung .reason-image-wrap { display: block; }
#betreuung .reason-inner-wrap { max-width: none; }
#betreuung .reason-image { height: 560px; max-height: none; object-position: center 35%; }
#betreuung.color-bg { background: #f0f3f7; }
.quality-block { background: var(--color-surface-rose); gap: 24px; }
.quality-block:nth-child(2) { background: #d5dfed; }
.quality-block .quality-subtext { color: var(--color-text); }
#leistungen::before { display: none; }
.alma-slider-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.alma-service-track { gap: 0; padding: 0; overflow: visible; scroll-snap-type: none; touch-action: pan-y pinch-zoom; margin: 0; }
.alma-service-track > article { flex: 0 0 calc((100% - 48px) / 3); margin: 0 24px 0 0; min-height: 310px; padding: 32px; gap: 18px; background: var(--color-surface-blue); justify-content: flex-start; }
.alma-service-track > article:nth-child(2), .alma-service-track > article:nth-child(5) { background: var(--color-surface-lilac); }
.alma-service-track > article:nth-child(3) { background: var(--color-surface-rose); }
.alma-service-track > article:nth-child(4) { background: #e2eeee; }
.alma-service-track .slider-content-wrap { flex: 1; gap: 42px; justify-content: space-between; }
.alma-service-track .cart-title { font-size: 24px; }
.alma-service-track .paragraph-normal { font-size: 16px; color: var(--color-dark-soft); }
.alma-carousel.is-enhanced .alma-slider-viewport { overflow: hidden; scroll-snap-type: none; }
.alma-carousel:not(.is-enhanced) .alma-service-track { touch-action: auto; }
.alma-slider-controls { gap: 16px; margin-top: 36px; }
.alma-slider-arrow { width: 54px; height: 54px; border-color: var(--color-border); background: white; }
.alma-slider-arrow:hover { border-color: var(--color-primary-dark); background: var(--color-background-mint); }
.alma-slider-arrow .alma-icon { width: 20px; height: 20px; }
.alma-slider-arrow.is-previous svg { transform: none; }
.alma-slider-arrow:disabled { opacity: .5; cursor: default; }
.team-item-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 50px; }
.alma-treatment-card { border-radius: 20px; background: #e4e7eb; overflow: hidden; position: relative; min-width: 0; }
.alma-treatment-placeholder { display: flex; align-items: center; justify-content: center; height: 290px; padding-bottom: 45px; background: #e4e7eb; }
.alma-treatment-placeholder .alma-icon { width: 104px; height: 104px; color: #657780; stroke-width: .8; flex-basis: auto; transition: transform 400ms ease; }
.alma-treatment-card:hover .alma-treatment-placeholder .alma-icon { transform: scale(1.08) translateY(-5px); }
.team-info-holder { position: relative; margin: -45px 12px 12px; padding: 28px; border-radius: 16px; background: white; display: flex; align-items: flex-start; gap: 16px; min-height: 240px; }
.bottpm-details-holder { flex: 1; min-width: 0; }
.team-name { font-size: 23px; margin: 0 0 12px; }
.job-position { font-size: 16px; margin: 0; }
.alma-treatment-link { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; background: var(--color-primary); display: flex; align-items: center; justify-content: center; transition: background 200ms, transform 200ms; }
.alma-treatment-link:hover { background: var(--color-primary-hover); transform: rotate(-35deg); }
.alma-contact-details { padding-top: 20px; gap: 8px; }
.alma-contact-details-compact { padding: 14px 0 0; gap: 12px; }
.alma-contact-points { margin: 0; padding-left: 22px; display: grid; gap: 12px; color: var(--color-text-secondary); line-height: 1.55; }
.alma-contact-points li::marker { color: var(--color-primary-dark); }
.alma-contact-details h3 { font-size: 20px; }
.alma-contact-details-compact h3 { font-size: 24px; }
.alma-contact-details address { font-size: 17px; line-height: 1.6; }
.alma-contact-number { font-size: 18px; line-height: 1.5; }
.alma-contact-options > div { grid-template-columns: 134px minmax(0,1fr); gap: 8px; }
.alma-contact-options dt, .alma-contact-options a { font-size: 16px; }
.alma-contact-options a { min-height: 36px; text-decoration: none; }
.alma-contact-details > a { text-decoration: none; }
.alma-map-consent .alma-text-button { font-size: inherit; }
.alma-primary:hover .alma-icon { transform: translateX(3px); }
.alma-primary .alma-icon { transition: transform 240ms ease; }
.nav-link::after { background: var(--color-primary); height: 2px; }
.nav-link[aria-current="location"]::after { transform: scaleX(1); }
.alma-cookie-actions [data-consent-accept] { background: var(--color-primary); border-color: var(--color-primary-dark); font-weight: 600; }
.alma-cookie-actions [data-consent-accept]:hover { background: var(--color-primary-hover); }
.alma-location-heading h3 { font-size: 48px; line-height: 1.15; }
.alma-legal-links .alma-text-button { text-decoration: none; }
.alma-map { position: relative; }
.alma-map-status { position: absolute; inset: 0; display: grid; place-content: center; gap: 16px; padding: 32px; text-align: center; background: var(--color-background-soft); z-index: 1; }
.alma-map-status[hidden] { display: none; }
.alma-tags span:nth-child(2) { background: var(--color-surface-lilac); }
.alma-tags span:nth-child(3) { background: var(--color-surface-rose); }
.alma-action { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.nav-button-link .alma-action-arrow, .alma-contact-form button[type="submit"] .alma-action-arrow { order: 1; }
.alma-action-arrow { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--color-primary-dark); color: white; overflow: hidden; }
.alma-action-arrow svg { width: 18px; height: 18px; transition: transform 240ms ease; }
.alma-action:hover .alma-action-arrow svg, .alma-action:focus-visible .alma-action-arrow svg { transform: translate(3px,-3px); }
.alma-slider-arrow svg { transition: transform 240ms ease; }
.alma-slider-arrow.is-next:hover svg { transform: translateX(3px); }
.alma-slider-arrow.is-previous:hover svg { transform: translateX(-3px); }
@media(prefers-reduced-motion: reduce) {
  .alma-action .alma-action-arrow svg, .alma-slider-arrow svg { transition: none; transform: none !important; }
}
.alma-map-tools { flex-wrap: wrap; gap: 16px; }
#praxis, #fragen { position: relative; isolation: isolate; }
#praxis::before, #fragen::before { content: ""; position: absolute; top: 28px; right: 36px; width: 100px; height: 120px; background: url("../img/alma-foot-print.svg") center / contain no-repeat; opacity: .1; rotate: 24deg; pointer-events: none; z-index: -1; }
#fragen::before { right: auto; left: 32px; rotate: -24deg; }
@media(min-width: 992px) {
  #praxis .about-title-wrap { grid-template-columns: .8fr 1.2fr; gap: 36px; }
  #praxis .desktop-title { width: 100%; min-width: 0; }
  #praxis .about-section-title { max-width: none; }
  .form-block-wrap { align-items: start; }
  .contact-lt-title .alma-contact-details { margin-top: auto; }
  .contact-lt-title .alma-contact-details-compact { margin-top: 0; }
  #praxis .small-features-grid { grid-template-columns: .8fr 1.2fr; gap: 36px; }
}
@media(max-width: 1100px) {
  .alma-service-track > article { padding: 26px; }
  .team-info-holder { padding: 20px; flex-direction: column; align-items: flex-start; }
}
@media(max-width: 991px) {
  .alma-service-track > article { flex-basis: calc((100% - 24px) / 2); }
  .hero-mockup-01 { width: 210px; }
  .hero-mockup-02 { width: 120px; left: -22px; }
  .team-item-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 767px) {
  .alma-location { margin-top: 88px; }
  .alma-location-heading h3 { font-size: 34px; }
  .home-hero-title { padding-top: 0; padding-bottom: 26px; }
  .hero-mockup-01 { width: 180px; top: 22%; right: -10px; }
  .hero-mockup-02 { width: 100px; left: 0; }
  .alma-service-track > article { flex-basis: 100%; margin: 0 16px 0 0; min-height: 330px; }
  .alma-practice-images img { height: 300px; }
  #betreuung .reason-image { height: 440px; }
  .team-item-grid { grid-template-columns: 1fr; }
  .team-info-holder { flex-direction: row; align-items: flex-start; min-height: 210px; }
}
@media(max-width: 479px) {
  .alma-contact-options > div { grid-template-columns: 1fr; gap: 0; margin-top: 6px; }
  .alma-contact-options a { min-height: 32px; }
  .team-info-holder { padding: 18px; }
  .team-name { font-size: 21px; }
  #betreuung .reason-image { height: 380px; }
}
