.au-page { margin: 0; background: #fff; }
.au-page main, .au-page main * { box-sizing: border-box; }
.au-banner img { display: block; width: 100%; height: auto; }
.au-content { width: calc(100% - 40px); max-width: 1120px; margin: 0 auto; padding: 42px 0 40px; color: #808080; font-size: 16px; line-height: 1.4; }
.au-content h1 { margin: 0 0 20px; color: #182551; font-size: 30px; font-weight: 600; line-height: 1.4; text-align: center; }
.au-lead { margin: 0 0 22px; text-align: center; }
.au-introduction p { margin: 0 0 22px; }
.au-introduction p:last-child { margin-bottom: 0; }
.au-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 52px; }
.au-card { position: relative; display: block; overflow: hidden; border-radius: 10px; color: #fff; background: #303030; cursor: pointer; }
.au-card, .au-card:hover, .au-card:focus { color: #fff; text-decoration: none; }
.au-card:focus-visible { outline: 3px solid #0eadd5; outline-offset: 4px; }
.au-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.au-card::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .6); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.au-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 81px; background: linear-gradient(transparent, rgba(0, 0, 0, .85)); pointer-events: none; transition: opacity .3s ease; }
.au-card span { position: absolute; z-index: 1; bottom: 16px; left: 0; width: 100%; padding: 0 8px; transform: translateY(0); color: #fff; font-size: 24px; line-height: 1.25; text-align: center; transition: bottom .3s ease, transform .3s ease; }
@media (hover: hover) {
    .au-card:hover::before { opacity: 1; }
    .au-card:hover::after { opacity: 0; }
    .au-card:hover span { bottom: 50%; transform: translateY(50%); }
}
.au-page .fs-footer-copy { border-left: 0; }
@media (max-width: 900px) {
    .au-content { padding: 32px 0; }
    .au-content h1 { font-size: 26px; }
    .au-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
    .au-card span { font-size: 22px; }
}
@media (max-width: 520px) {
    .au-content { width: calc(100% - 32px); font-size: 14px; line-height: 1.65; }
    .au-content h1 { font-size: 22px; margin-bottom: 14px; }
    .au-card::after { height: 57px; }
    .au-card span { bottom: 12px; font-size: 17px; padding: 0 4px; }
}
@media (prefers-reduced-motion: reduce) {
    .au-card::before, .au-card::after, .au-card span { transition: none; }
}
