/* ==========================================================================
   Guardian Intel Security — About page styles (self-contained)
   All rules scoped under .gis-about so other pages are unaffected.
   Brand: navy #0a1730 / gold #fab909
   ========================================================================== */

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

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

/* ---- SECTION shell ---- */
.gis-about .ab-section { padding: 90px 0; }
.gis-about .ab-section.alt { background: #f5f6f8; }
.gis-about .ab-head { text-align: center; max-width: 720px; margin: 0 auto 55px; }
.gis-about .ab-head h2 { font-size: 36px; font-weight: 700; color: #0a1730; margin: 0 0 14px; }
.gis-about .ab-head h2 span { color: #fab909; }
.gis-about .ab-head p { font-size: 17px; color: #5b6470; margin: 0; line-height: 1.7; }

/* ---- INTRO SPLIT ---- */
.gis-about .ab-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.gis-about .ab-split-text h2 { font-size: 34px; color: #0a1730; margin: 0 0 20px; }
.gis-about .ab-split-text h2 span { color: #fab909; }
.gis-about .ab-split-text p { font-size: 16px; color: #5b6470; line-height: 1.85; margin: 0 0 18px; }
.gis-about .ab-split-img { position: relative; }
.gis-about .ab-split-img img { width: 100%; border-radius: 14px; display: block; position: relative; z-index: 2; box-shadow: 0 18px 45px rgba(10,23,48,.22); }
.gis-about .ab-split-img::before { content: ""; position: absolute; left: -18px; bottom: -18px; width: 65%; height: 70%; background: #fab909; border-radius: 14px; z-index: 1; }

/* ---- FAMILY CALLOUT ---- */
.gis-about .ab-callout {
    color: #fff; text-align: center; padding: 84px 0;
    background: linear-gradient(rgba(8,17,34,.92), rgba(8,17,34,.95)),
                url('../img/giscrowd.jpg') center center / cover no-repeat;
}
.gis-about .ab-quote-ico { font-size: 40px; color: #fab909; margin-bottom: 20px; display: inline-block; }
.gis-about .ab-callout h2 { font-size: 34px; font-weight: 700; margin: 0 auto 22px; max-width: 880px; line-height: 1.3; color: #fff; }
.gis-about .ab-callout h2 span { color: #fab909; }
.gis-about .ab-callout p { font-size: 17px; color: #d7dce4; max-width: 820px; margin: 0 auto; line-height: 1.85; }

/* ---- PRINCIPLE CARDS ---- */
.gis-about .ab-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.gis-about .ab-card { background: #fff; border: 1px solid #eceef1; border-radius: 12px; padding: 36px 24px; text-align: center; transition: transform .3s, box-shadow .3s, border-color .3s; }
.gis-about .ab-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(10,23,48,.12); border-color: transparent; }
.gis-about .ab-ico { width: 68px; height: 68px; border-radius: 50%; background: #fff5d8; color: #d39e09; display: flex; align-items: center; justify-content: center; font-size: 26px; margin: 0 auto 20px; transition: all .3s; }
.gis-about .ab-card:hover .ab-ico { background: #fab909; color: #0a1730; }
.gis-about .ab-card h3 { font-size: 19px; color: #0a1730; margin: 0 0 10px; }
.gis-about .ab-card p { font-size: 14px; color: #5b6470; line-height: 1.7; margin: 0; }

/* ---- WHAT SETS US APART ---- */
.gis-about .ab-feature-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-bottom: 44px; }
.gis-about .ab-feature { text-align: center; padding: 0 12px; }
.gis-about .ab-feature .fi { font-size: 34px; color: #fab909; margin-bottom: 16px; }
.gis-about .ab-feature h3 { font-size: 18px; color: #0a1730; margin: 0 0 10px; }
.gis-about .ab-feature p { font-size: 14px; color: #5b6470; line-height: 1.7; margin: 0; }
.gis-about .ab-closing { max-width: 860px; margin: 0 auto; text-align: center; font-size: 17px; color: #41495a; line-height: 1.9; }
.gis-about .ab-closing strong { color: #0a1730; }

/* ---- STATS BAND ---- */
.gis-about .ab-stats { background: #f6f7f9; padding: 70px 0; border-top: 1px solid #e7e9ee; border-bottom: 1px solid #e7e9ee; }
.gis-about .ab-stats .ab-wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: center; }
.gis-about .ab-stat h2 { font-size: 48px; font-weight: 800; color: #fab909; margin: 0 0 6px; font-family: 'Montserrat', sans-serif; }
.gis-about .ab-stat h4 { font-size: 15px; color: #5b6470; text-transform: uppercase; letter-spacing: 1.5px; margin: 0; font-weight: 700; }

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .gis-about .ab-split { grid-template-columns: 1fr; gap: 40px; }
    .gis-about .ab-split-img { max-width: 560px; margin: 0 auto; }
    .gis-about .ab-cards { grid-template-columns: repeat(2, 1fr); }
    .gis-about .ab-feature-list { grid-template-columns: 1fr; gap: 26px; }
    .gis-about .ab-hero h1 { font-size: 38px; }
}
@media (max-width: 600px) {
    .gis-about .ab-cards { grid-template-columns: 1fr; }
    .gis-about .ab-stats .ab-wrap { grid-template-columns: 1fr; gap: 34px; }
    .gis-about .ab-section { padding: 60px 0; }
    .gis-about .ab-hero { min-height: 320px; }
    .gis-about .ab-hero h1 { font-size: 30px; }
    .gis-about .ab-callout h2 { font-size: 26px; }
    .gis-about .ab-head h2 { font-size: 28px; }
}

/* ---- Client Review description panel (about.html doesn't load custom.css) ---- */
.testimonial-text p {
    background: rgba(255, 255, 255, 0.9);
    color: #1d1d1d;
    padding: 22px 26px;
    border-radius: 8px;
    line-height: 1.75;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
