/* Hallmark · shape: Project Ledger · genre: editorial · theme: brand · redesign: full · job: hire · hero: Banner · nav: inherited route directory · footer: inherited contact directory · signature: real Michael object-care photographs · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 · weakest: H, the old five-item service grid left an orphan; all services now form one ruled ledger */
/* Hallmark · reworded "Für Hausverwaltungen & WEGs" and the existing hero description into one sentence · 54 removes the audience pill while preserving its audience and all service-area facts */

.gs-site.hm-proposal .hv-page {
  color: var(--color-ink);
  background: var(--color-paper);
}
.gs-site.hm-proposal .hv-container { width: 100%; max-width: var(--container); }
.gs-site.hm-proposal .hv-page :is(h1,h2,h3,h4) {
  font-family: var(--font-display);
  min-width: 0;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.gs-site.hm-proposal .hv-button { box-shadow: none; }
.gs-site.hm-proposal .hv-care-section { background: var(--color-paper); }
.gs-site.hm-proposal .hv-care {
  display: grid;
  grid-template-columns: minmax(0, .36fr) minmax(0, .64fr);
  grid-template-areas: 'intro gallery' 'services services';
  column-gap: var(--space-column);
  row-gap: var(--space-section-tight);
  align-items: start;
  padding-block: var(--space-section);
}
.gs-site.hm-proposal .hv-care-intro { grid-area: intro; padding-top: var(--space-xs); }
.gs-site.hm-proposal .hv-care-intro h2 { max-width: 17ch; margin: 0 0 var(--space-lg); }
.gs-site.hm-proposal .hv-care-intro > p { max-width: 45ch; color: var(--color-ink); font-size: var(--text-lg); line-height: 1.6; }
.gs-site.hm-proposal .hv-care-intro > p + p { margin-top: var(--space-lg); }
.gs-site.hm-proposal .hv-gallery { grid-area: gallery; width: 100%; min-width: 0; margin: 0; }
.gs-site.hm-proposal .hv-gallery-photos { aspect-ratio: auto; }
.gs-site.hm-proposal .hv-gallery-slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-card);
  box-shadow: none;
  background: var(--color-paper-2);
}
.gs-site.hm-proposal .hv-gallery-slide figcaption {
  font-family: var(--font-body);
  color: var(--color-muted);
  font-size: var(--text-sm);
  padding-top: var(--space-sm);
  min-height: 0;
  line-height: 1.5;
}
.gs-site.hm-proposal .hv-gallery-navigation { margin: var(--space-md) 0; }
.gs-site.hm-proposal .hv-gallery-arrows { gap: var(--space-xs); }
.gs-site.hm-proposal .hv-gallery-arrows button {
  width: 46px;
  height: 44px;
  padding: 0;
  color: var(--color-petrol);
  background: var(--color-paper);
  border: var(--rule-hair) solid var(--color-field);
  border-radius: var(--radius-control);
  transition: none;
}
.gs-site.hm-proposal .hv-gallery-arrows button:is(:hover,:active) { color: var(--color-on-dark); background: var(--color-petrol); }
.gs-site.hm-proposal .hv-gallery :is(button,a):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
.gs-site.hm-proposal .hv-gallery button:disabled { opacity: .55; cursor: not-allowed; }
.gs-site.hm-proposal .hv-gallery-thumbnails { grid-template-columns: repeat(8,minmax(0,1fr)); gap: var(--space-xs); }
.gs-site.hm-proposal .hv-gallery-thumbnails button { background: var(--color-paper-2); border-radius: var(--radius-control); }
.gs-site.hm-proposal .hv-gallery-thumbnails button img { border-radius: var(--radius-control); opacity: 1; transition: none; }
.gs-site.hm-proposal .hv-gallery-thumbnails button[aria-pressed='true']::after { border-color: var(--color-accent); border-radius: var(--radius-card); }
.gs-site.hm-proposal .hv-gallery-thumbnails button:hover { outline: 2px solid var(--color-petrol); outline-offset: 3px; }
.gs-site.hm-proposal .hv-gallery-thumbnails button:active { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.gs-site.hm-proposal .hv-care-services { grid-area: services; padding: 0; margin: 0; }
.gs-site.hm-proposal .hv-care-services h2 { margin: 0 0 var(--space-xl); }
.gs-site.hm-proposal .hv-services { display: block; margin: 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.gs-site.hm-proposal .hv-services > div {
  display: grid;
  grid-template-columns: minmax(0, .36fr) minmax(0, .64fr);
  gap: var(--space-column);
  border: 0;
  border-top: var(--rule-hair) solid var(--color-rule);
  padding: var(--space-lg) 0;
}
.gs-site.hm-proposal .hv-services dt {
  margin: 0;
  color: var(--color-petrol);
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 600;
  line-height: 1.5;
}
.gs-site.hm-proposal .hv-services dd { max-width: 65ch; margin: 0; color: var(--color-ink); font-size: var(--text-md); line-height: 1.65; text-wrap: pretty; }
.gs-site.hm-proposal .hv-references { background: var(--color-paper-2); padding-block: var(--space-section-tight); }
.gs-site.hm-proposal .hv-reference-layout { text-align: left; }
.gs-site.hm-proposal .hv-references h2 { margin: 0 0 var(--space-xl); }
.gs-site.hm-proposal .hv-reference-list {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--space-column);
  align-items: start;
}
.gs-site.hm-proposal .hv-reference-list li {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: 80px auto;
  gap: var(--space-lg);
  min-width: 0;
  align-items: center;
  justify-items: start;
  text-align: left;
  background: var(--color-clear);
}
.gs-site.hm-proposal .hv-reference-list img {
  width: auto;
  height: auto;
  max-width: min(100%,170px);
  max-height: 80px;
  object-fit: contain;
  justify-self: start;
}
.gs-site.hm-proposal .hv-reference-list .hv-reference-gvl { width: 150px; max-width: 100%; }
.gs-site.hm-proposal .hv-reference-list .hv-reference-matera { width: 154px; max-width: 100%; }
.gs-site.hm-proposal .hv-reference-list span { max-width: 30ch; font-size: var(--text-md); line-height: 1.55; color: var(--color-ink); }
.gs-site.hm-proposal .hv-contact-section { background: var(--color-petrol); color: var(--color-on-dark); }
.gs-site.hm-proposal .hv-contact {
  grid-template-columns: minmax(0, .64fr) minmax(0, .36fr);
  gap: var(--space-column);
  padding-block: var(--space-section);
}
.gs-site.hm-proposal .hv-contact-main h2 { max-width: 22ch; margin: 0 0 var(--space-lg); color: var(--color-on-dark); }
.gs-site.hm-proposal .hv-contact-main > p { max-width: 50ch; font-size: var(--text-lg); line-height: 1.6; color: var(--color-on-dark-muted); }
.gs-site.hm-proposal .hv-contact .hv-actions > .hv-text-link {
  min-height: 50px;
  padding: var(--space-control-y) var(--space-control-x);
  border: var(--rule-hair) solid var(--color-on-dark-muted);
  border-radius: var(--radius-control);
  color: var(--color-on-dark);
  font-size: var(--text-md);
  line-height: 1.4;
  white-space: nowrap;
  transition: none;
}
.gs-site.hm-proposal .hv-contact .hv-actions > .hv-text-link:is(:hover,:active) { background: var(--color-on-dark); color: var(--color-petrol); }
.gs-site.hm-proposal .hv-page .hv-team-note { font-size: var(--text-sm); margin-top: var(--space-lg); }
.gs-site.hm-proposal .hv-area { border-left: var(--rule-hair) solid var(--color-dark-rule); padding-left: var(--space-column); }
.gs-site.hm-proposal .hv-area h3 { margin: 0 0 var(--space-lg); font-size: var(--text-title); color: var(--color-on-dark); }
.gs-site.hm-proposal .hv-area details { margin-top: var(--space-sm); border-color: var(--color-dark-rule); }
.gs-site.hm-proposal .hv-area summary { padding-block: var(--space-md); font-size: var(--text-md); color: var(--color-on-dark); }
.gs-site.hm-proposal .hv-area summary:hover { text-decoration: underline; text-underline-offset: .2em; }
.gs-site.hm-proposal .hv-area-details { padding: var(--space-2xs) 0 var(--space-lg); }
.gs-site.hm-proposal .hv-area-details h4 { margin: var(--space-lg) 0 var(--space-xs); color: var(--color-on-dark); font-family: var(--font-display); font-size: var(--text-md); }
.gs-site.hm-proposal .hv-area-details p { color: var(--color-on-dark-muted); font-size: var(--text-md); }
.gs-site.hm-proposal .hv-area-details p + p { margin-top: var(--space-md); }

@media (max-width: 1023px) {
  .gs-site.hm-proposal .hv-care { grid-template-columns: minmax(0,1fr); grid-template-areas: 'intro' 'gallery' 'services'; }
  .gs-site.hm-proposal .hv-care-intro { padding-top: 0; }
  .gs-site.hm-proposal .hv-care-intro h2 { max-width: 24ch; }
  .gs-site.hm-proposal .hv-care-intro > p { max-width: 65ch; }
  .gs-site.hm-proposal .hv-gallery-thumbnails { grid-template-columns: repeat(8,minmax(0,1fr)); }
  .gs-site.hm-proposal .hv-services > div { grid-template-columns: minmax(0,.4fr) minmax(0,.6fr); }
  .gs-site.hm-proposal .hv-reference-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gs-site.hm-proposal .hv-contact { grid-template-columns: minmax(0,1fr); row-gap: var(--space-xl); }
  .gs-site.hm-proposal .hv-area { margin: 0; padding: var(--space-xl) 0 0; border-left: 0; border-top: var(--rule-hair) solid var(--color-dark-rule); }
}
@media (max-width: 600px) {
  .gs-site.hm-proposal .hv-care-intro > p { font-size: var(--text-md); }
  .gs-site.hm-proposal .hv-gallery-thumbnails { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .gs-site.hm-proposal .hv-care-services h2 { margin-bottom: var(--space-lg); }
  .gs-site.hm-proposal .hv-services > div { grid-template-columns: minmax(0,1fr); gap: var(--space-xs); }
  .gs-site.hm-proposal .hv-services dt { font-size: var(--text-md); }
  .gs-site.hm-proposal .hv-reference-list { grid-template-columns: minmax(0,1fr); gap: 0; }
  .gs-site.hm-proposal .hv-reference-list li { grid-template-columns: minmax(0,.38fr) minmax(0,.62fr); grid-template-rows: auto; gap: var(--space-column); padding-block: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); }
  .gs-site.hm-proposal .hv-reference-list img { max-height: 64px; }
  .gs-site.hm-proposal .hv-reference-list span { font-size: var(--text-sm); }
  .gs-site.hm-proposal .hv-contact-main > p { font-size: var(--text-md); }
}
