/* Final, small-screen corrections. Keep this after feature styles. */
@media (max-width:1199px), (max-width:1366px) and (hover:none) and (pointer:coarse) {
  main { overflow:visible; }
  main :is(h1,h2,h3,h4) { white-space:normal; text-wrap:balance; overflow-wrap:anywhere; }
  main :is(p,li,dd,a,label,legend,small) { overflow-wrap:anywhere; }
  main :is(section,article,figure,fieldset,form), .foot-grid > * { min-width:0; }
  main fieldset { max-width:100%; }
  main :is(input,select,textarea) { max-width:100%; min-width:0; }
  main :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:calc(16px * var(--reading-scale,1)) !important; }
  main :is(.button,.text-link,.mini-button) { white-space:normal; height:auto; line-height:1.6; overflow-wrap:anywhere; }
  .actions > *, .document-actions > *, .contact-direct > * { min-width:0; }
  .event-card[class*="event-theme-"] .event-art { flex-wrap:wrap; }
  .event-card .event-category { min-width:0; max-width:100%; }
  .site-heading-photo.is-illustration { aspect-ratio:auto; height:auto; }
  .site-heading-photo.is-illustration img { height:auto; object-fit:contain; }
  .secondary-offer-photo { aspect-ratio:auto; height:auto; object-fit:contain; }
  .naturo-home-photo { aspect-ratio:auto; }
  .naturo-home-photo > img { position:static; height:auto; object-fit:contain; }
  .content-map iframe, main video { max-width:100%; }
  .content-file-info, .content-resource-copy { min-width:0; }
  .event-card p,.pro-story p,.contact-details>p,.contact-addresses p,.contact-direct,
  .document-card p,.results p,.site-plan li,.naturo-flyer-section p,.naturo-flyer-section li,
  .privacy-article p,.content-resource-copy p { font-size:calc(15px * var(--reading-scale,1)) !important; line-height:1.8; }
  .content-gallery-label,.content-file,.event-card small,.staff-card small,.document-card small,
  .foot-brand p,.naturo-photo-grid figcaption,.naturo-game-feature figcaption { font-size:calc(13px * var(--reading-scale,1)) !important; line-height:1.7; }
  dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; }
  dialog :is(h2,h3,p,label,button,a) { overflow-wrap:anywhere; }
  .catalogue-toolbar { flex-wrap:wrap; }
  .catalogue-page-select { min-width:0; flex-wrap:wrap; justify-content:center; }
  .catalogue-header h2 { overflow-wrap:anywhere; }
  .catalogue-close { width:44px; height:44px; }
}
@media (max-width:1024px), (max-width:1366px) and (hover:none) and (pointer:coarse) {
  header>.nav>.links.open { max-height:calc(100dvh - var(--site-menu-top,150px) - 12px - env(safe-area-inset-bottom)); padding-bottom:calc(18px + env(safe-area-inset-bottom)); }
  header>.nav>.links summary,header>.nav>.links>.nav-contact,header>.nav>.links>.nav-ludotheque,header>.nav>.links>.nav-faq { white-space:normal; overflow-wrap:anywhere; }
  header>.nav>.links .mega>a { font-size:calc(15px * var(--reading-scale,1)) !important; overflow-wrap:anywhere; }
  header>.nav>.nav-actions>.menu-toggle { min-height:44px; }
}
@media (max-width:767px) {
  .home-association .territory-cards { grid-template-columns:minmax(0,1fr); }
  .home-brochure-map { margin-inline:auto; width:min(240px,100%); }
  .site-heading-grid,.site-heading-compact .site-heading-grid { grid-template-columns:minmax(0,1fr); }
  .contact-addresses,.naturo-flyer-section { grid-template-columns:minmax(0,1fr); }
  .document-card,.content-resource { padding:22px 18px; }
  .content-file { padding:18px 14px; gap:12px; }
  .contact-compose,.signup-panel,.auth-card { padding:24px 18px; }
  .contact-addresses h3 { font-size:calc(21px * var(--reading-scale,1)) !important; }
  .contact-direct strong { font-size:calc(16px * var(--reading-scale,1)) !important; }
  .contact-compose .button,.auth-tabs a,.search-suggestions button { font-size:calc(14px * var(--reading-scale,1)) !important; }
  .auth-tabs { flex-wrap:wrap; }
  .foot-column>a { font-size:calc(14px * var(--reading-scale,1)) !important; line-height:1.7; }
  .foot-column:last-child { grid-template-columns:minmax(0,1fr); }
  .foot-column:last-child>strong { grid-column:auto; }
  .naturo-contact-identity { min-width:0; flex-wrap:wrap; }
  .naturo-contact-identity>div { min-width:0; }
}
@media (max-width:479px) {
  .foot-grid { grid-template-columns:minmax(0,1fr); }
  .foot-brand,.foot-column:last-child { grid-column:auto; }
  .naturo-photo-grid { grid-template-columns:minmax(0,1fr); }
  .naturo-photo-grid img { max-height:none; }
  .event-card .event-illustration { width:80px; height:80px; flex-basis:80px; }
  .event-card .event-illustration>.nature-icon { width:66px; height:66px; }
}
@media (max-height:500px) and (max-width:1366px) {
  header { position:relative; }
  header>.nav>.links.open { max-height:none; overflow:visible; }
}

/* Keep all four header partners on one row, with proportional images. */
.primary-partners .primary-partners-logos {
  grid-template-columns:minmax(0,1.4fr) minmax(0,.4fr) minmax(0,1fr) minmax(0,1fr);
  max-width:560px;
  gap:clamp(8px,2vw,24px);
}
.primary-partners .primary-partner-argonne img { width:130px; }
.primary-partners .primary-partner-caf img { width:34px; }
.primary-partners .primary-partner-water img,
.primary-partners .primary-partner-region img { width:90px; }
@media (max-width:480px) {
  .primary-partners { padding:8px 12px; }
  .primary-partners .primary-partner-argonne img { width:104px; }
  .primary-partners .primary-partner-caf img { width:30px; }
  .primary-partners .primary-partner-water img,
  .primary-partners .primary-partner-region img { width:74px; }
}
