/* H+H Hübsch · mobile-first refinement · v1.6.11 */

.hh-mobile-contact { display: none; }
.hh-global-header .hh-header-phone,
.hh-global-header .hh-header-call,
.hh-site-header .hh-header-phone,
.hh-site-header .hh-header-call { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.hh-phone-link-enhanced::before,
.hh-phone-link-enhanced::after { content: none !important; display: none !important; }
.hh-phone-icon { display: block; flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hh-home-monogram__icon { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* No full-page welcome overlay; only the media that is still loading gets a placeholder. */
body.hh-cinema-home #hh-home-skeleton,
body.hh-cinema-home [data-home-welcome],
body.hh-cinema-home .hh-home-welcome {
  display: none !important;
}

.hh-media-host { position: relative; }
.hh-media-host-inline { display: inline-block; }
/* The image must remain visible so its placeholder background can paint underneath it. */
.hh-mobile-media-enabled img.hh-media-pending:not(.hh-ai-disclosure) {
  visibility: visible !important;
  color: transparent;
  background-color: #e9e7f0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='2' y='2' width='44' height='44' rx='14' fill='%23fff8d7' fill-opacity='.96'/%3E%3Ctext x='24' y='29' text-anchor='middle' font-family='Arial,sans-serif' font-size='12' font-weight='700' fill='%23393185'%3EH%2BH%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 48px 48px;
  background-position: center;
}
.hh-mobile-media-enabled img.hh-media-ready:not(.hh-ai-disclosure) { background: none; animation: none; }
.hh-mobile-media-enabled img.hh-media-error:not(.hh-ai-disclosure) { background: #eeecf4; animation: none; }
.hh-mobile-media-enabled img.hh-media-slow:not(.hh-ai-disclosure) {
  color: transparent;
  background-color: #e9e7f0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='2' y='2' width='44' height='44' rx='14' fill='%23fff8d7' fill-opacity='.96'/%3E%3Ctext x='24' y='29' text-anchor='middle' font-family='Arial,sans-serif' font-size='12' font-weight='700' fill='%23393185'%3EH%2BH%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 48px 48px;
  background-position: center;
}
.hh-media-skeleton {
  position: absolute;
  z-index: 8;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  background: #e9e7f0;
  transition: opacity .22s ease;
}
.hh-media-skeleton::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: 42%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  transform: translate3d(-140%,0,0);
}
.hh-media-skeleton.is-visible::before { animation: hh-media-sheen 1.25s ease-in-out infinite; }
.hh-mobile-media-enabled .hh-media-host { position: relative; }
.hh-mobile-media-enabled .hh-media-host-inline { display: inline-block; }
.hh-mobile-media-enabled .hh-media-skeleton { box-sizing: border-box; }
.hh-media-skeleton.is-visible { opacity: .98; }
.hh-media-skeleton__panel {
  display: grid;
  grid-template-columns: 36px minmax(72px, 1fr);
  align-items: center;
  gap: 11px;
  width: min(76%, 230px);
  min-height: 62px;
  padding: 10px 13px;
  border: 1px solid rgba(57, 49, 133, .12);
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 28px rgba(33,31,76,.08);
  position: relative;
  z-index: 1;
}
.hh-media-skeleton__brand {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 12px;
  color: #393185;
  background: #fff1a5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -.05em;
}
.hh-media-skeleton__lines { display: grid; gap: 6px; }
.hh-media-skeleton__lines i {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: rgba(57,49,133,.13);
}
.hh-media-skeleton__lines i:nth-child(2) { width: 78%; }
.hh-media-skeleton__lines i:nth-child(3) { width: 54%; }
.hh-media-skeleton.is-compact .hh-media-skeleton__panel { display: block; width: auto; min-width: 0; min-height: 0; padding: 5px; }
.hh-media-skeleton.is-compact .hh-media-skeleton__brand { width: 30px; height: 30px; border-radius: 10px; font-size: 9px; }
.hh-media-skeleton.is-compact .hh-media-skeleton__lines { display: none; }

/* Existing poster shimmer stays in place while the active slider poster arrives. */
body.hh-cinema-home .hh-photo-slide.hh-poster-pending::after {
  content: "H+H";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(57,49,133,.15);
  border-radius: 15px;
  color: #393185;
  background: rgba(255,255,255,.78);
  box-shadow: 0 8px 28px rgba(33,31,76,.12);
  font-size: 12px;
  font-weight: 900;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

@keyframes hh-media-sheen { to { transform: translate3d(360%,0,0); } }

@media (max-width: 760px) {
  body.hh-cinema-home {
    --hh-mobile-gutter: clamp(14px, 4vw, 20px);
    overflow-x: clip;
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }
  body.hh-cinema-home #main-content,
  body.hh-cinema-home main.hh-home2026 { min-width: 0; overflow-x: clip; }
  body.hh-cinema-home main.hh-home2026 > section:not(.hh-cinema) { scroll-margin-top: 82px; }

  /* Compact, clear header and funding notice. */
  body.hh-cinema-home .hh-site-header { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(14px); }
  body.hh-cinema-home .hh-site-header-inner { min-height: 60px; gap: 10px; padding-inline: var(--hh-mobile-gutter); }
  body.hh-cinema-home .hh-header-logo img { width: 48px; height: 48px; object-fit: contain; }
  body.hh-cinema-home .hh-site-header a,
  body.hh-cinema-home .hh-site-header button { min-height: 44px; }
  body.hh-cinema-home .hh-site-header .hh-header-call { width: auto; max-width: none; min-width: max-content; min-height: 42px; padding: 8px 10px; font-size: 11px; line-height: 1; white-space: nowrap; }
  body.hh-cinema-home .hh-site-header .hh-header-call > span { display: none; }
  body.hh-cinema-home .hh-site-header .hh-phone-icon { flex-basis: 17px; width: 17px; height: 17px; }
  body.hh-cinema-home .hh-funding-notice { padding: 9px var(--hh-mobile-gutter); }
  body.hh-cinema-home .hh-funding-notice__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; align-items: center; }
  body.hh-cinema-home .hh-funding-notice__copy p { margin: 2px 0 6px; font-size: 13px; line-height: 1.28; }
  body.hh-cinema-home .hh-funding-notice__copy a { min-height: 40px; padding-inline: 11px; }
  body.hh-cinema-home .hh-funding-notice__inner > img { width: clamp(82px, 23vw, 128px); max-width: 128px; max-height: 44px; object-fit: contain; }

  /* One calm column: brand, concise message, visible action, then the work carousel. */
  body.hh-cinema-home .hh-cinema { min-height: 0; padding: 8px 0 14px; }
  body.hh-cinema-home .hh-cinema__topline { min-height: 0; padding: 4px var(--hh-mobile-gutter) 10px; }
  body.hh-cinema-home .hh-logo-pane { padding: 5px 10px; border: 1px solid rgba(255,255,255,.58); border-radius: 16px; background: rgba(255,255,255,.3); backdrop-filter: blur(7px); }
  body.hh-cinema-home .hh-cinema__topline .hh-still__logo { display: block; width: min(78vw, 330px); max-height: 74px; height: auto; margin-inline: auto; object-fit: contain; }
  body.hh-cinema-home #hh-einleitung { min-height: 0; padding: 0 0 10px; }
  body.hh-cinema-home #hh-einleitung .hh-wrap { width: calc(100% - 2 * var(--hh-mobile-gutter)); max-width: 620px; }
  body.hh-cinema-home .hh-hero-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; align-items: stretch; }
  body.hh-cinema-home .hh-home-hero__copy { min-width: 0; min-height: 0; padding: clamp(16px,4.5vw,22px); border-radius: 22px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-eyebrow { margin: 0 0 9px; font-size: 9px; line-height: 1.4; letter-spacing: .12em; }
  body.hh-cinema-home .hh-home-hero__copy .hh-title { margin: 0; font-size: clamp(31px, 8.4vw, 42px); line-height: 1.02; letter-spacing: -.045em; }
  body.hh-cinema-home .hh-home-hero__copy .hh-lead { margin: 11px 0 0; max-width: 56ch; font-size: 13px; line-height: 1.52; }
  body.hh-cinema-home .hh-home-hero__proof { margin-top: 12px; gap: 9px; }
  body.hh-cinema-home .hh-home-hero__proof strong { font-size: 12px; }
  body.hh-cinema-home .hh-home-hero__proof span { font-size: 10px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-button { display: inline-flex; min-width: 0; min-height: 46px; align-items: center; justify-content: center; padding: 10px 11px; text-align: center; font-size: 11px; line-height: 1.2; }
  body.hh-cinema-home .hh-home-hero__copy .hh-trust-note { gap: 10px; margin-top: 10px; font-size: 10px; line-height: 1.35; }
  body.hh-cinema-home .hh-home-availability-link { display: none; }
  body.hh-cinema-home .hh-photo-slider { min-width: 0; min-height: 0; padding: 0; }
  body.hh-cinema-home .hh-photo-slider__viewport { height: clamp(212px, 59vw, 310px) !important; min-height: 0 !important; border-radius: 20px; }
  body.hh-cinema-home .hh-photo-slider__controls { gap: 8px; margin-top: 8px; }
  body.hh-cinema-home .hh-photo-slider__controls button { width: 42px; height: 42px; }
  body.hh-cinema-home .hh-photo-position { font-size: 10px; }

  /* Calendar: compact intro, full seven-column grid, readable status legend. */
  body.hh-cinema-home #hh-auslastung { margin: 0 var(--hh-mobile-gutter) 12px; border-radius: 21px; overflow: hidden; }
  body.hh-cinema-home .hh-availability__shell { display: flex; min-height: 0; flex-direction: column; gap: 0; }
  body.hh-cinema-home .hh-availability__intro { min-height: 0; padding: 16px 16px 10px; }
  body.hh-cinema-home .hh-availability__intro h2 { margin: 0 0 5px; font-size: 23px; line-height: 1.1; }
  body.hh-cinema-home .hh-availability__intro > p { margin: 0 0 8px; font-size: 12px; line-height: 1.42; }
  body.hh-cinema-home .hh-availability__regular { margin-top: 7px; padding: 8px 9px; gap: 7px; }
  body.hh-cinema-home .hh-availability__regular strong,
  body.hh-cinema-home .hh-availability__regular p { font-size: 10px; line-height: 1.35; }
  body.hh-cinema-home .hh-availability__contact { display: inline-flex; min-height: 44px; margin-top: 9px; padding: 9px 12px; font-size: 12px; }
  body.hh-cinema-home .hh-availability__calendar { min-width: 0; padding: 3px 12px 12px; }
  body.hh-cinema-home .hh-availability__header { gap: 7px; margin-bottom: 6px; }
  body.hh-cinema-home .hh-availability__month { font-size: 18px; }
  body.hh-cinema-home .hh-availability__navigation { gap: 5px; }
  body.hh-cinema-home .hh-availability__navigation button { width: 38px; height: 38px; min-width: 38px; }
  body.hh-cinema-home .hh-availability__weekdays { gap: 3px; margin-bottom: 3px; font-size: 9px; }
  body.hh-cinema-home .hh-availability__grid { grid-template-columns: repeat(7,minmax(0,1fr)) !important; gap: 3px; }
  body.hh-cinema-home .hh-availability__day { width: 100%; min-width: 0; min-height: 31px !important; height: auto !important; padding: 2px !important; border-radius: 8px !important; font-size: 10px; }
  body.hh-cinema-home .hh-availability__number { font-size: 10px; }
  body.hh-cinema-home .hh-availability__symbol { font-size: 8px; }
  body.hh-cinema-home .hh-availability__legend { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 8px; font-size: 9px; }
  body.hh-cinema-home .hh-availability__legend li { gap: 4px; font-size: 9px; }
  body.hh-cinema-home .hh-availability__detail { margin-top: 8px; padding: 8px 9px; font-size: 10px; }

  /* Keep the hero review concise and the proof points easy to scan. */
  body.hh-cinema-home .hh-hero-reviews { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; margin: 10px var(--hh-mobile-gutter) 0; padding: 15px; border-radius: 19px; }
  body.hh-cinema-home .hh-hero-reviews > h2,
  body.hh-cinema-home .hh-hero-reviews__rating,
  body.hh-cinema-home .hh-hero-reviews__more { grid-column: 1; }
  body.hh-cinema-home .hh-hero-reviews > h2 { margin: 0; font-size: 20px; line-height: 1.2; }
  body.hh-cinema-home .hh-hero-reviews__rating { margin: 0; font-size: 12px; }
  body.hh-cinema-home .hh-hero-reviews__rating small { font-size: 10px; }
  body.hh-cinema-home .hh-hero-reviews__quote { min-width: 0; min-height: 0; padding: 12px; border-radius: 14px; }
  body.hh-cinema-home .hh-hero-reviews__quote blockquote { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 7px 0; font-size: 12px; line-height: 1.45; }
  body.hh-cinema-home .hh-hero-reviews__author { margin-top: 7px; font-size: 10px; }
  body.hh-cinema-home .hh-hero-reviews__author small { font-size: 9px; }
  body.hh-cinema-home .hh-hero-reviews__more { display: inline-flex; min-height: 40px; align-items: center; margin-top: 0; font-size: 11px; }
  body.hh-cinema-home .hh-proof-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
  body.hh-cinema-home .hh-proof-item { min-width: 0; gap: 11px; padding: 12px 14px; border-radius: 15px; }
  body.hh-cinema-home .hh-proof-icon { width: 38px; height: 38px; flex: 0 0 38px; }
  body.hh-cinema-home .hh-proof-copy strong { font-size: 13px; }
  body.hh-cinema-home .hh-proof-copy span { font-size: 11px; line-height: 1.4; }

  /* Service choices stay visible as a compact, thumb-friendly grid. */
  body.hh-cinema-home #hh-leistungen .hh-wrap,
  body.hh-cinema-home .hh-home2026 > .hh-wrap { width: calc(100% - 2 * var(--hh-mobile-gutter)); }
  body.hh-cinema-home #hh-leistungen { padding-block: 34px; }
  body.hh-cinema-home .hh-section-heading { margin-bottom: 16px; }
  body.hh-cinema-home .hh-section-heading h2,
  body.hh-cinema-home .hh-news-head h2,
  body.hh-cinema-home .hh-home-faq h2,
  body.hh-cinema-home .hh-contact-preview h2,
  body.hh-cinema-home .hh-reviews__intro h2 { font-size: clamp(27px,7vw,35px); line-height: 1.06; letter-spacing: -.04em; }
  body.hh-cinema-home .hh-section-heading > p:not(.hh-kicker) { font-size: 13px; line-height: 1.5; }
  body.hh-cinema-home #hh-leistungen .hh-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; overflow: visible; padding: 2px 0 8px; }
  body.hh-cinema-home #hh-leistungen .hh-service { min-width: 0; min-height: 0; padding: 12px; border-radius: 16px; }
  body.hh-cinema-home #hh-leistungen .hh-service h3 { font-size: 13px; line-height: 1.22; }
  body.hh-cinema-home #hh-leistungen .hh-service p { font-size: 11px; line-height: 1.4; }
  body.hh-cinema-home #hh-leistungen .hh-service a { min-height: 40px; }
  body.hh-cinema-home #hh-leistungen .hh-service:focus-visible { outline: 3px solid #393185; outline-offset: 3px; }
  body.hh-cinema-home #hh-leistungen .hh-service-note { margin-top: 10px; padding: 12px; border-radius: 14px; font-size: 11px; line-height: 1.45; }
  body.hh-cinema-home #hh-leistungen .hh-services-all { width: 100%; min-height: 46px; justify-content: center; }

  body.hh-cinema-home .hh-news,
  body.hh-cinema-home .hh-section,
  body.hh-cinema-home .hh-home-faq,
  body.hh-cinema-home .hh-contact-preview,
  body.hh-cinema-home .hh-reviews,
  body.hh-cinema-home .hh-proof,
  body.hh-cinema-home .hh-funding { padding-block: 34px; }
  body.hh-cinema-home .hh-news-stack { gap: 12px; }
  body.hh-cinema-home .hh-news-card { grid-template-columns: minmax(0,1fr); border-radius: 19px; overflow: hidden; }
  body.hh-cinema-home .hh-news-card > img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
  body.hh-cinema-home .hh-news-story { padding: 16px; }
  body.hh-cinema-home .hh-news-story h3 { font-size: 21px; line-height: 1.13; }
  body.hh-cinema-home .hh-news-story p { font-size: 12px; line-height: 1.5; }

  body.hh-cinema-home .hh-works-grid { display: flex; gap: 11px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; padding: 2px 2px 12px; -webkit-overflow-scrolling: touch; }
  body.hh-cinema-home .hh-work-card { flex: 0 0 min(80%, 320px); scroll-snap-align: start; border-radius: 17px; overflow: hidden; }
  body.hh-cinema-home .hh-work-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
  body.hh-cinema-home .hh-home-faq-grid { gap: 8px; }
  body.hh-cinema-home .hh-home-faq-grid button { min-height: 52px; padding: 13px 15px; border-radius: 14px; text-align: left; font-size: 13px; line-height: 1.35; }

  /* Reachable, stacked contact form; no narrow two-column inputs on phones. */
  body.hh-cinema-home .hh-contact-composition { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
  body.hh-cinema-home .hh-contact-box { min-width: 0; padding: 16px; border-radius: 20px; }
  body.hh-cinema-home .hh-contact-form { min-width: 0; }
  body.hh-cinema-home .hh-form-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  body.hh-cinema-home .hh-form-field,
  body.hh-cinema-home .hh-form-field--full { min-width: 0; grid-column: 1 / -1; }
  body.hh-cinema-home .hh-form-field input,
  body.hh-cinema-home .hh-form-field select,
  body.hh-cinema-home .hh-form-field textarea { width: 100%; min-height: 48px; font-size: 16px; }
  body.hh-cinema-home .hh-form-field textarea { min-height: 132px; }
  body.hh-cinema-home .hh-form-actions button,
  body.hh-cinema-home .hh-form-actions input[type=submit] { width: 100%; min-height: 50px; }
  body.hh-cinema-home .hh-contact-location-stack { min-width: 0; }
  body.hh-cinema-home .hh-contact-location-stack h2 { font-size: clamp(25px,7vw,34px); line-height: 1.08; }
  body.hh-cinema-home .hh-contact-location-stack p,
  body.hh-cinema-home .hh-contact-location-stack a { overflow-wrap: anywhere; }

  /* Fixed contact bar respects iPhone safe area and leaves room below the footer. */
  body.hh-cinema-home .hh-mobile-contact { position: fixed; z-index: 120; left: 0; right: 0; bottom: 0; width: 100%; height: calc(62px + env(safe-area-inset-bottom)); display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 5px; padding: 6px 10px calc(6px + env(safe-area-inset-bottom)); box-sizing: border-box; }
  body.hh-cinema-home .hh-mobile-contact > :is(a,button) { min-width: 0; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 5px; padding-inline: 4px; font-size: 12px; white-space: nowrap; }
  body.hh-cinema-home .hh-mobile-contact svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  body.hh-cinema-home .hh-mobile-contact > .hh-mobile-menu-toggle { border: 1px solid #393185; border-radius: 14px; color: #fff; background: #393185; cursor: pointer; }
}

@media (max-width: 430px) {
  body.hh-cinema-home .hh-site-header-inner { min-height: 56px; }
  body.hh-cinema-home .hh-header-logo img { width: 44px; height: 44px; }
  body.hh-cinema-home .hh-cinema__topline .hh-still__logo { width: min(82vw, 300px); max-height: 66px; }
  body.hh-cinema-home .hh-home-hero__copy { padding: 15px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-title { font-size: clamp(29px,8.3vw,35px); }
  body.hh-cinema-home .hh-home-hero__copy .hh-actions { grid-template-columns: 1fr; }
  body.hh-cinema-home .hh-home-hero__copy .hh-button { min-height: 46px; font-size: 12px; }
  body.hh-cinema-home .hh-photo-slider__viewport { height: clamp(205px,61vw,250px) !important; }
  body.hh-cinema-home #hh-auslastung { margin-inline: 12px; }
  body.hh-cinema-home .hh-availability__calendar { padding-inline: 9px; }
  body.hh-cinema-home .hh-availability__navigation button { width: 35px; height: 35px; min-width: 35px; }
  body.hh-cinema-home .hh-availability__day { min-height: 29px !important; font-size: 9px; }
  body.hh-cinema-home .hh-mobile-contact > a { gap: 4px; padding-inline: 2px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .hh-media-skeleton.is-visible,
  .hh-mobile-media-enabled img.hh-media-pending:not(.hh-ai-disclosure) { animation: none; background-color: #e9e7f0; }
  .hh-media-skeleton,
  body.hh-cinema-home .hh-photo-slide video { transition: none; }
  body.hh-cinema-home .hh-services,
  body.hh-cinema-home .hh-works-grid { scroll-behavior: auto; }
}

/* Shared mobile layout for service, company, news, career and contact pages. */
@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  .hh-mobile-media-enabled :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #393185; outline-offset: 3px; }
  body:not(.hh-cinema-home) { overflow-x: clip; }
  body:not(.hh-cinema-home).hh-has-mobile-contact { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  .hh-global-header { position: sticky; top: 0; left: 0; right: 0; z-index: 100; width: 100%; margin: 0; backdrop-filter: blur(14px); }
  body.admin-bar .hh-global-header { top: 46px; }
  .hh-header-row { box-sizing: border-box; width: 100%; max-width: none; min-height: 66px; margin-inline: 0; padding-inline: clamp(12px, 3.5vw, 20px); gap: 8px; align-items: center; justify-content: space-between; }
  .hh-header-row > .hh-brand { margin-right: auto; }
  .hh-brand .hh-nav-ball { width: 46px; height: 46px; object-fit: contain; }
  .hh-header-phone, .hh-nav-toggle { min-height: 44px; }
  .hh-global-header .hh-header-phone,
  .hh-global-header .hh-header-call,
  body.hh-cinema-home .hh-site-header .hh-header-call { width: auto !important; max-width: none !important; min-width: max-content; min-height: 42px; padding: 8px 11px !important; font-size: 11px !important; line-height: 1; white-space: nowrap; }
  .hh-global-header .hh-phone-icon,
  body.hh-cinema-home .hh-site-header .hh-phone-icon { flex-basis: 17px; width: 17px; height: 17px; }
  .hh-nav-toggle { padding-inline: 10px; }
  .hh-page-shell.hh-service-main { width: 100%; max-width: none; padding-inline: 0; }
  .hh-page-hero.hh-service-hero { min-height: 390px; height: auto; padding: 28px 18px 22px; flex-direction: column; justify-content: flex-end; gap: 8px; }
  .hh-service-hero h1 { max-width: 18ch; margin-block: 0; font-size: clamp(34px, 9vw, 48px); line-height: 1.02; overflow-wrap: anywhere; }
  .hh-service-hero .hh-lead { max-width: 58ch; margin-block: 8px 0; font-size: 15px; line-height: 1.5; }
  .hh-service-hero .hh-eyebrow { font-size: 10px; }
  .hh-section.hh-two-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; padding: 30px 18px; }
  .hh-two-column h2, .hh-service-film h2 { font-size: clamp(25px,7vw,34px); line-height: 1.08; }
  .hh-two-column .hh-copy p { font-size: 15px; line-height: 1.6; }
  .hh-checklist { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .hh-service-film { padding: 26px 18px; }
  .hh-service-film__inner { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
  .hh-contact-preview, #hh-kontakt.hh-contact-preview { padding: 30px 0; scroll-margin-top: 76px; }
  .hh-contact-preview > .hh-wrap,
  .hh-contact-preview .hh-wrap { width: calc(100% - 28px); }
  .hh-contact-composition { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
  .hh-contact-box { min-width: 0; padding: 16px; border-radius: 20px; }
  .hh-contact-form, .hh-form-grid { min-width: 0; }
  .hh-form-grid { display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 12px; }
  .hh-form-grid > *, .hh-form-field, .hh-form-field--full { min-width: 0; grid-column: 1 / -1; }
  .hh-contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
  .hh-contact-form select, .hh-contact-form textarea { width: 100%; min-height: 48px; font-size: 16px; }
  .hh-contact-form textarea { min-height: 132px; }
  .hh-contact-form button[type=submit], .hh-contact-form input[type=submit] { width: 100%; min-height: 50px; }
  .hh-radius-card { width: calc(100% - 28px); max-width: none; margin-inline: auto; }
  .hh-radius-card iframe, .hh-map iframe, .hh-map-frame { width: 100%; max-width: 100%; }
  .hh-proof-grid { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .hh-proof-item { min-width: 0; }
  .hh-mobile-contact { position: fixed; z-index: 120; inset: auto 0 0; width: 100%; min-height: calc(64px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; padding: 6px 10px calc(6px + env(safe-area-inset-bottom)); }
  .hh-mobile-contact > :is(a,button) { min-width: 0; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 5px; padding-inline: 4px; font-size: 12px; white-space: nowrap; }
  .hh-mobile-contact svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .hh-mobile-contact > .hh-mobile-menu-toggle { border: 1px solid #393185; border-radius: 14px; color: #fff; background: #393185; cursor: pointer; }
  .hh-service-page a, .hh-service-page button, .hh-contact-preview button { touch-action: manipulation; }
  .hh-service-page .hh-service-cta, .hh-service-page .hh-button { min-height: 46px; }
  .hh-page-shell img, .hh-page-shell video, main img, main video { max-width: 100%; }
}

@media (max-width: 430px) {
  .hh-header-row { min-height: 62px; padding-inline: 10px; }
  .hh-brand .hh-nav-ball { width: 40px; height: 40px; }
  .hh-global-header .hh-header-phone,
  .hh-global-header .hh-header-call,
  body.hh-cinema-home .hh-site-header .hh-header-call { padding: 7px 8px !important; gap: 4px; font-size: 10px !important; }
  .hh-global-header .hh-phone-icon,
  body.hh-cinema-home .hh-site-header .hh-phone-icon { flex-basis: 15px; width: 15px; height: 15px; }
  .hh-nav-toggle { padding-inline: 8px; font-size: 11px; }
  .hh-page-hero.hh-service-hero { min-height: 360px; padding: 24px 15px 18px; }
  .hh-section.hh-two-column { padding: 26px 15px; }
  .hh-contact-preview > .hh-wrap, .hh-contact-preview .hh-wrap,
  .hh-radius-card { width: calc(100% - 22px); }
  .hh-mobile-contact > a { gap: 4px; padding-inline: 2px; font-size: 11px; }
}

/* H+H loading state for the existing video poster, plus real media requests on inner pages. */
.hh-mobile-media-enabled .hh-photo-slide.hh-poster-pending::after {
  content: "H+H";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(57,49,133,.14);
  border-radius: 15px;
  color: #393185;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 28px rgba(33,31,76,.12);
  font-size: 12px;
  font-weight: 900;
  transform: translate(-50%,-50%);
  pointer-events: none;
}
.hh-mobile-media-enabled .hh-media-video-pending { position: relative; isolation: isolate; background: #e9e7f0; }
.hh-mobile-media-enabled .hh-media-video-pending::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 -45%;
  width: 45%;
  pointer-events: none;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform: translate3d(-140%,0,0);
  animation: hh-media-sheen 1.25s ease-in-out infinite;
}
.hh-mobile-media-enabled :is(.hh-media-video-pending,.hh-media-video-slow)::after {
  content: "H+H";
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  color: #393185;
  font-size: 14px;
  font-weight: 900;
  pointer-events: none;
}
.hh-mobile-media-enabled .hh-media-video-pending > video { position: relative; z-index: 0; opacity: .01; }
.hh-mobile-media-enabled .hh-media-video-slow { position: relative; isolation: isolate; background: #e9e7f0; }
.hh-mobile-media-enabled .hh-media-video-slow::before { display: none; }
.hh-mobile-media-enabled .hh-media-video-slow > video { position: relative; z-index: 0; opacity: .01; }
.hh-mobile-media-enabled .hh-media-video-ready > video { opacity: 1; transition: opacity .2s ease; }
.hh-mobile-media-enabled .hh-media-video-error { background-color: #e9e7f0; }
.hh-mobile-media-enabled .hh-media-video-error > video { opacity: 0; }

/* Phone-first spacing: shorter first screen, compact calendar, clear tap targets. */
@media (max-width: 760px) {
  body.hh-cinema-home .hh-cinema { min-height: 0; height: auto; padding: 5px 0 10px; }
  body.hh-cinema-home .hh-cinema__topline { min-height: 0; padding: 5px 12px 7px !important; }
  body.hh-cinema-home .hh-logo-pane { padding: 4px 9px !important; border-radius: 14px; }
  body.hh-cinema-home .hh-cinema__topline .hh-still__logo { width: min(76vw,310px) !important; max-height: 58px !important; }
  body.hh-cinema-home #hh-einleitung { min-height: 0; padding: 0 0 8px; }
  body.hh-cinema-home .hh-hero-grid { gap: 8px; }
  body.hh-cinema-home .hh-home-hero__copy { padding: 15px 15px 13px; border-radius: 19px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-eyebrow { margin-bottom: 7px; font-size: 8px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-title { font-size: clamp(29px,7.4vw,36px); line-height: 1.02; }
  body.hh-cinema-home .hh-home-hero__copy .hh-lead { margin-top: 8px; font-size: 12px; line-height: 1.45; }
  body.hh-cinema-home .hh-home-hero__proof { margin-top: 9px; gap: 8px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-actions { gap: 7px; margin-top: 10px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-button { min-height: 44px; padding: 9px 8px; font-size: 10px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-trust-note { margin-top: 7px; font-size: 9px; }
  body.hh-cinema-home .hh-photo-slider { padding: 0 9px 8px; }
  body.hh-cinema-home .hh-photo-slider__viewport { height: clamp(180px,49vw,230px) !important; border-radius: 17px; }
  body.hh-cinema-home .hh-photo-slider__controls { margin-top: 5px; }
  body.hh-cinema-home .hh-photo-slider__controls button { width: 38px; height: 38px; }
  body.hh-cinema-home .hh-availability__intro { padding: 14px 14px 8px; }
  body.hh-cinema-home .hh-availability__intro h2 { font-size: 21px; }
  body.hh-cinema-home .hh-availability__intro > p { font-size: 11px; line-height: 1.38; }
  body.hh-cinema-home .hh-availability__regular { margin-top: 6px; padding: 7px 8px; }
  body.hh-cinema-home .hh-availability__contact { min-height: 40px; margin-top: 7px; padding-block: 7px; font-size: 11px; }
  body.hh-cinema-home .hh-availability__calendar { padding: 3px 10px 9px; }
  body.hh-cinema-home .hh-availability__header { margin-bottom: 4px; }
  body.hh-cinema-home .hh-availability__month { font-size: 16px; }
  body.hh-cinema-home .hh-availability__navigation button { width: 34px; height: 34px; min-width: 34px; }
  body.hh-cinema-home .hh-availability__day { min-height: 27px !important; border-radius: 7px !important; }
  body.hh-cinema-home .hh-availability__legend { margin-top: 6px; }
  body.hh-cinema-home .hh-availability__detail { margin-top: 6px; padding: 7px 8px; }
  body.hh-cinema-home .hh-hero-reviews { margin-top: 8px; padding: 13px; gap: 7px; }
  body.hh-cinema-home .hh-hero-reviews > h2 { font-size: 18px; }
  body.hh-cinema-home .hh-hero-reviews__quote { padding: 9px 10px; }
  body.hh-cinema-home .hh-proof, body.hh-cinema-home .hh-funding, body.hh-cinema-home .hh-section,
  body.hh-cinema-home .hh-news, body.hh-cinema-home .hh-home-faq,
  body.hh-cinema-home .hh-contact-preview, body.hh-cinema-home .hh-reviews { padding-block: 29px; }
  body.hh-cinema-home #hh-leistungen .hh-service { flex-basis: min(82%,315px); }
  body.hh-cinema-home .hh-news-card > img { aspect-ratio: 16/9; }
  body.hh-cinema-home .hh-form-field input, body.hh-cinema-home .hh-form-field select,
  body.hh-cinema-home .hh-form-field textarea,
  body:not(.hh-cinema-home) .hh-contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
  body:not(.hh-cinema-home) .hh-contact-form select,
  body:not(.hh-cinema-home) .hh-contact-form textarea { font-size: 16px; }
}

@media (max-width: 430px) {
  body.hh-cinema-home .hh-cinema__topline .hh-still__logo { width: min(78vw,280px) !important; max-height: 52px !important; }
  body.hh-cinema-home .hh-home-hero__copy { padding: 14px 13px 12px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-title { font-size: clamp(28px,8vw,33px); }
  body.hh-cinema-home .hh-home-hero__copy .hh-lead { font-size: 11.5px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-actions { grid-template-columns: 1fr 1fr; }
  body.hh-cinema-home .hh-home-hero__copy .hh-button { min-height: 42px; font-size: 9px; }
  body.hh-cinema-home .hh-photo-slider__viewport { height: clamp(176px,52vw,214px) !important; }
  body.hh-cinema-home .hh-availability__calendar { padding-inline: 8px; }
  body.hh-cinema-home .hh-availability__day { min-height: 25px !important; font-size: 9px; }
  body.hh-cinema-home .hh-availability__navigation button { width: 32px; height: 32px; min-width: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .hh-mobile-media-enabled .hh-photo-slide.hh-poster-pending::before,
  .hh-media-skeleton.is-visible::before,
  .hh-mobile-media-enabled .hh-media-video-pending::before { animation: none; display: none; }
  .hh-mobile-media-enabled .hh-media-video-ready > video { transition: none; }
}

/* 1.2.0: readable phone typography and native lazy-loading placeholders. */
.hh-mobile-media-enabled img.hh-media-pending:not(.hh-ai-disclosure) {
  border-radius: inherit;
  background-position: center;
  background-size: 54px 54px;
}

@media (max-width: 760px) {
  body.hh-cinema-home :is(.hh-home-hero__copy .hh-button, .hh-mobile-contact > a, #hh-leistungen .hh-service) {
    transition: transform .18s cubic-bezier(.22,.75,.28,1), box-shadow .18s ease;
  }
  body.hh-cinema-home :is(.hh-home-hero__copy .hh-button, .hh-mobile-contact > a):active { transform: scale(.985); }

  body.hh-cinema-home .hh-home-hero__copy .hh-eyebrow { font-size: 10px; line-height: 1.45; }
  body.hh-cinema-home .hh-home-hero__copy .hh-lead { font-size: 15px; line-height: 1.55; }
  body.hh-cinema-home .hh-home-hero__proof strong { font-size: 13px; }
  body.hh-cinema-home .hh-home-hero__proof span { font-size: 12px; line-height: 1.4; }
  body.hh-cinema-home .hh-home-hero__copy .hh-actions { grid-template-columns: minmax(0,1fr); }
  body.hh-cinema-home .hh-home-hero__copy .hh-button { min-height: 48px; font-size: 13px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-trust-note { font-size: 11px; }

  /* Keep every core service visible on a phone instead of hiding half in a rail. */
  body.hh-cinema-home #hh-leistungen .hh-services {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible !important;
    padding: 2px 0 8px;
    scroll-snap-type: none;
  }
  body.hh-cinema-home #hh-leistungen .hh-service {
    display: flex;
    min-width: 0;
    min-height: 184px;
    flex: initial;
    flex-direction: column;
    justify-content: space-between;
    padding: 12px;
    scroll-snap-align: none;
  }
  body.hh-cinema-home #hh-leistungen .hh-service :is(h3, strong) { font-size: 13px; line-height: 1.3; }
  body.hh-cinema-home #hh-leistungen .hh-service p { font-size: 12px; line-height: 1.45; }
  body.hh-cinema-home #hh-leistungen .hh-service :is(a, .hh-service-link) { min-height: 40px; align-items: center; font-size: 12px; }

  body.hh-cinema-home .hh-availability__intro > p { font-size: 13px; line-height: 1.5; }
  body.hh-cinema-home .hh-availability__regular :is(strong, p) { font-size: 12px; line-height: 1.45; }
  body.hh-cinema-home .hh-availability__weekdays { font-size: 10px; }
  body.hh-cinema-home .hh-availability__day { min-height: 32px !important; font-size: 12px; }
  body.hh-cinema-home .hh-availability__number { font-size: 12px; }
  body.hh-cinema-home .hh-availability__legend,
  body.hh-cinema-home .hh-availability__legend li { font-size: 11px; }
  body.hh-cinema-home .hh-availability__detail { font-size: 12px; line-height: 1.45; }
  body.hh-cinema-home .hh-hero-reviews__quote blockquote { font-size: 14px; line-height: 1.5; }
  body.hh-cinema-home .hh-hero-reviews__author,
  body.hh-cinema-home .hh-hero-reviews__author small { font-size: 12px; }
  body.hh-cinema-home .hh-proof-copy span { font-size: 12px; }

  body.hh-cinema-home .hh-works-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    padding-bottom: 4px;
    scroll-snap-type: none;
  }
  body.hh-cinema-home .hh-work-card { min-width: 0; flex: initial; scroll-snap-align: none; }
  body.hh-cinema-home .hh-news-story p,
  body.hh-cinema-home .hh-section-heading > p:not(.hh-kicker) { font-size: 14px; line-height: 1.55; }
  body.hh-cinema-home .hh-section-heading .hh-kicker,
  body.hh-cinema-home .hh-news-card .hh-eyebrow { font-size: 10px; }

  body.hh-cinema-home .hh-form-field label,
  body:not(.hh-cinema-home) .hh-form-field label { font-size: 13px; }
  body.hh-cinema-home .hh-form-field input,
  body.hh-cinema-home .hh-form-field select,
  body.hh-cinema-home .hh-form-field textarea,
  body:not(.hh-cinema-home) .hh-contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
  body:not(.hh-cinema-home) .hh-contact-form select,
  body:not(.hh-cinema-home) .hh-contact-form textarea { font-size: 16px; line-height: 1.4; }
  .hh-map-frame,
  .hh-radius-card { min-height: 0; }
  .hh-map-frame iframe,
  .hh-radius-card iframe,
  .hh-map iframe,
  .hh-map-frame .hh-map-canvas { min-height: 170px; height: 170px; }
}

@media (max-width: 430px) {
  body.hh-cinema-home .hh-home-hero__copy .hh-eyebrow { font-size: 10px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-title { font-size: clamp(30px, 8.2vw, 36px); }
  body.hh-cinema-home .hh-home-hero__copy .hh-lead { font-size: 14px; }
  body.hh-cinema-home .hh-home-hero__copy .hh-button { font-size: 13px; }
  body.hh-cinema-home #hh-leistungen .hh-service { min-height: 190px; padding: 11px; }
  body.hh-cinema-home #hh-leistungen .hh-service :is(h3, strong) { font-size: 12.5px; }
  body.hh-cinema-home #hh-leistungen .hh-service p { font-size: 11.5px; }
  body.hh-cinema-home .hh-availability__calendar { padding-inline: 9px; }
  body.hh-cinema-home .hh-availability__day { min-height: 30px !important; }
  body.hh-cinema-home .hh-mobile-contact > a { min-height: 48px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .hh-mobile-media-enabled img.hh-media-pending:not(.hh-ai-disclosure) {
    animation: none;
    background-color: #e9e7f0;
    background-position: center;
  }
  body.hh-cinema-home :is(.hh-home-hero__copy .hh-button, .hh-mobile-contact > a, #hh-leistungen .hh-service) { transition: none; }
}

/* Stop motion on slow requests without repeatedly replacing the placeholder. */
.hh-media-skeleton.is-slow::before{animation:none!important;display:none}


/* Mobile polish: compact header, H+H wordmark beside the ball, and clearer service-card links. */
@media (max-width: 700px) {
  .hh-global-header .hh-page-shell.hh-header-row {
    min-height: 62px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .hh-global-header .hh-page-shell.hh-header-row > .hh-brand {
    display: flex !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  .hh-global-header .hh-page-shell.hh-header-row > .hh-brand .hh-nav-ball {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
  }

  .hh-global-header .hh-page-shell.hh-header-row > .hh-brand .hh-nav-wordmark {
    display: block !important;
    flex: 0 1 auto !important;
    width: 98px !important;
    max-width: 27vw !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
  }

  body.hh-cinema-home #hh-leistungen .hh-services .hh-service {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-height: 184px !important;
    padding: 12px !important;
    text-align: left !important;
  }

  body.hh-cinema-home #hh-leistungen .hh-services .hh-service .hh-more {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 9px !important;
    text-align: left !important;
  }

  body.hh-cinema-home #hh-leistungen .hh-services .hh-service .hh-more strong {
    display: inline !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.hh-cinema-home #hh-leistungen .hh-services .hh-service .hh-more > span {
    display: inline-grid !important;
    flex: 0 0 26px !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: #3d2f87 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }
}


/* The wordmark is a mobile-only header companion. */
@media (min-width: 701px) {
  .hh-global-header .hh-page-shell.hh-header-row > .hh-brand .hh-nav-wordmark,
  header .hh-brand .hh-nav-wordmark,
  header .hh-header-logo .hh-nav-wordmark {
    display: none !important;
  }
}


/* Keep the compact mobile mark side by side. */
@media (max-width: 700px) {
  .hh-global-header .hh-brand,
  .hh-global-header .hh-header-logo {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .hh-global-header .hh-brand .hh-nav-ball,
  .hh-global-header .hh-header-logo .hh-nav-ball {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
  }
  .hh-global-header .hh-brand .hh-nav-wordmark,
  .hh-global-header .hh-header-logo .hh-nav-wordmark {
    display: block !important;
    flex: 0 1 98px !important;
    width: 98px !important;
    max-width: 98px !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
  }
}


/* Mobile header wordmark beside the H+H ball. */
@media (max-width: 700px) {
  .hh-site-header .hh-nav-brand {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .hh-site-header .hh-nav-brand > .hh-nav-ball {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
  }
  .hh-site-header .hh-nav-brand > .hh-nav-wordmark {
    display: block !important;
    flex: 0 1 98px !important;
    width: 98px !important;
    max-width: 98px !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
  }
}


/* Correct selectors for the live H+H mobile header. */
@media (max-width: 700px) {
  .hh-site-header .hh-page-shell.hh-header-row {
    min-height: 62px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .hh-site-header .hh-header-logo {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .hh-site-header .hh-header-logo > .hh-nav-ball {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
  }
  .hh-site-header .hh-header-logo > .hh-nav-wordmark {
    display: block !important;
    flex: 0 0 98px !important;
    width: 98px !important;
    max-width: 98px !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
  }
}


/* Keep the mobile brand, phone link, and menu on one compact header row. */
@media (max-width: 700px) {
  .hh-site-header .hh-page-shell.hh-header-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    min-width: 0 !important;
  }
  .hh-site-header .hh-header-logo {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    gap: 6px !important;
  }
  .hh-site-header .hh-header-logo > .hh-nav-ball {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
  }
  .hh-site-header .hh-header-logo > .hh-nav-wordmark {
    flex: 0 1 84px !important;
    width: 84px !important;
    max-width: 84px !important;
    max-height: 30px !important;
  }
  .hh-site-header .hh-header-call {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: 10px !important;
  }
  .hh-site-header .hh-nav-toggle {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}


/* 2026-11 mobile layout repair: remove card collisions and shrink floating trust badge. */
@media (max-width: 760px) {
  /* The sequence labels are decorative and collide with service titles at phone widths. */
  body.hh-cinema-home #hh-leistungen .hh-service-number { display: none !important; }
  body.hh-cinema-home #hh-leistungen .hh-service-mark { position: relative !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; width: auto !important; height: auto !important; min-height: 42px !important; margin: 0 0 10px !important; }
  body.hh-cinema-home #hh-leistungen .hh-service-icon { position: static !important; display: grid !important; place-items: center !important; flex: 0 0 42px !important; width: 42px !important; height: 42px !important; margin: 0 !important; }
  body.hh-cinema-home #hh-leistungen .hh-service > strong { display: block !important; position: static !important; margin: 0 !important; font-size: clamp(12px, 3.25vw, 14px) !important; line-height: 1.28 !important; overflow-wrap: anywhere !important; }
  body.hh-cinema-home #hh-leistungen .hh-service > p { display: block !important; margin: 8px 0 auto !important; font-size: clamp(11px, 2.9vw, 13px) !important; line-height: 1.42 !important; }
  body.hh-cinema-home #hh-leistungen .hh-service .hh-more { margin-top: 12px !important; padding-top: 0 !important; }

  /* Keep the trust control available without covering half a card. */
  .hh-trust-widget { position: fixed !important; z-index: 119 !important; right: 12px !important; bottom: calc(76px + env(safe-area-inset-bottom)) !important; width: 52px !important; height: 52px !important; }
  .hh-trust-widget .hh-trust-toggle { display: grid !important; place-items: center !important; gap: 0 !important; width: 52px !important; min-width: 52px !important; height: 52px !important; min-height: 52px !important; padding: 4px !important; border-radius: 50% !important; box-sizing: border-box !important; }
  .hh-trust-widget .hh-trust-mark { display: grid !important; place-items: center !important; width: 42px !important; height: 42px !important; margin: 0 !important; border-radius: 50% !important; font-size: 13px !important; }
  .hh-trust-widget .hh-trust-toggle-copy, .hh-trust-widget .hh-trust-chevron { display: none !important; }

  /* Keep the inner-page header at the top edge and at a predictable phone height. */
  .hh-global-header { top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
  body:not(.admin-bar) .hh-global-header { top: 0 !important; }
  .hh-global-header .hh-header-row { display: flex !important; box-sizing: border-box !important; width: 100% !important; min-height: 62px !important; height: 62px !important; margin: 0 !important; padding: 4px 10px !important; gap: 6px !important; align-items: center !important; }
  .hh-global-header .hh-header-row > .hh-brand { display: flex !important; flex: 1 1 auto !important; min-width: 0 !important; align-items: center !important; gap: 5px !important; }
  .hh-global-header .hh-header-row .hh-nav-ball { width: 38px !important; height: 38px !important; flex: 0 0 38px !important; }
  .hh-global-header .hh-header-row .hh-nav-wordmark { display: block !important; width: min(84px, 22vw) !important; max-width: 84px !important; max-height: 30px !important; height: auto !important; object-fit: contain !important; }
  .hh-global-header .hh-header-call, .hh-global-header .hh-nav-toggle { min-height: 42px !important; }
  .hh-page-hero.hh-service-hero { margin-top: 0 !important; padding-top: 22px !important; }

  /* Scale featured imagery for the narrow viewport while retaining the page grid. */
  body.hh-cinema-home .hh-funding-model { min-height: 0 !important; }
  body.hh-cinema-home .hh-funding-model img, body.hh-cinema-home .hh-funding-logo img { width: 100% !important; max-width: 100% !important; height: auto !important; object-fit: contain !important; }
  body.hh-cinema-home .hh-work-card img { min-height: 170px !important; }
}
@media (max-width: 430px) {
  body.hh-cinema-home #hh-leistungen .hh-services { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 9px !important; }
  body.hh-cinema-home #hh-leistungen .hh-service { min-height: 192px !important; padding: 12px 10px !important; }
  .hh-trust-widget { right: 9px !important; }
}


/* Mobile correction v1.6.21: keep the homepage header on one line and enlarge funding artwork. */
@media (max-width: 760px) {
  body.hh-cinema-home .hh-site-header-inner { display: flex !important; flex-flow: row nowrap !important; justify-content: space-between !important; align-items: center !important; box-sizing: border-box !important; width: 100% !important; height: 62px !important; min-height: 62px !important; padding: 0 10px !important; gap: 6px !important; }
  body.hh-cinema-home .hh-site-header .hh-header-nav { display: none !important; }
  body.hh-cinema-home .hh-site-header .hh-header-logo { display: flex !important; flex: 0 1 auto !important; min-width: 0 !important; margin: 0 !important; gap: 4px !important; }
  body.hh-cinema-home .hh-site-header .hh-header-logo .hh-nav-ball { flex: 0 0 34px !important; width: 34px !important; height: 34px !important; }
  body.hh-cinema-home .hh-site-header .hh-header-logo .hh-nav-wordmark { display: block !important; flex: 0 1 76px !important; width: 76px !important; max-width: 76px !important; max-height: 27px !important; height: auto !important; object-fit: contain !important; }
  body.hh-cinema-home .hh-site-header .hh-header-call { flex: 0 0 auto !important; margin: 0 0 0 auto !important; padding: 7px 8px !important; min-width: 0 !important; min-height: 42px !important; font-size: 10px !important; white-space: nowrap !important; }
  body.hh-cinema-home .hh-site-header .hh-nav-toggle { flex: 0 0 auto !important; min-width: 62px !important; min-height: 42px !important; margin: 0 !important; padding: 7px 8px !important; }
  body.hh-cinema-home .hh-funding-visual { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; gap: 10px !important; }
  body.hh-cinema-home .hh-funding-model-stage { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; place-items: center !important; width: 100% !important; min-height: 0 !important; }
  body.hh-cinema-home img.hh-funding-model { display: block !important; width: 100% !important; max-width: 100% !important; max-height: none !important; height: auto !important; object-fit: contain !important; }
  body.hh-cinema-home .hh-funding-logo-wrap { display: flex !important; justify-content: center !important; align-items: center !important; width: 100% !important; min-height: 0 !important; }
  body.hh-cinema-home img.hh-funding-logo { display: block !important; width: min(100%, 320px) !important; max-width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; }
}


/* Mobile navigation and shared footer polish v1.6.25 */
@media (max-width: 760px) {
  body.hh-cinema-home .hh-site-header .hh-header-nav { display: none !important; }
  body.hh-cinema-home .hh-site-header.hh-header-menu-open .hh-header-nav,
  header.hh-header-menu-open .hh-header-nav,
  header.hh-header-menu-open .hh-global-nav {
    position: fixed !important;
    z-index: 140 !important;
    top: calc(62px + env(safe-area-inset-top)) !important;
    right: 10px !important;
    left: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    max-height: calc(100dvh - 140px - env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: auto !important;
    border: 1px solid rgba(57,49,133,.14) !important;
    border-radius: 0 0 18px 18px !important;
    background: #fff !important;
    box-shadow: 0 18px 38px rgba(33,31,76,.2) !important;
  }
  body.admin-bar header.hh-header-menu-open .hh-header-nav,
  body.admin-bar header.hh-header-menu-open .hh-global-nav { top: calc(108px + env(safe-area-inset-top)) !important; }
  header.hh-header-menu-open .hh-header-nav > a,
  header.hh-header-menu-open .hh-header-nav .hh-nav-link,
  header.hh-header-menu-open .hh-global-nav > a,
  header.hh-header-menu-open .hh-global-nav .hh-nav-link {
    display: flex !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
  }
  header.hh-header-menu-open .hh-header-nav .hh-nav-group,
  header.hh-header-menu-open .hh-global-nav .hh-nav-group { width: 100% !important; }
  body.hh-cinema-home .hh-mobile-contact,
  .hh-mobile-contact {
    position: fixed !important;
    z-index: 150 !important;
    inset: auto 0 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    min-height: calc(70px + env(safe-area-inset-bottom)) !important;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(57,49,133,.12) !important;
    border-radius: 16px 16px 0 0 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 -8px 28px rgba(33,31,76,.1) !important;
    box-sizing: border-box !important;
  }
  .hh-mobile-contact > :is(a, button) {
    min-width: 0 !important;
    min-height: 54px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 5px 2px !important;
    border: 1px solid rgba(57,49,133,.13) !important;
    border-radius: 12px !important;
    color: #211f4c !important;
    background: #fff !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }
  .hh-mobile-contact > .hh-mobile-whatsapp { color: #fff !important; background: #211f4c !important; }
  .hh-mobile-contact > .hh-mobile-request { border-color: #ffd500 !important; background: #ffd500 !important; }
  .hh-mobile-contact > .hh-mobile-menu-toggle { border-color: #393185 !important; color: #fff !important; background: #393185 !important; }
  .hh-mobile-contact > :is(a, button) svg { display: block !important; width: 19px !important; height: 19px !important; flex: 0 0 19px !important; }
  .hh-mobile-contact > :is(a, button):focus-visible { outline: 3px solid #ffd500 !important; outline-offset: 2px !important; }
  .hh-footer-bottom { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; margin-top: 14px !important; padding-top: 14px !important; }
  .hh-legal-links { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 4px 12px !important; }
  .hh-legal-links a { display: inline-flex !important; align-items: center !important; min-height: 44px !important; }
  body { padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
}
.hh-footer-bottom { align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
.hh-legal-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
@media (prefers-reduced-motion: reduce) {
  .hh-mobile-contact > :is(a, button) { transition: none !important; }
}

@media (max-width:760px) { body.admin-bar header.hh-header-menu-open .hh-header-nav, body.admin-bar header.hh-header-menu-open .hh-global-nav { top: calc(62px + env(safe-area-inset-top)) !important; } }

@media (max-width:760px) { header:not(.hh-header-menu-open) .hh-header-nav, header:not(.hh-header-menu-open) .hh-global-nav { display: none !important; } }

/* One legal footer rhythm for homepage, service pages, and policy pages. */
.hh-footer-bottom { margin-top: 20px !important; padding-top: 20px !important; border-top: 1px solid rgba(57,49,133,.14) !important; }
.hh-legal-links a { min-height: 44px !important; }
@media (max-width:760px) { .hh-footer-bottom { margin-top: 14px !important; padding-top: 14px !important; } }


/* H+H mobile contact polish: WhatsApp green, brand-blue call, larger mark, bottom menu only. */
.hh-global-header .hh-header-call,
.hh-site-header .hh-header-call {
  background: #393185 !important;
  border-color: #393185 !important;
  color: #fff !important;
}
@media (max-width: 760px) {
  .hh-global-header .hh-nav-toggle:not(.hh-mobile-menu-toggle),
  .hh-site-header .hh-nav-toggle:not(.hh-mobile-menu-toggle) { display: none !important; }
  .hh-mobile-contact > a[href^="tel:"] {
    color: #fff !important;
    background: #393185 !important;
    border-color: #393185 !important;
  }
  .hh-mobile-contact > .hh-mobile-whatsapp {
    color: #fff !important;
    background: #25D366 !important;
    border-color: #25D366 !important;
  }
  .hh-global-header .hh-header-row .hh-nav-wordmark,
  .hh-site-header .hh-header-logo > .hh-nav-wordmark {
    flex: 0 1 auto !important;
    width: clamp(96px, 29vw, 126px) !important;
    max-width: calc(100vw - 228px) !important;
    max-height: 38px !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .hh-global-header .hh-header-row .hh-nav-ball,
  .hh-site-header .hh-header-logo > .hh-nav-ball {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
  }
  .hh-mobile-contact > .hh-mobile-whatsapp svg { color: #fff !important; }
}
@media (max-width: 390px) {
  .hh-global-header .hh-header-row .hh-nav-wordmark,
  .hh-site-header .hh-header-logo > .hh-nav-wordmark { width: clamp(90px, 27vw, 108px) !important; max-width: calc(100vw - 220px) !important; }
  .hh-global-header .hh-header-row .hh-nav-ball,
  .hh-site-header .hh-header-logo > .hh-nav-ball { flex-basis: 38px !important; width: 38px !important; height: 38px !important; }
}
