@media (max-width: 640px) {
    .cover { padding: 18px 18px; }
    .cover__content { width: min(100%, 520px); }
    .cover__photo { width: min(100%, 340px); max-height: 19svh; margin-bottom: 12px; }
    .cover__corner { width: 42px; height: 42px; }
    .cover__corner--tl { top: 14px; left: 14px; }
    .cover__corner--br { right: 14px; bottom: 14px; }
    .brand-mark { width: 40px; height: 40px; margin-bottom: 12px; }
    .cover h1 { font-size: clamp(38px, 9vw, 64px); }
    .cover__rule { margin: 16px auto 12px; }
    .cover__team { margin-top: 10px; font-size: 9px; }
    .cover__team strong { font-size: 12px; }
    .cover__date { font-size: 11px; letter-spacing: .14em; }
    .cover__description { margin: 10px 0 16px; font-size: 12px; line-height: 1.6; }
    .cover__footnote { margin-top: 12px; }
    .section { padding: 78px 20px; }
    .intro__lead, .intro__note, .notice__text { font-size: 13px; }
    .info-grid { grid-template-columns: 1fr; }
    .info-card, .info-card--wide { grid-column: auto; min-height: auto; padding: 25px 22px; }
    .notice__highlight { align-items: flex-start; padding: 16px; font-size: 12px; }
    .thanks { min-height: 360px; padding: 75px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-height: 720px) {
    .cover { padding-top: 12px; padding-bottom: 12px; }
    .cover__photo { max-height: 16svh; margin-bottom: 8px; }
    .brand-mark { width: 34px; height: 34px; margin-bottom: 8px; }
    .cover h1 { font-size: clamp(34px, 7vw, 58px); }
    .cover__rule { margin: 12px auto 8px; }
    .cover__description { margin: 8px 0 12px; }
    .cover__footnote { margin-top: 8px; }
}
