.contact-page { color: var(--ink); min-height: 100vh; }
.contact-page::before { content: ''; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 80% 20%,rgba(156,133,212,.1),transparent 60%); }
.contact-layout { max-width: 1180px; margin: auto; padding: 156px 30px 70px; min-height: calc(100dvh - 75px); display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 80px; }
.contact-intro { align-self: start; padding-top: 24px; }
.contact-back { display: inline-block; margin-bottom: 52px; color: var(--body-copy); font-size: .875rem; text-decoration: none; }
.contact-back:hover, .contact-direct:hover { color: var(--heading-accent); }
.contact-intro h1 { font: 400 clamp(4.5rem,7.8vw,7rem)/.96 'Bebas Neue',sans-serif; letter-spacing: .01em; }
.contact-intro h1 span { color: var(--heading-accent); }
.contact-intro > p:not(.section-kicker) { margin-top: 26px; color: var(--body-copy); font-size: 1.0625rem; line-height: 1.7; }
.contact-direct { display: inline-block; margin-top: 30px; font-size: .875rem; text-underline-offset: 5px; overflow-wrap: anywhere; }
.contact-card { min-width: 0; background: var(--surface); border: 1px solid var(--rule); border-radius: 22px; padding: 32px; box-shadow: 0 18px 60px rgba(25,18,45,.06); }
.form-intro { font-size: 1.25rem; font-weight: 600; }
.form-requirements { font-size: .8125rem; color: var(--body-copy); margin: 8px 0 28px; }
.contact-field { margin-bottom: 20px; }
.contact-field label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: 9px; }
.contact-field label span { font-weight: 400; color: var(--body-copy); }
.contact-field input, .contact-field textarea { display: block; width: 100%; border: 1px solid var(--rule); border-radius: 9px; padding: 13px 14px; background: var(--panel); color: var(--ink); font: 400 1rem/1.5 'DM Sans',sans-serif; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: var(--body-copy); opacity: .8; }
.contact-field textarea { resize: vertical; min-height: 120px; }
.contact-field input:focus, .contact-field textarea:focus { outline: 2px solid var(--heading-accent); outline-offset: 3px; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-privacy { font-size: .8125rem; color: var(--body-copy); line-height: 1.6; margin: 4px 0 20px; }
.contact-card .btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 50px; padding: 14px 24px; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: var(--panel); font: 600 1rem/1.2 'DM Sans',sans-serif; text-decoration: none; cursor: pointer; }
.contact-submit { width: 100%; }
.contact-submit:disabled { opacity: .6; cursor: wait; }
.contact-status { font-size: .875rem; color: var(--body-copy); line-height: 1.5; margin-top: 16px; }
.contact-status:empty { display: none; }
.contact-status[data-error="true"] { color: #a62e38; }
html[data-theme="dark"] .contact-status[data-error="true"] { color: #ffabb4; }
.contact-success h2 { font: 400 clamp(2.75rem,5vw,4rem)/1.05 'Bebas Neue',sans-serif; }
.contact-success > p:not(.section-kicker) { color: var(--body-copy); margin: 22px 0 28px; line-height: 1.7; }
.contact-footer { position: relative; z-index: 10; max-width: 1180px; margin: auto; padding: 24px 30px; display: flex; justify-content: space-between; gap: 16px; color: var(--body-copy); font-size: .75rem; }
@media (max-width: 760px) {
  .contact-layout { grid-template-columns: 1fr; gap: 30px; padding: 120px 20px 40px; }
  .contact-intro { padding: 0; }
  .contact-back { margin-bottom: 30px; }
  .contact-intro h1 { font-size: clamp(4rem,15vw,6rem); }
  .contact-intro .section-kicker { margin-bottom: 14px; }
  .contact-direct { margin-top: 16px; }
  .contact-card { padding: 24px; border-radius: 18px; }
  .contact-footer { padding: 24px 20px; flex-wrap: wrap; }
}
