/* Hallmark · shape: Marquee Hero · genre: editorial · theme: brand · redesign: full · job: hire · surface: absolute
 * hero: Banner (/, /privatkunden/, /hausverwaltungen/), Banner (/ueber-uns/, /kontakt/, /impressum/, /datenschutz/) · nav: wordmark, existing route links and phone · footer: contact directory
 * signature: the Michael team at work in a full-width film · axes: white/Montserrat/pink · posture: committed · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V3 · weakest: V, retained the approved homepage sequence but replaced repeated card compositions with open work layouts */
/* Hallmark · hero-review: fresh subagent, fix; 3 findings resolved and confirmed in finish review · finish-review: fresh subagent, ship · P4 H4 E4 S4 R4 V3 · no open visual defects */
/* Hallmark · waive 7b · surface: absolute; the existing Michael logo and site use white · a white header keeps the original logo background seamless */
/* Hallmark · waive 8 · kept homepage sequence; new service and review composition · Michael approved the order of video, trust strip, audiences and banners */

.gs-site.hm-proposal {
  --gs-petrol: var(--color-petrol); --gs-pink: var(--color-accent); --gs-pink-hover: var(--color-accent-hover);
  --gs-link: var(--color-accent); --gs-paper: var(--color-paper-2); --gs-ink: var(--color-ink); --gs-muted: var(--color-muted); --gs-line: var(--color-rule);
  --gs-gutter: var(--space-gutter); --gs-radius: var(--radius-card); --gs-control-radius: var(--radius-control); --gs-shadow: none; --gs-section-space: var(--space-section);
  font-family: var(--font-body); color: var(--color-ink);
}
.hm-proposal :is(.gs-container,.hv-container), .gs-site.hm-proposal :is(main,header,footer) [class*='max-w-7xl'] { max-width: var(--container); padding-inline: var(--space-gutter); }
.hm-proposal :is(h1,h2,h3,h4) { font-family: var(--font-display); min-width: 0; overflow-wrap: break-word; }
.gs-site.hm-proposal main h2 { font-size: var(--text-section); line-height: 1.18; font-weight: 700; }
.hm-proposal p { text-wrap: pretty; }
.gs-site.hm-proposal :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
.gs-site.hm-proposal :is(.gs-hero--video,.hv-hero,.gs-contact-section,.hv-contact-section,footer) :is(a,button,summary):focus-visible { outline-color: var(--color-on-dark); }
.gs-site.hm-proposal :is(.gs-button,.hv-button,.hv-hero-phone,.gs-promo-cta) { min-height: 50px; padding: var(--space-control-y) var(--space-control-x); border-radius: var(--radius-control); font-size: var(--text-md); line-height: 1.4; font-weight: 700; white-space: nowrap; }
.gs-site.hm-proposal :is(.gs-button--primary,.hv-button,.gs-promo-cta) { background: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-clear); }
.gs-site.hm-proposal :is(.gs-button--primary,.hv-button,.gs-promo-cta):hover { background: var(--color-accent-hover); }
.gs-site.hm-proposal :is(.gs-button,.hv-button,.gs-promo-cta):active { background: var(--color-accent-hover); }
.hm-proposal button:disabled { opacity: .55; cursor: not-allowed; }
.hm-proposal #site-header { border: 0; box-shadow: none; }
.hm-proposal #site-header nav a { white-space: nowrap; }
.gs-site.hm-proposal #site-header > div > div > a img { height: 60px; width: auto; }
.gs-site.hm-proposal :is(.gs-header-phone,.gs-mobile-cta a) { color: var(--color-on-dark); }
.gs-site.hm-proposal :is(.gs-hero--video,.hv-hero) { min-height: 560px; display: flex; align-items: center; position: relative; isolation: isolate; background: var(--color-petrol); color: var(--color-on-dark); }
.gs-site.hm-proposal :is(.gs-hero--video,.hv-hero)::before { background: linear-gradient(90deg,var(--color-shade-strong) 0%,var(--color-shade-mid) 50%,var(--color-shade-light) 100%); }
.gs-site.hm-proposal :is(.gs-hero-content,.hv-hero-content) { width: 100%; padding-block: var(--space-hero); }
.gs-site.hm-proposal :is(.gs-hero--video,.hv-hero) h1 { max-width: 16ch; margin: 0 0 var(--space-lg); font-size: clamp(2.25rem,4.6vw,4rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 700; color: var(--color-on-dark); text-wrap: balance; }
.gs-site.hm-proposal :is(.gs-hero-description,.hv-hero-description) { max-width: 52ch; font-size: var(--text-lg); line-height: 1.6; color: var(--color-on-dark); }
.gs-site.hm-proposal :is(.gs-actions,.hv-actions) { margin-top: var(--space-xl); gap: var(--space-sm); }
.gs-site.hm-proposal .gs-hero--plain { background: var(--color-paper-2); }
.gs-site.hm-proposal .gs-hero--plain .lab-hero-layout { padding-block: var(--space-section-tight); }
.gs-site.hm-proposal .gs-hero--plain .gs-hero-content { padding: 0; }
.gs-site.hm-proposal .gs-hero--plain h1 { max-width: none; font-size: clamp(2.25rem,4vw,3.5rem); color: var(--color-petrol); font-weight: 700; margin-bottom: var(--space-lg); }
.gs-site.hm-proposal .gs-hero--plain .gs-hero-description { max-width: 65ch; font-size: 1.125rem; color: var(--color-ink); }
.gs-site.hm-proposal .gs-hero--plain:has(h1:only-child) h1 { margin: 0; }
.gs-site.hm-proposal .gs-button--petrol { background: var(--color-clear); color: var(--color-petrol); border-color: var(--color-petrol); }
.gs-site.hm-proposal .gs-button--petrol:hover { background: var(--color-paper-2); }
.gs-site.hm-proposal .gs-contact-layout { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: var(--space-column); }
.gs-site.hm-proposal .gs-contact-layout .gs-actions { margin: 0; }
.gs-site.hm-proposal footer { background: var(--color-footer); color: var(--color-on-dark); }
.gs-site.hm-proposal footer :is(a,h3) { color: var(--color-on-dark); }
.gs-site.hm-proposal footer h3 { margin-bottom: var(--space-md); }
.gs-site.hm-proposal footer p + p { margin-top: var(--space-md); }
.gs-site.hm-proposal .hm-footer-directory { grid-template-columns: minmax(0,1fr) minmax(0,.75fr) minmax(0,1.15fr); gap: var(--space-column); }
.gs-site.hm-proposal .hm-footer-directory > div { min-width: 0; }
.gs-site.hm-proposal footer a[href^='mailto:'] { white-space: nowrap; }
.gs-site.hm-proposal .hm-footer-directory > div:first-child p { max-width: 65ch; }
.gs-site.hm-proposal .hm-footer-directory > div:first-child img { height: 64px; width: auto; }
.gs-site.hm-proposal #gs-cookie-consent button { min-height: 44px; }
@media (max-width: 359px) {
  .gs-site.hm-proposal #gs-cookie-consent .flex-shrink-0 { flex-direction: column; }
}
@media (max-width: 1100px) and (min-width: 768px) {
  .gs-site.hm-proposal .hm-footer-directory { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .gs-site.hm-proposal .hm-footer-directory > div:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--space-lg) var(--space-column); align-items: center; }
  .gs-site.hm-proposal .gs-contact-layout { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 1440px) { .hm-proposal :is(.gs-hero-poster,.gs-hero-video,.hv-hero-video) { object-position: center top; } }
@media (max-width: 1023px) { :root { --space-gutter: 24px; --space-column: 32px; } }
@media (max-width: 767px) {
  :root { --space-gutter: 20px; --space-column: 24px; --space-section: 64px; --space-section-tight: 40px; --space-section-wide: 80px; --space-hero: 56px; --space-control-x: 16px; }
  .gs-site.hm-proposal :is(.gs-hero--video,.hv-hero) { min-height: 520px; }
  .gs-site.hm-proposal :is(.gs-hero--video,.hv-hero)::before { background: linear-gradient(90deg,var(--color-shade-strong),var(--color-shade-mid)); }
  .gs-site.hm-proposal :is(.gs-hero--video,.hv-hero) h1 { max-width: 17ch; font-size: clamp(2.1rem,7.6vw,3rem); }
  .gs-site.hm-proposal :is(.gs-hero-description,.hv-hero-description) { font-size: 1.0625rem; line-height: 1.6; }
  .gs-site.hm-proposal :is(.gs-actions,.hv-actions) { margin-top: var(--space-lg); }
  .gs-site.hm-proposal :is(.gs-hero,.hv-hero) :is(.gs-button,.hv-button,.hv-hero-phone) { font-size: .9375rem; padding: var(--space-sm) var(--space-md); }
  .gs-site.hm-proposal .gs-hero--plain h1 { font-size: clamp(2rem,8.2vw,2.75rem); }
  .gs-site.hm-proposal :is(.hm-footer-directory,.gs-contact-layout) { grid-template-columns: minmax(0,1fr); gap: var(--space-xl); }
}
@media (prefers-reduced-motion: reduce) { .hm-proposal *, .hm-proposal *::before, .hm-proposal *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
