/* ==========================================================================
   Guardian Intel Security — Contact page styles (self-contained)
   Scoped under .gis-contact. Brand: navy #0a1730 / gold #fab909
   ========================================================================== */

.gis-contact { font-family: 'Open Sans', sans-serif; color: #2a2f3a; }
.gis-contact h1, .gis-contact h2, .gis-contact h3 { font-family: 'Montserrat', sans-serif; }
.gis-contact .ct-wrap { max-width: 1170px; margin: 0 auto; padding: 0 20px; width: 100%; }
.gis-contact .ct-eyebrow {
    display: inline-block; letter-spacing: 3px; text-transform: uppercase;
    font-size: 13px; font-weight: 700; color: #c9971a; margin-bottom: 14px;
}

/* ---- HERO ---- */
.gis-contact .ct-hero {
    position: relative; min-height: 360px; display: flex; align-items: center;
    text-align: center; color: #fff;
    background: linear-gradient(rgba(8,17,34,.78), rgba(8,17,34,.9)),
                url('../img/gisdesk1.jpg') center center / cover no-repeat;
}
.gis-contact .ct-hero .ct-eyebrow { color: #fab909; }
.gis-contact .ct-hero h1 { font-size: 50px; font-weight: 700; text-transform: uppercase; margin: 0 0 14px; color: #fff; }
.gis-contact .ct-hero h1 span { color: #fab909; }
.gis-contact .ct-hero p { font-size: 18px; max-width: 700px; margin: 0 auto; color: #d7dce4; line-height: 1.7; }

/* ---- LAYOUT ---- */
.gis-contact .ct-section { padding: 90px 0; }
.gis-contact .ct-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }

/* ---- FORM CARD ---- */
.gis-contact .ct-form-card { background: #fff; border-radius: 14px; box-shadow: 0 16px 40px rgba(10,23,48,.10); padding: 44px; }
.gis-contact .ct-form-card h2 { font-size: 26px; color: #0a1730; margin: 0 0 6px; }
.gis-contact .ct-form-card h2 span { color: #fab909; }
.gis-contact .ct-form-card > p { font-size: 15px; color: #5b6470; margin: 0 0 26px; }
.gis-contact .ct-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.gis-contact .ct-form input,
.gis-contact .ct-form textarea {
    width: 100%; border: 1px solid #dde1e7; border-radius: 8px; background: #f8f9fb;
    padding: 14px 16px; font-size: 15px; font-family: 'Open Sans', sans-serif; color: #2a2f3a;
    margin-bottom: 18px; transition: border-color .25s, box-shadow .25s, background .25s;
}
.gis-contact .ct-form textarea { min-height: 150px; resize: vertical; }
.gis-contact .ct-form input:focus,
.gis-contact .ct-form textarea:focus {
    outline: none; border-color: #fab909; background: #fff; box-shadow: 0 0 0 3px rgba(250,185,9,.18);
}
.gis-contact .ct-form input::placeholder,
.gis-contact .ct-form textarea::placeholder { color: #9aa3af; }
.gis-contact .ct-submit {
    display: inline-block; border: none; cursor: pointer; background: #fab909; color: #0a1730;
    padding: 15px 40px; border-radius: 40px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .5px; font-size: 14px; font-family: 'Montserrat', sans-serif; transition: all .3s;
}
.gis-contact .ct-submit:hover { background: #0a1730; color: #fab909; }

/* ---- INFO CARDS ---- */
.gis-contact .ct-info { display: flex; flex-direction: column; gap: 18px; }
.gis-contact .ct-info-card {
    display: flex; gap: 18px; align-items: flex-start; background: #fff;
    border: 1px solid #eceef1; border-radius: 12px; padding: 24px 24px; transition: transform .3s, box-shadow .3s;
}
.gis-contact .ct-info-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(10,23,48,.10); }
.gis-contact .ct-info-ico {
    flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; background: #fff5d8; color: #d39e09;
    display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.gis-contact .ct-info-card:hover .ct-info-ico { background: #fab909; color: #0a1730; }
.gis-contact .ct-info-text h3 { font-size: 16px; color: #0a1730; margin: 0 0 6px; text-transform: uppercase; letter-spacing: .5px; }
.gis-contact .ct-info-text p, .gis-contact .ct-info-text a { font-size: 15px; color: #5b6470; margin: 0 0 3px; display: block; line-height: 1.6; }
.gis-contact .ct-info-text a:hover { color: #c9971a; }

/* ---- MAP ---- */
.gis-contact .ct-map { line-height: 0; }
.gis-contact .ct-map iframe { width: 100%; height: 430px; border: 0; display: block; filter: grayscale(.25); }

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .gis-contact .ct-grid { grid-template-columns: 1fr; gap: 30px; }
    .gis-contact .ct-hero h1 { font-size: 38px; }
}
@media (max-width: 600px) {
    .gis-contact .ct-form-card { padding: 28px 22px; }
    .gis-contact .ct-form-row { grid-template-columns: 1fr; gap: 0; }
    .gis-contact .ct-section { padding: 60px 0; }
    .gis-contact .ct-hero { min-height: 300px; }
    .gis-contact .ct-hero h1 { font-size: 30px; }
    .gis-contact .ct-map iframe { height: 320px; }
}
