/* Homepage sections below the approved hero. */
.home .trust-strip { background: var(--petal); border-bottom: 1px solid var(--line); padding: 26px 0; }
.home .trust-inner { justify-content: space-between; gap: 18px 24px; text-transform: none; font-size: 13px; letter-spacing: 0; }
.home .trust-inner span { display: inline-flex; align-items: center; gap: 12px; }
.home .trust-inner span::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--berry); flex: 0 0 auto; }

/* One featured treatment, two photographic entries, then a concise list. */
.home #leistungen { padding-block: clamp(64px, 7vw, 96px); }
.home #leistungen .section-head { display: grid; grid-template-columns: 1.1fr .8fr; gap: 48px; align-items: end; max-width: none; margin-bottom: 46px; }
.home #leistungen .section-head h2 { max-width: 23ch; }
.home #leistungen .section-head p { margin: 0; max-width: 42ch; color: var(--wine); }
.home .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 36px; }
.home .service-card { grid-template-columns: 1fr; gap: 24px; align-content: start; align-items: start; }
.home .service-card.is-featured { grid-column: 1 / -1; grid-template-columns: 1.05fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; margin-bottom: 10px; }
.home .service-photo { aspect-ratio: 3 / 2; border-radius: 14px; }
.home .is-featured .service-photo { aspect-ratio: 6 / 5; }
.home .service-card.has-media:nth-child(2) .service-photo { order: 0; }
.home .service-card.has-media:nth-child(2) .service-photo img { object-fit: contain; object-position: center; }
.home .service-card h3 { font-size: clamp(27px, 2.5vw, 34px); }
.home .is-featured h3 { font-size: clamp(30px, 3vw, 40px); }
.home .service-copy { gap: 18px; }
.home .service-card ul { gap: 8px 18px; font-size: 13px; }
.home .service-card ul li { border: 0; border-radius: 0; padding: 0; align-items: baseline; gap: 8px; }
.home .service-card ul li::before { content: ''; display: block; width: 4px; height: 4px; background: var(--berry); border-radius: 50%; flex: 0 0 auto; align-self: center; }
.home .service-more { margin-top: 2px; }
.home .other-treatments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 56px; padding-top: 34px; border-top: 1px solid var(--line-strong); }
.home .other-treatment { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; min-width: 0; }
.home .other-treatment .service-icon { width: 30px; height: 30px; color: var(--berry); margin: 0 0 4px; }
.home .other-treatment h3 { font-size: 24px; line-height: 1.25; }
.home .other-treatment p { font-size: 16px; color: var(--wine); margin: 0; }
.home .other-treatment .service-more { margin-top: auto; }
.home #leistungen .section-foot { display: block; margin: 42px 0 0; text-align: left; }

/* The institute owner, an authentic portrait and her existing quote. */
.home #ueber { background: var(--blush); color: var(--burgundy); }
.home #ueber .about-grid { grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.home #ueber .about-portrait { aspect-ratio: 1; border-radius: 14px; }
.home #ueber .about-portrait img { object-position: center 35%; }
.home #ueber h2 { color: var(--burgundy); max-width: 20ch; }
.home #ueber .about-copy p { color: var(--wine); max-width: 57ch; line-height: 1.75; }
.home #ueber .stat-row { border-top: 1px solid var(--line-strong); padding-top: 24px; margin: 30px 0; gap: 24px; }
.home #ueber .stat { border: 0; padding: 0; }
.home #ueber .stat b { color: var(--burgundy); font-size: 32px; font-weight: 500; }
.home #ueber .stat span { color: var(--wine); font-size: 13px; line-height: 1.5; }
.home #ueber .text-link { color: var(--burgundy); }
.home #ueber .text-link:hover { color: var(--berry); }
.home .home-quote { padding: 26px 4px 0; margin: 0; border: 0; }
.home #ueber .home-quote p { color: var(--burgundy); font-family: var(--display); font-size: clamp(23px, 2.2vw, 29px); font-style: normal; line-height: 1.4; letter-spacing: -.025em; margin-bottom: 12px; max-width: 25ch; }
.home .home-quote cite { font-size: 14px; font-style: normal; color: var(--wine); }
.home #ueber :focus-visible, .home #kontakt :focus-visible { outline-color: var(--raspberry); }

