.contact-page { max-width: 62rem; }
.contact-paths .card, .contact-field { min-width: 0; overflow-wrap: anywhere; }
.contact-form :is(input, select, textarea) { max-width: 100%; }
.contact-form :is(input, select, textarea, button, a):focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 3px; }
.contact-form .contact-choice { min-height: 44px; }
.contact-page .contact-studio-layout { align-items: start; margin-bottom: 2rem; }
.contact-studio-layout > .contact-social { margin-bottom: 0; }
.contact-paths { display: grid; gap: 1.5rem; margin-bottom: 2rem; }
.contact-paths .card { display: flex; flex-direction: column; align-items: flex-start; }
.contact-paths .card h2 { font-size: clamp(1.4rem, 3vw, 1.8rem); }
.contact-paths .card .button { margin-top: auto; }
.contact-notice { padding: 1.25rem; border-left: 4px solid var(--color-secondary); border-radius: var(--radius-medium); background: var(--color-surface); color: var(--color-text); }
.contact-panel { margin-top: 3rem; padding: clamp(1.1rem, 4vw, 2.5rem); border: 1px solid var(--color-primary); border-radius: 2rem; background: var(--color-surface); scroll-margin-top: 7rem; }
.contact-panel > h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); }
.contact-form { max-width: none; position: relative; }
.contact-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.contact-form [data-step] { margin-block: 1.5rem; }
.contact-form [data-step] > legend { font-size: 1.3rem; color: var(--color-primary-dark); margin-bottom: 1rem; }
.contact-form .contact-options { display: grid; gap: 0.6rem; }
.contact-form .contact-choice { display: flex; align-items: flex-start; gap: 0.75rem; font-weight: 400; margin: 0; padding-block: 0.5rem; cursor: pointer; }
.contact-form input[type="checkbox"], .contact-form input[type="radio"] { width: 1.25rem; min-width: 1.25rem; height: 1.25rem; min-height: 0; padding: 0; margin: 0.2rem 0 0; accent-color: var(--color-primary-dark); }
.contact-form .contact-choice span { min-width: 0; }
.contact-hint { display: block; font-size: var(--font-size-secondary); color: var(--color-text-muted); }
.contact-hint:empty, .contact-form .field-validation-valid { display: none; }
.contact-premium-badge { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.5rem; border-radius: 999px; color: #c5a46d; background: #102b2d; font-size: var(--font-size-small); line-height: 1.5; vertical-align: middle; }
.contact-premium-badge .premium-crown { width: 1rem; height: 1rem; }
.contact-form .input-validation-error { border-color: var(--color-error); }
.contact-form .message-error { margin-bottom: 1.5rem; }
.contact-form .message-error p { color: inherit; }
.contact-form .message-error a { color: inherit; }
.contact-form .contact-declarations { padding-block: 1rem; }
.contact-form .contact-declarations > legend { font-size: 1.2rem; }
.contact-progress { padding: 0.6rem 1rem; background: var(--color-accent); color: var(--color-primary-dark); border-radius: 999px; font-weight: 650; }
.contact-step-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.contact-page [hidden] { display: none !important; }
.contact-page :is(input, textarea, select, fieldset) { scroll-margin-top: 7rem; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-fields-grid { display: grid; gap: 0 1.25rem; }
.contact-form button:disabled { opacity: 0.7; cursor: wait; }
@media (min-width: 48rem) {
  .contact-page .contact-studio-layout { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .contact-paths, .contact-fields-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
