/* Publication page: editorial polish layered onto the shared design system. */
.publication-page .publication-hero { text-align: left; overflow: hidden; }
.publication-page .publication-hero .shell { position: relative; z-index: 2; }
.publication-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: clamp(2rem,6vw,6rem); align-items: center; padding-block: clamp(1rem,3vw,3rem); }
.publication-hero-copy { max-width: 680px; }
.publication-hero-copy .lead { margin-inline: 0; max-width: 54ch; }
.publication-hero-copy h1 { font-size: clamp(2.7rem,5vw,5.1rem); line-height: .98; }
.publication-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
.publication-hero-visual { position:relative; max-width:480px; justify-self:end; transform:rotate(2deg); }
.publication-hero-visual::before { content:""; position:absolute; inset:-1.2rem 1.3rem 1.3rem -1.3rem; border:1px solid rgba(224,122,30,.28); border-radius:var(--r-xl); transform:rotate(-5deg); }
.publication-hero-visual img { display:block; position:relative; width:100%; aspect-ratio:1.16; object-fit:cover; border-radius:var(--r-xl); box-shadow:var(--sh-xl); }
.publication-facts { position:absolute; right:-1.4rem; bottom:-1.3rem; display:grid; gap:.55rem; width:min(230px,60%); padding:1rem; border:1px solid rgba(255,255,255,.75); border-radius:var(--r-md); background:rgba(255,255,255,.9); box-shadow:var(--sh-lg); transform:rotate(-2deg); }
.publication-facts strong { display:block; color:var(--maroon); font-family:var(--f-display); font-size:1.05rem; }
.publication-facts span { display:block; color:var(--muted); font-size:.74rem; }
.publication-intro { background:var(--bg-tint); }
.publication-intro-card { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr); gap:clamp(1.5rem,5vw,5rem); padding:clamp(1.5rem,4vw,3.5rem); border:1px solid var(--line); border-radius:var(--r-xl); background:#fff; box-shadow:var(--sh-md); }
.publication-intro-card h2 { margin:0; font-size:clamp(1.8rem,3vw,3rem); }
.publication-intro-card p { max-width:66ch; margin:0; color:var(--muted); font-size:1.03rem; line-height:1.85; }
.publication-page .tl-card, .publication-page .card-s { transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease; }
.publication-page .tl-card:hover, .publication-page .card-s:hover { transform:translateY(-7px); box-shadow:var(--sh-lg); border-color:rgba(224,122,30,.32); }
.publication-section-label { margin-bottom:.55rem; }
.publication-final-cta { position:relative; overflow:hidden; }
.publication-final-cta .shell { position:relative; z-index:1; }
.publication-final-cta-card { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:clamp(1.5rem,4vw,3rem); border-radius:var(--r-xl); color:#fff; background:var(--grad-brand); box-shadow:var(--sh-brand); }
.publication-final-cta-card h2 { margin:0 0 .45rem; color:#fff; }
.publication-final-cta-card p { margin:0; color:rgba(255,255,255,.78); }
.publication-final-cta-card .btn { flex:0 0 auto; background:#fff; color:var(--maroon); }
@media (max-width: 991.98px) { .publication-hero-grid { grid-template-columns:1fr; } .publication-hero-visual { justify-self:start; width:min(100%,520px); } .publication-intro-card { grid-template-columns:1fr; } }
@media (max-width: 575.98px) { .publication-hero-copy h1 { font-size:clamp(2.35rem,12vw,3.5rem); } .publication-hero-actions .btn { width:100%; } .publication-hero-visual { margin-inline:.8rem; } .publication-facts { right:-.4rem; } .publication-final-cta-card { align-items:flex-start; flex-direction:column; } }