/* A readable vertical appointment sequence with its own visual rhythm. */
.home #ablauf { background: var(--petal); }
.home .home-process-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px 88px; align-items: start; }
.home #ablauf .section-head { margin: 0; }
.home #ablauf .section-head h2 { max-width: 15ch; }
.home #ablauf .section-head p { margin-top: 22px; }
.home #ablauf .steps { grid-column: 2; grid-row: 1 / span 2; grid-template-columns: 1fr; gap: 0; }
.home #ablauf .step { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px 22px; padding: 28px 0; border-top: 1px solid var(--line-strong); }
.home #ablauf .step:first-child { padding-top: 0; border-top: 0; }
.home #ablauf .step:last-child { padding-bottom: 0; }
.home #ablauf .step-num { grid-column: 1; grid-row: 1 / span 2; width: 48px; height: 48px; display: grid; place-items: center; background: var(--blush); color: var(--burgundy); border-radius: 50%; font-family: var(--sans); font-size: 18px; font-weight: 500; }
.home #ablauf .step h3 { grid-column: 2; margin: 0; font-size: 26px; }
.home #ablauf .step p { grid-column: 2; margin: 0; max-width: 52ch; color: var(--wine); }
.home #ablauf .section-foot { display: block; grid-column: 1; margin: 0; text-align: left; align-self: start; }

.home #warum { background: #FFE5EB; padding-block: 72px; }
.home #warum > .wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; }
.home #warum .section-head { margin: 0; }
.home #warum h2 { font-size: clamp(30px, 3vw, 40px); max-width: 17ch; }
.home #warum .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 32px; }
.home #warum .why-item { border: 0; padding: 0; }
.home #warum .why-icon { width: 28px; height: 28px; margin-bottom: 16px; }
.home #warum h3 { font-size: 21px; margin-bottom: 12px; }
.home #warum p { color: var(--wine); line-height: 1.7; margin: 0; }

/* Price and gift links form one flat band, rather than two enclosed cards. */
.home .section-split { background: var(--wine); color: var(--petal); padding-block: 64px; }
.home .split-cta { gap: 0; border: 0; }
.home .split-cta > div { background: none; border: 0; border-radius: 0; padding: 0 64px 0 0; }
.home .split-cta > div.is-gold { background: none; border-left: 1px solid var(--line-light); padding: 0 0 0 64px; }
.home .split-cta h3 { color: var(--petal); font-size: 36px; }
.home .split-cta p { color: var(--petal); max-width: 46ch; }
.home .split-icon { color: var(--pink-soft); width: 32px; height: 32px; }
.home .split-cta .btn-ghost { color: var(--petal); border-color: var(--line-light); }
.home .split-cta .btn-ghost:hover { background: var(--petal); color: var(--burgundy); border-color: var(--petal); }
.home .section-split :focus-visible { outline-color: var(--pink-soft); }

.home #faq { background: var(--petal); }
.home #faq .faq-layout { grid-template-columns: .85fr 1.15fr; gap: 88px; }
.home #faq .section-head p { color: var(--wine); max-width: 30ch; }
.home #faq .faq-item { border-bottom-color: var(--line-strong); }
.home #faq .faq-toggle { padding: 25px 0; font-size: 17px; font-weight: 500; }
.home #faq .faq-toggle:hover { color: var(--berry); }
.home #faq .faq-answer { padding-bottom: 25px; }
.home #faq .faq-answer p { max-width: 61ch; color: var(--wine); }

.home #kontakt { background: var(--blush); color: var(--burgundy); }
.home #kontakt .contact-teaser { grid-template-columns: 1.1fr .85fr; gap: 72px; align-items: start; }
.home #kontakt h2 { color: var(--burgundy); max-width: 20ch; }
.home #kontakt .lede { color: var(--wine); font-size: 16px; max-width: 50ch; margin-top: 24px; }
.home #kontakt .cta-row { gap: 16px; margin-top: 28px; }
.home #kontakt .btn-primary { color: var(--petal); background: var(--burgundy); border-color: var(--burgundy); }
.home #kontakt .btn-primary:hover { background: var(--berry); border-color: var(--berry); }
.home #kontakt .btn-ghost { color: var(--burgundy); border-color: var(--line-strong); }
.home #kontakt .btn-ghost:hover { background: var(--petal); }
.home #kontakt .home-locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; border-top: 1px solid var(--line-strong); padding-top: 28px; margin-top: 34px; }
.home #kontakt .home-locations p { color: var(--wine); font-size: 14px; line-height: 1.75; margin: 0; }
.home #kontakt .home-locations strong { display: inline-block; color: var(--burgundy); font-weight: 600; margin-bottom: 8px; }
.home #kontakt .text-link { color: var(--burgundy); margin-top: 18px; }
.home #kontakt .hours-card { border: 0; background: var(--burgundy); color: var(--petal); border-radius: 14px; padding: 36px; }
.home #kontakt .hours-card h3 { color: var(--petal); font-size: 24px; }
.home #kontakt .hours-note { color: var(--blush); font-size: 13px; }

