/* Global Security Group International — shared brand layer (.gs-page) 2026-10-31 Polar-pass v20261031.1
   Scoped: only affects markup emitted inside .gs-page. Mobile-first. */
.gs-page{
  --gs-navy:#1A3163;--gs-navy2:#2C4983;--gs-navy-soft:#2C4983cc;
  --gs-red:#ED1C24;--gs-text:#383838;--gs-meta:#5b6472;
  --gs-line:#e2e8f0;--gs-paper:#f8fafc;
  font-family:'Source Sans Pro',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  color:var(--gs-text);font-size:17px;line-height:1.7;
  margin:0 0 40px;
}
.gs-page p{margin:0 0 1em;max-width:70ch}
.gs-page li{margin:0 0 .4em}
.gs-page h2,.gs-page h3,.gs-page h4{
  font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  color:var(--gs-navy);letter-spacing:.02em;line-height:1.08;margin:1.6em 0 .5em;
  text-transform:uppercase;
}
.gs-page h2{font-size:clamp(28px,4vw,40px)}
.gs-page h3{font-size:clamp(22px,3vw,28px)}
.gs-page a{color:var(--gs-navy2)}
.gs-page a:hover{color:var(--gs-red)}
.gs-page ul,.gs-page ol{padding-left:1.2em;margin:0 0 1.2em}
.gs-page table{width:100%;border-collapse:collapse;margin:1em 0}
.gs-page th{background:var(--gs-navy);color:#fff;text-align:left}
.gs-page th,.gs-page td{border:1px solid var(--gs-line);padding:.6em .8em}
.gs-page blockquote{border-left:4px solid var(--gs-red);margin:1.2em 0;padding:.2em 0 .2em 1em;color:var(--gs-navy)}

/* Breadcrumb */
.gs-crumb{max-width:1180px;margin:14px auto 0;padding:0 20px;font-size:13px;color:var(--gs-meta)}
.gs-crumb a{color:var(--gs-meta);text-decoration:none}
.gs-crumb a:hover{color:var(--gs-red)}
.gs-crumb .gs-crumb-sep{margin:0 .45em;color:#BBC1C9}

/* Hero: badge-tinted photo panel + H1 + phone CTA */
.gs-hero{
  position:relative;display:flex;flex-direction:column;justify-content:center;
  min-height:340px;padding:64px 24px;background:#101c3a url(https://gsgicorp.com/wp-content/uploads/2023/09/composite-image-of-rear-view-of-security-officer-talking-on-walkie-talkie.jpg) center/cover no-repeat;
}
.gs-hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(10,20,45,.96) 0%,rgba(16,30,64,.92) 40%,rgba(26,49,99,.72) 72%,rgba(237,28,36,.30) 100%);
}
.gs-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(8,16,38,.78),rgba(8,16,38,.32) 45%,rgba(8,16,38,.05) 70%);}
@media (max-width:768px){
  .gs-hero::before{background:linear-gradient(180deg,rgba(10,20,45,.93),rgba(10,20,45,.88) 60%,rgba(10,20,45,.94));}
}
.gs-hero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%}
.gs-hero-badge{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;
  font-family:'Source Sans Pro',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;
}
.gs-hero-badge img{height:44px;width:auto;display:block}
.gs-hero h1{
  font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;
  font-size:clamp(40px,7.5vw,84px);line-height:1.02;letter-spacing:.015em;
  color:#fff !important;text-transform:uppercase;margin:0 0 18px;max-width:22ch;
  text-shadow:0 2px 6px rgba(0,0,0,.65),0 4px 24px rgba(0,0,0,.55);
}
.gs-hero-sub{
  color:#f2f5fb !important;font-size:17px;max-width:60ch;margin:0 0 26px;
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
.gs-hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.gs-btn{
  display:inline-block;background:var(--gs-navy2);color:#fff !important;
  font-family:'Source Sans Pro',sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none;
  padding:16px 28px;border:2px solid var(--gs-navy2);
  transition:background .2s,border-color .2s;cursor:pointer;
}
.gs-btn span{text-decoration:underline;text-underline-offset:4px}
.gs-btn:hover,.gs-btn:focus{background:var(--gs-red);border-color:var(--gs-red);color:#fff !important}
.gs-btn--red{background:var(--gs-red);border-color:var(--gs-red)}
.gs-btn--red:hover,.gs-btn--red:focus{background:var(--gs-navy2);border-color:var(--gs-navy2)}
.gs-btn--ghost{
  background:transparent;border-color:#fff;color:#fff !important;
}
.gs-btn--ghost:hover,.gs-btn--ghost:focus{background:#fff;color:var(--gs-navy) !important}
.gs-phone-inline{
  display:inline-flex;align-items:center;gap:10px;color:#fff !important;
  font-weight:700;font-size:19px;text-decoration:none;letter-spacing:.02em;
}
.gs-phone-inline .gs-phone-dot{
  width:38px;height:38px;background:var(--gs-red);display:inline-flex;
  align-items:center;justify-content:center;flex:none;
}
.gs-phone-inline .gs-phone-dot svg{width:18px;height:18px;fill:#fff}

/* Trust strip */
.gs-trust{
  background:var(--gs-paper);border-bottom:1px solid var(--gs-line);
}
.gs-trust-in{
  max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:10px 24px;
}
.gs-trust-item{
  display:flex;align-items:center;gap:10px;font-weight:700;font-size:13.5px;
  color:var(--gs-navy);text-transform:uppercase;letter-spacing:.05em;
}
.gs-trust-ic{
  width:30px;height:30px;background:var(--gs-red);flex:none;
  display:inline-flex;align-items:center;justify-content:center;
}
.gs-trust-ic svg{width:17px;height:17px;fill:#fff}
/* Body wrapper */
.gs-body{max-width:1180px;margin:0 auto;padding:36px 20px 8px}
.gs-body>*{max-width:100%}

/* CTA band */
.gs-cta{position:relative;background:var(--gs-navy);color:#fff;margin-top:48px;padding:48px 24px;overflow:hidden}
.gs-cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 300px at 85% -40%,rgba(44,73,131,.9),transparent 70%),
             radial-gradient(500px 260px at -10% 130%,rgba(237,28,36,.35),transparent 70%);
}
.gs-cta-in{position:relative;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.gs-cta h2{color:#fff;margin:0;font-size:clamp(28px,4.5vw,44px)}
.gs-cta p{color:#c9d4ea;margin:0 0 4px;max-width:60ch}
.gs-cta .gs-btn{background:var(--gs-red);border-color:var(--gs-red)}
.gs-cta .gs-btn:hover,.gs-cta .gs-btn:focus{background:#fff;color:var(--gs-navy) !important}

/* Related services cards (homepage photo-panel style) */
.gs-cards{max-width:1180px;margin:48px auto 0;padding:0 20px;display:grid;grid-template-columns:1fr;gap:20px}
.gs-card{
  position:relative;display:block;min-height:240px;text-decoration:none;overflow:hidden;
  background:#101c3a center/cover no-repeat;color:#fff !important;
}
.gs-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(26,49,99,.72),rgba(26,49,99,.9) 60%,rgba(237,28,36,.32));
  transition:background .25s;
}
.gs-card:hover::before{background:linear-gradient(160deg,rgba(26,49,99,.55),rgba(26,49,99,.8) 60%,rgba(237,28,36,.45))}
.gs-card::after{ /* red photo corner brackets */
  content:"";position:absolute;top:12px;right:12px;width:26px;height:26px;
  border-top:3px solid var(--gs-red);border-right:3px solid var(--gs-red);
}
.gs-card-in{position:relative;z-index:2;height:100%;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px}
.gs-card h3{color:#fff;margin:0 0 6px;font-size:26px}
.gs-card p{color:#d7e0f2;font-size:14px;margin:0 0 10px}
.gs-card .gs-card-link{
  font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:underline;text-underline-offset:4px;color:#fff;
}
.gs-card:hover .gs-card-link{color:#fff}

/* FAQ accordion */
.gs-faq{max-width:1180px;margin:40px auto 0;padding:0 20px}
.gs-faq h2{margin-bottom:12px}
.gs-faq details{border:1px solid var(--gs-line);border-bottom:0}
.gs-faq details:last-of-type{border-bottom:1px solid var(--gs-line)}
.gs-faq summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;
  padding:14px 46px 14px 16px;font-weight:700;color:var(--gs-navy);position:relative;
  background:#fff;font-size:16px;
}
.gs-faq summary::-webkit-details-marker{display:none}
.gs-faq summary::after{
  content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--gs-red);line-height:1;
}
.gs-faq details[open] summary::after{content:"\2013"}
.gs-faq details[open]{background:var(--gs-paper)}
.gs-faq details>div{padding:4px 16px 16px;font-size:15.5px}

/* Footer of block */
.gs-pagefoot{max-width:1180px;margin:26px auto 0;padding:0 20px;font-size:14px;color:var(--gs-meta)}
.gs-pagefoot a{color:var(--gs-navy2)}

@media (min-width:760px){
  .gs-hero{min-height:420px}
  .gs-trust-in{grid-template-columns:repeat(2,1fr);gap:10px 24px}
  .gs-cards{grid-template-columns:repeat(2,1fr)}
  .gs-cta-in{flex-direction:row;align-items:center;justify-content:space-between}
  .gs-cta h2{flex:1 1 auto}
}
@media (min-width:1100px){
  .gs-hero{min-height:470px}
  .gs-trust-in{grid-template-columns:repeat(4,1fr)}
  .gs-cards{grid-template-columns:repeat(3,1fr)}
}

/* The theme's own page/post header duplicates our hero H1 — hide it when the
   brand layer is active (body.gsgi-brand-active is added by gsgi-brand.php). */
body.gsgi-brand-active .page-header,
body.gsgi-brand-active .entry-header { display: none; }

/* ===== v20261032.1 article upgrade layer: byline, takeaways, TOC, stats, quotes, guides, NAP, map ===== */
.gs-byline{border-bottom:1px solid var(--gs-line);padding:0 0 14px;margin:0 0 22px;font-size:14px;color:var(--gs-meta)}
.gs-byline strong{color:var(--gs-navy)}
.gs-byline .gs-byline-dot{margin:0 .5em;color:var(--gs-red)}
.gs-take{background:var(--gs-paper);border:1px solid var(--gs-line);border-top:3px solid var(--gs-red);padding:18px 22px 12px;margin:0 0 28px}
.gs-take h2{margin:0 0 10px;font-size:24px;letter-spacing:.06em}
.gs-take ul{margin:0;padding-left:1.1em}
.gs-take li{margin:0 0 .45em;font-size:15.5px}
.gs-toc{background:#fff;border:1px solid var(--gs-line);padding:16px 22px 14px;margin:0 0 28px}
.gs-toc h2{margin:0 0 10px;font-size:22px;letter-spacing:.06em}
.gs-toc ol{margin:0;padding-left:1.3em;columns:1;column-gap:34px}
.gs-toc li{margin:0 0 .3em;font-size:15px}
.gs-toc a{color:var(--gs-navy2);text-decoration:none}
.gs-toc a:hover{color:var(--gs-red);text-decoration:underline}
@media(min-width:760px){.gs-toc ol{columns:2}}
.gs-ans{background:#fff;border-left:4px solid var(--gs-red);border-top:1px solid var(--gs-line);border-right:1px solid var(--gs-line);border-bottom:1px solid var(--gs-line);padding:14px 18px;margin:0 0 26px;font-size:17.5px;color:var(--gs-navy)}
.gs-ans p{margin:0}
.gs-statrow{display:grid;grid-template-columns:1fr;gap:14px;margin:1.4em 0}
.gs-stat{background:var(--gs-navy);color:#fff;padding:18px 20px;position:relative}
.gs-stat::after{content:"";position:absolute;top:10px;right:10px;width:16px;height:16px;border-top:3px solid var(--gs-red);border-right:3px solid var(--gs-red)}
.gs-stat .gs-stat-n{font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-size:38px;line-height:1;color:#fff;display:block;margin-bottom:6px}
.gs-stat .gs-stat-l{font-size:13.5px;color:#c9d4ea;display:block;line-height:1.45}
.gs-stat .gs-stat-s{font-size:11.5px;color:#8fa3c8;display:block;margin-top:6px}
@media(min-width:760px){.gs-statrow{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.gs-statrow{grid-template-columns:repeat(3,1fr)}}
.gs-quote{border-left:0;border-top:2px solid var(--gs-red);border-bottom:2px solid var(--gs-red);margin:1.8em 0;padding:18px 6px;text-align:center;font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-size:clamp(22px,3.4vw,30px);line-height:1.25;color:var(--gs-navy);text-transform:uppercase;letter-spacing:.02em}
.gs-guides{margin:44px 0 0}
.gs-guides h2{margin-bottom:14px}
.gs-guides .gs-cards{margin:0;padding:0}
.gs-nap{background:var(--gs-paper);border:1px solid var(--gs-line);border-left:4px solid var(--gs-navy);padding:16px 20px;margin:1.6em 0;font-size:15px}
.gs-nap .gs-nap-name{font-weight:700;color:var(--gs-navy);font-size:17px;margin:0 0 4px}
.gs-nap p{margin:0 0 .2em;max-width:none}
.gs-map{margin:1.6em 0;border:1px solid var(--gs-line)}
.gs-map iframe{display:block;width:100%;min-height:320px;border:0}
.gs-src{margin:1.4em 0 0;padding-top:10px;border-top:1px solid var(--gs-line);font-size:13.5px;color:var(--gs-meta)}
.gs-src h3{font-size:18px;margin:0 0 8px}
.gs-src ol{padding-left:1.3em;margin:0}
.gs-src li{margin:0 0 .35em}
.gs-faq details>div p{max-width:none}
.gs-tablewrap{overflow-x:auto;margin:1em 0}
.gs-tablewrap table{min-width:560px}
