/* Page Header */ .page-header { position: relative; background-color: var(--navy); padding: 6rem 0; overflow: hidden; } .header-bg { position: absolute; inset: 0; opacity: 0.4; } .header-bg img { width: 100%; height: 100%; object-fit: cover; } .header-content { position: relative; z-index: 10; text-align: center; } .header-badge { color: var(--secondary); font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; font-size: 0.875rem; margin-bottom: 1rem; display: block; } .page-title { font-size: 3.75rem; font-family: var(--font-serif); color: white; margin-bottom: 1.5rem; line-height: 1; } .header-divider { width: 6rem; height: 0.25rem; background-color: var(--secondary); margin: 0 auto; } /* Main Content Layout */ .main-content { margin-top: -4rem; position: relative; z-index: 20; padding-bottom: 6rem; } .contact-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; } @media (min-width: 1024px) { .contact-grid { grid-template-columns: repeat(12, 1fr); } .col-info { grid-column: span 5; } .col-form { grid-column: span 7; } } /* Info Card */ .info-card { background-color: var(--card-bg); padding: 2.5rem; border-radius: 1.5rem; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); border: 1px solid var(--border-color); } .info-title { font-size: 1.5rem; font-family: var(--font-serif); margin-bottom: 2rem; } .info-list { display: flex; flex-direction: column; gap: 1.5rem; } .info-item { display: flex; gap: 1rem; } .info-icon-wrapper { width: 3rem; height: 3rem; border-radius: 1rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } /* Specific icon colors */ .icon-location { background-color: rgba(59, 130, 246, 0.1); color: var(--primary); } html.dark .icon-location { background-color: rgba(59, 130, 246, 0.2); } .icon-phone { background-color: rgba(149, 193, 31, 0.1); color: var(--secondary); } html.dark .icon-phone { background-color: rgba(149, 193, 31, 0.2); } .icon-email { background-color: rgba(147, 51, 234, 0.1); color: #9333ea; } html.dark .icon-email { background-color: rgba(147, 51, 234, 0.2); color: #c084fc; } .icon-time { background-color: rgba(249, 115, 22, 0.1); color: #f97316; } html.dark .icon-time { background-color: rgba(249, 115, 22, 0.2); color: #fb923c; } .info-label { font-weight: 700; margin-bottom: 0.25rem; } .info-text { color: var(--text-muted); font-size: 0.9375rem; } .info-link { color: var(--primary); transition: var(--transition); } .info-link:hover { text-decoration: underline; } .social-section { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--border-color); } .social-label { font-weight: 700; margin-bottom: 1rem; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.1em; } .social-icons-list { display: flex; gap: 1rem; } .social-icon-btn { width: 2.5rem; height: 2.5rem; border-radius: 50%; background-color: #f1f5f9; color: var(--text-muted); display: flex; align-items: center; justify-content: center; transition: var(--transition); } html.dark .social-icon-btn { background-color: #1e293b; } .social-icon-btn svg { width: 1.25rem; height: 1.25rem; fill: currentColor; } .social-icon-btn.hover-primary:hover { background-color: var(--primary); color: white; } .social-icon-btn.hover-pink:hover { background-color: #db2777; color: white; } .social-icon-btn.hover-blue:hover { background-color: #60a5fa; color: white; } /* Map Container */ .map-container { margin-top: 2rem; border-radius: 1.5rem; overflow: hidden; height: 25rem; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); border: 1px solid var(--border-color); } .map-iframe { width: 100%; height: 100%; border: 0; } /* Form Card */ .form-card { background-color: var(--card-bg); padding: 2.5rem; border-radius: 1.5rem; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); border: 1px solid var(--border-color); } .form-title { font-size: 1.5rem; font-family: var(--font-serif); margin-bottom: 0.5rem; } .form-subtitle { color: var(--text-muted); margin-bottom: 2rem; } .contact-form { display: flex; flex-direction: column; gap: 1.5rem; } .form-row { display: grid; grid-template-columns: 1fr; gap: 1.5rem; } @media (min-width: 768px) { .form-row { grid-template-columns: repeat(2, 1fr); } } .form-group { display: flex; flex-direction: column; gap: 0.5rem; } .form-label { font-size: 0.875rem; font-weight: 700; color: var(--text-main); margin-left: 0.25rem; } .form-input, .form-select, .form-textarea { width: 100%; background-color: #f8fafc; border: 1px solid var(--border-color); border-radius: 0.75rem; padding: 1rem; color: var(--text-main); transition: var(--transition); box-sizing: border-box; } html.dark .form-input, html.dark .form-select, html.dark .form-textarea { background-color: #1e293b; } .form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(0, 142, 230, 0.2); } .form-textarea { resize: none; } .checkbox-group { display: flex; align-items: center; gap: 0.75rem; } .form-checkbox { width: 1.25rem; height: 1.25rem; border-radius: 0.25rem; border: 1px solid var(--border-color); accent-color: var(--primary); } html.dark .form-checkbox { background-color: #1e293b; } .checkbox-label { font-size: 0.875rem; color: var(--text-muted); } .checkbox-label a { color: var(--primary); transition: var(--transition); } .checkbox-label a:hover { text-decoration: underline; } .btn-submit { width: 100%; background-color: var(--primary); color: white; font-weight: 700; padding: 1rem 2rem; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; transition: var(--transition); box-shadow: 0 10px 15px -3px rgba(0, 142, 230, 0.3); } .btn-submit:hover { background-color: #2563eb; } .btn-submit:active { transform: scale(0.98); } /* Hiring Banner */ .hiring-banner { margin-top: 3rem; padding: 2rem; background-color: rgba(149, 193, 31, 0.05); border-radius: 1rem; border: 1px dashed rgba(149, 193, 31, 0.3); display: flex; flex-direction: column; align-items: center; gap: 1.5rem; text-align: center; } html.dark .hiring-banner { background-color: rgba(149, 193, 31, 0.1); } @media (min-width: 768px) { .hiring-banner { flex-direction: row; text-align: left; } } .hiring-icon { width: 4rem; height: 4rem; background-color: var(--secondary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hiring-icon .material-symbols-outlined { font-size: 1.875rem; } .hiring-content { flex: 1; } .hiring-title { font-size: 1.125rem; font-weight: 700; margin-bottom: 0.25rem; } .hiring-text { font-size: 0.875rem; color: var(--text-muted); } .btn-outline { background-color: var(--card-bg); color: var(--secondary); border: 1px solid var(--secondary); font-weight: 700; padding: 0.625rem 1.5rem; border-radius: 9999px; white-space: nowrap; transition: var(--transition); } .btn-outline:hover { background-color: var(--secondary); color: white; } .contact-status { min-height: 1.25rem; text-align: center; font-size: 0.875rem; color: var(--text-muted); } .contact-status.success { color: #16a34a; } .contact-status.error { color: #dc2626; }