.publication-article-page {
    --publication-content-width: 880px;
    background: #fff;
}

.publication-article-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 4.5vw, 3.75rem) 0 clamp(2.75rem, 4vw, 3.4rem);
    color: #fff;
    background:
        radial-gradient(circle at 84% 16%, rgba(213, 184, 239, 0.22), transparent 28%),
        linear-gradient(135deg, #24152f 0%, #3d2453 58%, #654083 100%);
    border-bottom: 1px solid #4d3164;
}

.publication-article-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -170px;
    bottom: -285px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
}

.publication-article-hero-inner {
    position: relative;
    z-index: 1;
    max-width: var(--publication-content-width);
}

.publication-article-back {
    display: inline-block;
    margin-bottom: 1.6rem;
    color: #dfd3e7;
    font-weight: 650;
}

.publication-article-back:hover,
.publication-article-back:focus-visible { color: #fff; }

.publication-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 1.25rem;
}

.publication-article-meta .news-tag {
    color: #352144;
    background: #eadcf4;
}

.publication-article-meta .news-date { color: #d8ccdf; }

.publication-article-hero h1 {
    max-width: none;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 4.4vw, 3.55rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.publication-article-hero p {
    max-width: none;
    margin: 1.5rem 0 0;
    color: #e9e1ee;
    font-size: clamp(1.05rem, 1.7vw, 1.3rem);
    line-height: 1.55;
}

.publication-article {
    max-width: var(--publication-content-width);
    font-size: 1.04rem;
}

.publication-article > * {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.publication-article > .publication-lead {
    color: #34283d;
    font-size: 1.22rem;
    line-height: 1.7;
}

.publication-architecture {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 2.4rem 0 3rem;
}

.publication-architecture article {
    position: relative;
    min-height: 190px;
    padding: 1.45rem;
    border: 1px solid #e1d8e7;
    border-top: 4px solid var(--publication-accent, #7c4dbd);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(45, 28, 64, 0.06);
}

.publication-architecture article:nth-child(2) { --publication-accent: #315f91; }
.publication-architecture article:nth-child(3) { --publication-accent: #4b4f97; }
.publication-architecture article:nth-child(4) { --publication-accent: #3f7f80; }
.publication-architecture span { color: var(--publication-accent, #7c4dbd); font: 750 0.72rem/1.3 var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; }
.publication-architecture h3 { margin: 0.85rem 0 0.65rem; color: #241b2d; font-size: 1.25rem; }
.publication-architecture p { margin: 0; color: #6a6370; font-size: 0.95rem; line-height: 1.6; }

.publication-collection-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin: 2rem 0 3rem;
}

.publication-collection-list a {
    display: block;
    padding: 1.15rem 1.25rem;
    color: #2b2133;
    border: 1px solid #e4dce9;
    border-radius: 12px;
    background: #faf8fc;
}

.publication-collection-list a:hover,
.publication-collection-list a:focus-visible { color: var(--violet-dark); border-color: #bfa8d2; background: #f5f0f9; }
.publication-collection-list strong { display: block; margin-bottom: 0.35rem; }
.publication-collection-list span { color: #726a78; font-size: 0.9rem; line-height: 1.45; }

.publication-callout {
    margin: 2.5rem 0;
    padding: clamp(1.5rem, 4vw, 2.2rem);
    color: #eee7f3;
    border-radius: 18px;
    background: linear-gradient(135deg, #2c1b39, #52336b);
}

.publication-callout h2 { margin: 0 0 0.8rem; color: #fff; }
.publication-callout p { margin: 0; color: #e6ddea; }

.publication-article-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: center;
    margin: 3rem 0 0;
}

.publication-article-actions a.btn-primary,
.publication-article-actions a.btn-primary:hover,
.publication-article-actions a.btn-primary:focus-visible {
    color: #fff;
}

@media (max-width: 700px) {
    .publication-article-hero { padding: 3.25rem 0 3.5rem; }
    .publication-architecture,
    .publication-collection-list { grid-template-columns: 1fr; }
    .publication-architecture article { min-height: 0; }
    .publication-article-actions { align-items: stretch; flex-direction: column; }
    .publication-article-actions .btn { width: 100%; text-align: center; }
}

@media print {
    #main-nav, #main-footer, .publication-article-actions { display: none !important; }
    .publication-article-hero { padding: 1.5rem 0; color: #000; background: #fff; }
    .publication-article-hero h1, .publication-article-hero p { color: #000; }
    .publication-architecture article { break-inside: avoid; box-shadow: none; }
}
