/* Contact Section */
.contact-wrapper { display:grid; gap:2.25rem; }
/* If you want a soft content width cap while still matching others, uncomment:
	.contact-wrapper { max-width: var(--container-max); }
*/
.contact-wrapper > h2, .contact-wrapper > p, .contact-wrapper > form, .contact-wrapper > .contact-links { margin-left:0; }
.contact-intro { font-size:.95rem; color:var(--color-text-dim); max-width:600px; }
.contact-form { display:grid; gap:1rem; }
.contact-form .field { display:grid; gap:.35rem; }
.contact-form label { font-size:.7rem; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:var(--color-text-dim); }
.contact-form input, .contact-form textarea { background: rgba(255,255,255,.03); border:1px solid var(--color-border); border-radius: var(--radius-ui); padding:.85rem 1rem; color:var(--color-text); font:inherit; resize:vertical; min-height:48px; transition:background .25s ease, border-color .25s ease; position:relative; z-index:1; }
.contact-form input:focus, .contact-form textarea:focus { background: var(--color-bg-alt); }
.contact-form textarea { min-height:140px; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible { outline:2px solid var(--color-accent); outline-offset:0; }
.form-status { font-size:.75rem; min-height:1.1em; }
.contact-response-note { font-size:.7rem; color:var(--color-text-dim); margin:.35rem 0 0; letter-spacing:.4px; }
.contact-response-note strong { color:var(--color-accent); font-weight:600; }
.contact-links { display:flex; flex-wrap:wrap; gap:.75rem; }
.contact-links a { display:inline-flex; align-items:center; gap:.45rem; background:rgba(255,255,255,.03); border:1px solid var(--color-border); padding:.6rem .9rem; border-radius: var(--radius-ui); font-size:.75rem; color:var(--color-text-dim); font-weight:500; letter-spacing:.5px; }
.contact-links a:hover, .contact-links a:focus-visible { background:var(--color-accent); color:#fff; text-decoration:none; box-shadow:0 0 0 3px rgba(99,102,241,.35); }
/* Compact button variant for contact submit */
.contact-form .btn-compact { 
	--btn-pad: .4rem .6rem; /* tighter than global compact */
	padding: var(--btn-pad); 
	font-size:.78rem; 
	line-height:1.05; 
	border-radius: var(--radius-md); 
	box-shadow: var(--shadow-sm); 
	display:inline-block; 
	inline-size: fit-content; 
	min-width:0; 
	letter-spacing:.3px; 
}
/* CTA block */
.contact-cta { background:transparent; border:1px solid rgba(255,255,255,.08); padding:1.4rem 1.6rem 1.55rem; border-radius:var(--radius-lg); display:grid; gap:.85rem; position:relative; overflow:hidden; box-shadow:0 6px 18px -8px rgba(0,0,0,.55); }
.contact-cta::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(99,102,241,.14), rgba(99,102,241,.06)); pointer-events:none; z-index:0; }
.contact-cta::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 15%, rgba(255,255,255,.08), transparent 55%); pointer-events:none; z-index:0; }
.contact-cta .contact-form { position:relative; z-index:1; }
.contact-cta .cta-heading { font-size:1.05rem; font-weight:700; letter-spacing:.6px; line-height:1.25; }
.contact-cta .cta-sub { font-size:.85rem; color:var(--color-text-dim); max-width:620px; line-height:1.35; }
.contact-cta .cta-actions { margin-top:.25rem; }
.contact-cta .btn-primary { font-size:.8rem; padding:.75rem 1.1rem; letter-spacing:.5px; font-weight:600; box-shadow:0 4px 12px -6px rgba(0,0,0,.4); }
.contact-cta .btn-primary:hover { transform:translateY(-2px); }
/* New contact header layout */
.contact-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:0 0 .25rem; }
.contact-head .cta-heading { margin:0; }
.contact-head .head-actions { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.contact-head .micro { color:var(--color-text-dim); font-size:.85rem; }
/* Submit row to avoid awkward wide button alignment */
.contact-submit-row { display:flex; gap:.5rem; align-items:center; margin-top:.25rem; }
@media (max-width: 640px) {
  .contact-cta { padding:1.15rem 1.1rem 1.25rem; }
  .contact-cta .cta-heading { font-size:.98rem; }
  .contact-cta .cta-sub { font-size:.8rem; }
}
/* Separate form container background (lighter) */
.contact-form-wrapper { background:linear-gradient(135deg, rgba(99,102,241,.08), rgba(99,102,241,.035)); border:1px solid rgba(255,255,255,.06); padding:1.25rem 1.4rem 1.45rem; border-radius:var(--radius-lg); box-shadow:0 6px 16px -8px rgba(0,0,0,.48); display:grid; gap:1.15rem; position:relative; overflow:hidden; }
.contact-form-wrapper::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 22%, rgba(255,255,255,.07), transparent 58%); pointer-events:none; }
