.contact-form-section{padding:var(--spacing-24) 0;background-color:var(--bugloos-white);color:var(--bugloos-dark)}.contact-container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-6)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-16)}@media (min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-form-wrapper{opacity:0;transform:translateX(-40px);transition:opacity 1s ease-out,transform 1s ease-out}.contact-form-wrapper.is-visible{opacity:1;transform:translateX(0)}.contact-form-title{font-size:var(--text-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-8);color:var(--bugloos-dark)}@media (min-width:768px){.contact-form-title{font-size:var(--text-5xl)}}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}@media (min-width:768px){.form-row{grid-template-columns:1fr 1fr}}.form-group{display:flex;flex-direction:column}.form-label{display:block;margin-bottom:var(--spacing-2);color:var(--bugloos-dark);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary)}.required{color:#ef4444}.form-input,.form-textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--bugloos-gray-200);border-radius:var(--radius-lg);font-family:var(--font-family-primary);font-size:var(--text-base);color:var(--bugloos-dark);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--bugloos-primary);box-shadow:0 0 0 3px rgba(99,195,209,.2)}.form-input::placeholder,.form-textarea::placeholder{color:var(--bugloos-gray-400)}.form-textarea{resize:none;min-height:150px}.form-error{display:none;color:#ef4444;font-size:var(--text-sm);margin-top:var(--spacing-1)}.form-group.has-error .form-error{display:block}.form-group.has-error .form-input,.form-group.has-error .form-textarea{border-color:#ef4444}.form-group.has-error .form-input:focus,.form-group.has-error .form-textarea:focus{box-shadow:0 0 0 3px rgba(239,68,68,.2)}.contact-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-8);background:var(--bugloos-primary);color:var(--bugloos-white);border:none;border-radius:var(--radius-xl);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;width:100%}@media (min-width:768px){.contact-submit-btn{width:auto}}.contact-submit-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.contact-submit-btn:active{transform:translateY(0)}.contact-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-icon{width:20px;height:20px}.contact-info-wrapper{opacity:0;transform:translateX(40px);transition:opacity 1s ease-out .3s,transform 1s ease-out .3s}.contact-info-wrapper.is-visible{opacity:1;transform:translateX(0)}.contact-info-title{font-size:var(--text-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-8);color:var(--bugloos-dark)}@media (min-width:768px){.contact-info-title{font-size:var(--text-5xl)}}.contact-info-description{font-size:var(--text-xl);line-height:var(--leading-relaxed);margin-bottom:var(--spacing-12);opacity:.8;color:var(--bugloos-dark)}.contact-cards{display:flex;flex-direction:column;gap:var(--spacing-8)}.contact-card{padding:var(--spacing-6);background:var(--bugloos-white);border:1px solid var(--bugloos-gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transition:transform .3s ease,box-shadow .3s ease}.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.contact-card--gradient{background:linear-gradient(135deg,var(--bugloos-primary) 0%,var(--bugloos-secondary) 100%);border:none}.contact-card{display:flex;align-items:flex-start;gap:var(--spacing-4)}.contact-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-card-icon--white{background:rgba(255,255,255,.2);color:var(--bugloos-white)}.contact-card-icon--purple{background:var(--bugloos-secondary);color:var(--bugloos-white)}.contact-card-icon--cyan{background:var(--bugloos-primary);color:var(--bugloos-white)}.contact-card-content{flex:1}.contact-card--gradient .contact-card-content{color:var(--bugloos-white)}.contact-card-title{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--bugloos-dark)}.contact-card--gradient .contact-card-title{color:var(--bugloos-white)}.contact-card-text{opacity:.8;line-height:var(--leading-relaxed);margin:0;color:var(--bugloos-dark)}.contact-card--gradient .contact-card-text{opacity:.9;color:var(--bugloos-white)}.contact-map-section{padding:var(--spacing-24) 0;background-color:var(--bugloos-gray-50)}.contact-map-header{text-align:center;margin-bottom:var(--spacing-16);opacity:0;transform:translateY(40px);transition:opacity 1s ease-out,transform 1s ease-out}.contact-map-header.is-visible{opacity:1;transform:translateY(0)}.contact-map-title{font-size:var(--text-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-6);color:var(--bugloos-dark)}@media (min-width:768px){.contact-map-title{font-size:var(--text-5xl)}}.contact-map-description{font-size:var(--text-xl);line-height:var(--leading-relaxed);opacity:.8;color:var(--bugloos-dark)}.contact-map-wrapper{margin-top:var(--spacing-16);opacity:0;transform:translateY(40px);transition:opacity 1s ease-out .3s,transform 1s ease-out .3s;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-2xl)}.contact-map-wrapper.is-visible{opacity:1;transform:translateY(0)}.contact-map-placeholder{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-2xl);height:400px;background-color:var(--bugloos-gray-200);display:flex;align-items:center;justify-content:center}.contact-map-placeholder-text{color:var(--bugloos-gray-600);font-size:var(--text-lg);font-family:var(--font-family-primary)}@media (prefers-reduced-motion:reduce){.contact-form-wrapper,.contact-info-wrapper,.contact-map-header,.contact-map-wrapper{transition:none}.contact-card{transition:none}.contact-submit-btn{transition:none}}.form-input:focus-visible,.form-textarea:focus-visible,.contact-submit-btn:focus-visible{outline:2px solid var(--bugloos-primary);outline-offset:2px}