*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    background-color: #f8fafc;
    color: #1e293b;
    line-height: 1.5;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.text-center { text-align: center; }

/* DISCLAIMER */
.top-disclaimer-bar {
    background-color: #ffedd5;
    border-bottom: 1px solid #fed7aa;
    padding: 12px 0;
    color: #7c2d12;
    font-size: 13px;
}

.container-disclaimer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: table;
    width: 100%;
}

.icon-warning {
    display: table-cell;
    vertical-align: middle;
    width: 30px;
    padding-right: 10px;
}

.top-disclaimer-bar p { display: table-cell; vertical-align: middle; }

/* HEADER */
.main-header {
    background-color: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 15px 0;
}

.header-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.header-container::after { content: ""; display: table; clear: both; }

.logo-area { float: left; height: 40px; line-height: 40px; }
.logo-icon { vertical-align: middle; margin-right: 8px; display: inline-block; }
.logo-text { font-size: 22px; font-weight: 800; color: #0f172a; vertical-align: middle; }
.logo-text .accent-text { color: #d97706; }

.main-nav { float: left; margin-left: 50px; height: 40px; line-height: 40px; }
.main-nav ul { list-style: none; }
.main-nav ul li { display: inline-block; margin-right: 25px; }
.main-nav ul li a { text-decoration: none; color: #475569; font-weight: 500; font-size: 15px; }
.main-nav ul li a.active { color: #0f172a; font-weight: 600; }

.header-cta { float: right; height: 40px; line-height: 40px; }
.btn-secondary-sm { display: inline-block; border: 2px solid #0f172a; color: #0f172a; padding: 8px 18px; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 14px; line-height: 1; }

/* SECTION LAYOUT */
.contact-section { padding: 80px 0; background-color: #ffffff; }
.contact-grid::after { content: ""; display: table; clear: both; }

.info-side { float: left; width: 45%; padding-right: 40px; }
.form-side { float: right; width: 55%; }

.badge { display: inline-block; background-color: #f1f5f9; color: #334155; padding: 6px 14px; border-radius: 50px; font-size: 13px; font-weight: 600; text-transform: uppercase; margin-bottom: 15px; }

.info-side h2 { font-size: 32px; color: #0f172a; font-weight: 800; margin-bottom: 15px; }
.desc { color: #475569; font-size: 15px; margin-bottom: 30px; line-height: 1.6; }

.contact-channels { margin-bottom: 30px; }
.channel-card { display: table; width: 100%; background-color: #f8fafc; padding: 15px; border-radius: 6px; margin-bottom: 15px; border: 1px solid #e2e8f0; }
.channel-icon { display: table-cell; vertical-align: top; width: 40px; }
.channel-card text { display: table-cell; vertical-align: top; font-size: 14px; }

.map-placeholder { border-radius: 6px; overflow: hidden; border: 1px solid #e2e8f0; }
.map-placeholder img { width: 100%; display: block; height: auto; opacity: 0.85; }

/* CONTACT CARD FORM */
.contact-card { background-color: #f8fafc; border: 1px solid #e2e8f0; padding: 40px; border-radius: 8px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.contact-card h3 { font-size: 22px; color: #0f172a; margin-bottom: 8px; }
.subtitle { font-size: 14px; color: #64748b; margin-bottom: 25px; }

.form-group { margin-bottom: 15px; }
label { display: block; font-size: 13px; font-weight: 600; color: #334155; margin-bottom: 5px; }

input[type="text"], input[type="tel"], input[type="email"], textarea { width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14px; background-color: #ffffff; }
input:focus, textarea:focus { outline: none; border-color: #0f172a; box-shadow: 0 0 0 3px rgba(15,23,42,0.05); }

.btn-submit { width: 100%; background-color: #0f172a; color: #ffffff; border: none; padding: 12px; border-radius: 6px; font-size: 15px; font-weight: 600; cursor: pointer; }
.btn-submit:hover { background-color: #1e293b; }

.error-msg { color: #b91c1c; font-size: 12px; margin-top: 4px; display: none; }
.form-success-box { text-align: center; padding: 20px 0; }
.form-success-box h4 { color: #065f46; margin: 10px 0 5px 0; }

/* FOOTER */
.main-footer { background-color: #0b0f19; color: #94a3b8; padding: 60px 0 0 0; border-top: 1px solid #1e293b; }
.footer-container::after { content: ""; display: table; clear: both; }
.footer-brand-side { float: left; width: 40%; padding-right: 40px; }
.footer-brand-side .logo-area { float: none; margin-bottom: 15px; }
.footer-brand-side .logo-text { color: #ffffff; }
.footer-tagline { font-size: 13.5px; margin-bottom: 20px; }
.copyright { font-size: 12px; color: #475569; }

.footer-links-side { float: left; width: 30%; }
.footer-links-side h4 { color: #ffffff; font-size: 14px; margin-bottom: 15px; text-transform: uppercase; }
.footer-links-side ul { list-style: none; }
.footer-links-side ul li { margin-bottom: 10px; }
.footer-links-side ul li a { color: #94a3b8; text-decoration: none; }

.bottom-disclaimer-box { margin-top: 50px; background-color: #020617; padding: 25px 0; color: #64748b; font-size: 12px; }

@media (max-width: 768px) {
    .info-side, .form-side, .footer-brand-side, .footer-links-side { float: none !important; width: 100% !important; padding-right: 0 !important; }
    .form-side { margin-top: 40px; }
    .main-nav { display: none; }
}