.contact-root{--navy:#0f2b46;--navy-hover:#1a3a5c;--accent:#5b4fc7;--white:#fff;--off-white:#f5f6f8;--green-bg:#f2f7f4;--green-dark:#2d6a4f;--green-light:#dceee4;--gray-200:#e4e5e1;--gray-400:#999;--gray-600:#555;--gray-800:#222;--text:#1a1a1a;--sans:"Outfit",system-ui,sans-serif;--display:"DM Sans",system-ui,sans-serif;font-family:var(--sans);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;min-height:100vh}.contact-root a{text-decoration:none;color:inherit}.contact-root .contact-page{padding:120px 0 80px;min-height:100vh;background:var(--green-bg)}.contact-root .contact-container{max-width:1060px;margin:0 auto;padding:0 28px;display:flex;gap:56px;align-items:flex-start}.contact-root .contact-copy{flex:1;max-width:400px;padding-top:24px}.contact-root .contact-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-dark);margin-bottom:20px}.contact-root .contact-headline{font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,3.5vw,40px);font-weight:400;line-height:1.15;color:var(--navy);margin-bottom:16px;letter-spacing:-.01em}.contact-root .contact-subtitle{font-size:15px;color:var(--gray-600);line-height:1.65;margin-bottom:40px}.contact-root .contact-methods{display:flex;flex-direction:column;gap:20px}.contact-root .contact-method{display:flex;gap:14px;align-items:flex-start}.contact-root .method-icon{width:40px;height:40px;border-radius:10px;background:var(--white);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-root .method-icon svg{width:18px;height:18px;color:var(--navy)}.contact-root .method-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);margin-bottom:2px}.contact-root .method-value{font-size:14px;color:var(--navy);font-weight:500}.contact-root .method-value a{color:var(--navy);transition:opacity .2s}.contact-root .method-value a:hover{opacity:.7}.contact-root .contact-form-wrap{flex:1;max-width:520px}.contact-root .contact-card{background:var(--white);border-radius:16px;padding:36px 32px;box-shadow:0 4px 24px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.06)}.contact-root .form-title{font-family:var(--display);font-size:20px;font-weight:800;color:var(--navy);margin-bottom:4px}.contact-root .form-subtitle{font-size:13px;color:var(--gray-400);margin-bottom:28px}.contact-root .field{margin-bottom:20px}.contact-root .field:last-of-type{margin-bottom:24px}.contact-root .field-label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px}.contact-root .field-label .req{color:#dc2626;margin-left:2px}.contact-root .field-input{width:100%;padding:12px 14px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:14px;font-family:var(--sans);color:var(--gray-800);background:var(--white);transition:border-color .2s;outline:none}.contact-root .field-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,43,70,.06)}.contact-root .field-input::-moz-placeholder{color:var(--gray-400)}.contact-root .field-input::placeholder{color:var(--gray-400)}.contact-root textarea.field-input{min-height:120px;resize:vertical}.contact-root .submit-btn{width:100%;padding:15px 24px;border:none;border-radius:8px;background:var(--navy);color:var(--white);font-size:15px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:background .2s;margin-bottom:12px}.contact-root .submit-btn:hover{background:var(--navy-hover)}.contact-root .submit-btn:disabled{opacity:.6;cursor:not-allowed}.contact-root .form-note{font-size:11px;color:var(--gray-400);text-align:center;line-height:1.5}.contact-root .form-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 14px;border-radius:8px;font-size:13px;margin-bottom:18px}@media(max-width:900px){.contact-root .contact-container{flex-direction:column;gap:32px}.contact-root .contact-copy{max-width:100%}.contact-root .contact-form-wrap{max-width:100%;width:100%}}@media(max-width:540px){.contact-root .contact-page{padding:100px 0 60px}.contact-root .contact-container{padding:0 16px}.contact-root .contact-card{padding:28px 20px}.contact-root .contact-headline{font-size:28px}.contact-root .submit-btn{min-height:44px}.contact-root .method-value a{display:inline-block;padding:8px 0;min-height:44px;line-height:28px}.contact-root .contact-method{padding:8px 0}}