/* Shared layout safeguards for phones, tablets and keyboard users. */
:focus-visible { outline: 2px solid #e7a6b0; outline-offset: 4px; }
[data-form] label { min-width: 0; }
[data-video-close], [data-img-close], [data-member-close], [data-modal-close] {
  position: fixed !important;
  top: max(16px, env(safe-area-inset-top)) !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  width: 44px !important; height: 44px !important;
  z-index: 130 !important; background: #0f1011 !important;
}
[data-video-modal] > div:last-child {
  width: min(1120px, 100%, calc((100dvh - 120px) * 16 / 9)) !important;
}
[data-img-full], [data-member-full] { max-height: calc(100dvh - 160px) !important; }
@media (max-width: 1100px) {
  nav[data-nav] { padding: 14px 20px !important; }
  nav [data-navtoggle] { display: flex !important; }
  nav [data-navlinks] {
    display: none !important; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column !important; align-items: stretch !important; gap: 0 !important;
    background: rgba(10,11,12,.98); border-bottom: 1px solid rgba(255,255,255,.12);
    padding: 8px 22px 20px !important;
    max-height: calc(100dvh - 80px); overflow-y: auto;
  }
  nav.nav-open [data-navlinks] { display: flex !important; }
  nav [data-navlinks] > a { padding: 13px 2px !important; border-bottom: 1px solid rgba(255,255,255,.07) !important; }
}
@media (max-width: 820px) {
  [data-form] label { grid-column: auto !important; }
  [data-form] { padding: 28px 22px !important; }
  [data-modal], [data-video-modal] { padding: 16px !important; }
  [data-modal-card] { max-height: calc(100dvh - 32px) !important; }
  [data-modal-card] > div:last-child { padding: 28px 24px !important; }
  [data-modal-card] > div:first-child { min-height: 0 !important; height: 220px !important; }
  #jasenet section { padding-left: 20px !important; padding-right: 20px !important; }
  .ga-wp .ga-dl, .agto-wp .agto-dl { opacity: 1 !important; transform: none !important; }
}
@media (max-width: 540px) {
  #jasenet [data-member-grid] { grid-template-columns: 1fr !important; }
  #jasenet h1 { font-size: clamp(38px, 9vw, 48px) !important; }
  [data-screen-label$="hero"], [data-screen-label$="Hero"] {
    height: auto !important; min-height: 100svh !important;
    padding-top: 140px !important; padding-bottom: 90px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (max-width: 820px) {
  #agto h1 { flex-wrap: wrap !important; white-space: normal !important; }
}
@media (min-width: 821px) and (max-width: 1100px) {
  #at [data-grid], #ga [style*="repeat(3,"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 820px) {
  #agto [data-screen-label="Sitaatti"] { height: auto !important; min-height: 560px; padding: 80px 20px !important; }
  #agto [data-screen-label="Sitaatti"] > [data-reveal] { min-width: 0; padding: 0 !important; }
  #agto [data-screen-label="Sitaatti"] [style*="white-space"] { white-space: normal !important; }
}
