.content-public-body { background: #fff; }
.home-partners-section { background: var(--paper); }
.home-partner-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.home-partner-card { min-height: 470px; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); transition: transform .22s ease, box-shadow .22s ease; }
.home-partner-card:hover { transform: translateY(-5px); box-shadow: 0 24px 60px rgba(7,16,34,.11); }
.home-partner-media { height: 230px; display: grid; place-items: center; overflow: hidden; background: var(--navy-900); }
.home-partner-media img { width: 100%; height: 100%; object-fit: cover; }
.home-partner-media span { color: var(--gold-300); font: 700 5rem "Poppins",sans-serif; }
.home-partner-card > div:last-child { flex: 1; display: flex; flex-direction: column; padding: 28px; }
.home-partner-card > div:last-child > span { color: var(--gold-700); font: 700 .63rem "Poppins",sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.home-partner-card h3 { margin: 8px 0 4px; color: var(--navy-900); font: 600 1.2rem/1.35 "Poppins",sans-serif; text-transform: uppercase; }
.home-partner-card strong { color: var(--gold-700); font-size: .72rem; }
.home-partner-card p { margin: 16px 0; color: var(--muted); font-size: .88rem; }
.home-partner-card a { align-self: flex-start; margin-top: auto; padding-bottom: 3px; color: var(--navy-900); border-bottom: 1px solid var(--gold-500); font-size: .77rem; font-weight: 800; }
.public-feed-empty { grid-column: 1 / -1; padding: 50px 30px; background: #fff; border: 1px solid var(--line); text-align: center; }
.public-feed-empty strong { color: var(--navy-900); font: 600 1.15rem "Poppins",sans-serif; }
.public-feed-empty p { margin: 8px 0 0; color: var(--muted); }
.editorial-feature { background-position: center; background-size: cover; }
.editorial-list h3 a:hover { color: var(--gold-700); }
.desktop-nav a.content-active { color: var(--navy-900); }
.desktop-nav a.content-active::before { transform: scaleX(1); }
.content-hero { position: relative; overflow: hidden; padding: 105px 0 90px; background: var(--navy-950); color: #fff; }
.content-hero::after { content: "CA"; position: absolute; right: -30px; bottom: -105px; color: rgba(255,255,255,.035); font: 700 18rem/1 "Poppins",sans-serif; letter-spacing: -.1em; }
.content-hero .wrap { position: relative; z-index: 1; }
.content-hero h1 { max-width: 930px; margin: 0; font: 700 clamp(2.7rem,6vw,5.3rem)/1.03 "Poppins",sans-serif; letter-spacing: -.055em; text-transform: uppercase; }
.content-hero .wrap > p:last-child { max-width: 760px; margin: 25px 0 0; color: rgba(255,255,255,.68); font-size: 1.08rem; }
.public-list-section { background: var(--paper); }
.public-empty { padding: 60px 34px; background: #fff; border: 1px solid var(--line); text-align: center; }
.public-empty strong { color: var(--navy-900); font: 600 1.35rem "Poppins",sans-serif; }
.public-empty p { margin: 10px 0 24px; color: var(--muted); }
.public-partner-grid { display: grid; gap: 22px; }
.public-partner-card { min-height: 360px; display: grid; grid-template-columns: 330px 1fr; background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 55px rgba(7,16,34,.07); scroll-margin-top: 130px; }
.public-partner-media { min-height: 360px; display: grid; place-items: center; overflow: hidden; background: var(--navy-900); }
.public-partner-media img { width: 100%; height: 100%; object-fit: cover; }
.public-partner-media span { color: var(--gold-300); font: 700 7rem "Poppins",sans-serif; }
.public-partner-copy { padding: 40px; }
.public-partner-copy > span { color: var(--gold-700); font: 700 .67rem "Poppins",sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.public-partner-copy h2 { margin: 7px 0 4px; color: var(--navy-900); font: 600 clamp(1.6rem,3vw,2.35rem)/1.15 "Poppins",sans-serif; }
.public-partner-copy > strong { color: var(--navy-700); font-size: .82rem; }
.partner-meta { margin: 12px 0 0; color: var(--gold-700); font-size: .78rem; font-weight: 700; }
.partner-bio { margin-top: 23px; color: var(--muted); }
.partner-bio p { margin: 0 0 12px; }
.partner-links { display: flex; gap: 18px; margin-top: 22px; }
.partner-links a { padding-bottom: 3px; color: var(--navy-900); border-bottom: 1px solid var(--gold-500); font-size: .79rem; font-weight: 800; }
.partnership-note { margin-top: 28px; padding: 24px 28px; background: var(--navy-900); color: #fff; }
.partnership-note strong { color: var(--gold-300); font-family: "Poppins",sans-serif; }
.partnership-note p { margin: 7px 0 0; color: rgba(255,255,255,.67); font-size: .88rem; }
.public-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.public-news-card { min-height: 520px; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); }
.public-news-media { height: 220px; overflow: hidden; background: var(--navy-900); }
.public-news-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.public-news-card:hover .public-news-media img { transform: scale(1.035); }
.public-news-card > div { flex: 1; display: flex; flex-direction: column; padding: 30px; }
.public-news-card > div > span { color: var(--gold-700); font: 700 .65rem "Poppins",sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.public-news-card time { margin-top: 7px; color: var(--muted); font-size: .7rem; }
.public-news-card h2 { margin: 22px 0 0; color: var(--navy-900); font: 600 1.18rem/1.42 "Poppins",sans-serif; text-transform: uppercase; }
.public-news-card p { margin: 14px 0 0; color: var(--muted); font-size: .9rem; }
.public-news-card small { margin-top: 17px; color: var(--muted); }
.public-news-card .arrow-link { margin-top: auto; padding-top: 24px; }
.public-article { background: #fff; }
.public-article-head { padding: 90px 0 75px; background: var(--navy-950); color: #fff; }
.public-article-head a { color: var(--gold-300); font-size: .78rem; font-weight: 700; }
.public-article-head .wrap > span { display: block; margin-top: 55px; color: var(--gold-300); font: 700 .68rem "Poppins",sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.public-article-head h1 { max-width: 1000px; margin: 13px 0 0; font: 700 clamp(2.4rem,5vw,4.7rem)/1.08 "Poppins",sans-serif; letter-spacing: -.045em; }
.public-article-head .wrap > p { max-width: 820px; margin: 24px 0 0; color: rgba(255,255,255,.68); font-size: 1.12rem; }
.public-article-head .wrap > div { display: flex; gap: 18px; margin-top: 30px; color: rgba(255,255,255,.68); font-size: .78rem; }
.public-article-head strong { color: #fff; }
.public-article-image { max-height: 650px; margin-top: 55px; overflow: hidden; }
.public-article-image img { width: 100%; max-height: 650px; object-fit: cover; }
.public-article-body { max-width: 900px; padding-top: 65px; padding-bottom: 95px; color: #384157; font-size: 1.06rem; line-height: 1.9; }
.public-article-body > p { margin: 0 0 25px; }
.article-source, .article-notice { margin-top: 38px; padding: 23px; background: var(--paper); border-left: 3px solid var(--gold-500); }
.article-source { display: flex; flex-direction: column; }
.article-source a { margin-top: 5px; color: var(--gold-700); font-weight: 700; }
.article-notice p { margin: 5px 0 0; color: var(--muted); font-size: .9rem; }
.content-disclaimer { background: #e9edf2; }
.content-disclaimer .wrap { min-height: 86px; display: flex; align-items: center; gap: 18px; }
.content-disclaimer img { width: 28px; height: 28px; }
.content-disclaimer p { margin: 0; color: var(--navy-800); font-size: .83rem; }
@media (max-width: 980px) {
  .home-partner-grid { grid-template-columns: 1fr 1fr; }
  .public-news-grid { grid-template-columns: 1fr 1fr; }
  .public-partner-card { grid-template-columns: 260px 1fr; }
}
@media (max-width: 720px) {
  .home-partner-grid { grid-template-columns: 1fr; }
  .content-hero { padding: 78px 0 68px; }
  .public-news-grid, .public-partner-card { grid-template-columns: 1fr; }
  .public-partner-media { min-height: 300px; }
  .public-partner-copy { padding: 28px; }
  .public-news-card { min-height: 0; }
  .public-article-head { padding: 65px 0 55px; }
  .public-article-head .wrap > span { margin-top: 35px; }
  .content-disclaimer .wrap { padding-block: 20px; align-items: flex-start; }
}
