:root {
    --gc-ink: #08110d;
    --gc-night: #0d1712;
    --gc-panel: #142019;
    --gc-lime: #c8ff2e;
    --gc-orange: #ff5b35;
    --gc-blue: #2e68ff;
    --gc-cloud: #f2f4ee;
    --gc-white: #fff;
    --gc-steel: #c6cec8;
    --gc-muted: #657168;
    --gc-line: rgba(8, 17, 13, .18);
    --gc-mono: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
    --gc-sans: Inter, "Helvetica Neue", Arial, sans-serif;
    --gc-radius: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--gc-ink); }
body { margin: 0; color: var(--gc-ink); background: var(--gc-cloud); font-family: var(--gc-sans); line-height: 1.55; text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.gc-skip { position: fixed; left: 1rem; top: -5rem; z-index: 999; padding: .85rem 1rem; background: var(--gc-lime); color: var(--gc-ink); font-weight: 800; }
.gc-skip:focus { top: 1rem; }
.gc-eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 2rem; font: 800 .7rem/1 var(--gc-mono); letter-spacing: .12em; text-transform: uppercase; }
.gc-eyebrow span { display: inline-flex; align-items: center; gap: .7rem; }
.gc-eyebrow span::before { width: 1.7rem; height: .52rem; content: ""; background: var(--gc-lime); }
.gc-eyebrow b { color: var(--gc-muted); }

