/* ============================================================
   NOVA · Contact
   Premium support/sales/contact surface built on shared tokens.
   ============================================================ */

.contact-main{padding-top:72px}
.contact-hero{position:relative;overflow:hidden;padding:88px 0 56px;border-bottom:1px solid var(--border-subtle)}
.contact-hero-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 52% 56% at 24% 4%,var(--iris-glow),transparent 72%),linear-gradient(180deg,var(--bg-1),var(--bg-0))}
.contact-hero .wrap{position:relative}
.contact-hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(38px,4.4vw,60px);line-height:1.05;letter-spacing:-.02em;max-width:760px}
.contact-hero p{margin-top:18px;max-width:58ch;color:var(--text-secondary);font-size:17px;line-height:27px}
.contact-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

.contact-section{padding:72px 0 96px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}
.contact-ways{display:grid;gap:14px}
.contact-card{padding:22px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-1);transition:transform var(--dur-hover) var(--ease-out),border-color var(--dur-hover) var(--ease-out),box-shadow var(--dur-hover) var(--ease-out)}
.contact-card:hover{transform:translateY(-2px);border-color:var(--border-default);box-shadow:var(--shadow-3)}
.contact-card h2{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.01em}
.contact-card p{margin-top:10px;color:var(--text-secondary);font-size:13.5px;line-height:21px}
.contact-card a{display:inline-flex;margin-top:14px;color:var(--iris-500);text-decoration:none;font-weight:600;font-size:13px}
.contact-card a:hover{color:var(--iris-300)}

.contact-form-wrap{padding:28px;border:1px solid var(--glass-border);border-radius:var(--radius-2xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-4),0 32px 80px var(--iris-glow)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.contact-form-wrap{background:var(--bg-1)}}
.contact-form-head h2{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.02em}
.contact-form-head p{margin-top:8px;color:var(--text-secondary);font-size:14px;line-height:22px}
.contact-form{display:grid;gap:16px;margin-top:24px}
.field{display:grid;gap:7px}
.field label{font-size:12px;font-weight:600;color:var(--text-primary)}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-0);color:var(--text-primary);font:500 14px/1.4 var(--font-body);padding:13px 14px;transition:border-color var(--dur-hover) var(--ease-out),background var(--dur-hover) var(--ease-out),box-shadow var(--dur-hover) var(--ease-out)}
.field textarea{min-height:140px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong);background:var(--bg-1)}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--warning);box-shadow:0 0 0 3px rgba(245,184,76,.12)}
.field-error{min-height:18px;color:var(--warning);font-size:12px;line-height:18px}
.contact-status{min-height:22px;color:var(--text-secondary);font-size:13px;line-height:22px}
.contact-status[data-state="success"]{color:var(--success)}
.contact-status[data-state="error"]{color:var(--warning)}
.contact-form .btn-download{width:100%;height:52px}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .contact-hero{padding:72px 0 44px}
  .contact-section{padding:56px 0 72px}
  .contact-form-wrap{padding:22px;border-radius:var(--radius-xl)}
}
