.tgh-globe-widget{
  --tgh-height:820px;
  --tgh-panel-width:360px;
  --tgh-globe-scale:1;
  --tgh-ocean-color:#071520;
  --tgh-country-line:rgba(214,240,255,.85);
  --tgh-country-active:#5ce1e6;
  --tgh-country-fill:rgba(214,240,255,.06);
  --tgh-country-fill-opacity:.06;
  --tgh-country-fill-active:rgba(92,225,230,.22);
  --tgh-country-fill-active-opacity:.22;
  --tgh-grid-color:rgba(92,225,230,.16);
  --tgh-atmosphere-color:rgba(92,225,230,.22);
  --tgh-glow-color:rgba(92,225,230,.18);
  --tgh-panel-bg:rgba(6,14,20,.85);
  --tgh-panel-border:rgba(92,225,230,.18);
  --tgh-panel-radius:22px;
  --tgh-eyebrow-color:#8ceff2;
  --tgh-title-color:#edf7ff;
  --tgh-text-color:rgba(237,247,255,.78);
  --tgh-projects-title-color:#edf7ff;
  --tgh-button-bg-1:#5ce1e6;
  --tgh-button-bg-2:#79d0f5;
  --tgh-button-text:#041118;
  --tgh-button-radius:14px;
  --tgh-marker-size:12px;
  --tgh-marker-label-color:#eaf7ff;
  --tgh-marker-label-bg:rgba(6,14,20,.84);
  --tgh-marker-label-border:rgba(92,225,230,.22);
  --tgh-marker-label-active-color:#ffffff;
  --tgh-marker-label-active-bg:rgba(16,34,46,.95);
  --tgh-marker-label-active-border:rgba(92,225,230,.48);
  --tgh-marker-label-offset-x:18px;
  --tgh-marker-label-offset-y:0px;
  --tgh-marker-label-padding-y:8px;
  --tgh-marker-label-padding-x:12px;
  --tgh-marker-label-radius:999px;
  --tgh-marker-label-border-width:1px;
  --tgh-panel-gap:28px;
  --tgh-popup-distance:0px;
  --tgh-close-color:#ffffff;
  --tgh-close-border:rgba(255,255,255,.12);
  --tgh-close-bg:rgba(255,255,255,.04);
  --tgh-close-bg-hover:rgba(255,255,255,.09);

  position:relative;
  width:100%;
  min-height:var(--tgh-height);
  overflow:hidden;
}

.tgh-stage{
  position:relative;
  width:100%;
  min-height:var(--tgh-height);
  height:var(--tgh-height);
}

.tgh-scene-wrap{
  position:relative;
  width:100%;
  min-height:var(--tgh-height);
  height:var(--tgh-height);
}

.tgh-globe-3d{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.tgh-globe-3d canvas{
  display:block;
  width:100% !important;
  height:100% !important;
  touch-action:none;
  cursor:grab;
}

.tgh-globe-3d canvas.is-dragging{
  cursor:grabbing;
}

.tgh-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
}

.tgh-marker{
  position:absolute;
  transform:translate(-50%, -50%);
  pointer-events:auto;
  display:block;
  appearance:none;
  -webkit-appearance:none;
  background:transparent !important;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  padding:0;
  margin:0;
  cursor:pointer;
  border-radius:0;
  -webkit-tap-highlight-color:transparent;
}

.tgh-marker:hover,
.tgh-marker:focus,
.tgh-marker:focus-visible,
.tgh-marker:active{
  background:transparent !important;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
}

.tgh-marker::-moz-focus-inner{
  border:0;
  padding:0;
}

