/* Public website adjustments. Desktop styles remain owned by the theme. */
@media (max-width: 781px) {
  .wp-site-blocks { padding-inline: 0 !important; }
  .wp-site-blocks > header { padding: 16px 20px !important; }
  .wp-site-blocks > header .wp-block-site-logo img { width: min(245px, 70vw) !important; height: auto !important; }
  .wp-site-blocks > header .is-layout-flex { gap: 12px !important; }
  .wp-site-blocks > main { padding-inline: 20px !important; }
  main .alignwide, main .alignfull { margin-inline: 0 !important; max-width: 100% !important; }
  main img, main iframe, main video { max-width: 100%; }
  main h1, main .nfd-text-giga { font-size: clamp(32px, 8.5vw, 42px) !important; line-height: 1.13 !important; letter-spacing: -.025em; overflow-wrap: normal; }
  main h2 { font-size: clamp(27px, 7vw, 34px) !important; line-height: 1.2 !important; }
  main h3 { font-size: 24px !important; line-height: 1.25 !important; }
  main p { line-height: 1.65; overflow-wrap: break-word; }
  main .nfd-gap-2xl { gap: 28px !important; }
  main .nfd-container.nfd-px-md { padding-inline: 0 !important; }
  main .nfd-p-lg { padding: 28px 16px !important; }
  main .is-layout-flex:has(> .nfd-p-card-md) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; width: 100% !important; }
  main .nfd-p-card-md { min-width: 0 !important; width: auto !important; max-width: 100% !important; box-sizing: border-box; padding: 24px !important; gap: 20px !important; }
  main .nfd-p-card-md > * { min-width: 0; max-width: 100%; }
  main .nfd-p-card-md.is-nowrap { flex-direction: column !important; align-items: stretch !important; }
  main .nfd-p-card-md > .wp-block-buttons, main .nfd-p-card-md .wp-block-button { width: 100% !important; }
  main .nfd-p-card-md .is-nowrap { align-items: flex-start; }
  main .nfd-p-card-md .nfd-shrink-0 { flex-shrink: 0; }
  main .is-layout-flex:has(> .nfd-rounded-full) { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; }
  main .nfd-rounded-full { width: 100% !important; box-sizing: border-box; border-radius: 12px !important; }
  main .nfd-rounded-full p { margin: 0 !important; }
  main .nfd-rounded-full a { display: block; padding: 14px 18px; text-align: center; font: 700 15px/1.4 sans-serif; text-decoration: none; }
  main .wp-block-button, main .wp-block-buttons { max-width: 100%; }
  main .wp-block-button__link { min-height: 44px; box-sizing: border-box; white-space: normal; border-radius: 12px !important; }
  main input:not([type="checkbox"]):not([type="radio"]), main select, main textarea { max-width: 100%; width: 100%; box-sizing: border-box; font-size: 16px !important; }
  main button, main input[type="submit"] { min-height: 44px; }
  .wp-block-navigation__responsive-container.is-menu-open { padding: 24px !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-block: 10px; font-size: 20px; }
}
