/* Mobil bis 639 px */
.navigation { width:56px; margin-left:auto; margin-right:0; border-radius:32px; overflow:hidden; transition:width .2s ease .35s; }
.navigation.is-open { width:min(100%,450px); transition-delay:0s; }
.navigation .menu-panel { transition:grid-template-rows .35s ease,visibility .35s; }
.navigation.is-open .menu-panel { transition-delay:.2s; }
.desktop-links { display:none; }
.menu-toggle { display:block; }
.navigation-bar { justify-content:flex-end; padding-inline:14px; }
.navigation .brand-logo { display:none; }
.navigation.is-open .brand-logo { display:block; width:110px; height:48px; margin-right:auto; }
.navigation .mobile-links { gap:4px; padding:8px 0 24px; font-family:"Chillax",Arial,sans-serif; font-size:22px; font-weight:600; line-height:1.4; color:var(--green-dark); }
.navigation .mobile-links > a { display:flex; align-items:center; gap:14px; min-height:56px; padding:14px 18px; }
.navigation .mobile-link-number { flex-shrink:0; font-family:"Poppins",Arial,sans-serif; font-size:11px; font-variant-numeric:tabular-nums; opacity:.6; }
.navigation .menu-panel-inner { max-height:calc(100svh - 110px); overflow-y:auto; }
@media(prefers-reduced-motion:reduce) {
  .navigation,.navigation .menu-panel { transition:none; }
}
.hero-title-wrap { top:max(210px,30svh); display:flex; flex-direction:column; padding-inline:32px; text-align:center; transform:translateX(-50%); }
.hero-copy { --hero-copy-unit:1cqw; display:block; width:100%; transform:translateY(12svh); }
.hero h1 { display:block; }
.hero h1 em { -webkit-text-stroke:0; text-shadow:none; }
.hero-subtitle { margin-inline:auto; }
/* Das mobile Siegel steht im oberen markierten Bereich vor dem Text. */
.hero-logo-area { position:absolute; left:45%; right:auto; bottom:calc(60% + 12px); width:42%; max-width:160px; transform:translateX(-50%); }
.hero-seal { position:static; width:100%; max-height:none; object-position:center; }
.hero-contacts { padding-inline:20px; gap:8px; font-size:clamp(.625rem,2.5vw,.875rem); }
.hero-contact { flex-direction:column; gap:6px; text-align:center; }
.hero-contact:last-child { text-align:right; align-items:flex-end; }
.hero-contact:first-child { text-align:left; align-items:flex-start; }
.location-section:has(.location-card:not(.is-expanded)) { padding-bottom:68px; }
.services-section { padding-bottom:calc((var(--visible-footer-height,72px) + 24px) / 2); }
.about-section { padding-top:55px; }
.site-footer { font-size:.9375rem; }

/* Mobil: Anrufen links und WhatsApp rechts im vorhandenen Buttonstil. */
/* Stabile Höhe mit sichtbaren Browserleisten: nachfolgende Karten springen beim Scrollen nicht. */
.hero--appointment { min-height:100svh; }
.hero--appointment .hero-contacts { display:none; }
.hero--appointment .hero-booking { bottom:max(32px,env(safe-area-inset-bottom)); }
.hero-booking-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.hero-booking-actions .hero-booking-button { display:flex; width:100%; min-width:0; gap:8px; padding:12px 10px; font-size:14px; }
.hero-booking-actions .hero-booking-button svg,.hero-booking-actions .hero-booking-whatsapp-icon { width:24px; height:24px; }
.hero-booking-actions .hero-booking-call { justify-self:start; width:54px; height:54px; padding:0; border-radius:50%; }
.hero-booking-actions .hero-booking-call > span { display:none; }
.hero-booking-actions .hero-booking-call svg { fill:currentColor; stroke:none; }
.hero-booking-actions .hero-booking-label-desktop,.hero-booking-actions .hero-booking-arrow { display:none; }
.hero-booking-actions .hero-booking-label-mobile { display:inline; }

/* Tablet hochkant: gleiche Inhaltsbreite wie Leistungen, ohne gestreckte Portraet-Zeilen. */
@media(min-width:640px) and (max-width:1024px) and (orientation:portrait) {
  .hero-logo-area { width:48.3%; max-width:184px; bottom:calc(60% + 36px); }
  .location-section,.about-section { max-width:640px; }
  .services-carousel { max-width:none; width:100%; }
  :is(.location-section,.services-section,.about-section) .location-heading { width:100%; margin-bottom:20px; }
  :is(.location-section,.services-section,.about-section) .location-heading-art { width:54%; }
  :is(.location-section,.services-section,.about-section) .location-heading-text { font-size:24px; letter-spacing:.13em; }
  .about-section { grid-template-rows:auto auto; align-content:start; padding-bottom:calc(var(--visible-footer-height,72px) + 32px); }
  .about-columns { align-items:start; }
  .about-section .profile-reel { grid-template-rows:auto auto 24px 460px; min-height:0; }
  .about-section .profile-reel .certificates { padding:24px 24px 96px; }
  .about-section .portrait-reel { min-height:0; aspect-ratio:1.2; }
  .about-section .profile-reel-copy { gap:12px; padding:20px 24px 24px; }
  .about-section .profile-reel-controls { margin-top:4px; padding-top:0; }
  .about-section .profile-reel-controls button { width:36px; height:36px; }
}