/* Home page only. Loaded from 1024px; mobile keeps its existing layout. */
@media (min-width: 1024px) {
  .pn-home-page .pn-desktop-detail { display: block; }
  .pn-home-page .pn-hero { padding-block: 48px 44px; gap: 64px; }
  .pn-home-page .pn-hero-copy h1 { margin: 22px 0; font-size: clamp(54px, 5.2vw, 78px); }
  .pn-home-page .pn-hero-kicker { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 600; letter-spacing: .06em; color: var(--pn-muted); }
  .pn-hero-kicker>span { width: 7px; height: 7px; border-radius: 50%; background: var(--pn-green); }
  .pn-home-page .pn-hero-description { max-width: 385px; font-size: 15px; line-height: 1.75; }
  .pn-home-page .pn-hero-actions { display: flex; gap: 26px; margin-top: 27px; }
  .pn-home-page .pn-hero-actions .pn-button { background: var(--pn-lime); color: #202719; border-color: var(--pn-lime); }
  .pn-home-page .pn-hero-payment-note { display: flex; gap: 11px; align-items: center; margin-top: 25px; font-size: 11px; color: var(--pn-muted); }
  .pn-hero-payment-note>span { font-size: 10px; color: var(--pn-ink); border: 1px solid var(--pn-line); border-radius: 5px; padding: 3px 7px; font-weight: 650; letter-spacing: .02em; }
  .pn-home-page .pn-stage { height: 414px; }

  .pn-home-page .pn-home-guidebar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--pn-line); padding: 22px 0; margin-bottom: 4px; }
  .pn-home-guidebar>div, .pn-home-guidebar>a { min-width: 0; display: flex; gap: 14px; align-items: center; padding-right: 20px; color: var(--pn-ink); text-decoration: none; }
  .pn-home-guidebar>:not(:first-child) { border-left: 1px solid var(--pn-line); padding-left: 27px; }
  .pn-home-guidebar svg { width: 27px; height: 27px; color: var(--pn-green); flex-shrink: 0; }
  .pn-home-guidebar strong { display: block; font-size: 12px; font-weight: 600; margin-bottom: 3px; }
  .pn-home-guidebar small { display: block; color: var(--pn-muted); font-size: 11px; }
  .pn-home-guidebar b { margin-left: auto; color: var(--pn-muted); font-weight: 400; }
  .pn-home-guidebar>a:hover strong { color: var(--pn-green); }

  .pn-home-page #catalog { padding-top: 38px; }
  .pn-home-page #catalog-heading { position: static; clip: auto; overflow: visible; width: auto; height: auto; white-space: normal; padding: 0; margin: 0 0 21px; font-size: 31px; font-weight: 600; }
  .pn-home-page #catalog-heading small { display: inline; font-size: 11px; vertical-align: top; margin-left: 9px; color: var(--pn-muted); letter-spacing: 0; }
  .pn-home-page .pn-catalog-toolbar { justify-content: flex-start; margin-bottom: 25px; }
  .pn-home-page .pn-filters { padding: 4px; }
  .pn-home-page .pn-filter { padding: 9px 20px; font-size: 12px; }
  .pn-home-page .pn-catalog-grid { gap: 28px 20px; }
  .pn-home-page #services { padding-top: 42px; }
  .pn-home-page .pn-service-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
  .pn-home-page .pn-service { gap: 10px; padding: 17px 13px; }
  .pn-home-page .pn-service-icon { width: 43px; height: 43px; }

  .pn-home-page .pn-home-how { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; padding-block: 40px; margin-top: 44px; border-block: 1px solid var(--pn-line); }
  .pn-home-how h2 { font-size: 35px; font-weight: 600; margin: 16px 0 18px; }
  .pn-home-how ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 27px; margin: 0; padding: 3px 0 0; list-style: none; }
  .pn-home-how li { min-width: 0; }
  .pn-home-step { display: block; border-bottom: 1px solid var(--pn-line); padding-bottom: 17px; font-size: 12px; color: var(--pn-muted); font-variant-numeric: tabular-nums; }
  .pn-home-how h3 { font-size: 16px; font-weight: 600; margin: 24px 0 12px; }
  .pn-home-how li p { font-size: 12px; line-height: 1.85; color: var(--pn-muted); margin: 0; max-width: 200px; }

  .pn-home-page .pn-home-partners { display: grid; grid-template-columns: 1.2fr 1fr; min-height: 300px; margin-top: 40px; overflow: hidden; background: #e8ecde; border: 1px solid var(--pn-line); border-radius: 16px; }
  .pn-home-partners-copy { padding: 38px 42px; }
  .pn-home-partners h2 { font-size: 39px; font-weight: 600; margin: 15px 0 13px; }
  .pn-home-partners p { max-width: 390px; margin: 0 0 23px; font-size: 13px; line-height: 1.8; color: var(--pn-muted); }
  .pn-home-partners .pn-button { min-height: 46px; font-size: 12px; }
  .pn-home-partners-art { position: relative; min-height: 300px; isolation: isolate; }
  .pn-home-partners-orbit { position: absolute; width: 350px; height: 230px; top: 40px; left: 30px; border: 1px solid #c4cdb5; border-radius: 50%; transform: rotate(-25deg); z-index: -1; }
  .pn-home-member { position: absolute; width: 142px; height: 176px; border: 1px solid #c1cbae; border-radius: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; }
  .pn-home-member svg { width: 80px; height: 80px; }
  .pn-home-member span { font-size: 11px; font-weight: 600; }
  .pn-home-member-first { left: 42px; top: 60px; background: #f5f6f0; color: #415330; transform: rotate(-9deg); }
  .pn-home-member-second { right: 42px; top: 86px; background: var(--pn-lime); color: #29371d; transform: rotate(9deg); }
  .pn-home-partners-arrow { position: absolute; top: 63px; left: 50%; color: #566847; font-size: 45px; line-height: 1; }
  .pn-home-page .pn-support-banner { margin-top: 24px; }

  html[data-theme=dark] .pn-home-page .pn-home-partners { background: #20291c; }
  html[data-theme=dark] .pn-home-member-first { background: #303d27; color: #d0dfbe; border-color: #657851; }
  html[data-theme=dark] .pn-home-member-second { border-color: #adc54f; }
  html[data-theme=dark] .pn-home-partners-orbit { border-color: #435438; }
  html[data-theme=dark] .pn-home-partners-arrow { color: #a7bc90; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .pn-home-page .pn-hero { gap: 35px; }
  .pn-home-page .pn-hero-copy h1 { font-size: 55px; }
  .pn-home-page .pn-hero-actions { gap: 16px; }
  .pn-home-guidebar>:not(:first-child) { padding-left: 18px; }
  .pn-home-guidebar small { font-size: 10px; }
  .pn-home-member-first { left: 20px; }
  .pn-home-member-second { right: 22px; }
  .pn-home-partners-orbit { width: 300px; left: 8px; }
}
