body {
    margin: 0;
    background: #090b10;
    color: #f2f2f2;
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
}

.menu-page {
    min-height: calc(100vh - 170px);
    max-width: 1600px;
    margin: 0 auto;
    padding: 150px 80px 90px;
    box-sizing: border-box;
}

.magazine-reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1), transform 0.78s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0s);
}

.magazine-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.magazine-heading {
    text-align: center;
}

.magazine-shape {
    display: block;
    height: 60px;
    width: auto;
    object-fit: contain;
    margin: 0 auto 20px;
}

.menu-page h1 {
    margin: 0 0 18px;
    font-size: clamp(34px, 4.6vw, 64px);
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1.2;
}

.magazine-title-text {
    display: inline-block;
    background: linear-gradient(90deg, #3d4148 0%, #62666e 8%, #8a8d94 18%, #ffffff 34%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.menu-page p {
    margin: 0;
    font-size: clamp(15px, 1.3vw, 18px);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.7;
}

.magazine-heading p {
    max-width: 720px;
    margin: 0 auto;
}

.press-summary-card,
.press-empty-card {
    margin-top: 48px;
    padding: 28px 32px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
}

.press-meta {
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.62) !important;
}

.press-meta + .press-headline,
.press-headline + .press-meta {
    margin-top: 8px;
}

.press-headline {
    font-size: clamp(18px, 1.55vw, 24px) !important;
    font-weight: 700;
    color: #fff !important;
}

.press-frame-section {
    margin-top: 24px;
}

.press-report-frame {
    width: 100%;
    min-height: 1100px;
    border: 0;
    border-radius: 8px;
    background: #111316;
    display: block;
}

@keyframes menuFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .menu-page {
        padding: 120px 20px 70px;
    }

    .menu-page h1 {
        font-size: clamp(32px, 10vw, 46px);
    }

    .magazine-shape {
        height: 46px;
        margin-bottom: 14px;
    }
}
