/* The globe and its horizon share the homepage gradient. */
.ph-home .ps-section { position: relative; padding: 46px 0 52px; background: transparent; color: #111; }
.ps-shell { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.ps-introduction { text-align: center; max-width: 700px; margin: 0 auto 20px; }
.ph-home .ps-introduction h2 { margin: 0; font: 700 clamp(34px, 3.4vw, 48px)/1.07 'Instrument Sans', 'Manrope', sans-serif; letter-spacing: -.045em; color: #111; }
.ph-home .ps-introduction p { max-width: 59ch; margin: 22px auto 0; font: 400 14px/1.65 'Manrope', sans-serif; color: #222; }
.pg-stage { position: relative; width: calc(100vw - 24px); left: 50%; transform: translateX(-50%); height: clamp(360px, 42vw, 640px); overflow: hidden; }
.pg-canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: pan-y; mask-image: linear-gradient(#000 0%, #000 52%, #0009 72%, transparent 96%); }
.pg-canvas.is-dragging { cursor: grabbing; }
.pg-canvas:focus-visible { outline: 2px solid #171b18; outline-offset: -4px; border-radius: 18px; }
.pg-fallback { position: absolute; inset: 25% 12% auto; text-align: center; }
.ps-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); z-index: 2; margin: -76px 0 0; padding: 0 0 20px; background: transparent; }
.ps-stat { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; padding-inline: 20px; border: 0; }
.ps-stat:first-child { border-left: 0; }
.ps-value { order: -1; margin: 0 0 8px; font: 700 clamp(52px, 5.4vw, 76px)/1 'Instrument Sans', sans-serif; letter-spacing: -.05em; font-variant-numeric: lining-nums tabular-nums; color: #111; }
.ps-label { margin: 0; font: 500 10px/1.5 'Manrope', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #111; }
@media (max-width: 700px) {
  .ph-home .ps-section { padding: 38px 0 52px; }
  .ps-shell { width: calc(100% - 40px); }
  .ph-home .ps-introduction h2 { font-size: clamp(31px, 8vw, 42px); }
  .ph-home .ps-introduction p { font-size: 13px; margin-top: 18px; }
  .ps-introduction { margin-bottom: 20px; }
  .pg-stage { width: 100vw; height: 370px; }
  .ps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 0; margin-top: -52px; padding-top: 0; }
  .ps-stat { padding-inline: 6px; }
  .ps-stat:nth-child(odd) { border-left: 0; }
  .ps-label { font-size: 9px; }
  .ps-value { font-size: clamp(32px, 9vw, 48px); }
}

.pg-markers { position: absolute; inset: 0; pointer-events: none; }
.pg-pin { position: absolute; top: 0; left: 0; width: 18px; height: 24px; padding: 0; margin: -22px 0 0 -9px; border: 0; background: transparent; pointer-events: auto; cursor: pointer; z-index: 1; }
.pg-pin svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 2px 4px #33211166); }
.pg-pin:hover, .pg-pin:focus { z-index: 3; }
.pg-pin:focus-visible { outline: 2px solid #171b18; outline-offset: 4px; border-radius: 12px; }
.pg-pin[hidden] { display: none; }