.tgh-marker-dot{
  display:block;
  width:var(--tgh-marker-size);
  height:var(--tgh-marker-size);
  border-radius:50%;
  background:var(--marker-color, #5ce1e6);
  box-shadow:
    0 0 0 4px rgba(92,225,230,.18),
    0 0 24px var(--marker-color, #5ce1e6);
}

.tgh-marker-pulse{
  position:absolute;
  left:50%;
  top:50%;
  width:calc(var(--tgh-marker-size) * 2.83);
  height:calc(var(--tgh-marker-size) * 2.83);
  border-radius:50%;
  border:1px solid var(--marker-color, #5ce1e6);
  transform:translate(-50%, -50%);
  animation:tghPulse 2.4s ease-out infinite;
}

.tgh-marker-label{
  position:absolute;
  left:var(--tgh-marker-label-offset-x);
  top:calc(50% + var(--tgh-marker-label-offset-y));
  transform:translateY(-50%);
  white-space:nowrap;
  display:none;
  padding:var(--tgh-marker-label-padding-y) var(--tgh-marker-label-padding-x);
  border-radius:var(--tgh-marker-label-radius);
  background:var(--tgh-marker-label-bg);
  border:var(--tgh-marker-label-border-width) solid var(--tgh-marker-label-border);
  backdrop-filter:blur(8px);
  color:var(--tgh-marker-label-color);
  font-style:var(--tgh-marker-label-font-style, normal);
  font-weight:var(--tgh-marker-label-font-weight, 700);
  font-size:var(--tgh-marker-label-font-size, 12px);
  line-height:var(--tgh-marker-label-line-height, 1.1);
  font-family:var(--tgh-marker-label-font-family, Arial, sans-serif);
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

.tgh-show-labels .tgh-marker-label,
.tgh-marker:hover .tgh-marker-label,
.tgh-marker.is-active .tgh-marker-label{
  display:block;
}

.tgh-marker.is-active .tgh-marker-label{
  color:var(--tgh-marker-label-active-color);
  background:var(--tgh-marker-label-active-bg);
  border-color:var(--tgh-marker-label-active-border);
}

.tgh-panel{
  position:absolute;
  top:50%;
  right:calc(var(--tgh-panel-gap) + var(--tgh-popup-distance));
  transform:translateY(-50%);
  width:min(var(--tgh-panel-width), 32vw);
  max-height:calc(var(--tgh-height) - 56px);
  overflow:auto;
  pointer-events:auto;
  z-index:3;
}

.tgh-panel-left .tgh-panel{
  left:calc(var(--tgh-panel-gap) + var(--tgh-popup-distance));
  right:auto;
}

.tgh-card{
  position:relative;
  padding:22px;
  background:var(--tgh-panel-bg);
  border:1px solid var(--tgh-panel-border);
  border-radius:var(--tgh-panel-radius);
  color:var(--tgh-title-color);
  backdrop-filter:blur(10px);
  box-shadow:0 22px 40px rgba(0,0,0,.35);
}

.tgh-panel-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--tgh-close-border);
  background:var(--tgh-close-bg);
  color:var(--tgh-close-color);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.tgh-panel-close:hover{
  background:var(--tgh-close-bg-hover);
}

.tgh-card-eyebrow{
  display:block;
  color:var(--tgh-eyebrow-color);
  font:700 12px/1 Arial, sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.tgh-card-title{
  margin:10px 0 12px;
  color:var(--tgh-title-color);
  font:700 30px/1.05 Arial, sans-serif;
}

.tgh-card-desc{
  margin:0 0 16px;
  color:var(--tgh-text-color);
  font:400 15px/1.65 Arial, sans-serif;
}

.tgh-card-desc > *:first-child,
.tgh-popup-projects > *:first-child{
  margin-top:0;
}

.tgh-card-desc > *:last-child,
.tgh-popup-projects > *:last-child{
  margin-bottom:0;
}

.tgh-card-desc p,
.tgh-popup-projects p{
  margin:0 0 12px;
}

.tgh-card-desc p:last-child,
.tgh-popup-projects p:last-child{
  margin-bottom:0;
}

.tgh-card-desc ul,
.tgh-card-desc ol{
  margin:12px 0 0 20px;
  padding:0;
}

.tgh-card-desc li{
  margin:0 0 8px;
}

.tgh-projects-block{
  margin-top:16px;
}

.tgh-projects-title{
  margin:0 0 10px;
  color:var(--tgh-projects-title-color);
  font:700 12px/1 Arial, sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.tgh-projects,
.tgh-popup-projects{
  display:block;
  margin:0;
  padding:0;
  color:var(--tgh-text-color);
}

.tgh-popup-projects p{
  margin:0 0 12px;
}

.tgh-popup-projects p:last-child{
  margin-bottom:0;
}

.tgh-popup-projects ul,
.tgh-popup-projects ol{
  list-style:none !important;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.tgh-popup-projects li{
  list-style:none !important;
  display:block;
  position:relative;
  margin:0;
  padding:1px 14px 1px 38px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  color:var(--tgh-text-color);
  line-height:1.55;
}

.tgh-popup-projects li::marker{
  content:'';
  font-size:0;
}

.tgh-popup-projects li::before{
  content:"";
  position:absolute;
  left:15px;
  top:50%;
  width:9px;
  height:9px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--region-accent, #5ce1e6);
  box-shadow:0 0 14px var(--region-accent, #5ce1e6);
}

.tgh-popup-projects br{
  display:block;
  content:"";
  margin-top:8px;
}

.tgh-popup-projects strong{
  color:var(--tgh-title-color);
}

.tgh-popup-projects em{
  font-style:italic;
}

.tgh-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  margin-top:18px;
  padding:0 18px;
  border-radius:var(--tgh-button-radius);
  background:linear-gradient(135deg, var(--tgh-button-bg-1), var(--tgh-button-bg-2));
  color:var(--tgh-button-text) !important;
  text-decoration:none;
  font:700 14px/1 Arial, sans-serif;
}

.tgh-empty{
  padding:20px;
  border-radius:12px;
  background:#fff3cd;
  border:1px solid #ffe69c;
}

@keyframes tghPulse{
  0%{
    transform:translate(-50%, -50%) scale(.6);
    opacity:.95;
  }
  85%{
    transform:translate(-50%, -50%) scale(1.35);
    opacity:0;
  }
  100%{
    opacity:0;
  }
}

@media (max-width:1024px){
  .tgh-panel{
    width:min(var(--tgh-panel-width), 44vw);
  }
}

@media (max-width:767px){
  .tgh-globe-widget{
    min-height:auto;
    overflow:visible;
  }

  .tgh-stage{
    min-height:auto;
    height:auto;
  }

  .tgh-scene-wrap{
    min-height:min(var(--tgh-height), 62vh);
    height:min(var(--tgh-height), 62vh);
  }

  .tgh-globe-3d{
    position:absolute;
    inset:0;
  }

  .tgh-overlay{
    position:absolute;
    inset:0;
  }

  .tgh-panel{
    position:relative;
    top:auto;
    bottom:auto;
    left:auto !important;
    right:auto !important;
    transform:none;
    width:100%;
    max-width:none;
    max-height:none;
    overflow:visible;
    margin-top:18px;
  }

  .tgh-card{
    padding:18px;
  }

  .tgh-mobile-hide-labels .tgh-marker-label{
    display:none !important;
  }

  .tgh-mobile-show-labels.tgh-show-labels .tgh-marker-label,
  .tgh-mobile-show-labels .tgh-marker.is-active .tgh-marker-label,
  .tgh-mobile-show-labels .tgh-marker:hover .tgh-marker-label{
    display:block !important;
  }

  .tgh-globe-3d canvas{
    touch-action:none;
    cursor:default;
  }
}