.contact-hero{background-color:var(--bg-primary);padding-block:var(--space-20) var(--space-12);text-align:center}.contact-hero__title{font-size:clamp(2.75rem,6vw,5rem);line-height:1.02;letter-spacing:-.025em;font-weight:var(--fw-semibold);text-wrap:balance;max-width:14ch;margin:0 auto var(--space-5)}.contact-hero__sub{font-size:var(--fs-xl);color:var(--text-secondary);max-width:48ch;margin:0 auto;text-wrap:pretty;line-height:1.45}.contact-form-section{background-color:var(--bg-primary);padding-block:var(--space-8) var(--section-pad-md, var(--space-20))}.contact-form-wrap{max-width:520px;margin-inline:auto}.contact-form{background:var(--brand-neutral-dark);color:var(--text-on-dark);border-radius:28px;padding:var(--space-10) var(--space-8);display:flex;flex-direction:column;gap:var(--space-5);box-shadow:var(--shadow-lg)}@media(max-width:540px){.contact-form{padding:var(--space-8) var(--space-5);border-radius:24px}}.contact-field{display:flex;flex-direction:column;gap:var(--space-2)}.contact-field__label{text-align:center;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:#ffffffeb;letter-spacing:-.01em}.contact-field__input,.contact-field__textarea{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:14px 22px;font-family:var(--font-body);font-size:var(--fs-base);color:#fff;line-height:1.4;width:100%;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.contact-field__input::placeholder,.contact-field__textarea::placeholder{color:#ffffff52}.contact-field__input:focus,.contact-field__textarea:focus{outline:none;border-color:var(--brand-neon-green);background:#e6ff020a}.contact-field__textarea{border-radius:22px;min-height:132px;resize:vertical;padding:16px 22px;font-family:var(--font-body)}.grecaptcha-badge{visibility:hidden}.contact-form__recaptcha-notice{margin:var(--space-2) 0 0;font-size:11px;line-height:1.4;color:#ffffff80;text-align:center}.contact-form__recaptcha-notice a{color:#ffffffb3;text-decoration:underline}.contact-form__recaptcha-notice a:hover{color:var(--brand-neon-green)}.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-form__submit{position:relative;margin-top:var(--space-3);background:var(--brand-neon-green);color:var(--brand-neutral-dark);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-base);border-radius:999px;padding:18px 32px;width:100%;text-align:center;cursor:pointer;transition:background-color var(--transition-default),color var(--transition-default),transform var(--transition-default);border:none;letter-spacing:-.005em}.contact-form__submit:hover{background:var(--brand-pale-stone)}.contact-form__submit:active{transform:scale(.985)}.contact-form__submit:disabled{cursor:not-allowed;opacity:.7}.contact-form__submit:disabled:hover{background:var(--brand-neon-green)}.contact-form__submit-spinner{display:none;width:18px;height:18px;border:2px solid rgba(17,25,12,.25);border-top-color:var(--brand-neutral-dark);border-radius:var(--radius-pill);animation:contact-spin .7s linear infinite;margin-left:10px;vertical-align:-3px}.contact-form.is-loading .contact-form__submit-spinner{display:inline-block}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-form__error{margin:0;padding:12px 18px;border-radius:16px;background:#ff50501f;border:1px solid rgba(255,120,120,.35);color:#ffdcdcf2;font-size:var(--fs-sm);line-height:1.5;text-align:center}.contact-form__error a{color:var(--brand-neon-green);text-decoration:underline}.contact-form.is-submitted .contact-field,.contact-form.is-submitted .contact-honeypot,.contact-form.is-submitted .contact-form__submit,.contact-form.is-submitted .contact-form__error,.contact-form.is-submitted .contact-form__recaptcha-notice{display:none}.contact-form__success{display:none;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-6) 0}.contact-form.is-submitted .contact-form__success{display:flex}.contact-form__success-check{width:56px;height:56px;border-radius:var(--radius-pill);background:var(--brand-neon-green);color:var(--brand-neutral-dark);display:grid;place-items:center;font-size:28px;font-weight:var(--fw-bold)}.contact-form__success h3{font-size:1.5rem;font-weight:var(--fw-semibold);letter-spacing:-.02em;color:#fff}.contact-form__success p{font-size:var(--fs-base);color:#ffffffb3;line-height:1.5;max-width:36ch}
