.download-page { background: #fbfbfd; }
.download-page .site-cta[aria-current="page"] { background: #353537; }
.download-main { min-height: calc(100vh - 76px); padding: clamp(72px, 8vw, 116px) clamp(20px, 6vw, 86px) 108px; }
.download-shell { width: min(1120px, 100%); margin: 0 auto; }

.download-intro { display: grid; grid-template-columns: minmax(360px, .95fr) minmax(340px, .8fr); gap: clamp(48px, 9vw, 132px); align-items: end; margin-bottom: clamp(72px, 9vw, 118px); }
.section-kicker, .offer-state { margin: 0; color: #0b8f68; font-size: 11px; font-weight: 750; }
.download-intro h1 { margin: 18px 0 0; font-size: clamp(36px, 3.5vw, 46px); font-weight: 580; line-height: 1.1; letter-spacing: 0; }
.download-intro > p { max-width: 500px; margin: 0 0 3px; color: #626267; font-size: 15px; line-height: 1.8; }

.offer-section { padding: clamp(68px, 8vw, 104px) 0; border-top: 1px solid rgba(29, 29, 31, .14); }
.offer-heading { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(300px, .78fr); gap: 48px 96px; align-items: end; margin-bottom: 48px; }
.offer-heading > div { display: flex; align-items: baseline; gap: 18px; }
.offer-heading span { color: #8a8a8f; font-size: 11px; font-weight: 700; }
.offer-heading h2, .api-copy h2 { margin: 0; font-size: clamp(30px, 3.2vw, 42px); font-weight: 580; line-height: 1.12; }
.offer-heading > p, .api-copy > p { margin: 0; color: #6e6e73; font-size: 14px; line-height: 1.75; }

.license-table, .service-list { border-top: 1px solid rgba(29, 29, 31, .14); }
.package-section { padding-top: 44px; }
.package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.package-item { display: flex; flex-direction: column; min-width: 0; padding: 28px 24px; border: 1px solid rgba(29, 29, 31, .14); border-radius: 6px; }
.package-item h3 { margin: 14px 0 24px; font-size: 23px; font-weight: 600; line-height: 1.3; }
.package-price { margin: 0; font-size: 27px; font-weight: 600; line-height: 1.3; }
.package-term { min-height: 38px; margin: 8px 0 20px; color: #6e6e73; font-size: 12px; line-height: 1.6; }
.package-item ul { margin: 0 0 24px; padding-left: 18px; font-size: 13px; line-height: 1.75; }
.package-item li { margin-bottom: 8px; }
.package-renewal { margin: auto 0 20px; color: #626267; font-size: 12px; line-height: 1.7; }
.package-item .offer-action { white-space: normal; text-align: center; padding: 10px 14px; }
.package-entry { display: flex; flex-wrap: wrap; gap: 16px 28px; margin: 28px 0 0; font-size: 12px; color: #626267; }
#licensesTitle, #hostingTitle { scroll-margin-top: 110px; }
@media (max-width: 960px) { .package-grid { grid-template-columns: 1fr; } }
.license-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(124px, .55fr) 152px; gap: 24px 32px; align-items: center; min-height: 164px; padding: 30px 0; border-bottom: 1px solid rgba(29, 29, 31, .12); }
.license-name span { color: #0b8f68; font-size: 10px; font-weight: 750; }
.license-name h3, .service-row h3 { margin: 9px 0 8px; font-size: 21px; font-weight: 650; line-height: 1.2; }
.license-name p, .license-scope p, .service-row > div:first-child > p { margin: 0; color: #6e6e73; font-size: 12px; line-height: 1.65; }
.license-scope strong { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 750; }
.license-price { display: grid; gap: 7px; }
.license-price strong, .service-buy strong { font-size: 20px; font-weight: 620; white-space: nowrap; }
.license-price span, .service-buy span { color: #86868b; font-size: 10px; line-height: 1.45; }

.offer-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid rgba(29, 29, 31, .18); border-radius: 999px; color: #1d1d1f; font-size: 11px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.offer-action:hover { border-color: rgba(11, 143, 104, .42); color: #0b8f68; }
.offer-action-primary { border-color: #1d1d1f; background: #1d1d1f; color: #fff; }
.offer-action-primary:hover { border-color: #353537; background: #353537; color: #fff; }

.service-section { padding-bottom: 76px; }
.service-row { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(300px, 1.1fr) minmax(150px, .55fr); gap: 32px 64px; align-items: start; padding: 42px 0; border-bottom: 1px solid rgba(29, 29, 31, .12); }
.service-row ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 3px 0 0; padding: 0; list-style: none; }
.service-row li { position: relative; padding-left: 13px; color: #55555a; font-size: 11px; line-height: 1.55; }
.service-row li::before { position: absolute; top: .62em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #0b8f68; content: ""; }
.service-buy { display: grid; justify-items: start; gap: 8px; }
.service-buy .offer-action { margin-top: 8px; }
.scope-note { max-width: 760px; margin: 20px 0 0; color: #86868b; font-size: 10px; line-height: 1.7; }

.api-offer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: end; padding-right: clamp(28px, 5vw, 64px); padding-left: clamp(28px, 5vw, 64px); background: #f1f3f0; }
.api-copy { max-width: 680px; }
.api-copy h2 { margin-top: 14px; }
.api-copy > p { margin-top: 18px; }
.api-actions { display: flex; align-items: center; gap: 18px; }
.text-link { color: #515154; font-size: 11px; font-weight: 750; text-decoration: none; }
.text-link::after { content: " →"; }
.text-link:hover { color: #0b8f68; }

.release-section { padding-bottom: 12px; }
.release-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(29, 29, 31, .12); background: rgba(29, 29, 31, .12); }
.release-grid article { padding: 32px; background: #fbfbfd; }
.release-grid article > p { margin: 0 0 28px; font-size: 15px; font-weight: 700; }
.release-grid dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 0 26px; }
.release-grid dt, .release-grid dd { margin: 0; }
.release-grid dt { margin-bottom: 9px; color: #86868b; font-size: 9px; }
.release-grid dd { font-size: 19px; font-weight: 600; }
.release-grid dd small, .release-grid .release-text, .release-grid .release-date { font-size: 11px; font-weight: 650; }

@media (max-width: 960px) {
  .license-row { grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.2fr) minmax(130px, .6fr); }
  .license-row .offer-action { grid-column: 2 / -1; justify-self: start; }
  .service-row { grid-template-columns: minmax(230px, .8fr) minmax(300px, 1.2fr); }
  .service-buy { grid-column: 2; grid-template-columns: auto auto; align-items: center; justify-content: start; column-gap: 18px; }
  .service-buy .offer-action { margin: 0; }
}

@media (max-width: 860px) {
  .download-main { min-height: 0; padding-top: 58px; padding-bottom: 72px; }
  .download-intro, .offer-heading, .license-row, .service-row, .api-offer { grid-template-columns: 1fr; }
  .download-intro { gap: 22px; margin-bottom: 68px; }
  .download-intro h1 { font-size: 34px; }
  .download-intro > p { font-size: 14px; }
  .offer-section { padding: 62px 0; }
  .offer-heading { gap: 18px; margin-bottom: 32px; }
  .offer-heading h2, .api-copy h2 { font-size: 30px; }
  .license-row, .service-row { gap: 24px; padding: 34px 0; }
  .license-row .offer-action, .service-buy { grid-column: auto; }
  .service-buy { display: grid; grid-template-columns: 1fr; }
  .api-offer { gap: 30px; margin-right: -20px; margin-left: -20px; padding-right: 20px; padding-left: 20px; }
  .api-actions { align-items: flex-start; flex-direction: column; }
  .release-grid { grid-template-columns: 1fr; }
  .release-grid article { padding: 28px 24px; }
}

@media (max-width: 440px) {
  .service-row ul, .release-grid dl { grid-template-columns: 1fr; }
  .release-grid dl { gap: 18px; }
}
