.contact-page { min-height:100vh; background:radial-gradient(circle at 86% 14%,rgba(28,152,237,.12),transparent 25%),radial-gradient(circle at 10% 78%,rgba(255,92,172,.08),transparent 29%),var(--paper); }
.contact-page-header { border-color:var(--line); background:rgba(7,8,10,.82); backdrop-filter:blur(18px); }
.contact-main { position:relative; display:grid; max-width:var(--max); min-height:100svh; grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr); gap:clamp(3rem,7vw,8rem); margin:auto; padding:clamp(10rem,16vw,14rem) var(--pad) 7rem; }
.contact-main::before { position:absolute; top:0; bottom:0; left:42%; width:1px; content:''; background:linear-gradient(transparent,var(--line) 18%,var(--line) 82%,transparent); }
.contact-intro { position:sticky; top:10rem; align-self:start; }
.contact-intro h1 { margin:1.5rem 0 2rem; font-size:clamp(3.7rem,6.5vw,7.2rem); }
.contact-intro h1 em { color:transparent; font-style:normal; background:linear-gradient(100deg,var(--blue),var(--pink)); background-clip:text; -webkit-background-clip:text; }
.contact-intro > p:not(.eyebrow) { max-width:580px; color:var(--muted); font-size:clamp(1rem,1.3vw,1.2rem); }
.contact-expectations { display:grid; gap:0; margin-top:4rem; border-top:1px solid var(--line); }
.contact-expectations p { display:grid; grid-template-columns:2.4rem 1fr; gap:1rem; margin:0; padding:1.15rem 0; border-bottom:1px solid var(--line); color:#c8c9ce; font-size:.84rem; }
.contact-expectations span { color:var(--blue); font:400 .65rem 'DM Mono',monospace; }
.contact-form-panel { position:relative; }
.form-heading { margin-bottom:3.5rem; }
.form-heading h2 { max-width:650px; margin:1rem 0; font-size:clamp(2.4rem,4vw,4.8rem); }
.form-heading > p:last-child { color:var(--muted); font-size:.78rem; }
.form-heading > p:last-child span { color:var(--pink); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem 1.5rem; }
.form-field { position:relative; min-width:0; padding-top:.8rem; }
.form-field-wide,.turnstile-field,.form-actions,.form-status,.form-privacy { grid-column:1/-1; }
.form-field input,.form-field textarea,.form-field select { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.28); border-radius:0; outline:0; color:var(--ink); background:transparent; font:500 1rem Manrope,Arial,sans-serif; transition:border-color .25s,box-shadow .25s; }
.form-field input { min-height:58px; padding:1.25rem 0 .45rem; }
.form-field textarea { min-height:180px; padding:1.65rem 0 .8rem; resize:vertical; line-height:1.6; }
.form-field select { min-height:58px; padding:.85rem 2rem .75rem 0; color:var(--ink); appearance:auto; }
.form-field > label:not(.form-select-field label) { position:absolute; top:1.75rem; left:0; color:#b8b9bf; pointer-events:none; transition:top .22s var(--ease),font-size .22s,color .22s; }
.form-field input:focus + label,.form-field input:not(:placeholder-shown) + label,.form-field textarea:focus + label,.form-field textarea:not(:placeholder-shown) + label { top:.45rem; color:var(--blue); font-size:.68rem; font-family:'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:var(--blue); box-shadow:0 1px 0 var(--blue); }
.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true] { border-color:var(--pink); box-shadow:0 1px 0 var(--pink); }
.form-select-field { display:flex; flex-direction:column; gap:.35rem; }
.form-select-field label { color:var(--blue); font:400 .68rem 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.form-field label span { color:var(--pink); }
.field-hint,.field-error,.field-meta { margin:.55rem 0 0; font-size:.7rem; }
.field-hint,.field-meta { color:#777981; }
.field-error { min-height:1.1em; color:#ff82bd; }
.field-meta { display:flex; gap:1rem; justify-content:space-between; }
.field-meta .field-hint { max-width:560px; margin:0; }
.field-meta > span { flex:none; font-family:'DM Mono',monospace; }
.spam-field { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.turnstile-field { display:grid; min-height:72px; align-items:start; gap:.5rem; }
.turnstile-field > div { min-height:65px; }
.turnstile-field p { margin:0; color:#74767e; font-size:.68rem; }
.turnstile-meta { display:flex; min-height:24px; align-items:center; gap:1rem; }
.turnstile-meta button { padding:0; border:0; color:var(--blue); background:transparent; cursor:pointer; font:500 .68rem 'DM Mono',monospace; letter-spacing:.05em; text-decoration:underline; text-underline-offset:4px; }
.turnstile-meta button:hover,.turnstile-meta button:focus-visible { color:var(--pink); }
.turnstile-meta button:disabled { opacity:.55; cursor:wait; }
.form-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:.5rem; }
.contact-submit { min-width:230px; }
.contact-submit:disabled { opacity:.58; cursor:wait; transform:none; }
.contact-copy { background:transparent; cursor:pointer; }
.contact-copy:hover { color:var(--paper); background:var(--pink); border-color:var(--pink); }
.form-status { min-height:1.5rem; margin:-1.5rem 0 0; color:var(--blue-soft); }
.form-status.is-success { padding:.9rem 1rem; border-left:3px solid #78e0a5; color:#78e0a5; background:rgba(70,190,121,.1); }
.form-status.is-error { color:#ff82bd; }
.form-privacy { margin:-1.3rem 0 0; color:#74767e; font-size:.7rem; }
.contact-direct { grid-column:2; display:flex; min-width:0; align-items:center; justify-content:space-between; gap:2rem; margin-top:2rem; padding:2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.contact-direct p { margin:0; color:var(--muted); }
.contact-direct a { color:var(--blue); font-size:clamp(1.1rem,2vw,1.6rem); transition:color .25s; }
.contact-direct a:hover { color:var(--pink); }
.contact-footer { max-width:var(--max); margin:auto; }

@media (max-width:900px) {
  .contact-main { grid-template-columns:1fr; gap:5rem; padding-top:9rem; }
  .contact-main::before { display:none; }
  .contact-intro { position:static; }
  .contact-direct { grid-column:1; }
  .contact-expectations { margin-top:2.5rem; }
  .contact-form-panel { padding-top:4rem; border-top:1px solid var(--line); }
}

@media (max-width:600px) {
  .contact-main { gap:3.5rem; padding-bottom:4rem; }
  .contact-intro h1 { font-size:clamp(3.15rem,15vw,5rem); }
  .contact-form { grid-template-columns:1fr; gap:2rem; }
  .form-field-wide,.turnstile-field,.form-actions,.form-status,.form-privacy { grid-column:auto; }
  .form-actions { flex-direction:column; }
  .form-actions .button { width:100%; }
  .field-meta { align-items:flex-start; flex-direction:column; }
  .contact-direct { align-items:flex-start; flex-direction:column; }
  .contact-direct a { overflow-wrap:anywhere; }
}

@media (prefers-reduced-motion:reduce) {
  .form-field > label { transition:none; }
}
