/*
 * Shared neutral surface contract for the public company site.
 * Pricing owns a separate visual system through main.pricing-page.
 */
main:not(.pricing-page) {
  --public-surface: #ffffff;
  --public-surface-raised: #ffffff;
  --public-ink: #111111;
  --public-muted: #626262;
  --public-line: #d8d8d8;
  background: var(--public-surface);
  color: var(--public-ink);
}

main:not(.pricing-page) :is(
  .hero,
  .page-head,
  .records-hero,
  .legal-hero,
  .legal-section,
  .records-section,
  .records-section-alt
) {
  background: var(--public-surface);
  color: var(--public-ink);
}

main:not(.pricing-page) :is(
  .records-panel,
  .records-status,
  .record-row,
  .records-contact-grid a,
  .notice-box,
  .form-row,
  .product
) {
  background: var(--public-surface-raised);
  border-color: var(--public-line);
  color: var(--public-ink);
  box-shadow: none;
}

main:not(.pricing-page) :is(
  .records-lead,
  .records-panel p,
  .record-row p,
  .notice-box p,
  .form-row p
) {
  color: var(--public-muted);
}

main:not(.pricing-page) .records-contact-grid {
  gap: 14px;
  border: 0;
}

main:not(.pricing-page) .form-links a {
  background: transparent;
  border-color: var(--public-line);
  color: var(--public-ink);
}

html[data-theme="dark"] main:not(.pricing-page) {
  --public-surface: #101010;
  --public-surface-raised: #171717;
  --public-ink: #f2f2f2;
  --public-muted: #b8b8b8;
  --public-line: #343434;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) main:not(.pricing-page) {
    --public-surface: #101010;
    --public-surface-raised: #171717;
    --public-ink: #f2f2f2;
    --public-muted: #b8b8b8;
    --public-line: #343434;
  }
}

/* OpenAI-style secondary actions for non-pricing record surfaces. */
main:not(.pricing-page) :is(.record-links a, .packet-actions a) {
  background: color-mix(in srgb, var(--public-ink) 10%, transparent);
  border-color: transparent;
  color: var(--public-ink);
  box-shadow: none;
  text-decoration: none;
}

main:not(.pricing-page) :is(.record-links a, .packet-actions a):is(:hover, :focus-visible) {
  background: color-mix(in srgb, var(--public-ink) 16%, transparent);
  border-color: transparent;
  color: var(--public-ink);
}

/*
 * Records pages use an editorial row rhythm rather than nesting every item in
 * a rounded card. The final row keeps its divider to close the list.
 */
main.records-page:not(.pricing-page) :is(.records-panel, .records-status) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

main.records-page:not(.pricing-page) .record-list {
  gap: 0;
  border-top: 1px solid var(--public-line);
}

main.records-page:not(.pricing-page) .record-row {
  padding: clamp(28px, 3vw, 42px) 0;
  border: 0;
  border-bottom: 1px solid var(--public-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

main.records-page:not(.pricing-page) .records-contact-grid a {
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--public-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"] main.records-page:not(.pricing-page) .record-links a {
  border-color: transparent !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--public-ink) !important;
}

html[data-theme="dark"] main.records-page:not(.pricing-page) .record-links a:is(:hover, :focus-visible) {
  border-color: transparent !important;
  background: rgba(255, 255, 255, .18) !important;
  color: var(--public-ink) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) main.records-page:not(.pricing-page) .record-links a {
    border-color: transparent !important;
    background: rgba(255, 255, 255, .12) !important;
    color: var(--public-ink) !important;
  }

  :root:not([data-theme="light"]) main.records-page:not(.pricing-page) .record-links a:is(:hover, :focus-visible) {
    border-color: transparent !important;
    background: rgba(255, 255, 255, .18) !important;
    color: var(--public-ink) !important;
  }
}


/* Records index cleanup. */
main.records-page:not(.pricing-page) .records-jump .wrap { border-left: 0 !important; }
main.records-page:not(.pricing-page) .records-jump a,
main.records-page:not(.pricing-page) .records-jump a * { text-decoration: none !important; }

