.contact-info{width:100%}.contact-info-heading{font-family:var(--font-sans);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);margin:0 0 var(--spacing-xl)}.contact-info-details{gap:var(--spacing-lg);flex-direction:column;font-style:normal;display:flex}.contact-info-item{gap:var(--spacing-md);align-items:flex-start;display:flex}.contact-info-icon{background:var(--color-primary);border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-info-content{gap:var(--spacing-xs);font-family:var(--font-sans);font-size:var(--font-size-body);color:var(--color-neutral-700);line-height:var(--line-height-normal);flex-direction:column;display:flex}.contact-info-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-neutral-400);text-transform:uppercase;letter-spacing:.05em}.contact-info-name{font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.contact-info-role{font-size:var(--font-size-small);color:var(--color-neutral-600)}.contact-info-link{color:var(--color-primary);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.contact-info-link:hover{color:var(--color-primary-hover);text-decoration:underline}.contact-info-link:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.contact-info-timezone{font-size:var(--font-size-small);color:var(--color-neutral-400);font-style:italic}@media (max-width:767px){.contact-info-heading{font-size:var(--font-size-h4);margin-bottom:var(--spacing-lg)}.contact-info-item{gap:var(--spacing-sm)}.contact-info-icon{width:40px;height:40px}.contact-info-content{font-size:var(--font-size-small)}}
.contact-form{background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.form-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0 0 var(--spacing-lg)0}.form-field{margin-bottom:var(--spacing-lg)}.form-label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-sm);display:block}.form-label .required{color:var(--color-error)}.form-label .optional{color:var(--color-neutral-400);font-weight:var(--font-weight-regular);font-size:var(--font-size-small)}.form-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-body);font-family:var(--font-sans);color:var(--color-neutral-900);background:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}.form-input::placeholder{color:var(--color-neutral-400)}.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #e86c3a26}.form-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-input:disabled{background:var(--color-neutral-100);cursor:not-allowed;opacity:.7}.form-textarea{resize:vertical;min-height:120px}.form-input.input-error{border-color:var(--color-error)}.form-input.input-error:focus{box-shadow:0 0 0 3px #e74c3c26}.field-error{color:var(--color-error);font-size:var(--font-size-small);margin-top:var(--spacing-xs);margin-bottom:0}.form-error{gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);background:#ffebee;flex-direction:column;display:flex}.form-error .error-content{align-items:flex-start;gap:var(--spacing-sm);display:flex}.form-error .error-icon{font-size:var(--font-size-h4);flex-shrink:0}.form-error p{color:var(--color-error);font-size:var(--font-size-body);margin:0}.btn-retry{padding:var(--spacing-2)var(--spacing-4);border:2px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-weight:var(--font-weight-semibold);font-family:var(--font-sans);font-size:var(--font-size-body);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);background:0 0;align-self:flex-start;min-width:44px;min-height:44px}.btn-retry:hover:not(:disabled){background:var(--color-error);color:var(--color-white)}.btn-retry:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.btn-retry:disabled{opacity:.6;cursor:not-allowed}.form-success{border:1px solid var(--color-success);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;background:#e8f5e9}.form-success .success-icon{background:var(--color-success);width:48px;height:48px;color:var(--color-white);border-radius:var(--radius-full);font-size:var(--font-size-h3);margin-bottom:var(--spacing-md);justify-content:center;align-items:center;display:inline-flex}.form-success .success-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0 0 var(--spacing-sm)0}.form-success .success-message{color:var(--color-neutral-600);font-size:var(--font-size-body);margin:0}.form-submit{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md)var(--spacing-xl);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-family:var(--font-sans);color:var(--color-white);background:var(--color-orange);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast);border:none;min-height:44px;display:inline-flex}.form-submit:hover:not(:disabled){background:var(--color-orange-dark)}.form-submit:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}.form-submit:disabled{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:var(--color-white);border-radius:var(--radius-full);width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:768px){.contact-form{padding:var(--spacing-2xl)}.form-submit{width:auto;min-width:180px}}
.google-map-container{background-color:var(--color-gray-100);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);overflow:hidden}.google-map-wrapper{width:100%;position:relative}.google-map-iframe{border:0;width:100%;height:100%;display:block}.google-map-footer{padding:var(--spacing-md)var(--spacing-lg);background-color:var(--color-white);gap:var(--spacing-sm);flex-direction:column;display:flex}.google-map-address{font-size:var(--font-size-sm);color:var(--color-gray-700);margin:0;line-height:1.5}.google-map-address strong{color:var(--color-gray-900)}.google-map-link{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.google-map-link:hover{color:var(--color-primary-dark);text-decoration:underline}.google-map-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:768px){.google-map-footer{flex-direction:row;justify-content:space-between;align-items:center}}@media (max-width:480px){.google-map-container{border-radius:var(--radius-md)}.google-map-footer{padding:var(--spacing-sm)var(--spacing-md)}.google-map-address{font-size:var(--font-size-xs)}}
.contact-hero{background:linear-gradient(135deg,var(--color-warm-cream-light)0%,var(--color-warm-cream)50%,var(--color-white)100%);padding:var(--spacing-3xl)var(--spacing-lg);text-align:center}.contact-hero-container{max-width:var(--max-width);margin:0 auto}.contact-hero-title{font-family:var(--font-sans);font-size:var(--font-size-display);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);margin:0 0 var(--spacing-md)}.contact-hero-subtitle{font-family:var(--font-sans);font-size:var(--font-size-h4);color:var(--color-neutral-600);max-width:600px;line-height:var(--line-height-relaxed);margin:0 auto}.contact-content{padding:var(--spacing-3xl)var(--spacing-lg);background:var(--color-white)}.contact-container{max-width:var(--max-width);margin:0 auto}.contact-grid{gap:var(--spacing-2xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){.contact-grid{gap:var(--spacing-3xl);grid-template-columns:1fr 1fr}}.contact-info-section{background:var(--color-neutral-50);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.contact-form-section{flex-direction:column;display:flex}.form-placeholder{background:var(--color-neutral-100);border:2px dashed var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.form-placeholder-title{font-family:var(--font-sans);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-neutral-400);margin:0 0 var(--spacing-sm)}.form-placeholder-text{color:var(--color-neutral-400);font-size:var(--font-size-body);margin:0}.contact-map-section{background:var(--color-neutral-100);padding:var(--spacing-3xl)var(--spacing-lg)}.contact-map-title{font-family:var(--font-sans);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);text-align:center;margin:0 0 var(--spacing-xl)}@media (min-width:768px){.contact-map-section{padding:var(--spacing-3xl)var(--spacing-lg)}}@media (max-width:767px){.contact-hero{padding:var(--spacing-2xl)var(--spacing-md)}.contact-hero-title{font-size:var(--font-size-h1)}.contact-hero-subtitle{font-size:var(--font-size-body)}.contact-content{padding:var(--spacing-2xl)var(--spacing-md)}.contact-info-section{padding:var(--spacing-lg)}.form-placeholder{min-height:250px;padding:var(--spacing-xl)}}
