.contact-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); align-items: start; gap: clamp(32px, 6vw, 88px); padding-block: clamp(40px, 7vw, 96px); }
.contact-intro h1 { margin: 20px 0 24px; color: var(--lp-ink); font: 800 clamp(36px, 4.7vw, 64px)/1.06 var(--font-display); letter-spacing: -.035em; }
.contact-intro > p { max-width: 45ch; color: var(--lp-muted); font-size: 17px; line-height: 1.7; }
.contact-direct-email, .contact-direct-phone { display: block; width: fit-content; padding-block: 14px; color: var(--lp-primary-deep); font-weight: 750; overflow-wrap: anywhere; }
.contact-direct-email { margin-top: 22px; font-size: clamp(16px, 1.75vw, 22px); }
.contact-hours { display: grid; gap: 16px; margin: 26px 0; padding-top: 24px; border-top: 1px solid var(--lp-line); }
.contact-hours dt { margin-bottom: 5px; color: var(--lp-ink); font-weight: 750; }
.contact-hours dd { margin: 0; color: var(--lp-muted); font-size: 14px; line-height: 1.6; }
.contact-intro .contact-account-help { font-size: 14px; }
.contact-form-panel { padding: clamp(22px, 3vw, 36px); background: var(--lp-surface); border: 1px solid var(--lp-line); border-top: 4px solid var(--lp-primary); border-radius: 4px 4px 16px 16px; scroll-margin-top: calc(var(--header-h) + 24px); }
.contact-form-panel h2 { margin: 0 0 26px; font: 750 27px/1.2 var(--font-display); letter-spacing: -.025em; }
.contact-field { margin-bottom: 20px; }
.contact-field label { display: block; margin-bottom: 8px; color: var(--lp-ink); font-size: 14px; font-weight: 750; }
.contact-field input, .contact-field select, .contact-field textarea { display: block; width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--lp-line); border-radius: 8px; background: var(--lp-bg); color: var(--lp-ink); font: 16px/1.5 var(--font-body); }
.contact-field textarea { resize: vertical; min-height: 160px; }
.contact-field [aria-invalid="true"] { border-color: #ab2434; }
.contact-page a:not(.prism-button):hover { text-decoration: underline; text-underline-offset: 4px; }
.contact-page :is(a, input, select, textarea, button):focus-visible { outline: 3px solid var(--lp-primary); outline-offset: 4px; }
.contact-form-note, .contact-privacy-note { color: var(--lp-muted); font-size: 13px; line-height: 1.65; }
.contact-privacy-note { margin-bottom: 0; }
.contact-page p a { color: var(--lp-primary-deep); text-decoration: underline; text-underline-offset: 3px; }
.contact-submit { width: 100%; margin-top: 10px; }
.contact-errors { color: #ab2434; font-size: 14px; line-height: 1.5; }
.contact-errors p { margin-block: 8px; }
.contact-success { margin-bottom: 28px; padding: 18px; border-left: 4px solid var(--lp-secondary); background: #e5f8ef; color: var(--lp-secondary-ink); }
.contact-success strong { font-size: 18px; }
.contact-success p { margin: 8px 0 0; line-height: 1.6; }
.contact-seller { grid-column: 1 / -1; padding-top: 30px; border-top: 1px solid var(--lp-line); color: var(--lp-muted); font-size: 14px; line-height: 1.7; }
.contact-seller h2 { color: var(--lp-ink); font-size: 22px; }
@media (max-width: 760px) {
  .contact-page { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .contact-intro h1 { font-size: clamp(34px, 9vw, 48px); }
  .contact-hours { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
