.contact-page{background-color:var(--color-bg-white)}.contact-page__grid{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-16);align-items:start}@media(max-width:899px){.contact-page__grid{grid-template-columns:1fr;gap:var(--space-12)}}.contact-info{display:flex;flex-direction:column;gap:var(--space-6)}.contact-info__heading{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-body);margin-bottom:var(--space-2)}.contact-info__list{display:flex;flex-direction:column;gap:var(--space-5)}.contact-info__item{display:flex;gap:var(--space-4);align-items:stretch}.contact-info__icon{aspect-ratio:1;background-color:var(--color-primary-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-info__icon svg{width:20px;height:20px;color:var(--color-secondary)}.contact-info__text{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-1)}.contact-info__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.contact-info__value{font-size:var(--font-size-base);color:var(--color-text-body);font-weight:var(--font-weight-medium)}.contact-info__value a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.contact-info__value a:hover{color:var(--color-secondary)}.contact-form{background-color:var(--color-bg-section);border-radius:var(--radius-xl);padding:var(--space-10);border:1px solid var(--color-border)}@media(max-width:599px){.contact-form{padding:var(--space-6)}}.contact-form__heading{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-body);margin-bottom:var(--space-8)}.form{display:flex;flex-direction:column;gap:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media(max-width:599px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-body);display:flex;align-items:center;gap:var(--space-2)}.form-label__optional{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.form-input,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-white);font-size:var(--font-size-base);color:var(--color-text-body);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.7}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #97cc9c33}.form-input:invalid:not(:placeholder-shown),.form-textarea:invalid:not(:placeholder-shown){border-color:var(--color-secondary-light)}.form-textarea{resize:vertical;min-height:130px}.form-gdpr{display:flex;gap:var(--space-3);align-items:flex-start}.form-gdpr__checkbox{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-primary-dark);cursor:pointer}.form-gdpr__label{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.form-gdpr__label a{color:var(--color-secondary);text-decoration:underline;text-underline-offset:2px}.form-gdpr__label a:hover{color:var(--color-secondary-dark)}.form-field-error{font-size:var(--font-size-xs);color:var(--color-secondary);display:none}.form-field-error--visible{display:block}.form-input--error,.form-textarea--error{border-color:var(--color-secondary-light)}.form__submit{align-self:flex-start}.form__honeypot{display:none!important}.form-status{display:none;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-status--success{background-color:var(--color-primary-light);color:var(--color-secondary-dark);border:1px solid var(--color-primary)}.form-status--error{background-color:#fde8e8;color:var(--color-secondary-dark);border:1px solid var(--color-secondary-light)}.form-status--visible{display:block}
