/* 
 * Contact Page Styles - Nexra Corppe
 * Standardized with Precision Corporate Theme
 */

.ctc-hero { 
    background: #0f172a; 
    background-image: 
        linear-gradient(to right, rgba(15,23,42,0.93) 40%, rgba(15,23,42,0.72) 100%),
        url('/images/contact-hero-bg-optimized.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 12rem 0 8rem; 
    color: #fff; 
    border-bottom: 1px solid rgba(255,255,255,0.1); 
}

.ctc-hero h1 { 
    font-size: clamp(3rem, 5vw, 5rem); 
    font-weight: 800; 
    line-height: 1.05; 
    letter-spacing: -0.04em; 
    color: #f8fafc; 
    margin-bottom: 1.5rem; 
    max-width: 700px; 
}

.ctc-hero p { 
    font-size: 1.25rem; 
    color: #94a3b8; 
    max-width: 600px; 
    line-height: 1.6; 
}

.c-sm { 
    font-size: 0.875rem; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
    color: #38bdf8; 
    font-weight: 700; 
    margin-bottom: 1.5rem; 
    display: flex; 
    align-items: center; 
    gap: 1rem; 
}

.c-sm::after { 
    content: ''; 
    height: 1px; 
    width: 40px; 
    background: #38bdf8; 
}

.ctc-main { padding: 8rem 0; background: #fff; }

.ctc-grid { 
    display: grid; 
    grid-template-columns: 5fr 7fr; 
    gap: 6rem; 
    align-items: flex-start; 
}

/* Info Side */
.ctc-info-block { margin-bottom: 3rem; }
.ctc-info-label { 
    font-size: 0.75rem; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
    color: #64748b; 
    font-weight: 700; 
    margin-bottom: 0.5rem; 
}

.ctc-info-value { 
    font-size: 1rem; 
    color: #0f172a; 
    font-weight: 600; 
    line-height: 1.5; 
}

.ctc-info-value a { color: #2563eb; text-decoration: none; }
.ctc-info-value a:hover { text-decoration: underline; }

.ctc-divider { height: 1px; background: #e2e8f0; margin: 2rem 0; }

/* Form */
.ctc-form-wrap { background: #f8fafc; border: 1px solid #e2e8f0; padding: 3.5rem; }
.ctc-form-title { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin-bottom: 0.5rem; }
.ctc-form-sub { color: #64748b; font-size: 0.925rem; margin-bottom: 2.5rem; }

.ctc-field { margin-bottom: 1.5rem; }
.ctc-field label { 
    display: block; 
    font-size: 0.8rem; 
    text-transform: uppercase; 
    letter-spacing: 0.05em; 
    font-weight: 700; 
    color: #475569; 
    margin-bottom: 0.5rem; 
}

.ctc-field input, .ctc-field select, .ctc-field textarea { 
    width: 100%; 
    padding: 0.875rem 1rem; 
    border: 1px solid #e2e8f0; 
    background: #fff; 
    font-size: 1rem; 
    color: #0f172a; 
    outline: none; 
    transition: border-color 0.2s; 
    border-radius: 0; 
    font-family: inherit; 
    box-sizing: border-box; 
}

.ctc-field input:focus, .ctc-field select:focus, .ctc-field textarea:focus { border-color: #2563eb; }
.ctc-field textarea { resize: vertical; min-height: 140px; }

.ctc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.ctc-submit { 
    background: #2563eb; 
    color: #fff; 
    border: none; 
    padding: 1rem 2.5rem; 
    font-size: 1rem; 
    font-weight: 700; 
    cursor: pointer; 
    display: inline-flex; 
    align-items: center; 
    gap: 0.75rem; 
    transition: background 0.2s; 
    letter-spacing: 0.02em; 
}

.ctc-submit:hover { background: #1d4ed8; }
.ctc-submit i { transition: transform 0.2s; }
.ctc-submit:hover i { transform: translateX(4px); }

/* FAQ */
.ctc-faq { padding: 8rem 0; background: #f8fafc; border-top: 1px solid #e2e8f0; }
.faq-item { border-bottom: 1px solid #e2e8f0; padding: 2rem 0; }
.faq-q { 
    font-size: 1.125rem; 
    font-weight: 700; 
    color: #0f172a; 
    margin-bottom: 1rem; 
    cursor: pointer; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.faq-a { color: #475569; font-size: 0.975rem; line-height: 1.7; }

/* Office cards */
.office-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3rem; }
.office-card { border: 1px solid #e2e8f0; padding: 2.5rem; background: #fff; }
.office-card .oc-flag { font-size: 2rem; margin-bottom: 1rem; }
.office-card h3 { font-size: 1.125rem; font-weight: 700; color: #0f172a; margin-bottom: 0.5rem; }
.office-card p { color: #64748b; font-size: 0.925rem; line-height: 1.5; }
.office-card .oc-type { 
    display: inline-block; 
    font-size: 0.7rem; 
    text-transform: uppercase; 
    letter-spacing: 0.08em; 
    background: #2563eb; 
    color: #fff; 
    padding: 0.25rem 0.75rem; 
    margin-bottom: 1rem; 
    font-weight: 700; 
}

/* Mobile Responsiveness */
@media (max-width: 1024px) {
    .ctc-grid { gap: 3rem; }
}

@media (max-width: 960px) {
    .ctc-hero { padding: 8rem 0 4rem; }
    .ctc-main, .ctc-faq { padding: 5rem 0; }
    .ctc-grid { grid-template-columns: 1fr; }
    .ctc-form-wrap { padding: 2.5rem; }
    .office-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .ctc-form-row { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .office-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .ctc-hero h1 { font-size: 2.25rem; }
    .ctc-form-wrap { padding: 1.5rem; }
    .ctc-submit { width: 100%; justify-content: center; }
}
