.hero .contact-hero-sub{max-width:560px;margin:0 auto;font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.hero .anim-up{opacity:0;transform:translateY(20px);animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeSlideUp;animation-delay:var(--delay, 0s)}@keyframes fadeSlideUp{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero .anim-up{opacity:1;transform:none;animation:none}}.contact-content{padding:var(--section-padding) 0;background:var(--color-bg)}.contact-layout{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:start}@media (min-width:768px){.contact-layout{grid-template-columns:1fr 360px;gap:var(--space-16)}}@media (min-width:1280px){.contact-layout{grid-template-columns:1fr 400px}}.contact-form-wrap h2{font-size:var(--text-3xl);font-weight:800;letter-spacing:var(--tracking-tight);margin-bottom:var(--space-3)}.contact-form-desc{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-8)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group--full{grid-column:1/-1}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.form-required{color:var(--color-primary)}.form-optional{font-weight:400;color:var(--color-text-tertiary)}.form-group input,.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:inherit;color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:0}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-tertiary)}.form-group input:hover,.form-group textarea:hover{border-color:var(--color-border-hover)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(108,60,245,.1)}.form-group input:invalid:not(:placeholder-shown),.form-group textarea:invalid:not(:placeholder-shown){border-color:var(--color-error)}.form-group input:invalid:not(:placeholder-shown):focus,.form-group textarea:invalid:not(:placeholder-shown):focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-group textarea{resize:vertical;min-height:120px}.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.form-checkbox input{position:absolute;opacity:0;width:0;height:0}.form-checkbox-box{flex-shrink:0;width:20px;height:20px;border:1.5px solid var(--color-border-hover);border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);margin-top:1px}.form-checkbox-box svg{width:12px;height:10px;display:inline;color:var(--color-on-primary);opacity:0;transform:scale(.6);transition:opacity var(--transition-fast),transform var(--transition-fast)}.form-checkbox input:checked+.form-checkbox-box{background:var(--color-primary);border-color:var(--color-primary)}.form-checkbox input:checked+.form-checkbox-box svg{opacity:1;transform:scale(1)}.form-checkbox input:focus-visible+.form-checkbox-box{box-shadow:0 0 0 3px rgba(108,60,245,.15)}.form-checkbox:hover .form-checkbox-box{border-color:var(--color-primary-light)}.form-checkbox-label{flex:1}.contact-submit{width:100%;justify-content:center}@media (min-width:768px){.contact-submit{width:auto}}.form-success{grid-column:1/-1;text-align:center;padding:var(--space-12) var(--space-6)}.form-success-icon{width:56px;height:56px;border-radius:50%;background:var(--color-success-surface);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.form-success-icon svg{width:28px;height:28px;display:inline;stroke:var(--color-success)}.form-success h3{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2)}.form-success p{color:var(--color-text-secondary);font-size:var(--text-base);max-width:400px;margin:0 auto}.contact-info{display:flex;flex-direction:column;gap:var(--space-5)}.contact-card{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.contact-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-xs);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.contact-card:hover{transform:none}}.contact-card-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-surface-2);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);transition:background var(--transition-base)}.contact-card:hover .contact-card-icon{background:var(--color-surface-3)}.contact-card-icon svg{width:20px;height:20px;display:inline;color:var(--color-text-secondary)}.contact-card-icon--brand{background:var(--color-primary-surface)}.contact-card-icon--brand svg{color:var(--color-primary)}.contact-card:hover .contact-card-icon--brand{background:rgba(108,60,245,.1)}.contact-card h3{font-size:1rem;font-weight:700;margin-bottom:var(--space-2)}.contact-card p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.contact-card a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.contact-card a:hover{color:var(--color-primary)}.contact-map{padding:var(--space-16) 0;background:var(--color-bg)}.contact-map-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-top:var(--space-10)}.contact-map-wrap iframe{display:block;width:100%;height:400px}.contact-faq{padding:var(--section-padding) 0;padding-top:0;background:var(--color-bg)}.contact-faq .faq-list{max-width:720px;margin:0 auto}.contact-faq .faq-answer a{color:var(--color-primary);text-decoration:none;font-weight:500}.contact-faq .faq-answer a:hover{text-decoration:underline}@media (max-width:767px){.contact-form{grid-template-columns:1fr}.contact-map-wrap iframe{height:280px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.contact-card{padding:var(--space-5)}}@media (max-width:480px){.contact-info{grid-template-columns:1fr}}