/* Developers overview. */
main.developers-page { min-height:100vh; background:var(--public-surface); color:var(--public-ink); }
.developers-hero { min-height:min(820px,calc(100vh - var(--nav-h))); display:grid; align-items:center; padding:clamp(72px,11vw,160px) 0; }
.developers-hero-inner,.developers-section-inner { width:min(calc(100% - 44px),1380px); margin:0 auto; }
.developers-eyebrow { margin:0 0 22px; color:var(--public-muted); font-size:14px; font-weight:600; }
.developers-hero h1 { max-width:1050px; margin:0; font-size:clamp(54px,8.2vw,124px); font-weight:620; line-height:.94; letter-spacing:-.072em; }
.developers-lead { max-width:720px; margin:34px 0 0; color:var(--public-muted); font-size:clamp(18px,2vw,24px); line-height:1.45; }
.developers-actions { display:flex; align-items:flex-start; gap:12px; margin-top:34px; }
.developers-cta,.developers-build summary { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 20px; border:0; border-radius:999px; background:var(--public-ink); color:var(--public-surface); font:inherit; font-size:15px; font-weight:560; text-decoration:none; cursor:pointer; }
.developers-build { position:relative; }
.developers-build summary { background:color-mix(in srgb,var(--public-ink) 12%,transparent); color:var(--public-ink); list-style:none; }
.developers-build summary::-webkit-details-marker { display:none; }
.developers-build summary::after { content:"⌃"; font-size:14px; transition:transform .16s ease; }
.developers-build:not([open]) summary::after { transform:rotate(180deg); }
.developers-build-panel { position:absolute; z-index:4; top:calc(100% + 10px); left:0; width:220px; padding:10px; border:1px solid var(--public-line); border-radius:16px; background:var(--public-surface-raised); }
.developers-build-panel a { display:flex; justify-content:space-between; gap:16px; padding:11px 12px; border-radius:10px; color:var(--public-ink); text-decoration:none; }
.developers-build-panel a:hover { opacity:.58; }
.developers-section { padding:clamp(72px,9vw,128px) 0; border-top:1px solid var(--public-line); }
.developers-section h2 { max-width:850px; margin:0; font-size:clamp(38px,5vw,72px); line-height:1; letter-spacing:-.06em; }
.developer-paths { display:grid; grid-template-columns:repeat(3,1fr); margin-top:72px; border-top:1px solid var(--public-line); }
.developer-path { min-height:250px; padding:28px 28px 28px 0; border-right:1px solid var(--public-line); }
.developer-path + .developer-path { padding-left:28px; }
.developer-path:last-child { border-right:0; }
.developer-path span { color:var(--public-muted); font-size:13px; }
.developer-path h3 { margin:44px 0 12px; font-size:27px; letter-spacing:-.045em; }
.developer-path p { max-width:340px; color:var(--public-muted); line-height:1.55; }
.developer-path a { display:inline-block; margin-top:22px; color:var(--public-ink); text-decoration:none; }
.developer-path a:hover { opacity:.58; }
@media(max-width:760px){
  .developers-actions{flex-direction:column}
  .developer-paths{grid-template-columns:1fr}
  .developer-path,.developer-path + .developer-path{min-height:0;padding:28px 0;border-right:0;border-bottom:1px solid var(--public-line)}
}