.gc-service-strip { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .45rem 2vw; color: var(--gc-white); background: var(--gc-ink); font: 700 .65rem/1 var(--gc-mono); letter-spacing: .11em; text-transform: uppercase; }
.gc-service-strip span { display: inline-flex; align-items: center; gap: .55rem; }
.gc-service-strip i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--gc-lime); box-shadow: 0 0 0 4px rgba(200, 255, 46, .13); }
.gc-service-strip a { color: var(--gc-lime); text-underline-offset: 3px; }
.gc-header { position: sticky; top: 0; z-index: 100; display: grid; grid-template-columns: 290px 1fr auto; align-items: stretch; min-height: 78px; border-bottom: 1px solid var(--gc-line); background: rgba(242, 244, 238, .96); backdrop-filter: blur(14px); }
.gc-brand { display: flex; align-items: center; gap: .85rem; padding: .85rem 2vw; color: var(--gc-ink); text-decoration: none; border-right: 1px solid var(--gc-line); }
.gc-brand img { width: 46px; height: 46px; flex: none; }
.gc-brand span { display: grid; grid-template-columns: auto auto; column-gap: .3rem; align-items: end; font: 900 1rem/.9 var(--gc-mono); letter-spacing: -.03em; }
.gc-brand span small { grid-column: 1 / -1; margin-top: .35rem; font-size: .52rem; line-height: 1; letter-spacing: .15em; color: var(--gc-muted); }
.gc-navigation { display: flex; align-items: stretch; justify-content: center; }
.gc-navigation a { display: flex; align-items: center; justify-content: center; min-width: 90px; padding: 1rem .7rem; border-right: 1px solid var(--gc-line); text-decoration: none; font: 750 .7rem/1.1 var(--gc-mono); text-transform: uppercase; letter-spacing: .04em; transition: color .2s, background .2s; }
.gc-navigation a:hover, .gc-navigation a:focus-visible { color: var(--gc-white); background: var(--gc-blue); }
.gc-header-action { display: flex; align-items: center; gap: 1.5rem; padding: 0 1.4rem; color: var(--gc-ink); background: var(--gc-lime); text-decoration: none; font: 900 .72rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-header-action b { font-size: 1.25rem; }
.gc-menu-button { display: none; }

.gc-hero { min-height: calc(100vh - 110px); display: grid; grid-template-columns: minmax(430px, .82fr) 1.18fr; position: relative; overflow: hidden; color: var(--gc-white); background: var(--gc-ink); }
.gc-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 7vw, 8rem) clamp(2rem, 5.5vw, 6rem); position: relative; z-index: 2; }
.gc-hero-copy::after { content: ""; position: absolute; right: -12rem; bottom: -14rem; width: 28rem; height: 28rem; border: 1px solid rgba(200, 255, 46, .3); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(200, 255, 46, .03), 0 0 0 10rem rgba(200, 255, 46, .02); pointer-events: none; }
.gc-hero .gc-eyebrow b { color: var(--gc-steel); }
.gc-hero h1 { max-width: 760px; margin: 0; font: 850 clamp(3.4rem, 6.3vw, 7.7rem)/.86 var(--gc-sans); letter-spacing: -.08em; }
.gc-hero h1 em { display: inline; color: var(--gc-lime); font-style: normal; }
.gc-hero-lead { max-width: 630px; margin: 2.4rem 0 0; color: var(--gc-steel); font-size: clamp(1.05rem, 1.5vw, 1.35rem); }
.gc-hero-actions { display: flex; align-items: center; gap: 1rem; margin-top: 2.3rem; }
.gc-hero-actions a { padding: 1rem 1.2rem; border: 1px solid rgba(255,255,255,.25); text-decoration: none; font: 800 .73rem/1 var(--gc-mono); text-transform: uppercase; letter-spacing: .05em; }
.gc-hero-actions a:first-child { display: flex; gap: 2rem; color: var(--gc-ink); background: var(--gc-lime); border-color: var(--gc-lime); }
.gc-hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 3.2rem 0 0; max-width: 570px; border-top: 1px solid rgba(255,255,255,.22); }
.gc-hero-stats div { padding: 1rem 1rem 0 0; }
.gc-hero-stats dt { font: 900 2.5rem/.9 var(--gc-mono); color: var(--gc-lime); }
.gc-hero-stats dd { margin: .45rem 0 0; color: var(--gc-steel); font-size: .75rem; }
.gc-hero-image { min-height: 650px; margin: 0; position: relative; }
.gc-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--gc-ink) 0, transparent 28%), linear-gradient(0deg, rgba(8,17,13,.55), transparent 45%); }
.gc-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.gc-hero-image figcaption { position: absolute; z-index: 2; right: 2vw; top: 2vw; width: min(280px, 40%); padding: 1rem; color: var(--gc-ink); background: var(--gc-lime); }
.gc-hero-image figcaption span { display: block; margin-bottom: .6rem; font: 800 .58rem/1 var(--gc-mono); letter-spacing: .1em; }
.gc-hero-image figcaption b { font-size: .8rem; line-height: 1.3; }
.gc-connection-card { position: absolute; z-index: 3; right: 3vw; bottom: 3vw; width: min(430px, 42vw); color: var(--gc-ink); background: var(--gc-white); box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.gc-connection-card header, .gc-connection-card footer { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--gc-line); font: 800 .58rem/1 var(--gc-mono); letter-spacing: .1em; }
.gc-mini-line { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; padding: 1rem; }
.gc-mini-line i { width: 13px; height: 13px; border: 3px solid var(--gc-ink); border-radius: 50%; background: var(--gc-lime); }
.gc-mini-line i:last-child { background: var(--gc-orange); }
.gc-mini-line span { height: 3px; background: var(--gc-ink); }
.gc-connection-card ol { margin: 0; padding: 0 1rem; list-style: none; }
.gc-connection-card li { display: grid; grid-template-columns: 55px 1fr auto; gap: 1rem; padding: .65rem 0; border-top: 1px solid var(--gc-line); font-size: .75rem; }
.gc-connection-card li b, .gc-connection-card li small { font-family: var(--gc-mono); }
.gc-connection-card footer { justify-content: flex-start; gap: .7rem; border-top: 1px solid var(--gc-line); border-bottom: 0; background: var(--gc-lime); }
.gc-connection-card footer strong { margin-left: auto; font: 900 2.3rem/.8 var(--gc-mono); }

.gc-manifesto { padding: clamp(5rem, 10vw, 10rem) 6vw; color: var(--gc-ink); background: var(--gc-lime); }
.gc-manifesto > p { margin: 0 0 2rem; font: 900 .72rem/1 var(--gc-mono); letter-spacing: .12em; }
.gc-manifesto h2 { max-width: 1250px; margin: 0; font: 850 clamp(3rem, 6vw, 7.2rem)/.91 var(--gc-sans); letter-spacing: -.07em; }
.gc-manifesto h2 span { color: rgba(8,17,13,.36); }
.gc-manifesto > div { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 5rem; border-top: 2px solid var(--gc-ink); }
.gc-manifesto > div span { padding: 1rem 1rem 0 0; border-right: 1px solid rgba(8,17,13,.3); font: 800 .7rem/1.2 var(--gc-mono); text-transform: uppercase; }

