/* GIS Mappers 2026 theme: deep space navy, neon blue glow, red accent (matches the brand banner).
   Loaded after site.css on every page; it only overrides colours and surfaces. */
:root{
  --bg:#060d1f;--bg-soft:#081430;--bg-mist:#0b1a3a;
  --navy-950:#030916;--navy-900:#050c1d;--navy-800:#0a1834;--navy-750:#0f2148;
  --ink:#eef5ff;--body:#bccbe3;--muted:#9aaecd;--soft:#8297b9;
  --on-dark:#f4f8fd;--on-dark-soft:#bccbe3;--on-dark-faint:#8ea2c4;
  --line:rgba(80,160,255,.20);--line-soft:rgba(80,160,255,.12);--line-dark:rgba(120,190,255,.16);
  --blue:#3d9bff;--blue-deep:#1c6ff0;--blue-soft:rgba(61,155,255,.13);
  --teal:#35d6e6;--teal-soft:rgba(53,214,230,.12);
  --red:#ff3448;--amber-ink:#ffcf6b;--amber-soft:rgba(255,190,80,.12);

  --void:#060d1f;--basalt-900:#081430;--basalt-800:#0a1834;--basalt-700:#0b1a3a;
  --paper:#0a1834;--paper-2:#081430;--paper-3:#0f2148;--mist:rgba(80,160,255,.2);
  --white:#eef5ff;--faint:#8297b9;--ink-soft:#bccbe3;--ink-900:#eef5ff;--ink-700:#bccbe3;--ink-500:#9aaecd;--ink-300:#8297b9;
  --line-strong:rgba(80,160,255,.32);--line-ink:rgba(80,160,255,.2);
  --amber:#3d9bff;--amber-hi:#3d9bff;--amber-dim:rgba(61,155,255,.13);--indigo:#3d9bff;--indigo-dim:rgba(61,155,255,.13);
  --teal-dim:rgba(53,214,230,.12);--electric:#3d9bff;--electric-deep:#1c6ff0;--cyan:#35d6e6;--cyan-bright:#35d6e6;
  --bg-900:#060d1f;--bg-850:#071027;--bg-800:#081430;--navy-700:#0b1a3a;--navy-600:#0f2148;--navy-500:#163063;
  --glass:rgba(12,30,66,.72);--glass-2:rgba(12,30,66,.6);--glass-line:rgba(80,160,255,.22);--glass-line-strong:rgba(80,160,255,.34);
  --grad-aqua:linear-gradient(135deg,#1c6ff0,#35d6e6);--grad-teal:linear-gradient(135deg,#35d6e6,#1c6ff0);
  --grad-glow:linear-gradient(135deg,#2f8cff,#1c4fd8);--grad-ink:linear-gradient(180deg,#081430,#060d1f);
  --sh-sm:0 1px 2px rgba(0,0,0,.4),0 6px 18px rgba(0,10,40,.45);
  --sh-md:0 2px 6px rgba(0,0,0,.45),0 16px 40px rgba(0,10,40,.55),0 0 0 1px rgba(80,160,255,.08);
  --sh-lg:0 24px 60px rgba(0,8,30,.6);

  --surface:linear-gradient(180deg,rgba(17,40,86,.78),rgba(8,22,50,.86));
  --surface-line:rgba(80,160,255,.22);
  --glow-blue:0 0 0 1px rgba(80,170,255,.45),0 0 24px rgba(40,140,255,.35);
  color-scheme:dark;
}

/* page background: deep navy with soft blue and red light, like the banner sky */
body{
  background:
    radial-gradient(1200px 600px at 12% -10%,rgba(30,110,255,.16),transparent 60%),
    radial-gradient(900px 500px at 100% 0%,rgba(255,40,70,.08),transparent 60%),
    #060d1f;
  background-attachment:fixed;
  color:var(--body);
}
::selection{background:rgba(61,155,255,.35);color:#fff}

/* header */
.site-header{background:rgba(5,12,29,.82);border-bottom:1px solid rgba(80,160,255,.18);
  box-shadow:0 1px 0 rgba(255,52,72,.08),0 8px 30px rgba(0,0,0,.35)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(61,155,255,.7) 30%,rgba(176,76,255,.6) 60%,rgba(255,52,72,.7) 80%,transparent)}
.site-header .gm-tag{color:#cfe0ff}
.drop,.mobile-menu,.nav-toggle{background:#081430;border-color:var(--line)}
.drop{box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(80,160,255,.18)}

/* heroes: dark sky with faint survey grid */
.hero--inner,.page-hero,.hero--globe,.home-hero{
  background:
    radial-gradient(700px 420px at 78% 40%,rgba(30,120,255,.22),transparent 65%),
    radial-gradient(500px 300px at 95% 90%,rgba(255,40,70,.10),transparent 70%),
    linear-gradient(rgba(80,160,255,.05) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(80,160,255,.05) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(160deg,#071330 0,#060d1f 70%);
}
.hero__bg::after{background:linear-gradient(90deg,#060d1f 0,#060d1f 30%,rgba(6,13,31,.92) 50%,rgba(6,13,31,.55) 75%,rgba(6,13,31,.35) 100%)}

/* cards and panels */
.card,.glass,.media-badge,.speclist,.index-row .i-go,.division,.product-card,.tile,
.software-stack-card,.software-suite-card,.proj-card,.dossier,.rail,.hero-stats .st,.stat-bar,
.person,.team-card,.acc details,.form-card,.form-panel,.svc-card,.div-card,
.geo-showcase__panel,.software-showcase__panel,.product-count-note,.home-hero .hh-badge{
  background:var(--surface);border-color:var(--surface-line);
}
.card,.product-card,.tile,.proj-card,.svc-card,.div-card,.team-card,.person,.software-stack-card,.software-suite-card{
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.card:hover,.product-card:hover,.tile:hover,.proj-card:hover,.svc-card:hover,.div-card:hover,
.team-card:hover,.software-stack-card:hover,.software-suite-card:hover{box-shadow:var(--glow-blue);border-color:rgba(80,170,255,.5)}
.team-card__avatar{background:linear-gradient(165deg,#0f2148 0,#0a1834 60%,#081430 100%)}
.sector-card .sc-go{background:rgba(8,20,48,.9);color:var(--ink)}
.chip,.pill,.filters button,.software-product-pills .pill{background:rgba(12,30,66,.7);border-color:var(--line);color:var(--body)}
.status--live{background:rgba(40,200,140,.14);color:#5ee0aa}

/* sections */
.section--soft,.bg-soft{background:rgba(8,20,48,.55)}
.section--dark,.panel-ink,.cta-band{background-color:#040a19}

/* buttons */
.btn--primary{background:linear-gradient(180deg,#3d9bff,#1c5fe0);border-color:transparent;color:#fff;
  box-shadow:0 0 0 1px rgba(120,190,255,.35),0 6px 22px rgba(30,120,255,.4)}
.btn--primary:hover{box-shadow:0 0 0 1px rgba(150,210,255,.6),0 8px 30px rgba(30,130,255,.6)}
.btn--ghost,.btn--ghost-ink,.btn--glass{background:rgba(10,24,54,.6);color:var(--ink);border-color:rgba(80,160,255,.45)}
.btn--ghost:hover,.btn--ghost-ink:hover,.btn--glass:hover{background:rgba(61,155,255,.14);border-color:#3d9bff}

/* forms */
.field input,.field select,.field textarea{background:#071229;color:var(--ink);border-color:rgba(80,160,255,.28)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#3d9bff;box-shadow:0 0 0 3px rgba(61,155,255,.25)}
.field input::placeholder,.field textarea::placeholder{color:#6f84a8}
.form-msg.is-error,.form-status.is-error{background:rgba(255,52,72,.12);color:#ff8a96}
.form-msg.is-info,.form-status.is-info{background:rgba(61,155,255,.12);color:#9fcbff}
.form-msg.is-success,.form-status.is-success{background:rgba(40,200,140,.12);color:#6fe3b4}

/* client logos: turn dark logos white on the dark page */
.logo-wall img,.marquee-track img{filter:grayscale(1) brightness(0) invert(1);opacity:.7}
.logo-wall img:hover,.marquee-track img:hover{filter:grayscale(1) brightness(0) invert(1) drop-shadow(0 0 6px rgba(80,170,255,.8));opacity:1}

/* footer */
.site-footer{background:#030916;border-top:1px solid rgba(80,160,255,.14)}

/* headings: crisp white with a faint blue halo */
h1,h2,.h-xl,.t-hero,.t-xl{color:var(--ink);text-shadow:0 0 28px rgba(40,130,255,.18)}
a:not(.btn){text-decoration-color:rgba(61,155,255,.5)}

/* tables */
table{color:var(--body)}
th,td{border-color:var(--line)}

/* nav text (hard-coded dark in site.css) */
.nav-links>li>a,.drop a{color:#c9d8f0}
.nav-links>li>a:hover,.drop a:hover{color:#fff;text-shadow:0 0 12px rgba(61,155,255,.6)}
.nav-links>li>a[aria-current],.nav-links>li>a.is-active{color:#5fb0ff}
.drop a:hover{background:rgba(61,155,255,.12)}
.mobile-menu a{color:#dbe7fb}
.nav-toggle span,.nav-toggle i{background:#dbe7fb}

/* inline icons that had no size set (they stretched to full width) */
.h-md>svg{width:22px;height:22px;display:inline-block;vertical-align:-4px;margin-right:8px;color:var(--blue)}
.ico>svg{width:20px;height:20px;display:block;color:var(--blue)}

/* hero globe glow: one round glow, centred on the globe and reaching out past the satellite rings.
   In this box the globe edge sits at ~65% of the radius and the outer ring at ~90%. */
.hh-globe::before{
  inset:0;filter:blur(4px);
  background:radial-gradient(circle closest-side at 50% 50%,
    rgba(40,130,255,.42) 0,rgba(40,130,255,.34) 60%,
    rgba(50,120,255,.20) 70%,rgba(110,90,255,.12) 82%,
    rgba(255,45,75,.10) 91%,transparent 100%);
}
.hh-globe::after{background:radial-gradient(ellipse at center,rgba(40,130,255,.28),transparent 68%)}
