.field-group{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:var(--fs-min);font-weight:700;color:var(--text-heading)}.field-label .field-required{color:var(--surface-brand)}.field-help{font-size:var(--fs-min);color:var(--muted)}.field-message{font-size:var(--fs-min);font-weight:700;color:var(--surface-brand)}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=url],.contact-form input[type=search],.contact-form select,.contact-form textarea,.field-group input,.field-group select,.field-group textarea{width:100%;font-size:var(--fs-min);padding:.875rem 1rem;border:2px solid var(--control-border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink)}.field-group textarea{resize:vertical}.field-group input:focus,.field-group select:focus,.field-group textarea:focus,.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--link)}.field-group.is-error input,.field-group.is-error select,.field-group.is-error textarea{border-color:var(--surface-brand)}.contact-form{display:block}.newsletter-signup{background:var(--surface-dark);border-radius:var(--radius-md);padding:1.8rem 1.9rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.newsletter-form{flex:1 1 340px;display:flex;gap:.625rem;flex-wrap:wrap}.newsletter-form input[type=email],.newsletter-form input[type=text]{flex:1 1 240px;min-width:0;width:100%;font-size:var(--fs-min);padding:.875rem 1rem;border:2px solid transparent;border-radius:var(--radius-pill);background:var(--white);color:var(--ink)}.newsletter-form button[type=submit],.newsletter-form input[type=submit]{font-weight:700;padding:.875rem 1.625rem;border:0;border-radius:var(--radius-pill);background:var(--btn-accent-bg);color:var(--btn-accent-text);transition:background var(--transition)}