.gc-network-lab { display: grid; grid-template-columns: minmax(330px, .72fr) 1.28fr; min-height: 760px; color: var(--gc-white); background: var(--gc-night); }
.gc-network-copy { padding: clamp(4rem, 7vw, 8rem) 5vw; align-self: center; }
.gc-network-copy .gc-eyebrow b { color: var(--gc-steel); }
.gc-network-copy h2 { margin: 0; font: 820 clamp(2.5rem, 4.5vw, 5.2rem)/.94 var(--gc-sans); letter-spacing: -.06em; }
.gc-network-copy > p { max-width: 540px; color: var(--gc-steel); font-size: 1.05rem; }
.gc-network-copy > a { display: inline-block; margin-top: 2rem; color: var(--gc-lime); font: 800 .75rem/1.3 var(--gc-mono); text-transform: uppercase; text-underline-offset: 5px; }
.gc-map-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 2rem; }
.gc-map-filters button { padding: .7rem .8rem; color: var(--gc-white); background: transparent; border: 1px solid rgba(255,255,255,.24); cursor: pointer; font: 800 .65rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-map-filters button.is-active { color: var(--gc-ink); background: var(--gc-lime); border-color: var(--gc-lime); }
.gc-map-frame { min-height: 760px; display: grid; grid-template-rows: 1fr auto; background: #101913; }
.gc-map { min-height: 620px; width: 100%; background: #d9dfd9; }
.gc-map-key { display: flex; gap: 2rem; padding: 1rem 1.4rem; color: var(--gc-steel); background: var(--gc-ink); font: 700 .62rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-map-key span { display: flex; align-items: center; gap: .5rem; }
.gc-map-key i { width: .7rem; height: .7rem; border: 2px solid var(--gc-white); border-radius: 50%; background: var(--gc-lime); }
.gc-map-key i.base { background: var(--gc-orange); }
.gc-map-key i.landscape { background: var(--gc-blue); }
.gc-map-marker { display: grid; place-items: center; width: 22px; height: 22px; border: 3px solid var(--gc-ink); border-radius: 50%; background: var(--gc-lime); box-shadow: 0 0 0 4px rgba(255,255,255,.75); }
.leaflet-popup-content-wrapper { border-radius: 0; font-family: var(--gc-sans); box-shadow: 8px 8px 0 var(--gc-ink); }
.leaflet-popup-content strong { display: block; font: 900 1rem/1 var(--gc-mono); }
.leaflet-popup-content span { font-size: .72rem; color: var(--gc-muted); }

.gc-plan-board, .gc-notes { padding: clamp(5rem, 9vw, 9rem) 5vw; background: var(--gc-cloud); }
.gc-section-heading { display: grid; grid-template-columns: .7fr 1fr auto; align-items: end; gap: 2rem; padding-bottom: 2.5rem; border-bottom: 2px solid var(--gc-ink); }
.gc-section-heading > div span { display: block; font: 900 .75rem/1 var(--gc-mono); letter-spacing: .1em; }
.gc-section-heading > div small { color: var(--gc-muted); }
.gc-section-heading h2 { margin: 0; font: 850 clamp(2.4rem, 4vw, 5rem)/.91 var(--gc-sans); letter-spacing: -.06em; }
.gc-section-heading > a { font: 850 .7rem/1.3 var(--gc-mono); text-transform: uppercase; text-underline-offset: 5px; }
.gc-plan-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1px; margin-top: 1px; background: var(--gc-ink); border: 1px solid var(--gc-ink); }
.gc-plan-card { grid-column: span 3; background: var(--gc-white); }
.gc-plan-card--1, .gc-plan-card--6 { grid-column: span 6; }
.gc-plan-card > a { display: grid; height: 100%; color: inherit; text-decoration: none; }
.gc-plan-card-image { position: relative; min-height: 260px; overflow: hidden; }
.gc-plan-card--1 .gc-plan-card-image, .gc-plan-card--6 .gc-plan-card-image { min-height: 410px; }
.gc-plan-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gc-plan-card:hover .gc-plan-card-image img { transform: scale(1.035); }
.gc-plan-card-image span { position: absolute; left: 0; bottom: 0; padding: .7rem .8rem; color: var(--gc-ink); background: var(--gc-lime); font: 900 .7rem/1 var(--gc-mono); }
.gc-plan-card-copy { display: flex; flex-direction: column; padding: 1.3rem; }
.gc-plan-card-copy small { color: var(--gc-muted); font: 800 .62rem/1.2 var(--gc-mono); text-transform: uppercase; }
.gc-plan-card-copy h3 { margin: .8rem 0; font: 850 clamp(1.4rem, 2.1vw, 2.25rem)/.98 var(--gc-sans); letter-spacing: -.045em; }
.gc-plan-card-copy p { color: var(--gc-muted); font-size: .83rem; }
.gc-plan-card-copy footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--gc-line); font: 800 .65rem/1 var(--gc-mono); text-transform: uppercase; }

.gc-method-console { display: grid; grid-template-columns: .9fr .72fr 1.1fr; min-height: 760px; color: var(--gc-white); background: var(--gc-blue); }
.gc-method-photo { position: relative; min-height: 760px; }
.gc-method-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) contrast(1.08); }
.gc-method-photo span { position: absolute; left: 1rem; bottom: 1rem; padding: .75rem; color: var(--gc-ink); background: var(--gc-lime); font: 900 .65rem/1 var(--gc-mono); }
.gc-method-title { align-self: center; padding: 4rem 3.5vw; }
.gc-method-title .gc-eyebrow b { color: rgba(255,255,255,.65); }
.gc-method-title h2 { margin: 0; font: 850 clamp(2.8rem, 4.8vw, 5.7rem)/.9 var(--gc-sans); letter-spacing: -.07em; }
.gc-method-title p { color: rgba(255,255,255,.8); }
.gc-method-title a { display: inline-block; margin-top: 1.5rem; color: var(--gc-lime); font: 800 .7rem/1.3 var(--gc-mono); text-transform: uppercase; }
.gc-signal-steps { align-self: center; margin: 0; padding: 3rem 4vw 3rem 0; list-style: none; }
.gc-signal-steps li { display: grid; grid-template-columns: 20px 35px 1fr; gap: 1rem; position: relative; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.gc-signal-steps li i { width: 16px; height: 16px; margin-top: .2rem; border: 3px solid var(--gc-white); border-radius: 50%; background: var(--gc-lime); }
.gc-signal-steps li::before { content: ""; position: absolute; left: 7px; top: 2.55rem; bottom: -1.35rem; width: 2px; background: rgba(255,255,255,.32); }
.gc-signal-steps li:last-child::before { display: none; }
.gc-signal-steps li > span { font: 900 .7rem/1.5 var(--gc-mono); }
.gc-signal-steps h3 { margin: 0; font: 800 1.1rem/1.1 var(--gc-sans); }
.gc-signal-steps p { margin: .35rem 0 0; color: rgba(255,255,255,.75); font-size: .8rem; }

.gc-confidence { display: grid; grid-template-columns: .8fr 1fr .42fr; align-items: stretch; color: var(--gc-white); background: var(--gc-ink); }
.gc-confidence-copy { padding: 5rem 4vw; }
.gc-confidence-copy .gc-eyebrow b { color: var(--gc-steel); }
.gc-confidence-copy h2 { margin: 0; font: 850 clamp(2.7rem, 4.6vw, 5rem)/.9 var(--gc-sans); letter-spacing: -.065em; }
.gc-confidence-copy > p { color: var(--gc-steel); }
.gc-confidence-legend { display: grid; gap: .6rem; margin-top: 2rem; font: 700 .65rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-confidence-legend span { display: flex; align-items: center; gap: .6rem; }
.gc-confidence-legend i { width: 1rem; height: .35rem; background: var(--gc-lime); }
.gc-confidence-legend i.access { background: var(--gc-orange); }
.gc-confidence-legend i.fallback { background: var(--gc-blue); }
.gc-chart-shell { display: grid; place-items: center; min-height: 520px; padding: 3rem; border-left: 1px solid rgba(255,255,255,.15); }
.gc-chart-shell canvas { max-width: 560px; max-height: 430px; }
.gc-confidence-score { display: flex; flex-direction: column; justify-content: center; padding: 3rem 2vw; color: var(--gc-ink); background: var(--gc-lime); }
.gc-confidence-score small { font: 900 .62rem/1 var(--gc-mono); }
.gc-confidence-score strong { font: 900 clamp(5rem, 9vw, 10rem)/.8 var(--gc-mono); letter-spacing: -.1em; }
.gc-confidence-score span { font: 900 1rem/1 var(--gc-mono); }
.gc-confidence-score p { font-size: .78rem; }

.gc-access-proof { display: grid; grid-template-columns: 1.05fr .8fr .55fr; align-items: stretch; background: var(--gc-white); }
.gc-access-proof figure { min-height: 680px; margin: 0; }
.gc-access-proof figure img { width: 100%; height: 100%; object-fit: cover; }
.gc-access-proof > div { align-self: center; padding: 4rem 4vw; }
.gc-access-proof h2 { margin: 0; font: 850 clamp(2.7rem, 4.8vw, 5.8rem)/.91 var(--gc-sans); letter-spacing: -.07em; }
.gc-access-proof > div > a { display: inline-block; margin-top: 1.4rem; color: var(--gc-blue); font: 800 .7rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-access-proof dl { margin: 0; padding: 4rem 2.5vw; color: var(--gc-white); background: var(--gc-orange); }
.gc-access-proof dl div { padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,.4); }
.gc-access-proof dt { font: 900 2.6rem/1 var(--gc-mono); }
.gc-access-proof dd { margin: .5rem 0 0; font-size: .82rem; }

.gc-notes { background: var(--gc-steel); }
.gc-notes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 1px; border: 1px solid var(--gc-ink); background: var(--gc-ink); }
.gc-notes-grid article { background: var(--gc-cloud); }
.gc-notes-grid a { display: flex; flex-direction: column; min-height: 390px; padding: 1.5rem; text-decoration: none; }
.gc-notes-grid span, .gc-notes-grid b { font: 800 .63rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-notes-grid h3 { margin: 2.5rem 0 1rem; font: 850 clamp(1.45rem, 2.2vw, 2.35rem)/.96 var(--gc-sans); letter-spacing: -.05em; }
.gc-notes-grid p { color: var(--gc-muted); font-size: .82rem; }
.gc-notes-grid b { margin-top: auto; color: var(--gc-blue); }

.gc-final-call { display: grid; grid-template-columns: 1fr .8fr auto; align-items: center; gap: 4rem; padding: clamp(4rem, 7vw, 8rem) 5vw; color: var(--gc-ink); background: var(--gc-lime); }
.gc-final-call > div p { font: 900 .7rem/1 var(--gc-mono); letter-spacing: .1em; }
.gc-final-call h2 { max-width: 780px; margin: .8rem 0 0; font: 850 clamp(3rem, 5.5vw, 6.6rem)/.88 var(--gc-sans); letter-spacing: -.075em; }
.gc-final-call > p { max-width: 480px; }
.gc-final-call > a { display: flex; justify-content: space-between; gap: 3rem; padding: 1.2rem; color: var(--gc-white); background: var(--gc-ink); text-decoration: none; font: 900 .7rem/1 var(--gc-mono); text-transform: uppercase; }

.gc-footer { color: var(--gc-white); background: var(--gc-ink); }
.gc-footer-signal { height: 80px; display: grid; grid-template-columns: 1fr auto auto auto 1fr; align-items: center; padding: 0 5vw; }
.gc-footer-signal span, .gc-footer-signal b { height: 3px; background: rgba(255,255,255,.3); }
.gc-footer-signal i { width: 18px; height: 18px; border: 3px solid var(--gc-white); border-radius: 50%; background: var(--gc-lime); }
.gc-footer-signal i:nth-of-type(2) { background: var(--gc-orange); }
.gc-footer-signal i:nth-of-type(3) { background: var(--gc-blue); }
.gc-footer-intro { display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding: 2rem 5vw 5rem; border-bottom: 1px solid rgba(255,255,255,.2); }
.gc-footer-intro p { margin: 0; font: 900 clamp(2.5rem, 5.2vw, 6.5rem)/.86 var(--gc-sans); letter-spacing: -.07em; }
.gc-footer-intro a { padding: 1rem; color: var(--gc-ink); background: var(--gc-lime); text-decoration: none; font: 900 .7rem/1 var(--gc-mono); text-transform: uppercase; }
.gc-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.18); }
.gc-footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; padding: 3rem 3vw; background: var(--gc-ink); }
.gc-footer-brand img { width: 64px; }
.gc-footer-brand h2 { margin: 1rem 0 0; font: 900 3rem/.78 var(--gc-mono); letter-spacing: -.06em; }
.gc-footer-brand p { max-width: 320px; color: var(--gc-steel); font-size: .8rem; }
.gc-footer-grid small { margin-bottom: .7rem; color: var(--gc-lime); font: 900 .62rem/1 var(--gc-mono); letter-spacing: .12em; }
.gc-footer-grid a { color: var(--gc-steel); font-size: .8rem; text-underline-offset: 4px; }
.gc-footer-grid a:hover { color: var(--gc-lime); }
.gc-footer-base { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 5vw; color: var(--gc-steel); border-top: 1px solid rgba(255,255,255,.2); font: 700 .58rem/1.3 var(--gc-mono); text-transform: uppercase; }
