/* Contact only; reuse the blog's type, palette and rounded controls. */
.contact-shell { max-width: 680px; padding-block: 48px 80px; }
.contact-heading { margin-bottom: 28px; }
.contact-heading h1 { margin: 0; font-size: clamp(44px, 5vw, 68px); font-weight: 750; line-height: 1.08; letter-spacing: -.035em; }
.contact-surface { padding: 32px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.contact-intro p { margin: 0; color: var(--muted-strong); font-size: 17px; line-height: 1.7; }
.contact-shell .contact-form { gap: 24px; margin-top: 28px; }
.contact-shell .contact-form > p { margin: 0; min-width: 0; }
.contact-shell .contact-form__field label { margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.contact-shell .contact-form__field input,
.contact-shell .contact-form__field textarea { display: block; min-width: 0; min-height: 48px; border-radius: 12px; font-size: 16px; line-height: 1.6; caret-color: var(--green); }
.contact-shell .contact-form__field textarea { min-height: 160px; }
.contact-shell .contact-form__field input:hover,
.contact-shell .contact-form__field textarea:hover { border-color: var(--muted); }
.contact-shell .contact-form__button { min-height: 44px; padding: 12px 24px; font-size: 14px; font-weight: 700; line-height: 1.4; }
:root[data-theme="dark"] .contact-shell .contact-form__button { color: var(--page); }
.contact-shell .contact-page__note { margin: 24px 0 0; color: var(--muted-strong); font-size: 14px; line-height: 1.7; }
.contact-shell a { color: var(--green); text-underline-offset: 4px; }
.contact-shell a:hover { text-decoration-thickness: 2px; }
.contact-shell ::selection { background: var(--green); color: var(--surface); }
@media (max-width: 700px) {
  .contact-shell { padding-block: 28px 48px; }
  .contact-heading { margin-bottom: 24px; }
  .contact-surface { padding: 24px 20px; }
}
