/* Hallmark · shape: enquiry form and contact rail · genre: editorial · theme: brand · redesign: full · job: hire · hero: kept · nav: kept · footer: kept · signature: direct contact with the Michael team · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V4 · weakest: H, repeated contact boxes; use one contact rail beside the open enquiry form. */
/* Hallmark · reworded "Schreiben Sie uns" to "Ihre Anfrage" · 69 names the repeated invitation below the contact introduction. */
/* Hallmark · reworded "gs_form_loaded=1794548361555" to "gs_form_loaded=current page-load timestamp" · the same named anti-spam field is present; its generated value changes on every page load, with no handler or field change */
/* Hallmark · dismissed 77 · Kontakt is the enquiry route: the form and the complete contact rail provide its content; extra promotional sections would obstruct that task. */
/* Hallmark · answered F19 · the existing navigation and form labels retain their medium and semibold weights alongside body and headings for this shared brand system. */
.gs-site.hm-proposal .hm-contact-content {
    padding-block: var(--space-section-tight) var(--space-section);
}
.gs-site.hm-proposal .hm-contact-content .gs-contact-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .85fr);
    align-items: start;
    gap: var(--space-column);
}
.gs-site.hm-proposal .gs-contact-grid > .hm-contact-form-column {
    border: 0;
    border-radius: 0;
    padding: 0;
    min-width: 0;
}
.gs-site.hm-proposal .hm-contact-form-column h2 {
    margin: 0 0 var(--space-md);
    color: var(--color-petrol);
    text-wrap: balance;
}
.gs-site.hm-proposal .hm-contact-form-column .lab-form-hint {
    max-width: 65ch;
    margin: 0 0 var(--space-xl);
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: 1.65;
}
.gs-site.hm-proposal #gs-contact-form > :not([hidden]) ~ :not([hidden]) {
    margin-top: var(--space-lg);
}
.gs-site.hm-proposal #gs-contact-form label {
    color: var(--color-ink);
    font-size: var(--text-sm);
    line-height: 1.5;
    margin-bottom: var(--space-xs);
}
.gs-site.hm-proposal #gs-contact-form input:not([type='checkbox']):not([type='hidden']):not([type='file']),
.gs-site.hm-proposal #gs-contact-form textarea {
    width: 100%;
    min-width: 0;
    padding: var(--space-sm) var(--space-md);
    border: var(--rule-hair) solid var(--color-field);
    border-radius: var(--radius-control);
    outline: 2px solid var(--color-clear);
    outline-offset: -3px;
    box-shadow: none;
    background: var(--color-paper);
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: var(--text-md);
    line-height: 1.5;
    transition: background-color var(--dur-micro) var(--ease-out);
}
.gs-site.hm-proposal #gs-contact-form input:not([type='checkbox']):not([type='hidden']):not([type='file']) {
    height: 50px;
}
.gs-site.hm-proposal #gs-contact-form textarea {
    min-height: 9rem;
    resize: vertical;
}
.gs-site.hm-proposal #gs-contact-form :is(input, textarea)::placeholder {
    color: var(--color-muted);
    opacity: 1;
}
.gs-site.hm-proposal #gs-contact-form :is(input, textarea):focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: -3px;
    box-shadow: none;
}
.gs-site.hm-proposal #gs-contact-form :is(input, textarea):disabled {
    opacity: .55;
    cursor: not-allowed;
}
.gs-site.hm-proposal #gs-contact-form :is(input, textarea):is([aria-invalid='true'], :user-invalid) {
    border-color: var(--color-error);
}
.gs-site.hm-proposal #gs-upload-area {
    border: var(--rule-hair) dashed var(--color-field);
    background: var(--color-paper-2);
    border-radius: var(--radius-control);
    padding: var(--space-lg);
}
.gs-site.hm-proposal #gs-upload-area :is(p, svg) {
    color: var(--color-muted);
}
.gs-site.hm-proposal #gs-upload-area:focus-within {
    outline: 2px solid var(--color-focus);
    outline-offset: 3px;
}
.gs-site.hm-proposal .hm-contact-consent {
    min-height: 44px;
    gap: var(--space-xs);
    align-items: flex-start;
}
.gs-site.hm-proposal .hm-contact-consent #privacy {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    margin: var(--space-sm) 0 0;
    accent-color: var(--color-accent);
}
.gs-site.hm-proposal .hm-contact-consent label {
    display: block;
    min-height: 44px;
    margin: 0;
    padding-block: var(--space-xs);
}
.gs-site.hm-proposal #gs-contact-form button[type='submit'] {
    min-width: 13rem;
    min-height: 50px;
}
.gs-site.hm-proposal #gs-contact-form button[type='submit']:active {
    background: var(--color-accent-hover);
}
.gs-site.hm-proposal #gs-form-status {
    min-height: 1lh;
    border-color: var(--color-error);
    color: var(--color-ink);
    padding: var(--space-md);
    border-radius: var(--radius-control);
}
.gs-site.hm-proposal #gs-form-status[data-state='success'] {
    border-color: var(--color-success);
}
.gs-site.hm-proposal .hm-contact-rail {
    min-width: 0;
    padding: var(--space-xl);
    border-radius: var(--radius-card);
    background: var(--color-paper-2);
    color: var(--color-ink);
}
.gs-site.hm-proposal .hm-contact-rail h2 {
    font-size: var(--text-2xl);
    color: var(--color-petrol);
    margin: 0 0 var(--space-xl);
    text-wrap: balance;
}
.gs-site.hm-proposal .hm-contact-rail h3 {
    margin: var(--space-xl) 0 var(--space-md);
    font-size: var(--text-title);
    color: var(--color-petrol);
    line-height: 1.3;
    text-wrap: balance;
}
.gs-site.hm-proposal .hm-contact-rail :is(.hm-contact-details,.hm-contact-hours-panel) {
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
    background: var(--color-clear);
    box-shadow: none;
}
.gs-site.hm-proposal .hm-contact-details .space-y-4 > div {
    padding: var(--space-md) 0;
    margin: 0;
    border-top: var(--rule-hair) solid var(--color-rule);
}
.gs-site.hm-proposal .hm-contact-details .space-y-4 > div > div {
    min-width: 0;
}
.gs-site.hm-proposal .hm-contact-details .space-y-4 > div > svg {
    display: none;
}
.gs-site.hm-proposal .hm-contact-rail a[href^='mailto:'] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    color: var(--color-accent);
    text-decoration: underline;
    overflow-wrap: anywhere;
}
.gs-site.hm-proposal .hm-contact-rail .gs-contact-hours > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xs);
    padding: var(--space-sm) 0;
    margin: 0;
    border-top: var(--rule-hair) solid var(--color-rule);
}
.gs-site.hm-proposal .hm-contact-hours-panel > p {
    margin-top: var(--space-lg);
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: 1.65;
}
@media (hover: hover) {
    .gs-site.hm-proposal #gs-contact-form input:not([type='checkbox']):not([type='hidden']):not([type='file']):hover,
    .gs-site.hm-proposal #gs-contact-form textarea:hover {
        background: var(--color-paper-2);
    }
}
@media (max-width: 1023px) {
    .gs-site.hm-proposal .hm-contact-content .gs-contact-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-section-tight);
    }
    .gs-site.hm-proposal .hm-contact-rail {
        padding: var(--space-lg);
    }
}
@media (max-width: 767px) {
    .gs-site.hm-proposal .hm-contact-rail {
        padding: var(--space-lg) var(--space-md);
    }
    .gs-site.hm-proposal .hm-contact-rail h2 {
        font-size: var(--text-title);
    }
    .gs-site.hm-proposal .hm-contact-form-column .lab-form-hint {
        margin-bottom: var(--space-lg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .gs-site.hm-proposal #gs-contact-form :is(input, textarea) {
        transition: none;
    }
}
