.contact-page{width: 100%;overflow: hidden}.contact-hero{background-color: var(--white);padding: 3rem 0 2rem;text-align: center}.contact-hero .hero-content{max-width: 1200px;margin: 0 auto;padding: 0 0.75rem}.hero-content h1{font-size: 2.5rem;font-weight: 700;color: var(--black);margin-bottom: 0.5rem;line-height: 1.15}.hero-content p{font-size: 0.95rem;max-width: 600px;margin: 0 auto;color: #666;line-height: 1.6}.contact-section{padding: 2rem 0;background-color: #f9f9f9}.contact-container{max-width: 1200px;margin: 0 auto;padding: 0 0.75rem}.success-banner{text-align: center;background: var(--success-bg);border-radius: 12px;padding: 2rem 1.5rem;margin-bottom: 1.5rem}.success-banner-icon{width: 44px;height: 44px;margin: 0 auto 0.75rem;color: var(--success)}.success-banner-icon svg{width: 100%;height: 100%;stroke: currentColor}.success-banner h3{font-size: 1.1rem;font-weight: 700;color: var(--success);margin: 0 0 0.35rem}.success-banner p{font-size: 0.875rem;color: var(--gray);margin: 0;line-height: 1.6}.error-banner{background: #ffebee;border-radius: 8px;padding: 0.875rem 1rem;margin-bottom: 1.5rem}.error-banner p{font-size: 0.875rem;color: #c62828;margin: 0;line-height: 1.6}.contact-grid{display: grid;grid-template-columns: 1fr;gap: 1.5rem}.contact-form-wrapper h2{font-size: 1.25rem;margin-bottom: 0.5rem;color: var(--black);padding: 1rem 1rem 0}.form-subtitle{color: var(--gray);margin-bottom: 1.25rem;font-size: 0.9rem;padding: 0 1rem}@media screen and (min-width: 769px){.contact-form-wrapper h2{padding: 0}.form-subtitle{padding: 0}}.contact-form{background-color: var(--white);padding: 1.25rem;border-radius: 12px;box-shadow: 0 2px 10px rgba(0,0,0,0.08)}.form-group{margin-bottom: 1.25rem}.form-group label{display: block;margin-bottom: 0.5rem;font-weight: 600;color: var(--black);font-size: 0.9rem}.required{color: #f44336}.form-group input,.form-group select,.form-group textarea{width: 100%;padding: 0.75rem;border: 2px solid #e0e0e0;border-radius: 8px;font-size: 0.95rem;font-family: inherit;color: var(--black);transition: all 0.3s ease;box-sizing: border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(255,165,0,0.1)}.form-group textarea{resize: vertical;min-height: 100px}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color: #f44336;box-shadow: 0 0 0 3px rgba(244,67,54,0.08)}.form-validation-errors{display: none;background: #ffebee;border-radius: 8px;padding: 0.875rem 1rem;margin-bottom: 1.25rem}.form-validation-errors ul{margin: 0;padding: 0;list-style: none}.form-validation-errors ul li{font-size: 0.875rem;color: #c62828;line-height: 1.6}.form-group small{display: block;margin-top: 0.4rem;font-size: 0.8rem;color: var(--gray)}.char-count{text-align: right}.radio-group{display: flex;flex-direction: column;gap: 0.5rem}.radio-label{display: flex;align-items: center;gap: 0.5rem;cursor: pointer;font-weight: normal}.radio-label input[type="radio"]{width: auto;margin: 0;cursor: pointer}.contact-form .btn-primary{width: 100%}.contact-info-wrapper{background-color: var(--white);padding: 1.25rem;border-radius: 12px;box-shadow: 0 2px 10px rgba(0,0,0,0.08)}.contact-info-wrapper h2{font-size: 1.25rem;margin-bottom: 1.25rem;color: var(--black)}.info-block{display: flex;align-items: flex-start;gap: 1rem;margin-bottom: 1.25rem;padding-bottom: 1.25rem;border-bottom: 1px solid #e0e0e0}.info-block:last-of-type{border-bottom: none;margin-bottom: 0;padding-bottom: 0}.info-icon{flex-shrink: 0;width: 24px;height: 24px;color: var(--primary);margin-top: 2px}.info-icon svg{width: 24px;height: 24px}.info-content h3{margin-bottom: 0.5rem;color: var(--primary);font-size: 1rem}.info-content p{margin: 0.25rem 0;color: var(--gray);line-height: 1.6;font-size: 0.9rem}.info-content a{color: var(--gray);text-decoration: none;transition: color 0.3s ease;font-size: inherit}.info-content a:hover{color: var(--primary)}.social-links{margin-top: 1.25rem;padding-top: 1.25rem;border-top: 1px solid #e0e0e0}.social-links h3{margin-bottom: 1rem;color: var(--black);font-size: 1rem}.social-icons{display: flex;gap: 0.75rem;justify-content: flex-start}.social-icon{display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;background-color: #f5f5f5;border-radius: 50%;text-decoration: none;transition: all 0.3s ease}.social-icon:hover{background-color: var(--primary);transform: translateY(-3px)}.social-icon:hover svg{color: var(--white)}.faq-section{background-color: var(--white);padding: 2rem 0}.faq-section h2{text-align: center}.faq-grid{display: grid;grid-template-columns: 1fr;gap: 1rem}.faq-item{background-color: #f9f9f9;padding: 1.25rem;border-radius: 12px;transition: all 0.3s ease}.faq-item:hover{transform: translateY(-3px);box-shadow: 0 4px 15px rgba(0,0,0,0.08)}.faq-item h3{color: var(--black);margin-bottom: 0.75rem;font-size: 1.1rem}.faq-item p{color: var(--gray);line-height: 1.6;margin: 0;font-size: 0.9rem}.faq-item a{color: var(--primary);text-decoration: none;font-weight: 600}.faq-item a:hover{color: var(--secondary)}@media screen and (min-width: 480px){.contact-hero{padding: 3rem 0 2rem}.contact-hero .hero-content{padding: 0 1rem}.hero-content h1{font-size: 2.5rem}.hero-content p{font-size: 1rem}.contact-container{padding: 0 1rem}.contact-form{padding: 1.5rem}.contact-info-wrapper{padding: 1.5rem}.faq-item{padding: 1.5rem}.faq-grid{gap: 1.5rem}}@media screen and (min-width: 769px){.contact-hero{padding: 4rem 0 3rem}.hero-content h1{font-size: 2.75rem;margin-bottom: 0.75rem}.hero-content p{font-size: 1.1rem}.contact-section{padding: 3rem 0}.contact-grid{grid-template-columns: 1.2fr 0.8fr;gap: 2rem}.contact-form-wrapper h2,.contact-info-wrapper h2{font-size: 1.5rem}.form-subtitle{margin-bottom: 1.5rem}.contact-form{padding: 2rem}.contact-info-wrapper{padding: 2rem}.radio-group{flex-direction: row;gap: 1.5rem;flex-wrap: wrap}.faq-section{padding: 4rem 0}.faq-grid{grid-template-columns: repeat(2,1fr);gap: 2rem}.faq-item{padding: 2rem}.info-block{margin-bottom: 1.5rem;padding-bottom: 1.5rem}.contact-info-wrapper h2{margin-bottom: 1.5rem}.social-links{margin-top: 1.5rem;padding-top: 1.5rem}}@media screen and (min-width: 1025px){.contact-hero{padding: 5rem 0 4rem}.hero-content h1{font-size: 3rem}.hero-content p{font-size: 1.2rem}.contact-section{padding: 4rem 0}.faq-section{padding: 5rem 0}.faq-grid{grid-template-columns: repeat(3,1fr)}}