:root { --page-gutter: clamp(20px, 4vw, 112px); scroll-behavior: auto; }
.page-width, .header-inner { width: calc(100% - var(--page-gutter) * 2); max-width: none; }
.site-header { background: var(--ground); }
.desktop-nav a[aria-current=page], .mobile-nav a[aria-current=page] { color: var(--ink); font-weight: 600; }
.desktop-nav a[aria-current=page] { text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 10px; text-decoration-thickness: 2px; }
.mobile-nav a[aria-current=page] { color: var(--blue); }
.inner-page h1 { font-size: clamp(38px, 4vw, 64px); line-height: 1.4; max-width: 25ch; }
.inner-page .section-space:first-child { padding-top: 80px; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 20px; }
.footer-bottom a:hover { color: var(--ink); }
.download-heading h1 { margin-inline: auto; }
.download-item h2 { font-family: inherit; font-size: 25px; letter-spacing: -.02em; font-weight: 600; }
.requirements, .release-meta, .download-role, .download-footnote { font-size: 12px; }
.home-page .hero { display: flex; flex-direction: column; height: calc(100svh - 80px); min-height: 680px; }
.home-page .hero:after { display: none; }
.hero-main { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(32px,3vw,80px); align-items: center; flex: 1; padding-block: 50px 38px; }
.home-page .hero-content { padding: 0; min-width: 0; }
.home-page .hero h1 { font-size: clamp(32px,3.3vw,72px); max-width: none; }
.home-page .hero-content > p { font-size: 17px; max-width: 40ch; line-height: 1.9; }
.hero-software { margin: 0; min-width: 0; }
.hero-device-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.33fr); gap: 14px; align-items: end; }
.hero-device-pair img { width: 100%; height: auto; }
.hero-software figcaption { color: var(--muted); font-size: 12px; line-height: 1.8; margin-top: 20px; }
.home-page .hero-bottom { position: static; padding-bottom: 25px; }
.home-page .concept-note { font-size: 12px; }
@media (max-width: 980px) {
  .home-page .hero { height: auto; min-height: calc(100svh - 80px); }
  .hero-main { grid-template-columns: 1fr; gap: 40px; padding-block: 60px 40px; }
  .home-page .hero h1 { font-size: clamp(36px,4.8vw,47px); }
  .hero-software { width: 100%; max-width: 900px; }
}
@media (max-width: 600px) {
  .home-page .hero { min-height: calc(100svh - 68px); }
  .hero-main { gap: 32px; padding-block: 42px 35px; }
  .home-page .hero h1 { font-size: clamp(26px,6.65vw,40px); max-width: 100%; }
  .home-page .hero-content > p { font-size: 14px; margin-top: 20px; max-width: 100%; }
  .home-page .hero-content > p br { display: none; }
  .hero-device-pair { gap: 10px; }
  .hero-software figcaption { font-size: 12px; margin-top: 15px; }
  .home-page .hero-bottom { padding-bottom: 23px; }
  .home-page .concept-note { text-align: left; font-size: 12px; margin-top: 13px; }
  .hero-actions { gap: 20px; }
  .hero-actions .text-link { font-size: 12px; }
  .inner-page .section-space:first-child { padding-top: 45px; }
  .inner-page h1 { font-size: 34px; max-width: 100%; }
  .download-item h2 { font-size: 23px; }
  .footer-bottom { flex-direction: column; gap: 20px; }
  .footer-bottom nav { gap: 17px; }
}
@media (max-width: 360px) {
  .hero-actions { gap: 15px; }
  .hero-actions .text-link { gap: 6px; font-size: 11px; }
  .inner-page h1 { font-size: 30px; }
  .download-item h2 { font-size: 21px; }
}