@media (max-width: 1000px) {
  .home .home-process-layout, .home #faq .faq-layout { gap: 36px 46px; }
  .home #warum > .wrap { gap: 44px; }
  .home #kontakt .contact-teaser { gap: 40px; }
  .home .split-cta > div { padding-right: 40px; }
  .home .split-cta > div.is-gold { padding-left: 40px; }
}
@media (max-width: 800px) {
  .home #leistungen .section-head { grid-template-columns: 1fr; gap: 20px; }
  .home #leistungen .section-head p { max-width: 58ch; }
  .home .service-card.is-featured { grid-template-columns: 1fr; gap: 24px; }
  .home .is-featured .service-photo { aspect-ratio: 3 / 2; }
  .home #ueber .about-grid { grid-template-columns: 1fr; gap: 38px; }
  .home #ueber .about-media { max-width: 520px; }
  .home .home-process-layout, .home #faq .faq-layout, .home #warum > .wrap, .home #kontakt .contact-teaser { grid-template-columns: 1fr; gap: 36px; }
  .home #ablauf .steps { grid-column: 1; grid-row: auto; }
  .home #ablauf .section-foot { grid-row: 3; }
  .home #warum h2 { max-width: 24ch; }
  .home .split-cta { grid-template-columns: 1fr 1fr; }
  .home #kontakt .hours-card { max-width: 560px; width: 100%; }
}
@media (max-width: 640px) {
  .home .trust-inner { justify-content: flex-start; font-size: 12px; gap: 14px 20px; }
  .home #leistungen .section-head { margin-bottom: 32px; }
  .home .service-grid { grid-template-columns: 1fr; gap: 40px; }
  .home .service-card.is-featured { grid-column: auto; margin-bottom: 0; }
  .home .service-card h3, .home .is-featured h3 { font-size: 28px; hyphens: auto; }
  .home .other-treatments { grid-template-columns: 1fr; gap: 0; margin-top: 36px; padding-top: 0; }
  .home .other-treatment { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px 20px; padding: 26px 0; border-bottom: 1px solid var(--line); }
  .home .other-treatment .service-icon { grid-column: 1; grid-row: 1 / span 3; width: 26px; height: 26px; margin-top: 4px; }
  .home .other-treatment h3, .home .other-treatment p, .home .other-treatment .service-more { grid-column: 2; }
  .home .other-treatment h3 { font-size: 23px; }
  .home .other-treatment .service-more { justify-self: start; }
  .home #leistungen .section-foot { margin-top: 30px; }
  .home #ueber .stat-row { gap: 16px; }
  .home #ueber .stat b { font-size: 28px; }
  .home #ueber .stat span { font-size: 12px; }
  .home #ablauf .step { grid-template-columns: 40px minmax(0, 1fr); gap: 10px 18px; }
  .home #ablauf .step-num { width: 38px; height: 38px; font-size: 16px; }
  .home #ablauf .step h3 { font-size: 24px; }
  .home #warum { padding-block: 56px; }
  .home #warum .why-grid { grid-template-columns: 1fr; gap: 28px; }
  .home #warum .why-item { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px 20px; }
  .home #warum .why-icon { grid-row: 1 / span 2; margin: 0; }
  .home #warum h3, .home #warum p { grid-column: 2; margin: 0; }
  .home .section-split { padding-block: 48px; }
  .home .split-cta { grid-template-columns: 1fr; gap: 34px; }
  .home .split-cta > div { padding: 0; }
  .home .split-cta > div.is-gold { border-left: 0; border-top: 1px solid var(--line-light); padding: 34px 0 0; }
  .home .split-cta h3 { font-size: 30px; }
  .home #faq .faq-toggle { font-size: 16px; }
  .home #kontakt .hours-card { padding: 28px; }
  .home #kontakt .home-locations { grid-template-columns: 1fr; gap: 24px; }
}
@media print {
  .home #ueber, .home #warum, .home .section-split, .home #kontakt, .home #kontakt .hours-card { background: white; color: black; }
}
