.platform-page {
  --gp-ink: #17251d;
  --gp-paper: #f4f5ef;
  --gp-green: #0c7a40;
  --gp-lime: #d1ef72;
  --gp-muted: #637168;
  color: var(--gp-ink);
  background: var(--gp-paper);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
}
.platform-page *, .platform-page *::before, .platform-page *::after { box-sizing: border-box; }
.platform-page h1, .platform-page h2, .platform-page h3, .platform-page p { margin-top: 0; }
.platform-page a { color: inherit; }
.platform-wrap { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
body > header.gv-landing-hero__header { position: relative; z-index: 3; width: 100%; min-height: 94px; background-color: #fff; box-shadow: 0 4px 24px rgb(13 30 20 / 8%); }
.platform-hero { min-height: 570px; padding: 88px 0 66px; position: relative; overflow: hidden; color: #fff; background: #10241a; }
.platform-hero::before, .platform-hero::after { content: ""; position: absolute; pointer-events: none; }
.platform-hero::before { inset: 0; opacity: .25; background: radial-gradient(ellipse at 82% 34%, #95d854 0 2px, transparent 3px), radial-gradient(ellipse at 88% 45%, #72c84d 0 2px, transparent 3px), linear-gradient(125deg, transparent 52%, rgb(55 128 77 / 28%) 52% 53%, transparent 53%); background-size: 48px 48px, 68px 68px, 100% 100%; }
.platform-hero::after { width: 540px; height: 540px; right: -95px; top: 10px; border: 1px solid rgb(208 239 114 / 24%); border-radius: 50%; box-shadow: 0 0 0 54px rgb(208 239 114 / 5%), 0 0 0 108px rgb(208 239 114 / 4%); }
.platform-hero__inner { position: relative; z-index: 1; }
.platform-eyebrow { margin-bottom: 22px; color: #bce778; font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.platform-eyebrow--green { color: var(--gp-green); }
.platform-hero h1 { max-width: 920px; margin-bottom: 50px; font-size: clamp(52px, 8vw, 106px); font-weight: 800; line-height: .95; letter-spacing: -.055em; }
.platform-hero h1 span { color: var(--gp-lime); }
.platform-hero__foot { display: flex; align-items: end; justify-content: space-between; gap: 28px; max-width: 870px; }
.platform-hero__foot p { max-width: 490px; margin-bottom: 0; color: #dce8df; font-size: 18px; }
.platform-button { display: inline-flex; align-items: center; gap: 25px; min-height: 54px; padding: 0 22px; border-radius: 3px; text-decoration: none; font-weight: 700; transition: transform .2s ease, background-color .2s ease; }
.platform-button--light { color: #173422 !important; background-color: #d1ef72; }
.platform-button:hover { transform: translateY(-2px); background-color: #b7df4e; }
.platform-hero__orbit { position: absolute; top: 32px; right: 7%; display: grid; width: 172px; aspect-ratio: 1; place-items: center; border: 1px solid rgb(209 239 114 / 45%); border-radius: 50%; color: var(--gp-lime); font-size: 13px; font-weight: 800; letter-spacing: .25em; transform: rotate(-18deg); }
.platform-hero__orbit i, .platform-hero__orbit b { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--gp-lime); }
.platform-hero__orbit i { top: 10px; left: 48px; }.platform-hero__orbit b { right: 8px; bottom: 42px; width: 6px; height: 6px; }
.platform-overview { padding: 94px 0 76px; background: #fff; }
.platform-overview__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: start; gap: 32px 80px; }
.platform-page h2 { margin-bottom: 22px; font-size: clamp(34px, 4.4vw, 58px); font-weight: 750; letter-spacing: -.045em; line-height: 1.02; }
.platform-lede { max-width: 530px; padding-top: 40px; color: #4a5c50; font-size: 18px; }
.platform-index { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d9e0d8; }
.platform-index a { display: flex; justify-content: space-between; gap: 14px; padding: 18px 18px 18px 0; border-bottom: 1px solid #d9e0d8; color: #244432; text-decoration: none; font-weight: 700; }
.platform-index a span { color: #76877a; font-size: 12px; }
.platform-index a:hover { color: var(--gp-green); }
.platform-category { padding: 88px 0; }
.platform-category--green { color: #fff; background: #0c7840; }
.platform-category--dark { color: #f6f8f4; background: #17251d; }
.platform-category--paper { background: #f2f3ed; }
.platform-category--lime { background: #d1ef72; }
.platform-category__layout { display: grid; grid-template-columns: .38fr 1fr 1fr; gap: 48px; align-items: center; min-height: 280px; }
.platform-index-number { align-self: start; margin: 12px 0 0; font-size: 13px; font-weight: 700; letter-spacing: .16em; opacity: .72; }
.platform-category__copy { max-width: 510px; }
.platform-category__copy .platform-eyebrow { color: inherit; opacity: .72; }
.platform-category__copy h2 { margin-bottom: 20px; }
.platform-category__copy p:not(.platform-eyebrow) { max-width: 475px; margin-bottom: 25px; opacity: .83; }
.platform-text-link { display: inline-flex; align-items: center; gap: 18px; min-height: 42px; color: inherit; font-size: 14px; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.platform-art { justify-self: end; position: relative; display: grid; width: min(100%, 380px); height: 245px; place-items: center; }
.platform-art--world { border: 1px solid rgb(255 255 255 / 23%); border-radius: 50% 50% 4px 4px; }
.platform-art__ring { position: absolute; width: 225px; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; }
.platform-art__disc { position: relative; display: grid; width: 148px; aspect-ratio: 1; place-content: center; border: 1px solid #d1ef72; border-radius: 50%; color: #d1ef72; font-size: 18px; font-weight: 800; line-height: 1.1; letter-spacing: .08em; text-align: center; transform: rotate(-12deg); }
.platform-art--world i, .platform-art--world b { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #d1ef72; }.platform-art--world i { top: 38px; left: 56px; }.platform-art--world b { right: 40px; bottom: 42px; }
.platform-art--screen { background: #26392d; border-radius: 5px; }
.platform-screen { position: relative; width: 240px; height: 145px; border: 8px solid #d1ef72; border-radius: 9px; background: linear-gradient(145deg, #84bd54, #296444 53%, #14271c 54%); box-shadow: 0 20px 0 -12px #d1ef72; }
.platform-screen i, .platform-screen b { position: absolute; bottom: 24px; width: 29px; height: 29px; border: 1px solid rgb(255 255 255 / 75%); border-radius: 50%; }.platform-screen i { left: 54px; }.platform-screen b { right: 50px; }
.platform-controller { position: absolute; right: 30px; bottom: 25px; width: 96px; height: 40px; border-radius: 18px 18px 24px 24px; background: #f0f4e9; transform: rotate(-12deg); }.platform-controller i, .platform-controller b { position: absolute; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: #0c7840; }.platform-controller i { left: 20px; }.platform-controller b { right: 20px; }
.platform-art--mobile { background: #e7eae2; border-radius: 48% 48% 5px 5px; }.platform-phone { position: relative; width: 115px; height: 202px; border: 8px solid #17251d; border-radius: 22px; background: linear-gradient(145deg, #a6dc64 0 42%, #287346 43% 100%); box-shadow: 20px 18px 0 -8px rgb(23 37 29 / 16%); }.platform-phone i { position: absolute; inset: 25px 12px; border: 1px solid rgb(255 255 255 / 60%); border-radius: 50%; }.platform-phone b { position: absolute; top: 7px; left: 38px; width: 24px; height: 3px; border-radius: 4px; background: #17251d; }.platform-phone em { position: absolute; bottom: 7px; left: 40px; width: 20px; height: 5px; border-radius: 50%; background: #17251d; }.platform-art__spark { position: absolute; right: 42px; top: 45px; color: #0c7840; font-size: 46px; }
.platform-art--cloud { overflow: hidden; border: 1px solid rgb(23 37 29 / 20%); border-radius: 50% 50% 5px 5px; }.platform-cloud { display: grid; width: 152px; height: 96px; place-items: center; border-radius: 60px; color: #f5f8f0; background: #17251d; font-size: 48px; }.platform-art--cloud i, .platform-art--cloud b, .platform-art--cloud em { position: absolute; bottom: 48px; width: 9px; height: 9px; border-radius: 50%; background: #0c7840; }.platform-art--cloud i { left: 65px; }.platform-art--cloud b { left: 105px; bottom: 24px; }.platform-art--cloud em { right: 60px; bottom: 84px; }
.platform-community { padding: 100px 0; color: #f6f8f4; background: #18261e; }
.platform-community__grid { display: grid; grid-template-columns: 1fr .85fr .55fr; align-items: center; gap: 60px; }.platform-community__body p { color: #d8e2da; }.platform-community__signals { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0; }.platform-community__signals span { padding: 8px 11px; border: 1px solid #55665a; border-radius: 30px; color: #d1ef72; font-size: 10px; font-weight: 700; letter-spacing: .08em; }.platform-community__symbol { position: relative; width: 180px; aspect-ratio: 1; justify-self: end; border: 1px solid #607367; border-radius: 50%; }.platform-community__symbol i, .platform-community__symbol b, .platform-community__symbol span { position: absolute; width: 54px; height: 54px; border: 1px solid #d1ef72; border-radius: 50%; }.platform-community__symbol i { top: 29px; left: 34px; }.platform-community__symbol b { top: 29px; right: 34px; }.platform-community__symbol span { bottom: 24px; left: 62px; background: #d1ef72; }
.platform-discovery { padding: 96px 0; background: #e9eee6; }.platform-discovery__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }.platform-discovery__items article, .platform-checklist li { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 20px 0; border-top: 1px solid #c9d4ca; }.platform-discovery__items article > span, .platform-checklist li > span { color: var(--gp-green); font-size: 12px; font-weight: 700; letter-spacing: .1em; }.platform-discovery h3, .platform-checklist h3 { margin-bottom: 5px; font-size: 19px; }.platform-discovery article p, .platform-checklist li p { margin-bottom: 0; color: #58685e; }
.platform-guide { padding: 102px 0; color: #f6f8f4; background: #10241a; }.platform-guide__layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }.platform-guide__intro p:last-child { max-width: 390px; color: #d5e0d8; }.platform-checklist { margin: 0; padding: 0; list-style: none; }.platform-checklist li { border-color: #425448; }.platform-checklist li > span { color: #d1ef72; }.platform-checklist li p { color: #c8d4cc; }
.platform-page :focus-visible { outline: 3px solid #f0bd54; outline-offset: 4px; }
@media (max-width: 850px) {
  body > header.gv-landing-hero__header { min-height: 82px; }
  .platform-wrap { width: min(100% - 40px, 680px); }
  .platform-hero { min-height: 540px; padding-top: 75px; }
  .platform-hero__orbit { right: 3%; top: 20px; width: 120px; }
  .platform-hero h1 { max-width: 720px; }
  .platform-overview__grid { gap: 24px 38px; }
  .platform-category__layout { grid-template-columns: 100px 1fr .8fr; gap: 25px; }
  .platform-art { transform: scale(.86); transform-origin: right center; }
  .platform-community__grid { grid-template-columns: 1fr 1fr; gap: 36px; }.platform-community__symbol { display: none; }
  .platform-discovery__grid, .platform-guide__layout { gap: 44px; }
}
@media (max-width: 600px) {
  .platform-wrap { width: calc(100% - 36px); }
  body > header.gv-landing-hero__header { position: relative; min-height: 75px; }
  .platform-hero { min-height: 580px; padding: 72px 0 45px; }
  .platform-hero::after { top: 135px; right: -255px; width: 430px; height: 430px; }
  .platform-hero__orbit { top: auto; right: 10px; bottom: 16px; width: 108px; font-size: 10px; }
  .platform-hero h1 { margin-bottom: 36px; font-size: clamp(45px, 13vw, 68px); }
  .platform-hero__foot { align-items: start; flex-direction: column; gap: 24px; }.platform-hero__foot p { max-width: 360px; font-size: 16px; }
  .platform-overview, .platform-community, .platform-discovery, .platform-guide { padding: 70px 0; }
  .platform-overview__grid, .platform-discovery__grid, .platform-guide__layout { grid-template-columns: 1fr; gap: 22px; }
  .platform-lede { padding-top: 0; font-size: 16px; }.platform-index { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .platform-index a { padding-right: 9px; font-size: 14px; }
  .platform-category { padding: 68px 0; }.platform-category__layout { grid-template-columns: 1fr; gap: 18px; }.platform-index-number { margin: 0; }.platform-category__copy { grid-row: 2; }.platform-category__copy h2 { font-size: 42px; }.platform-art { width: 100%; height: 200px; transform: none; }
  .platform-community__grid { grid-template-columns: 1fr; gap: 14px; }.platform-community__body p { font-size: 16px; }
  .platform-page h2 { font-size: clamp(35px, 10vw, 48px); }
  .platform-checklist li, .platform-discovery__items article { grid-template-columns: 34px 1fr; gap: 12px; }
}
.platform-discovery__heading { align-self: start; }
.platform-text-link { padding: 0 13px; border-radius: 2px; color: #fff; background-color: #153a26; }
.platform-category--dark .platform-text-link, .platform-community .platform-text-link { color: #17251d; background-color: #d1ef72; }
.platform-category--paper .platform-text-link { color: #fff; background-color: #0c7840; }
.platform-category--lime .platform-text-link { color: #fff; background-color: #17251d; }
/* Preserve the square Figma logo ratio inside the responsive helper header. */
.gv-landing-hero__header .gv-landing-hero__brand { display: block; width: min(342px, 100%); aspect-ratio: 342 / 80; }
.gv-landing-hero__header .gv-landing-hero__brand img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* Wrap long footer detail values at tablet widths. */
@media (max-width: 1200px) { .gv-footer__details dd { overflow-wrap: anywhere; } }
