    .year-filter {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 40px;
    }

    .year-btn {
        display: inline-block;
        padding: 9px 20px;
        border: 2px solid var(--primary-color);
        background:#fff;
        color:var(--primary-color) !important;
        border-radius: 999px;
        text-decoration: none !important;
        font-weight: 700;
        transition: all 0.25s ease;
    }

    .year-btn:hover,
    .year-btn.active {
        background: var(--primary-color);
        color: #fff !important;
        text-decoration: none !important;
    }

    .presentation-section {
        margin-bottom: 60px;
    }

    .presentation-card {
        border: 1px solid #e5e5e5;
        background: #fff;
        border-radius: 12px;
        padding: 22px 26px;
        margin-bottom: 16px;
        transition: border-color .25s ease, box-shadow .25s ease;
    }

    .presentation-card:hover {
        border-color: rgba(158, 42, 43, .35);
        box-shadow: 0 6px 18px rgba(0,0,0,.06);
    }

    .presentation-card:hover .presentation-title {
        color: var(--primary-color);
    }

    .presentation-title {
        font-size: 1.18rem;
        font-weight: 800;
        color: #222;
        margin-bottom: 10px;
        transition: color .25s ease;
    }

    .presentation-card:hover .presentation-title {
        color: var(--primary-color);
    }

    .presentation-meta {
        color: #555;
        line-height: 1.8;
        font-size: 0.95rem;
    }

    .invited-badge {
        display: inline-block;
        margin-left: 8px;
        padding: 4px 10px;
        border-radius: 999px;
        background:#FAF5F5;
        color: var(--primary-color);
        font-size: 0.78rem;
        font-weight: 800;
    }

    .empty-text {
        color: #999;
        padding: 20px 0;
    }

    .view-more-btn {
        margin-top: 10px;
        border: 1px solid var(--primary-color);
        background: white;
        color: var(--primary-color);
        padding: 9px 22px;
        border-radius: 999px;
        font-weight: 700;
        text-decoration:none !important;
    }

    .view-more-btn:hover {
        background: var(--primary-color);
        color:#fff !important;
        text-decoration:none !important;
    }

    .more-preview-wrap {
        position: relative;
    }

    .more-fade {
        position: relative;
        max-height: 70px;
        overflow: hidden;
        margin-top: -6px;
        pointer-events: none;
    }

    .more-fade::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 70px;
        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 85%);
    }

    .more-arrow {
        width: 44px;
        height: 44px;
        border: none;
        border-radius: 50%;
        background: white;
        color: var(--primary-color);
        box-shadow: 0 6px 18px rgba(0,0,0,.15);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: -8px auto 24px;
        cursor: pointer;
        transition: .25s;
    }

    .more-arrow:hover {
        background: var(--primary-color);
        color: white;
        transform: translateY(3px);
    }

    .more-arrow[aria-expanded="true"] i {
        transform: rotate(180deg);
    }

    .more-arrow i {
        transition: .25s;
    }

    /* --- Show more + 그라데이션 (publications와 동일 방식) --- */
    .pres-wrap.collapsible { max-height: 620px; overflow: hidden; transition: max-height 0.45s ease; }
    .pub-fade {
        position: relative; z-index: 3;
        height: 200px; margin-top: -200px;
        pointer-events: none;
        background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 88%);
        transition: opacity 0.35s;
    }
    .pres-wrap.open + .pub-fade { opacity: 0; }
    .showmore-row { display: flex; justify-content: center; margin: 12px 0 0; }
    .showmore-btn {
        display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
        padding: 10px 26px; border: none; border-radius: 999px;
        background: var(--primary-color); color: #fff; font-weight: 700; font-size: 0.9rem;
        box-shadow: 0 4px 14px rgba(158,42,43,0.30); transition: 0.2s;
    }
    .showmore-btn:hover { background: var(--primary-dark); transform: translateY(-1px); }
    .showmore-btn .chev { transition: transform 0.35s; }
    .showmore-btn.open .chev { transform: rotate(180deg); }
    .showmore-btn .count { opacity: 0.85; font-size: 0.82rem; font-weight: 600; }