
.publications-page{background:var(--paper);}
.publications-hero{background:var(--navy);color:var(--cream);padding:118px 0 96px;}
.publications-hero .kicker,.publications-contact .kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.075em;color:var(--violet-soft);margin:0 0 16px;font-weight:600;}
.publications-hero h1{font-size:clamp(3.7rem,9vw,7.4rem);line-height:.9;letter-spacing:-.055em;max-width:850px;}
.publications-hero .lede{font-size:clamp(1.15rem,2vw,1.45rem);max-width:760px;color:#D8D2C6;margin:32px 0 0;line-height:1.55;}
.publication-stats{display:flex;gap:44px;flex-wrap:wrap;margin-top:50px;padding-top:28px;border-top:1px solid var(--line-dark);}
.publication-stats div{display:flex;flex-direction:column;gap:2px}.publication-stats strong{font-family:var(--font-display);font-size:2rem;color:#fff;font-weight:500}.publication-stats span{font-size:.8rem;color:#B9B2A2;}
.latest-section,.archive-section,.media-section{background:var(--paper);}
.archive-section{background:var(--cream);}
.media-section--podcasts{background:var(--cream);}
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.latest-card{background:#fff;border:1px solid var(--line-light);display:flex;flex-direction:column;min-height:100%;}
.latest-media{aspect-ratio:16/10;overflow:hidden;background:#E7E1D8;}.latest-media img{width:100%;height:100%;object-fit:cover;}.latest-media--type{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:28px;background:linear-gradient(145deg,var(--navy),#2A3A4D);color:#fff}.latest-media--type span{font-family:var(--font-display);font-size:4.8rem;line-height:.8;color:var(--violet-soft)}.latest-media--type small{font-size:.86rem;margin-top:12px;color:#D8D2C6;}
.latest-copy{padding:24px;display:flex;flex-direction:column;flex:1}.latest-copy h2{font-size:1.45rem;line-height:1.18;margin:6px 0 8px}.latest-copy>p:not(.pub-topic):not(.pub-meta){font-size:.91rem;color:#59636D}.latest-copy a,.pub-card a{margin-top:auto;padding-top:16px;color:var(--violet);font-size:.86rem;text-decoration:none}.latest-copy a:hover,.pub-card a:hover{text-decoration:underline;}
.pub-topic{margin:0;color:var(--violet);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.055em}.pub-meta{font-size:.76rem;color:#8B95A0;margin:0 0 12px;}
.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}.publication-grid--two{grid-template-columns:repeat(2,1fr)}
.pub-card{border-top:2px solid var(--violet);padding:20px 4px 4px;display:flex;flex-direction:column;min-height:250px}.pub-card h3{font-size:1.18rem;line-height:1.25;margin:8px 0 8px}.pub-card>p:not(.pub-topic):not(.pub-meta){font-size:.9rem;color:#59636D;margin:0 0 10px;}
.publications-contact{background:var(--navy);color:var(--cream)}.contact-box{display:grid;grid-template-columns:96px 1fr;gap:28px;align-items:start;max-width:800px}.contact-box img{width:88px;height:88px;border-radius:50%;object-fit:cover}.contact-box h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.contact-box p{color:#CFC8BB;max-width:620px}.contact-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px}.contact-links a{color:#fff;text-decoration:none;border-bottom:1px solid var(--violet-soft)}
.publications-more{margin-top:32px;padding-top:20px;border-top:1px solid var(--line-light)}.publications-more a{font-size:.9rem;color:var(--violet);text-decoration:none;border-bottom:1px solid var(--violet-soft)}

@media(max-width:900px){.latest-grid,.publication-grid{grid-template-columns:1fr 1fr}.publication-grid--two{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.publications-hero{padding:84px 0 68px}.publication-stats{gap:28px}.latest-grid,.publication-grid,.publication-grid--two{grid-template-columns:1fr}.latest-card{min-height:0}.pub-card{min-height:0}.contact-box{grid-template-columns:1fr}.contact-box img{width:72px;height:72px}}

/* v35: subtle external-link labels */
.pub-topic{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.pub-external{color:#8B95A0;font-size:.60rem;font-weight:400;text-transform:lowercase;letter-spacing:.035em;}
.publication-menu-external{color:#AAB3BD;font-size:.58rem;font-weight:400;text-transform:lowercase;letter-spacing:.035em;}
