.contact-page{background-color:var(--bg)} .contact-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:4rem 0;position:relative;overflow:hidden} .contact-hero-content{max-width:var(--max-width);margin:0 auto;padding:0 var(--padding-horizontal);position:relative;z-index:2;text-align:center} .contact-hero h1{font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem;color:var(--white)} .contact-hero p{font-size:1.25rem;line-height:1.6;margin-bottom:2rem;opacity:0.95;color:rgba(255,255,255,0.9);max-width:700px;margin-left:auto;margin-right:auto} .contact-content{padding:5rem 0} .contact-container{max-width:1200px;margin:0 auto;padding:0 var(--padding-horizontal)} .contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start} .contact-info{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border-light);height:fit-content;position:sticky} .contact-info h2{font-size:1.75rem;margin-bottom:2rem;color:var(--text);display:flex;align-items:center;gap:0.75rem;padding-bottom:1rem;border-bottom:2px solid var(--primary-light);position:relative} .contact-info h2::after{content:'';position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:var(--primary);border-radius:2px} .contact-info h2 svg{width:24px;height:24px;color:var(--primary);flex-shrink:0} .contact-methods{display:flex;flex-direction:column;gap:1.5rem} .contact-method{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-md);transition:var(--transition);border:1px solid transparent} .contact-method:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)} .contact-method-icon{width:48px;height:48px;background:var(--primary-extra-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0} .contact-method-icon svg{width:24px;height:24px;color:var(--primary)} .contact-method-content h3{font-size:1.125rem;margin:0 0 0.5rem 0;color:var(--text)} .contact-method-content p{font-size:1rem;margin:0 0 0.5rem 0;color:var(--text-medium)} .contact-method-content a{color:var(--primary);text-decoration:none;font-weight:500;transition:var(--transition)} .contact-method-content a:hover{color:var(--primary-dark)} .response-time{font-size:0.875rem;color:var(--text-light);font-style:italic} .contact-form-section{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border-light)} .contact-form-section h2{font-size:1.75rem;margin-bottom:2rem;color:var(--text);display:flex;align-items:center;gap:0.75rem;padding-bottom:1rem;border-bottom:2px solid var(--primary-light);position:relative} .contact-form-section h2::after{content:'';position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:var(--primary);border-radius:2px} .contact-form-section h2 svg{width:24px;height:24px;color:var(--primary);flex-shrink:0} .contact-form{display:flex;flex-direction:column;gap:1.5rem} .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem} .form-group{display:flex;flex-direction:column;gap:0.5rem} .form-group.full-width{grid-column:1 / -1} .form-group label{font-weight:500;color:var(--text);font-size:0.95rem} .form-group label .required{color:#DC2626} .form-group input,.form-group select,.form-group textarea{background:var(--white);border:1px solid var(--border);color:var(--text);padding:0.875rem 1rem;border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-sans);transition:var(--transition)} .form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)} .form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)} .form-group textarea{resize:vertical;min-height:120px;line-height:1.5} .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px} .submit-btn{background:var(--primary);color:var(--white);border:none;border-radius:var(--radius-md);padding:1rem 2rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:1rem} .submit-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)} .submit-btn:disabled{background:var(--gray);cursor:not-allowed;transform:none;box-shadow:none} .submit-btn svg{width:20px;height:20px} .form-message{padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-weight:500} .form-message.success{background:#D1FAE5;color:#065F46;border:1px solid #A7F3D0} .form-message.error{background:#FEE2E2;color:#991B1B;border:1px solid #FECACA} .form-message.info{background:#DBEAFE;color:#1E40AF;border:1px solid #BFDBFE} .faq-cta{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:3rem 2rem;margin-top:4rem;text-align:center} .faq-cta h2{font-size:2rem;margin-bottom:1rem;color:var(--text)} .faq-cta p{font-size:1.125rem;margin-bottom:2rem;color:var(--text-medium);max-width:600px;margin-left:auto;margin-right:auto} .faq-link{display:inline-flex;align-items:center;gap:0.75rem;padding:1rem 2rem;background:var(--primary);color:var(--white);border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:var(--transition);border:1px solid var(--border-light)} .faq-link:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)} .faq-link svg{width:20px;height:20px} @media (max-width:968px){.contact-layout{grid-template-columns:1fr;gap:3rem} .contact-info{position:static} } @media (max-width:768px){.contact-hero{padding:3rem 0} .contact-hero h1{font-size:2.25rem} .contact-hero p{font-size:1.125rem} .contact-info,.contact-form-section{padding:2rem} .contact-info h2,.contact-form-section h2{font-size:1.5rem} .form-row{grid-template-columns:1fr;gap:1rem} .faq-cta{padding:2rem 1rem} .faq-cta h2{font-size:1.5rem} } @media (max-width:480px){.contact-content{padding:3rem 0} .contact-hero h1{font-size:2rem} .contact-hero p{font-size:1rem} .contact-info,.contact-form-section{padding:1.5rem} .contact-info h2,.contact-form-section h2{font-size:1.25rem} .contact-method{flex-direction:column;text-align:center;align-items:center;gap:1.25rem;padding:2rem 1.5rem} .contact-method-icon{align-self:center;margin:0 auto;display:flex;justify-content:center;align-items:center} .contact-method-icon{width:60px;height:60px;background:var(--primary-light);border-radius:var(--radius-lg)} .contact-method-icon svg{width:28px;height:28px;color:var(--primary)} .faq-cta h2{font-size:1.25rem} .faq-cta p{font-size:1rem} } .contact-info,.contact-form-section,.faq-cta{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease} .contact-info.visible,.contact-form-section.visible,.faq-cta.visible{opacity:1;transform:translateY(0)}