.information-page { min-height: 60vh; padding: 48px 0 72px; }
.information-page h1 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 18px 0 10px; }
.information-intro { max-width: 720px; }
.information-sections { display: grid; gap: 16px; margin-top: 32px; }
.information-sections section { padding: 22px 24px; border-radius: 12px; }
.information-sections h2 { font-size: 16px; margin-bottom: 8px; }
.information-sections p { line-height: 1.7; }

@media (max-width: 720px) {
    body { overflow-x: hidden; }
    .container { width: min(100% - 28px, 1170px); }
    .header { position: relative; }
    .navbar { padding: 10px 0; gap: 10px; }
    .brand { min-width: 0; }
    .brand-text p { display: none; }
    .nav-links {
        display: flex;
        width: auto;
        margin-left: auto;
    }
    .nav-links a:not(.cta-button) { display: none; }
    .nav-links .cta-button { min-height: 40px; display: grid; place-items: center; white-space: nowrap; }
    .hero { padding: 20px 0 40px; }
    .hero-arch {
        aspect-ratio: 16 / 10;
        min-height: 240px;
        max-height: none;
    }
    .hero-content {
        justify-content: center;
        padding: 20px 16px;
    }
    .hero-bell { width: 20px; top: 4px; }
    .section { padding: 52px 0; }
    .section-title h2 { font-size: clamp(24px, 8vw, 34px); }
    .stats { padding: 28px 0; }
    .stat-card { min-height: 130px; padding: 20px; }
    .cta-card { padding: 24px 18px; }
    .cta-panel__actions { width: 100%; }
    .cta-panel__actions .cta-button { flex: 1; min-width: 140px; text-align: center; }
    .cta-card a { width: 100%; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
    .notice-item { align-items: start; }
    .page-hero { padding: 32px 0 4px; }
    .page-content { padding: 24px 0 52px; }
    .notice-banner { min-height: 200px; }
    .notice-banner__inner { padding: 28px 0 32px; }
    .announcement-detail { padding: 22px 18px; }
    .site-footer__main { padding-left: 20px; padding-right: 20px; }
    .site-footer__social { flex-wrap: wrap; justify-content: center; gap: 14px; }
    .information-page { padding: 42px 0; }
}

@media (max-width: 420px) {
    .brand-text h1 { font-size: 0.82rem; }
    .brand-mark { width: 36px; height: 36px; }
    .nav-links .cta-button { padding: 7px 10px; font-size: 11px; }
    .hero-arch { aspect-ratio: 1 / 1; }
    .hero-headline { font-size: 1.2rem; }
    .notice-item { grid-template-columns: 52px minmax(0, 1fr); }
}
