/* GIS Mappers logo: rotating holographic globe + chrome blue/red wordmark (matches the 2026 brand banner) */
.gm-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;line-height:1}

/* globe: real map turning inside a glowing blue sphere */
.gm-globe{
  --d:44px;
  position:relative;flex:none;width:var(--d);height:var(--d);border-radius:50%;
  background:#062a6b url(../images/brand/logo-globe.jpg) 0 50%/auto 100% repeat-x;
  animation:gm-spin 22s linear infinite;
  box-shadow:
    inset -8px -6px 12px rgba(0,8,40,.8),
    inset 3px 3px 8px rgba(150,220,255,.55),
    0 0 0 1.5px rgba(90,190,255,.95),
    0 0 9px 2px rgba(30,150,255,.75),
    0 0 18px 4px rgba(30,120,255,.35);
}
/* blue holographic tint, grid lines and sheen */
.gm-globe::before{
  content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:
    radial-gradient(circle at 30% 26%,rgba(255,255,255,.5),transparent 38%),
    repeating-linear-gradient(0deg,transparent 0 6px,rgba(140,215,255,.35) 6px 7px),
    linear-gradient(rgba(20,110,255,.28),rgba(20,110,255,.28));
}
/* orbit band around the globe, blue at the back, red at the front */
.gm-globe::after{
  content:"";position:absolute;left:-22%;right:-22%;top:40%;height:26%;border-radius:50%;
  border:2px solid transparent;
  border-bottom-color:#ff2a3c;border-left-color:#3aa0ff;border-right-color:#ff2a3c;
  transform:rotate(-12deg);
  filter:drop-shadow(0 0 3px rgba(255,40,60,.7));
}
@keyframes gm-spin{from{background-position:0 50%}to{background-position:calc(var(--d) * -2) 50%}}
@media (prefers-reduced-motion:reduce){.gm-globe{animation:none}}

/* wordmark */
.gm-word{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding-top:3px}
/* swoosh arc over the name: blue on the left, red on the right */
.gm-word::before{
  content:"";position:absolute;left:14%;right:-6%;top:-7px;height:16px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3ClinearGradient id='g' x2='1'%3E%3Cstop offset='0' stop-color='%233aa0ff' stop-opacity='0'/%3E%3Cstop offset='.35' stop-color='%233aa0ff'/%3E%3Cstop offset='.6' stop-color='%23b04cff'/%3E%3Cstop offset='.9' stop-color='%23ff2a3c'/%3E%3Cstop offset='1' stop-color='%23ff2a3c' stop-opacity='.2'/%3E%3C/linearGradient%3E%3Cpath d='M2 18 Q100 -6 198 12' fill='none' stroke='url(%23g)' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
  filter:drop-shadow(0 0 2px rgba(120,100,255,.6));
}
.gm-name{
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:900;font-style:italic;
  font-size:25px;letter-spacing:-.01em;line-height:1;white-space:nowrap;
  transform:skewX(-8deg);
}
.gm-name b{font-weight:900}
/* chrome look: bright top edge, deep colour, dark base */
.gm-gis{
  background:linear-gradient(180deg,#cfe6ff 0%,#4e9bff 22%,#1747c8 55%,#0a1f6e 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 2px rgba(40,140,255,.6)) drop-shadow(0 1px 0 rgba(0,20,60,.35));
}
.gm-map{
  background:linear-gradient(180deg,#ffd0d0 0%,#ff4a4a 22%,#e0101c 55%,#7c040c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 2px rgba(255,40,60,.55)) drop-shadow(0 1px 0 rgba(60,0,0,.35));
}
/* tagline with glowing rules either side */
.gm-tag{
  display:flex;align-items:center;gap:6px;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:700;
  font-size:8.5px;letter-spacing:.3em;color:#24426e;white-space:nowrap;
}
.gm-tag::before,.gm-tag::after{
  content:"";width:14px;height:1.5px;border-radius:1px;
  background:linear-gradient(90deg,transparent,#2f8cff);box-shadow:0 0 4px rgba(47,140,255,.8);
}
.gm-tag::after{background:linear-gradient(90deg,#2f8cff,transparent)}

.site-footer .gm-tag{color:#d6e6fb}
.site-footer .gm-globe{--d:40px}
.site-footer .gm-name{font-size:22px}

@media (max-width:420px){
  .gm-globe{--d:36px}
  .gm-name{font-size:20px}
  .gm-tag{font-size:7px;gap:4px}
  .gm-tag::before,.gm-tag::after{width:9px}
  .gm-logo{gap:9px}
}

/* footer: the full brand banner on the dark footer, no white box */
.f-logo.f-logo--banner{background:none;padding:0;border-radius:12px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(90,170,255,.25),0 0 22px rgba(30,120,255,.25)}
.f-logo.f-logo--banner img{height:auto;width:360px;max-width:100%}