/* Editorial public-site contract. Pricing intentionally remains independent. */
main:not(.pricing-page) { --editorial-max:1380px; --editorial-copy:720px; --editorial-space:clamp(82px,10vw,148px); background:var(--public-surface); color:var(--public-ink); }
main:not(.pricing-page) :is(.wrap,.section-head) { max-width:var(--editorial-max); }
main:not(.pricing-page) :is(.records-hero,.page-head,.legal-hero) { padding-block:clamp(86px,11vw,166px); }
main:not(.pricing-page) :is(.records-section,.legal-section,.section,.section-pad) { padding-block:var(--editorial-space); }
main:not(.pricing-page) :is(.records-hero h1,.page-head h1,.legal-hero h1,.hero h1) { max-width:1080px; font-size:clamp(54px,7.4vw,112px); font-weight:620; line-height:.94; letter-spacing:-.075em; }
main:not(.pricing-page) :is(.records-lead,.lead,.hero-lead) { max-width:var(--editorial-copy); color:var(--public-muted); }
main:not(.pricing-page) :is(.records-status,.records-panel,.record-note,.notice-box,.policy-card,.rule-card,.faq-card,.form-row,.legal-nav,.product-step,.product-related-card,.record-card,.portfolio-card,.company-card) { border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
main:not(.pricing-page) :is(.notice-box,.policy-card,.rule-card,.faq-card,.form-row,.product-step,.product-related-card) { border:0 !important; border-top:1px solid var(--public-line) !important; }
main:not(.pricing-page) .records-jump { background:var(--public-surface); }
main:not(.pricing-page) .records-jump .wrap { gap:0; border-top:1px solid var(--public-line); border-bottom:1px solid var(--public-line); }
main:not(.pricing-page) .records-jump a { min-height:76px; padding:20px 22px; border:0 !important; border-right:1px solid var(--public-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
main:not(.pricing-page) .records-jump a:last-child { border-right:0 !important; }
main:not(.pricing-page) :is(.record-list,.packet-list,.policy-grid,.rule-grid) { gap:0; }
main:not(.pricing-page) .record-row { grid-template-columns:minmax(190px,.34fr) minmax(0,1fr) auto; }
main:not(.pricing-page) :is(.hero-cta,.button) { box-shadow:none !important; transform:none !important; }
main:not(.pricing-page) :is(.hero-cta.primary,.button.primary) { border-color:transparent !important; border-radius:999px; background:var(--public-ink) !important; color:var(--public-surface) !important; }
main:not(.pricing-page) :is(.hero-cta.secondary,.hero-cta.accent,.button:not(.primary)) { border-color:transparent !important; border-radius:999px; background:color-mix(in srgb,var(--public-ink) 10%,transparent) !important; color:var(--public-ink) !important; }
main:not(.pricing-page) :is(.hero-cta,.button,a):hover { transform:none !important; }
main:not(.pricing-page) :is(.record-links a,.packet-actions a,.form-links a,.developer-path a):hover { opacity:.58; }
main.product-index-page:not(.pricing-page) .product-card { border:0 !important; border-top:1px solid var(--public-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; transform:none !important; }
main:not(.pricing-page) :is(.records-contact-grid,.rows) { gap:0; }
main:not(.pricing-page) :is(.records-contact-grid a,.rows a) { border:0 !important; border-bottom:1px solid var(--public-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.architecture-feature { padding:var(--editorial-space) 0; border-top:1px solid var(--public-line); background:var(--public-surface); }
.architecture-feature-inner { width:min(calc(100% - 44px),var(--editorial-max)); margin:0 auto; }
.architecture-feature-copy { display:grid; grid-template-columns:minmax(180px,.34fr) minmax(0,1fr); gap:40px; align-items:start; }
.architecture-feature-copy .kicker { color:var(--public-muted); }
.architecture-feature-copy h2 { max-width:940px; margin:0; font-size:clamp(42px,6vw,84px); line-height:.98; letter-spacing:-.068em; }
.architecture-feature-copy p { max-width:var(--editorial-copy); margin:24px 0 0; color:var(--public-muted); font-size:18px; line-height:1.55; }
.architecture-visual { margin-top:clamp(60px,8vw,110px); border-top:1px solid var(--public-line); border-bottom:1px solid var(--public-line); color:var(--public-ink); }
.architecture-visual svg { display:block; width:100%; height:auto; }
.architecture-visual .architecture-node { fill:var(--public-surface-raised); stroke:var(--public-line); }
.architecture-visual .architecture-wire { fill:none; stroke:currentColor; stroke-width:1.5; opacity:.38; }
.architecture-visual .architecture-signal { fill:none; stroke:currentColor; stroke-width:2.5; stroke-dasharray:8 14; animation:architecture-flow 7s linear infinite; }
.architecture-visual text { fill:currentColor; font-family:var(--font); }
@keyframes architecture-flow { to { stroke-dashoffset:-220; } }
@media(prefers-reduced-motion:reduce){.architecture-visual .architecture-signal{animation:none}}
@media(max-width:760px){main:not(.pricing-page) :is(.records-hero h1,.page-head h1,.legal-hero h1,.hero h1){font-size:clamp(46px,14vw,72px)}main:not(.pricing-page) .records-jump .wrap{grid-template-columns:1fr}main:not(.pricing-page) .records-jump a{border-right:0!important;border-bottom:1px solid var(--public-line)!important}main:not(.pricing-page) .records-jump a:last-child{border-bottom:0!important}main:not(.pricing-page) .record-row{grid-template-columns:1fr}.architecture-feature-copy{grid-template-columns:1fr;gap:18px}}

/* Centered public-page heroes. Product detail pages retain their workflow layout. */
main.records-page:not(.product-detail-page) .records-hero-grid {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}

main.records-page:not(.product-detail-page) .records-hero-grid > div:first-child {
  width: 100%;
}

main.records-page:not(.product-detail-page) .records-hero h1 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(48px, 5vw, 76px);
  line-height: .98;
}

main.records-page:not(.product-detail-page) :is(.records-lead,.records-actions) {
  margin-inline: auto;
}

main.records-page:not(.product-detail-page) .records-actions {
  justify-content: center;
}

main.records-page:not(.product-detail-page) .records-status {
  width: min(100%, 920px);
  margin-top: clamp(48px, 7vw, 86px);
  text-align: left;
}

main.developers-page .developers-hero {
  min-height: min(760px, calc(100vh - var(--nav-h)));
  padding-block: clamp(92px, 10vw, 142px);
  text-align: center;
}

main.developers-page .developers-hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main.developers-page .developers-hero h1 {
  max-width: 900px;
  font-size: clamp(48px, 5vw, 76px);
  line-height: .98;
  letter-spacing: -.06em;
}

main.developers-page .developers-lead {
  margin: 28px auto 0;
  font-size: clamp(17px, 1.5vw, 20px);
}

main.developers-page .developers-actions {
  justify-content: center;
}

main.developers-page .developers-cta {
  background: var(--public-ink) !important;
  color: var(--public-surface) !important;
  text-decoration: none !important;
}

main.developers-page .developers-build-panel {
  border-color: transparent;
  text-align: left;
}

main.developers-page .developers-build-panel a {
  color: var(--public-ink) !important;
  text-decoration: none !important;
}

/* Keep one deliberate hero offset instead of stacking legacy grid spacing. */
main.records-page:not(.product-detail-page) .records-hero {
  padding: 110px 0 90px !important;
}

main.records-page:not(.product-detail-page) .records-hero-grid {
  padding-block: 0 !important;
  align-items: start;
}

main.developers-page .developers-hero {
  min-height: 0;
  display: block;
  padding: 110px 0 120px;
}

@media (max-width: 760px) {
  main.records-page:not(.product-detail-page) .records-hero,
  main.developers-page .developers-hero {
    padding: 72px 0 82px !important;
  }
}

/* Homepage hero follows the same centered editorial scale as section pages. */
main#top:not(.pricing-page) > .hero .hero-card {
  align-items: center;
}

main#top:not(.pricing-page) > .hero .hero-copy {
  width: min(100%, 960px);
  max-width: 960px;
  margin-inline: auto;
  padding: 110px 24px 120px;
  text-align: center;
}

main#top:not(.pricing-page) > .hero #hero-title {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(48px, 5vw, 76px);
  line-height: .98;
  letter-spacing: -.06em;
}

main#top:not(.pricing-page) > .hero :is(.lead,.hero-lead) {
  margin-inline: auto;
}

main#top:not(.pricing-page) > .hero :is(.actions,.hero-actions) {
  justify-content: center;
}

