*{
    box-sizing:border-box
}

html{
    scroll-behavior:smooth
}

body{
    margin:0;
    color:#000000;
    background:radial-gradient(circle at 90% 12%,rgba(99,102,241,.055),transparent 26%),#fafbff;
    line-height:1.55
}

.subpage-banner::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(99,102,241,.10),transparent 45%),radial-gradient(circle at 80% 50%,rgba(99,102,241,.12),transparent 34%)
}

.subpage-banner h1{
    margin:4px 0;
    max-width:820px;
    font:700 clamp(30px,4vw,48px)/1.05 Georgia,serif;
    letter-spacing:-.8px
}

.subpage-banner p{
    margin:0;
    color:#000000;
    font-size:14px
}

.publications-page{
    width:min(1180px,calc(100% - 40px));
    margin:28px auto 65px
}

.publications-intro{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:20px;
    align-items:center;
    padding:26px 30px;
    margin-bottom:30px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 10px 28px rgba(23,32,63,.07)
}

.intro-icon{
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef0ff;
    color:#6366f1;
    font-size:27px;
    box-shadow:inset 0 0 0 7px rgba(99,102,241,.06)
}

.publications-intro h2{
    margin:4px 0 7px;
    font:700 28px/1.15 Georgia,serif
}

.publications-intro p {
    max-width:900px;
    margin:0;
    color:#000000;
    font-size:14px
}

.publication-section{
    margin-bottom:30px;
    padding:26px 30px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 10px 28px rgba(23,32,63,.07)
}

.section-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:15px;
    padding-bottom:15px;
    border-bottom:1px solid #e5e7eb
}

.section-heading h2{
    margin:4px 0 0;
    font:700 25px/1.2 Georgia,serif
}

.section-count{
    flex-shrink:0;
    margin-top:3px;
    padding:5px 10px;
    border-radius:999px;
    color:#4f46cf;
    background:#eef0ff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase
}

.publication{
    display:grid;
    grid-template-columns:75px 1fr;
    gap:20px;
    padding:19px 5px;
    border-bottom:1px solid #e5e7eb
}

.publication:last-child{
    border-bottom:0;
    padding-bottom:5px
}

.pub-year{
    padding-top:2px;
    color:#4f46cf;
    font-size:15px;
    font-weight:800
}

.pub-body h3{
    margin:0 0 6px;
    font:700 17px/1.35 Georgia,serif;
    color:#17203f
}

.authors{
    margin:0 0 3px;
    color:#39425e;
    font-size:13px
}

.venue{
    margin:0;
    color:#687087;
    font-size:13px;
    line-height:1.55
}

.pdf-link{
    display:inline-block;
    margin-top:8px;
    color:#4f46cf;
    font-size:12px;
    font-weight:700
}

.pdf-link:hover{
    text-decoration:underline
}

.publication-note{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:15px;
    align-items:center;
    max-width:900px;
    margin:35px auto 0;
    padding:22px 25px;
    background:linear-gradient(145deg,#fff,#f4f5ff);
    border:1px solid #e0e3f4;
    border-radius:14px;
    box-shadow:0 10px 28px rgba(23,32,63,.07)
}

.note-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#6366f1;
    font-size:20px;
    font-weight:700
}

.publication-note h2{
    margin:0 0 4px;
    font:700 20px Georgia,serif
}

.publication-note p{
    margin:0;
    color:#000000;
    font-size:13px
}

.back-link{
    text-align:center;
    margin:38px 0 0
}

.button{
    display:inline-block;
    padding:11px 20px;
    border:1px solid #6366f1;
    border-radius:7px;
    font-size:14px;
    font-weight:700;
    text-decoration:none
}

.button.primary{
    color:#fff;
    background:#6366f1
}

.button.primary:hover{
    color:#fff;
    background:#4f46cf;
    text-decoration:none
}

footer{
    background:#6366f1;
    color:#fff;
    min-height:65px;
    padding:18px max(25px,calc((100% - 1180px)/2));
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-size:12px
}

@media(max-width:650px){
    .publications-page{width:min(calc(100% - 24px),1180px)}
    .publications-intro{grid-template-columns:1fr;padding:22px}
    .publication-section{padding:18px 15px}
    .section-heading{flex-direction:column;gap:8px}
    .section-heading h2{font-size:22px}
    .publication{grid-template-columns:1fr;gap:4px;padding:18px 4px}
    .pub-year{font-size:13px}
    .pub-body h3{font-size:16px}
    .venue,
    .authors{font-size:12.5px}
    .publication-note{grid-template-columns:1fr;padding:20px}
    footer{flex-direction:column;text-align:center}
}