
    main#MainContent { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; }
    .gs-home{
    --navy:#0A2540;
    --shell:#0B2038;
    --shell-2:#0E2A48;
    --accent:#00D67E;
    --accent-d:#00B86B;
    --accent-ink:#0A7A50;
    --bg:#F4F7FB;
    --card:#FFFFFF;
    --ink:#16203A;
    --text:#46546B;
    --muted:#8896AD;
    --line:#E4E9F0;
    --hi:#FF7A7A;
    --amb:#FFC24B;
    --grn:#3DE0A0;
    --mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,monospace;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-family:var(--sans);
    color:var(--text);
    background:var(--bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  .gs-home *,.gs-home *::before,.gs-home *::after{margin:0;padding:0;box-sizing:border-box;}
  .gs-home .gs-wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
  /* shared bits */
    .gs-home .gs-eyebrow--d{
    display:inline-flex;align-items:center;gap:9px;
    font-size:.67rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
    color:#8FEFC4;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
    padding:8px 15px 8px 13px;border-radius:999px;margin-bottom:22px;
    -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
    box-shadow:0 6px 20px rgba(4,14,28,.30),inset 0 1px 0 rgba(255,255,255,.14);
  }
  .gs-home .gs-eyebrow--d svg{width:14px;height:14px;fill:#7FE6BE;}
    .gs-home .gs-accent{
    background:linear-gradient(120deg,#00D67E,#00B86B);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent-d);
  }
  /* buttons */
    .gs-home .gs-btn{
    appearance:none;border:0;cursor:pointer;text-decoration:none;font-family:inherit;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-size:.95rem;font-weight:650;letter-spacing:-.012em;white-space:nowrap;
    padding:15px 26px;border-radius:999px;
    transition:transform .22s cubic-bezier(.32,.72,0,1),box-shadow .28s ease,background .28s ease,border-color .28s ease;
  }
  .gs-home .gs-btn svg{width:16px;height:16px;fill:currentColor;transition:transform .28s cubic-bezier(.32,.72,0,1);}
  .gs-home .gs-btn:hover svg{transform:translateX(3px);}
  .gs-home .gs-btn:active{transform:translateY(0) scale(.975);}
  .gs-home .gs-btn-primary{
    background:linear-gradient(180deg,#0BE68C 0%,var(--accent) 42%,var(--accent-d) 100%);color:#022C1B;
    box-shadow:0 1px 1px rgba(0,0,0,.14),0 10px 26px rgba(0,184,107,.34),inset 0 1px 0 rgba(255,255,255,.45);
  }
  .gs-home .gs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 1px 1px rgba(0,0,0,.14),0 16px 34px rgba(0,184,107,.44),inset 0 1px 0 rgba(255,255,255,.5);}
    .gs-home .gs-btn-ghost-d{
    background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.20);
    -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
    box-shadow:0 6px 20px rgba(4,14,28,.26),inset 0 1px 0 rgba(255,255,255,.16);
  }
  .gs-home .gs-btn-ghost-d:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.34);transform:translateY(-2px);}
    /* HERO (live map) */
  .gs-home .gs-hero{
    position:relative;overflow:hidden;color:#fff;
    min-height:100vh;min-height:100svh;display:grid;align-items:center;
    padding:150px 24px 104px;background:var(--shell);
  }
  .gs-home .gs-hero__map{position:absolute;inset:0;z-index:0;}
  .gs-home .gs-hero__map .maplibregl-ctrl-attrib{
    font-size:9px;background:rgba(0,0,0,.34);color:#9fb0c5;border-radius:6px 0 0 0;
  }
  .gs-home .gs-hero__map .maplibregl-ctrl-attrib a{color:inherit;}
  /* Colour wash — deliberately light so the basemap and heat read through.
     Only two jobs: keep the white nav legible up top, and keep the copy
     legible on the left. Everything else stays clear. */
  .gs-home .gs-hero__wash{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      radial-gradient(ellipse 60% 50% at 84% 0%, rgba(0,214,126,.10) 0%, transparent 58%),
      linear-gradient(180deg, rgba(11,32,56,.30) 0%, rgba(9,25,45,.22) 46%, rgba(9,23,44,.42) 100%);
  }
  .gs-home .gs-hero__wash::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(7,18,34,.80) 0%, rgba(7,18,34,.58) 12%, rgba(7,18,34,.16) 26%, transparent 38%),
      linear-gradient(90deg, rgba(8,22,40,.72) 0%, rgba(8,22,40,.46) 26%, rgba(8,22,40,.10) 46%, transparent 58%);
  }
  .gs-home .gs-hero__mesh{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:44px 44px;
    -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 18%,#000 0%,transparent 78%);
            mask-image:radial-gradient(ellipse 90% 80% at 50% 18%,#000 0%,transparent 78%);
  }
  .gs-home .gs-hero-grid{
    position:relative;z-index:2;max-width:1160px;margin:0 auto;width:100%;
    display:grid;grid-template-columns:1.04fr .96fr;gap:52px;align-items:center;
  }
  /* On a wide screen push the two panes apart and cap the console's width:
     every pixel taken off the middle is a pixel of California that ends up
     behind something. */
  @media (min-width:981px){
    .gs-home .gs-hero-grid{grid-template-columns:1fr 460px;}
  }
  @media (min-width:1360px){
    .gs-home .gs-hero-grid{max-width:1320px;gap:56px;}
  }
  .gs-home .gs-hero-title{
    font-size:clamp(2.5rem,5.2vw,3.6rem);font-weight:800;letter-spacing:-.042em;line-height:1;
    color:#fff;margin:0 0 20px;text-shadow:0 2px 30px rgba(6,16,30,.55);
  }
  .gs-home .gs-hero-sub{
    font-size:1.05rem;line-height:1.62;color:rgba(255,255,255,.82);max-width:470px;margin:0 0 30px;
    letter-spacing:-.005em;text-shadow:0 1px 14px rgba(6,16,30,.55);
  }
  .gs-home .gs-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 26px;}
  .gs-home .gs-hero-trust{
    display:inline-flex;align-items:center;gap:9px;
    font-size:.78rem;color:#9DB0C6;font-weight:500;
    text-shadow:0 1px 12px rgba(6,16,30,.6);
  }
  .gs-home .gs-hero-trust svg{width:15px;height:15px;fill:var(--accent);flex-shrink:0;}
  /* staggered entrance — one orchestrated reveal beats scattered effects */
  .gs-home .gs-hero-copy > *,.gs-home .gs-console{
    opacity:0;transform:translateY(14px);
    animation:gsRise .85s cubic-bezier(.22,1,.36,1) forwards;
  }
  .gs-home .gs-hero-copy > *:nth-child(1){animation-delay:.05s;}
  .gs-home .gs-hero-copy > *:nth-child(2){animation-delay:.13s;}
  .gs-home .gs-hero-copy > *:nth-child(3){animation-delay:.21s;}
  .gs-home .gs-hero-copy > *:nth-child(4){animation-delay:.29s;}
  .gs-home .gs-hero-copy > *:nth-child(5){animation-delay:.37s;}
  .gs-home .gs-console{animation-delay:.22s;}
  @keyframes gsRise{to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){
    .gs-home .gs-hero-copy > *,.gs-home .gs-console{opacity:1;transform:none;animation:none;}
  }
  /* console */
  .gs-home .gs-console{
    position:relative;
    background:linear-gradient(180deg,rgba(11,30,52,.70),rgba(9,24,44,.62));
    border:1px solid rgba(255,255,255,.14);border-radius:20px;
    box-shadow:0 28px 64px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.10);
    -webkit-backdrop-filter:saturate(170%) blur(20px);backdrop-filter:saturate(170%) blur(20px);
    padding:20px 20px 18px;
  }
  .gs-home .gs-console__bar{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.10);
  }
  .gs-home .gs-console__live{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.10em;
    text-transform:uppercase;color:#fff;
  }
  .gs-home .gs-live-dot{
    width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;
    box-shadow:0 0 0 0 rgba(0,214,126,.5);animation:gsPulse 2.2s ease-out infinite;
  }
  @keyframes gsPulse{
    0%{box-shadow:0 0 0 0 rgba(0,214,126,.5);}
    70%{box-shadow:0 0 0 8px rgba(0,214,126,0);}
    100%{box-shadow:0 0 0 0 rgba(0,214,126,0);}
  }
  .gs-home .gs-console__time{
    font-family:var(--mono);font-size:.66rem;color:#8FA3C0;letter-spacing:.06em;font-variant-numeric:tabular-nums;
  }
  .gs-home .gs-console__kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  .gs-home .gs-kpi{padding:6px 12px;position:relative;text-align:center;}
  .gs-home .gs-kpi + .gs-kpi::before{
    content:"";position:absolute;left:0;top:10%;height:80%;width:1px;background:rgba(255,255,255,.10);
  }
  .gs-home .gs-kpi__v{
    font-family:var(--mono);font-size:clamp(1.55rem,3.1vw,2.1rem);font-weight:700;
    line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;
    /* fitStat() shrinks anything too wide for its column; nowrap keeps a long
       figure on one line so the overflow is measurable rather than reflowed. */
    white-space:nowrap;
  }
  .gs-home .gs-kpi__v.is-red{color:var(--hi);}
  .gs-home .gs-kpi__v.is-amber{color:var(--amb);}
  .gs-home .gs-kpi__v.is-green{color:var(--grn);}
  .gs-home .gs-kpi__u{font-size:.5em;font-weight:600;color:#8FA3C0;margin-left:.14em;}
  .gs-home .gs-kpi__l{
    font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.055em;
    color:#8FA3C0;margin-top:9px;line-height:1.25;
    /* Two-line box so a wrapping label ("Customers Affected") can't knock the
       row out of alignment. Centred, not top-aligned: with a one-line label the
       reserved second line would otherwise sit as dead space underneath and
       leave the whole stat reading top-heavy in its column. */
    min-height:2.5em;display:flex;align-items:center;justify-content:center;text-align:center;
  }
  .gs-home .gs-console__div{height:1px;background:rgba(255,255,255,.10);margin:16px 0 13px;}
  .gs-home .gs-console__label{
    font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.10em;
    text-transform:uppercase;color:#7B8DA9;margin-bottom:10px;
  }
  .gs-home .gs-util__row{display:grid;grid-template-columns:66px minmax(0,1fr) 60px;align-items:center;gap:12px;padding:9px 0;}
  .gs-home .gs-util__row + .gs-util__row{border-top:1px solid rgba(255,255,255,.06);}
  .gs-home .gs-util__name{
    font-family:var(--mono);font-size:.72rem;font-weight:600;color:rgba(255,255,255,.92);
    display:inline-flex;align-items:center;gap:8px;
  }
  .gs-home .gs-util__dot{width:7px;height:7px;border-radius:50%;background:var(--grn);flex-shrink:0;transition:background .3s ease;}
  .gs-home .gs-util__track{height:6px;border-radius:6px;background:rgba(255,255,255,.09);overflow:hidden;}
  .gs-home .gs-util__bar{
    display:block;height:100%;width:0;border-radius:6px;
    background:linear-gradient(90deg,var(--accent),var(--accent-d));
    transition:width .9s cubic-bezier(.2,.7,.3,1),background .3s ease;
  }
  .gs-home .gs-util__val{
    font-family:var(--mono);font-size:.78rem;font-weight:700;color:#fff;
    font-variant-numeric:tabular-nums;text-align:right;
  }
  .gs-home .gs-seg{
    position:relative;display:grid;grid-template-columns:repeat(4,1fr);
    margin-top:18px;padding:4px;
    background:rgba(4,14,28,.46);border:1px solid rgba(255,255,255,.09);border-radius:13px;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.34);
  }
  .gs-home .gs-seg__sel{
    position:absolute;top:4px;left:4px;height:calc(100% - 8px);width:calc(25% - 2px);
    border-radius:10px;overflow:hidden;transform:translateX(0);
    background:linear-gradient(135deg,var(--accent),var(--accent-d));
    box-shadow:0 2px 8px rgba(0,184,107,.42),inset 0 1px 0 rgba(255,255,255,.28);
    transition:transform .5s cubic-bezier(.34,1.32,.42,1);
  }
  .gs-home .gs-seg__sel::after{
    content:"";position:absolute;inset:0;border-radius:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 60%);
  }
  .gs-home .gs-seg__sel i{position:absolute;left:0;top:0;height:100%;width:0;background:rgba(255,255,255,.24);}
  .gs-home .gs-seg button{
    position:relative;z-index:1;appearance:none;border:0;background:transparent;cursor:pointer;
    padding:10px 4px;border-radius:10px;font-family:var(--mono);
    font-size:.63rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    color:#8FA3C0;transition:color .28s ease,font-weight .2s ease;
  }
  .gs-home .gs-seg button:hover{color:#cfe0f0;}
  .gs-home .gs-seg button.is-on{color:#022C1B;font-weight:800;}
  .gs-home .gs-console__note{
    margin-top:11px;font-size:.66rem;color:#7B8DA9;font-variant-numeric:tabular-nums;text-align:center;
  }
  .gs-home .gs-skel{
    display:inline-block;width:46px;height:20px;border-radius:5px;
    background:linear-gradient(90deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.06) 100%);
    background-size:200% 100%;animation:gsShimmer 1.4s ease-in-out infinite;
  }
  @keyframes gsShimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

  /* DAY MODE — .is-day is toggled on .gs-hero by the clock (07:00–19:00 PT).
     The basemap swaps to CARTO Positron; everything painted on top flips with it. */
  .gs-home .gs-hero,.gs-home .gs-console,.gs-home .gs-hero-title,.gs-home .gs-hero-sub,
  .gs-home .gs-kpi__v,.gs-home .gs-util__name,.gs-home .gs-util__val,.gs-home .gs-seg{
    transition:background .7s ease,color .7s ease,border-color .7s ease,box-shadow .7s ease;
  }
  .gs-home .gs-hero.is-day{
    background:#E9EFF6;
    color:#12203A;              /* inherited default, in case anything doesn't set its own */
    /* sev() feeds these same tokens to inline styles on the utility bars and
       dots, so redefining them here flips the JS-driven colours as well. The
       night values are tuned for a dark ground and turn to pastel on white. */
    --hi:#D42121; --amb:#B4700A; --grn:#07845A;
  }
  /* Left scrim goes LIGHT (copy is dark by day). The top scrim stays dark — the
     theme's nav is white text and sits ~45px into the section. Its falloff is a
     smoothstep-shaped multi-stop so it reads as light, not as a bar. */
  .gs-home .gs-hero.is-day .gs-hero__wash{
    background:
      radial-gradient(ellipse 60% 50% at 84% 0%, rgba(0,184,107,.10) 0%, transparent 58%),
      linear-gradient(180deg, rgba(232,239,247,.10) 0%, rgba(226,235,245,.16) 52%, rgba(216,228,241,.52) 100%);
  }
  .gs-home .gs-hero.is-day .gs-hero__wash::after{
    background:
      linear-gradient(180deg,
        rgba(10,24,44,.60) 0%,  rgba(10,24,44,.57) 3%,  rgba(10,24,44,.48) 6%,
        rgba(10,24,44,.34) 9%,  rgba(10,24,44,.19) 12%, rgba(10,24,44,.08) 15%,
        rgba(10,24,44,.02) 18%, transparent 21%),
      linear-gradient(90deg,
        rgba(240,245,251,.94) 0%, rgba(240,245,251,.86) 20%, rgba(240,245,251,.58) 36%,
        rgba(240,245,251,.22) 48%, transparent 58%);
  }
  .gs-home .gs-hero.is-day .gs-hero__mesh{
    background-image:
      linear-gradient(rgba(14,34,62,.055) 1px,transparent 1px),
      linear-gradient(90deg,rgba(14,34,62,.055) 1px,transparent 1px);
  }
  .gs-home .gs-hero.is-day .gs-eyebrow--d{
    color:#0A7A50;background:rgba(255,255,255,.72);border-color:rgba(14,32,58,.10);
    box-shadow:0 6px 20px rgba(16,38,68,.10),inset 0 1px 0 rgba(255,255,255,.9);
  }
  .gs-home .gs-hero.is-day .gs-eyebrow--d svg{fill:#0A7A50;}
  .gs-home .gs-hero.is-day .gs-hero-title{color:#0D1B2F;text-shadow:0 1px 20px rgba(240,246,252,.9);}
  /* the night greens sit at 3.0:1 on a light ground — the AA floor, and visibly
     weaker than the 15.8:1 ink line beside them. These run 4.2:1 → 6.0:1. */
  .gs-home .gs-hero.is-day .gs-accent{background-image:linear-gradient(120deg,#008751,#036B41);}
  .gs-home .gs-hero.is-day .gs-hero-sub{color:rgba(24,38,62,.80);text-shadow:0 1px 12px rgba(240,246,252,.85);}
  .gs-home .gs-hero.is-day .gs-hero-trust{color:#5C6E8A;text-shadow:0 1px 10px rgba(240,246,252,.85);}
  .gs-home .gs-hero.is-day .gs-hero-trust svg{fill:#0A9A62;}
  .gs-home .gs-hero.is-day .gs-btn-ghost-d{
    background:rgba(255,255,255,.74);color:#12203A;border-color:rgba(14,32,58,.12);
    box-shadow:0 6px 20px rgba(16,38,68,.12),inset 0 1px 0 rgba(255,255,255,.95);
  }
  .gs-home .gs-hero.is-day .gs-btn-ghost-d:hover{background:#fff;border-color:rgba(14,32,58,.22);}
  .gs-home .gs-hero.is-day .gs-console{
    background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(248,251,255,.68));
    border-color:rgba(14,32,58,.10);
    box-shadow:0 28px 64px rgba(16,38,68,.18),inset 0 1px 0 rgba(255,255,255,.95);
  }
  /* Dividers come in two kinds and must not be grouped: these elements ARE the
     line, so the colour goes on background. */
  .gs-home .gs-hero.is-day .gs-console__div,
  .gs-home .gs-hero.is-day .gs-kpi + .gs-kpi::before{background:rgba(14,32,58,.10);}
  /* These are full-size boxes that merely carry a border — giving them a
     background paints the whole row (it greyed out the SCE and PG&E rows). */
  .gs-home .gs-hero.is-day .gs-console__bar{border-bottom-color:rgba(14,32,58,.10);}
  .gs-home .gs-hero.is-day .gs-util__row + .gs-util__row{border-top-color:rgba(14,32,58,.10);}
  .gs-home .gs-hero.is-day .gs-console__live{color:#12203A;}
  .gs-home .gs-hero.is-day .gs-console__time,
  .gs-home .gs-hero.is-day .gs-kpi__u,
  .gs-home .gs-hero.is-day .gs-kpi__l,
  .gs-home .gs-hero.is-day .gs-console__label,
  .gs-home .gs-hero.is-day .gs-console__note{color:#5C6E8A;}
  .gs-home .gs-hero.is-day .gs-kpi__v{color:#0D1B2F;}
  .gs-home .gs-hero.is-day .gs-util__name{color:#12203A;}
  .gs-home .gs-hero.is-day .gs-util__val{color:#0D1B2F;}
  .gs-home .gs-hero.is-day .gs-util__track{background:rgba(14,32,58,.09);}
  .gs-home .gs-hero.is-day .gs-seg{
    background:rgba(14,32,58,.06);border-color:rgba(14,32,58,.09);
    box-shadow:inset 0 1px 3px rgba(14,32,58,.10);
  }
  .gs-home .gs-hero.is-day .gs-seg button{color:#61738F;}
  .gs-home .gs-hero.is-day .gs-seg button:hover{color:#1B2B45;}
  .gs-home .gs-hero.is-day .gs-seg button.is-on{color:#022C1B;}
  .gs-home .gs-hero.is-day .gs-skel{
    background:linear-gradient(90deg,rgba(14,32,58,.06) 0%,rgba(14,32,58,.15) 50%,rgba(14,32,58,.06) 100%);
    background-size:200% 100%;
  }
  /* RESPONSIVE */
  @media (max-width:980px){
    .gs-home .gs-hero-grid{grid-template-columns:1fr;gap:34px;}
    .gs-home .gs-hero{padding:120px 24px 88px;text-align:left;align-items:start;}
    .gs-home .gs-console{order:1;max-width:560px;width:100%;}
    .gs-home .gs-hero-copy{order:2;}
  }
  @media (max-width:760px){
    .gs-home .gs-hero{padding:96px 20px 88px;}
    .gs-home .gs-kpi{padding:4px 8px;}
    .gs-home .gs-util__row{grid-template-columns:58px 1fr 52px;gap:9px;}
  }
  @media (max-width:430px){
    .gs-home .gs-hero-actions{flex-direction:column;align-items:stretch;}
    .gs-home .gs-hero-actions .gs-btn{width:100%;}
    .gs-home .gs-hero-title{font-size:2.1rem;}
    .gs-home .gs-seg button{font-size:.55rem;padding:8px 2px;}
  }
  @media (prefers-reduced-motion:reduce){
    .gs-home *{animation:none !important;transition:none !important;}
  }

/* Retain the original full-bleed map composition, with refined controls and a native system UI. */
body:has(.gs-hero) .utility-bar{display:none}
body:has(.gs-hero) .site-header{position:absolute;inset:0 0 auto;background:rgba(9,24,41,.24);border-bottom:1px solid rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(18px)}
body:has(.gs-hero) .site-header .nav{min-height:80px}
body:has(.gs-hero) .brand-mark{color:#b6f0d1;border-color:#8fb8a5}
body:has(.gs-hero) .nav-cta{background:rgba(255,255,255,.13);border:1px solid #ffffff26}
body:has(.gs-hero.is-day) .site-header{background:#ffffffa8;color:#172c28;border-color:#172c2818}
body:has(.gs-hero.is-day) .brand-mark{color:#19644f;border-color:#19644f}
body:has(.gs-hero.is-day) .nav-cta{background:#19644f}
.gs-home .gs-hero{min-height:100svh;padding:150px 48px 120px}
.gs-home .gs-hero-grid{max-width:1320px;grid-template-columns:minmax(0,1fr) 440px;gap:80px}
.gs-home .gs-hero-title{font-size:clamp(48px,5.2vw,76px);font-weight:600;letter-spacing:-.06em;line-height:1.04}
.gs-home .gs-hero-sub{max-width:400px;font-size:15px;line-height:1.9;font-weight:400}
.gs-home .gs-btn{font-size:13px;padding:15px 22px;border-radius:50px}
.gs-home .gs-console{border-radius:22px;background:rgba(10,27,46,.68);backdrop-filter:blur(28px) saturate(140%);box-shadow:0 28px 90px #00000035;border-color:#ffffff29}
.gs-home .gs-console__bar{padding:20px 24px}
.gs-home .gs-kpi__v{font-weight:500;letter-spacing:-.045em}
.gs-home .gs-console__note{min-height:34px;line-height:1.7}
.gs-home .gs-hero-trust{font-size:10px;max-width:400px;line-height:1.7}
.gs-home .gs-eyebrow--d{font-size:9px;letter-spacing:1.7px;font-weight:550}
.gs-map-toolbar{position:absolute;z-index:3;left:48px;right:48px;top:104px;display:flex;align-items:center;justify-content:space-between;color:#c3d0d9}
.gs-map-toolbar>span{font-size:8px;letter-spacing:2px;opacity:.65}
.gs-map-toolbar>div{display:flex;gap:8px}
.gs-map-toolbar button{font:inherit;font-size:10px;border:1px solid #ffffff2b;background:#122c4799;color:#e3edf4;border-radius:30px;padding:8px 14px;backdrop-filter:blur(16px)}
.gs-hero.is-day .gs-map-toolbar{color:#475c69}
.gs-hero.is-day .gs-map-toolbar button{background:#ffffffb8;border-color:#122c4726;color:#284638}
.gs-map-caption{position:absolute;z-index:3;bottom:36px;left:48px;right:48px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#a1b2c0}
.gs-map-caption i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7cbf9e;margin-right:8px}
.gs-map-caption>a{color:#cbddd4}.gs-hero.is-day .gs-map-caption,.gs-hero.is-day .gs-map-caption>a{color:#4d695b}
.gs-map-fallback{position:absolute;z-index:4;bottom:65px;left:48px;font-size:11px;background:#152c45;color:#fff;border-radius:10px;padding:12px 18px}
.gs-map-fallback[hidden]{display:none}.gs-home .gs-hero.is-expanded{position:fixed;inset:0;z-index:100;min-height:100dvh}.gs-hero.is-expanded .gs-hero-grid{opacity:0;pointer-events:none}.gs-hero.is-expanded .gs-hero__wash{opacity:.15}.gs-hero.is-expanded .gs-map-toolbar{top:25px}.gs-home .gs-seg button[disabled]{opacity:.4;cursor:not-allowed}
@media(max-width:1100px) and (min-width:781px){.gs-home .gs-hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:30px}.gs-home .gs-hero{padding-inline:30px}.gs-home .gs-hero-title{font-size:55px}}
@media(max-width:780px){body:has(.gs-hero) .nav nav{background:#112d43;color:#fff}body:has(.gs-hero.is-day) .nav nav{background:#fff;color:#172c28}body:has(.gs-hero) .menu-toggle{background:#ffffff19;color:#fff;border-color:#ffffff38}body:has(.gs-hero.is-day) .menu-toggle{color:#172c28;border-color:#172c2826}.gs-home .gs-hero{padding:155px 20px 105px;min-height:100svh}.gs-home .gs-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.gs-home .gs-console{order:1;width:100%;max-width:560px;margin:auto}.gs-home .gs-hero-copy{order:2}.gs-home .gs-hero-title{font-size:49px}.gs-home .gs-hero-sub{font-size:14px;max-width:420px}.gs-map-toolbar{left:20px;right:20px;top:103px}.gs-map-toolbar>span{display:none}.gs-map-toolbar>div{margin-left:auto}.gs-map-caption{bottom:25px;left:20px;right:20px;flex-wrap:wrap;font-size:8px}.gs-map-caption>span:nth-child(2){display:none}.gs-home .gs-hero-actions{flex-direction:row;align-items:center}.gs-home .gs-hero-actions .gs-btn{width:auto}.gs-map-fallback{left:20px;bottom:60px}}