@media (max-width: 760px) {
  main#top:not(.pricing-page) > .hero .hero-copy {
    padding: 72px 20px 82px;
  }
}


/* Developer product introduction pages. */
main.developers-page .developer-paths{grid-template-columns:repeat(4,1fr)}
.developer-product-page{background:var(--public-surface);color:var(--public-ink)}.developer-product-hero{padding:110px 0 90px;text-align:center}.developer-product-inner{width:min(calc(100% - 44px),1380px);margin:0 auto}.developer-product-kicker{margin:0 0 22px;color:var(--public-muted);font-size:14px;font-weight:600}.developer-product-hero h1{max-width:920px;margin:0 auto;font-size:clamp(48px,5vw,76px);font-weight:620;line-height:.98;letter-spacing:-.06em}.developer-product-lead{max-width:720px;margin:28px auto 0;color:var(--public-muted);font-size:clamp(17px,1.5vw,20px);line-height:1.5}.developer-product-actions{display:flex;justify-content:center;gap:12px;margin-top:32px}.developer-product-actions a{min-height:46px;display:inline-flex;align-items:center;padding:0 20px;border-radius:999px;background:var(--public-ink);color:var(--public-surface)!important;text-decoration:none!important}.developer-product-actions a+a{background:color-mix(in srgb,var(--public-ink) 11%,transparent);color:var(--public-ink)!important}.developer-product-preview{margin:72px auto 0;border-top:1px solid var(--public-line);border-bottom:1px solid var(--public-line);background:var(--public-surface-raised);text-align:left}.developer-product-preview figcaption{display:flex;justify-content:space-between;gap:20px;padding:18px 0;color:var(--public-muted);font-size:13px}.developer-product-preview-frame{min-height:clamp(360px,46vw,680px);display:grid;grid-template-columns:240px 1fr;border-top:1px solid var(--public-line);overflow:hidden}.developer-product-preview-image{display:block;width:100%;height:auto;grid-column:1/-1}.developer-product-preview-nav{padding:28px;border-right:1px solid var(--public-line)}.developer-product-preview-nav span{display:block;height:9px;margin-bottom:18px;background:color-mix(in srgb,var(--public-ink) 18%,transparent)}.developer-product-preview-nav span:nth-child(2){width:72%}.developer-product-preview-nav span:nth-child(3){width:84%}.developer-product-preview-nav span:nth-child(4){width:58%}.developer-product-preview-workspace{display:grid;place-items:center;padding:40px}.developer-product-preview-workspace strong{max-width:620px;font-size:clamp(40px,6vw,88px);line-height:.95;letter-spacing:-.065em;text-align:center}.developer-product-section{padding:clamp(82px,10vw,142px) 0;border-top:1px solid var(--public-line)}.developer-product-section h2{max-width:900px;margin:0;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.06em}.developer-product-capabilities{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-top:1px solid var(--public-line)}.developer-product-capability{min-height:260px;padding:28px;border-right:1px solid var(--public-line)}.developer-product-capability:first-child{padding-left:0}.developer-product-capability:last-child{border-right:0}.developer-product-capability span{color:var(--public-muted);font-size:13px}.developer-product-capability h3{margin:46px 0 14px;font-size:27px;letter-spacing:-.045em}.developer-product-capability p{color:var(--public-muted);line-height:1.55}@media(max-width:760px){main.developers-page .developer-paths,.developer-product-capabilities{grid-template-columns:1fr}.developer-product-hero{padding:72px 0 82px}.developer-product-preview-frame{min-height:0;grid-template-columns:1fr}.developer-product-preview-nav{display:none}.developer-product-capability,.developer-product-capability:first-child{min-height:0;padding:28px 0;border-right:0;border-bottom:1px solid var(--public-line)}}

