/* The supplied page artwork is native HTML/SVG. Shared rules adapt it to smaller screens. */
.landing-page { background: #f7faf5; color: #052e24; font-family: Manrope, sans-serif; }
.landing-main { padding-top: 68px; }
.landing-main *, .landing-main *::before, .landing-main *::after { box-sizing: border-box; }
.landing-main h3 { line-height: 1.35; letter-spacing: normal; }
.landing-main a:hover { text-decoration: underline; text-underline-offset: 3px; }
.landing-main a:focus-visible { outline: 3px solid #087f5b; outline-offset: 4px; }
.landing-main .landing-hero a:focus-visible { outline-color: #9bef45; }
.landing-main .landing-cta { justify-content: center; min-height: 52px; height: auto !important; padding-block: 14px !important; line-height: 1.5; text-align: center; }
.landing-main .landing-cta:hover { text-decoration: none; filter: brightness(1.06); }
.landing-flex-item { min-width: 0; }
.landing-visual { max-width: 100%; }
.landing-main pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.landing-main svg { flex-shrink: 0; }
.landing-chart { display: block; width: 100%; height: auto; }
.landing-main .chip:hover { box-shadow: 0 0 0 1px #087f5b; }
.landing-main .pc:hover { border-color: #087f5b !important; }
.landing-main section { scroll-margin-top: 88px; }
.landing-skip { position: fixed; top: 8px; left: 16px; z-index: 150; padding: 12px 18px; border-radius: 8px; background: #9bef45; color: #052e24; transform: translateY(-180%); font-weight: 700; }
.landing-skip:focus { transform: none; }
@media (max-width: 700px) {
  .landing-main .landing-container { padding-left: 20px !important; padding-right: 20px !important; }
  .landing-hero > .landing-container { padding-top: 48px !important; padding-bottom: 48px !important; gap: 32px !important; }
  .landing-hero h1 { font-size: clamp(34px, 8.8vw, 48px) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; }
  .landing-main h2 { font-size: clamp(26px, 6.7vw, 34px) !important; }
  .landing-hero p { font-size: 16px !important; }
  .landing-hero figure { padding: 20px !important; }
  .landing-main section.landing-container { padding-top: 40px !important; padding-bottom: 24px !important; }
  .landing-main .landing-card { padding: 22px !important; }
  .landing-main .landing-flex > .landing-flex-item { flex-basis: 100% !important; }
  .landing-main .landing-cta { max-width: 100%; }
  .landing-main .landing-related > div { gap: 12px 20px !important; }
}
@media (max-width: 420px) {
  .landing-main .landing-container { padding-left: 16px !important; padding-right: 16px !important; }
  .landing-hero .landing-cta { width: 100%; padding-inline: 12px !important; font-size: 12px !important; }
  .landing-hero figure { padding: 16px !important; }
}
