.mq-contact { background: var(--color-surface-muted); border-top: 1px solid var(--color-border); scroll-margin-top: 1rem; }
.mq-contact__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.mq-contact__intro, .mq-contact__panel { min-width: 0; }
.mq-contact h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.mq-contact__intro > p { max-width: 38ch; }
.mq-contact__email-label { margin: 2rem 0 .3rem; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.mq-contact__email { color: var(--color-link); font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 600; text-underline-offset: .25em; overflow-wrap: anywhere; }
.mq-contact__hint { color: var(--color-text-soft); font-size: .88rem; margin-top: .7rem; }
.mq-contact__panel { padding: clamp(1.25rem, 3vw, 2rem); background: var(--color-canvas); border: 1px solid var(--color-border); border-top: 3px solid var(--color-accent); border-radius: var(--radius-sm); }
.mq-contact__form { position: relative; }
.mq-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.mq-contact__field { min-width: 0; }
.mq-contact__field--full { grid-column: 1 / -1; }
.mq-contact__field label { display: block; margin-bottom: .45rem; font-size: .88rem; font-weight: 600; }
.mq-contact__field label span { font-weight: 400; }
.mq-contact__field input, .mq-contact__field textarea { display: block; width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-canvas); color: var(--color-text); font-size: 1rem; line-height: 1.5; }
.mq-contact__field textarea { min-height: 160px; resize: vertical; }
.mq-contact__field input::placeholder { color: var(--color-text-soft); opacity: 1; }
.mq-contact__privacy { color: var(--color-text-soft); font-size: .8rem; line-height: 1.65; margin: 1.2rem 0; }
.mq-contact__form button { border: 0; cursor: pointer; }
.mq-contact__form button:disabled { cursor: wait; opacity: .7; }
.mq-contact__notice { padding: 1rem; margin-bottom: 1.5rem; background: var(--color-surface); border: 1px solid var(--color-border-strong); border-left: 3px solid var(--color-accent-strong); }
.mq-contact__notice p, .mq-contact__notice ul { margin: .4rem 0 0; }
.mq-contact__notice ul { padding-left: 1.2rem; }
.mq-contact__notice--error { border-left-color: #9a382a; }
.mq-contact__error { font-size: .8rem; color: #9a382a; margin: .45rem 0 0; }
.mq-contact__field [aria-invalid="true"] { border-color: #9a382a; }
.mq-contact__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 840px) { .mq-contact__grid { grid-template-columns: minmax(0, 1fr); } .mq-contact__intro > p { max-width: 60ch; } }
@media (max-width: 620px) { .mq-contact__fields { grid-template-columns: minmax(0, 1fr); } .mq-contact__form button { width: 100%; } }