/* OpenAI-inspired public footer: preserve the existing Altifigence link map. */
footer.footer {
  width: 100%;
  margin: 0;
  padding: clamp(72px, 7vw, 104px) max(28px, calc((100vw - 1320px) / 2)) 36px;
  border: 0;
  background: #fff;
  color: #0d0d0d;
}

footer.footer .footer-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(240px, 1.25fr) repeat(4, minmax(140px, 1fr));
  gap: clamp(36px, 4.5vw, 78px);
  align-items: start;
}

footer.footer .footer-brand strong {
  display: block;
  color: inherit;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -.035em;
}

footer.footer .footer-brand p {
  max-width: 280px;
  margin: 18px 0 0;
  color: #6b6b6b;
  font-size: 14px;
  line-height: 1.55;
}

footer.footer h3 {
  margin: 0 0 20px;
  color: #6b6b6b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

footer.footer a {
  display: block;
  width: fit-content;
  margin: 0 0 16px;
  color: #0d0d0d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  transition: opacity 160ms ease;
}

footer.footer a:is(:hover, :focus-visible) {
  color: #0d0d0d;
  opacity: .52;
  text-decoration: none;
}

footer.footer .footer-bottom {
  width: 100%;
  max-width: 1320px;
  margin: clamp(76px, 8vw, 112px) auto 0;
  padding: 0;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: #0d0d0d;
  font-size: 13px;
  line-height: 1.4;
}

html[data-theme="dark"] footer.footer {
  background: #000;
  color: #f7f7f7;
}

html[data-theme="dark"] footer.footer :is(a, a:is(:hover, :focus-visible), .footer-brand strong, .footer-bottom) {
  color: #f7f7f7;
}

html[data-theme="dark"] footer.footer :is(h3, .footer-brand p) {
  color: #9b9b9b;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) footer.footer {
    background: #000;
    color: #f7f7f7;
  }

  :root:not([data-theme="light"]) footer.footer :is(a, a:is(:hover, :focus-visible), .footer-brand strong, .footer-bottom) {
    color: #f7f7f7;
  }

  :root:not([data-theme="light"]) footer.footer :is(h3, .footer-brand p) {
    color: #9b9b9b;
  }
}

@media (max-width: 980px) {
  footer.footer .footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 36px;
  }

  footer.footer .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  footer.footer {
    padding: 64px 24px 32px;
  }

  footer.footer .footer-inner {
    gap: 42px 24px;
  }

  footer.footer .footer-bottom {
    margin-top: 72px;
    align-items: flex-start;
    flex-direction: column;
  }
}

.developer-product-preview-gallery {
  box-sizing: border-box;
  grid-column: 1 / -1;
  display: grid;
  gap: clamp(14px, 2vw, 28px);
  width: 100%;
  max-width: 1236px;
  margin: 0 auto;
  padding: clamp(12px, 2vw, 28px);
}

.developer-product-preview-shot {
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: 14px;
  background: var(--public-surface);
  box-shadow: 0 18px 52px color-mix(in srgb, var(--public-ink) 10%, transparent);
}

.developer-product-preview-shot .developer-product-preview-image {
  grid-column: auto;
}

/* Downloads. */
.downloads-page{min-height:100vh;background:var(--public-surface);color:var(--public-ink)}
.downloads-shell{width:min(calc(100% - 44px),1380px);margin:0 auto}
.downloads-hero{padding:110px 0 120px;text-align:center}
.downloads-kicker{margin:0 0 22px;color:var(--public-muted);font-size:14px;font-weight:600}
.downloads-hero h1{max-width:900px;margin:0 auto;font-size:clamp(48px,5vw,76px);font-weight:620;line-height:.98;letter-spacing:-.06em}
.downloads-lead{max-width:720px;margin:28px auto 0;color:var(--public-muted);font-size:clamp(17px,1.5vw,20px);line-height:1.5}
.downloads-primary-action{min-height:46px;display:inline-flex;align-items:center;gap:7px;margin-top:32px;padding:0 20px;border-radius:999px;background:var(--public-ink);color:var(--public-surface)!important;text-decoration:none!important}
.downloads-primary-action:hover{opacity:.72}
.downloads-products{padding:clamp(82px,10vw,142px) 0;border-top:1px solid var(--public-line)}
.downloads-products h2,.downloads-catalog h2{max-width:900px;margin:0;font-size:clamp(40px,5vw,72px);font-weight:620;line-height:1;letter-spacing:-.06em}
.downloads-grid{display:grid;grid-template-columns:1fr;margin-top:68px;border-top:1px solid var(--public-line)}
.download-product,.download-product+.download-product{min-height:0;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:clamp(34px,5vw,82px);align-items:center;padding:58px 0;border-right:0;border-bottom:1px solid var(--public-line)}
.download-product:last-child{border-bottom:0}
.download-product-icon{display:block;width:88px;height:88px;margin-bottom:30px;object-fit:contain}
.download-product-media>span{color:var(--public-muted);font-size:13px}
.download-product h3{margin:0 0 16px;font-size:clamp(28px,3vw,40px);letter-spacing:-.05em}
.download-product p{max-width:520px;margin:0;color:var(--public-muted);font-size:17px;line-height:1.55}
.download-product .download-product-platform{margin-top:22px;color:var(--public-ink);font-size:14px;font-weight:600}
.download-product-cta{min-width:220px;display:grid;justify-items:start;gap:12px}
.download-product-cta>span{color:var(--public-muted);font-size:13px}
.download-product-action{min-height:46px;display:inline-flex;align-items:center;gap:8px;padding:0 20px;border:0;border-radius:999px;background:var(--public-ink);color:var(--public-surface)!important;font:inherit;font-size:15px;font-weight:560;text-decoration:none!important}
.download-product-action:hover{opacity:.72}
.downloads-catalog{padding:clamp(82px,10vw,142px) 0;border-top:1px solid var(--public-line)}
.downloads-catalog-layout{display:grid;grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);gap:40px;align-items:start}
.downloads-catalog-layout>div>p{max-width:720px;margin:28px 0 0;color:var(--public-muted);font-size:18px;line-height:1.55}

@media(max-width:760px){
  .downloads-hero{padding:72px 0 82px}
  .downloads-grid,.downloads-catalog-layout{grid-template-columns:1fr}
  .downloads-grid{margin-top:48px}
  .download-product,.download-product+.download-product{grid-template-columns:1fr;gap:30px;padding:36px 0}
  .download-product-icon{margin-bottom:24px}
  .download-product-cta{min-width:0}
  .downloads-catalog-layout{gap:18px}
}
