/* Shared navigation keeps the additional newsroom entry clear on tablets. */
.site-header .nav-links a { min-height: 44px; }
@media (min-width: 901px) and (max-width: 1100px) {
  .site-header .menu-toggle { display: grid; place-items: center; }
  .site-header .nav-links { position: fixed; inset: var(--header,74px) 0 auto; display: none; height: auto; align-items: stretch; gap: 0; padding: 10px 24px 24px; color: #13243b; border-bottom: 1px solid #d9e4f0; background: #fff; max-height: calc(100dvh - 74px); overflow-y: auto; }
  .site-header .nav-links.open { display: flex; flex-direction: column; }
  .site-header .nav-links a { height: auto; min-height: 48px; border-bottom: 1px solid #d9e4f0; }
  .site-header .nav-links .language-switch { width: fit-content; margin-top: 12px; }
  .site-header .nav-links .nav-cta { color: #0756c9; min-height: 44px; }
}
@media (max-width: 900px) {
  .site-header .nav-links { max-height: calc(100dvh - var(--header,74px)); overflow-y: auto; }
}
body[data-page="news"] { letter-spacing: 0; }
.newsroom-hero { min-height: 480px; padding: 165px 0 90px; background: var(--blue-deep); }
.news-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; opacity: .58; }
.newsroom-hero::before { background: linear-gradient(90deg,rgba(3,28,64,.9),rgba(3,28,64,.55) 58%,rgba(3,28,64,.12)); }
.newsroom-hero .hero-canvas { opacity: .35; }
.newsroom-hero .page-hero-content { max-width: 1180px; padding-left: 52px; }
.newsroom-hero h1 { font-size: 64px; letter-spacing: 0; }
.newsroom-section { padding: 76px 0 96px; }
.news-list-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 42px; }
.news-section-kicker { font: 600 34px/1.2 "Segoe UI",Arial,sans-serif; letter-spacing: 0; }
.news-list-heading h2 { font-size: 20px; font-weight: 500; margin: 18px 0 0; color: var(--muted); }
.news-year-form { display: flex; gap: 10px; align-items: center; }
.news-year-form label { font-size: 14px; color: var(--muted); }
.news-year-form select, .news-year-form button { min-height: 44px; border: 1px solid var(--line); background: var(--white); color: var(--ink); padding: 8px 14px; font: inherit; }
.news-year-form select:focus-visible { outline: 3px solid var(--cyan); outline-offset: 2px; }
.news-year-form button { cursor: pointer; color: var(--blue); }
.news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 58px 36px; }
.news-card { min-width: 0; border-bottom: 1px solid var(--line); padding-bottom: 24px; }
.news-card-link { display: flex; height: 100%; flex-direction: column; align-items: flex-start; }
.news-card-media { position: relative; width: 100%; aspect-ratio: 16/10; overflow: hidden; background: var(--soft); border: 1px solid var(--line); }
.news-card-media img { width: 100%; height: 100%; object-fit: contain; transition: transform 900ms var(--ease-out); }
.news-card-arrow { position: absolute; right: 0; bottom: 0; display: grid; place-items: center; width: 48px; height: 48px; background: var(--blue); color: var(--white); font-size: 26px; transition: background 220ms; }
.news-card-link:hover .news-card-media img { transform: scale(1.025); }
.news-card-link:hover h2 { color: var(--blue); }
.news-card-link:hover .news-card-arrow { background: var(--blue-deep); }
.news-card-meta { display: flex; align-items: center; gap: 18px; margin: 22px 0 12px; color: var(--blue); font: 600 14px/1.5 "Segoe UI",Arial,sans-serif; }
.news-card-meta span { font-size: 12px; color: var(--muted); }
.news-card h2 { margin: 0; font-size: 23px; line-height: 1.6; text-wrap: balance; transition: color 220ms; }
.news-card-summary { margin: 18px 0 24px; font-size: 15px; line-height: 1.85; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-read { margin-top: auto; padding-top: 8px; color: var(--blue); font-size: 14px; font-weight: 700; }
.news-pagination { display: flex; justify-content: center; gap: 12px; margin-top: 56px; }
.news-pagination a { min-width: 46px; min-height: 46px; display: grid; place-items: center; border: 1px solid var(--line); font-weight: 600; }
.news-pagination [aria-current="page"] { color: var(--white); background: var(--blue); border-color: var(--blue); }
.news-pagination a:hover { border-color: var(--blue); }
.news-empty { min-height: 340px; padding-top: 120px; padding-bottom: 90px; }
.newsroom-section .news-empty { padding-top: 40px; }
.news-article-page { padding-top: var(--header); }
.article-header { padding-top: 48px; padding-bottom: 46px; border-bottom: 1px solid var(--line); }
.article-breadcrumb { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-bottom: 44px; color: var(--muted); font-size: 14px; }
.article-breadcrumb a { color: var(--blue); display: inline-flex; min-height: 44px; align-items: center; }
.article-header .eyebrow { font-size: 13px; margin-bottom: 20px; }
.article-header h1 { max-width: 1120px; font-size: 36px; line-height: 1.6; margin: 0 0 30px; text-wrap: balance; letter-spacing: 0; }
.article-subtitle { max-width: 1000px; margin: -8px 0 30px; font-size: 19px; line-height: 1.9; color: var(--muted); text-wrap: balance; }
.article-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; font-size: 14px; color: var(--muted); }
.article-byline a { color: var(--blue); padding-block: 8px; }
.article-reading { width: min(820px,calc(100% - 48px)); margin: 0 auto; padding: 50px 0 96px; }
.article-body { font-size: 18px; line-height: 2; }
.article-body p { margin: 0 0 26px; white-space: pre-line; overflow-wrap: anywhere; }
.article-body h2 { margin: 40px 0 24px; font-size: 25px; line-height: 1.6; text-wrap: pretty; }
.article-body blockquote { margin: 32px 0; padding: 16px 24px; border-left: 3px solid var(--cyan); background: var(--soft); white-space: pre-line; }
.article-body figure { margin: 38px 0; }
.article-body img { display: block; max-width: 100%; height: auto; margin-inline: auto; }
.article-body figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; text-align: center; }
.article-video { margin: 38px 0; padding-block: 24px; border-block: 1px solid var(--line); }
.article-video img { max-height: 360px; object-fit: contain; margin-bottom: 20px; }
.article-video a { color: var(--blue); display: inline-flex; min-height: 44px; align-items: center; }
.article-adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 60px; border-top: 1px solid var(--line); padding-top: 30px; }
.article-adjacent a { display: grid; gap: 12px; min-width: 0; }
.article-adjacent span { font-size: 13px; color: var(--muted); }
.article-adjacent strong { font-size: 16px; line-height: 1.7; font-weight: 600; }
.article-adjacent a:hover { color: var(--blue); }
.article-back { margin-top: 38px; font-size: 14px; }
.news-gateways { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; border-block: 1px solid var(--line); }
.news-gateway { padding: 34px 0; display: grid; grid-template-columns: 1fr 44px; gap: 12px; align-items: center; }
.news-gateway h3 { margin: 0; font-size: 28px; }
.news-gateway p { margin: 14px 0 0; color: var(--muted); text-wrap: balance; }
.news-gateway > span { color: var(--blue); font-size: 30px; }
.news-gateway:hover h3 { color: var(--blue); }
.milestones-section { background: var(--soft); }
.milestones-section .section-lead, .plan-heading > p:last-child { text-wrap: balance; }
.milestone-layout { display: block; }
.milestone-layout.milestones-ready { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 74px; min-height: 440px; }
.milestone-years { position: relative; display: none; flex-direction: column; align-self: start; }
.milestones-ready .milestone-years { display: flex; }
.milestone-years::after { content: ""; position: absolute; right: 14px; top: 24px; bottom: 24px; width: 1px; background: var(--line); }
.milestone-years::before { content: ""; position: absolute; z-index: 1; right: 14px; top: 24px; width: 1px; height: 56px; background: linear-gradient(transparent,var(--cyan),transparent); animation: milestone-signal 7s ease-in-out infinite; animation-play-state: paused; }
.milestone-in-view .milestone-years::before { animation-play-state: running; }
@keyframes milestone-signal { 0%,100% { transform: translateY(0); opacity: 0; } 15%,85% { opacity: 1; } 90% { transform: translateY(280px); opacity: 0; } }
.milestone-years button { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; min-height: 65px; padding: 12px 8px 12px 0; background: transparent; border: 0; color: var(--muted); cursor: pointer; font: 500 26px/1.2 "Segoe UI",Arial,sans-serif; text-align: left; }
.milestone-years i { width: 13px; height: 13px; border: 2px solid var(--line); background: var(--soft); border-radius: 50%; }
.milestone-years button[aria-pressed="true"] { color: var(--blue); font-weight: 700; }
.milestone-years button[aria-pressed="true"] i { border-color: var(--blue); background: var(--blue); box-shadow: 0 0 0 5px rgba(7,86,201,.09); }
.milestone-item { min-width: 0; }
.milestone-item summary { display: flex; gap: 20px; align-items: center; cursor: pointer; padding: 22px 0; border-top: 1px solid var(--line); list-style: none; }
.milestone-item summary::-webkit-details-marker { display: none; }
.milestone-item summary > span { font: 600 24px/1.3 "Segoe UI",Arial,sans-serif; color: var(--blue); }
.milestone-item summary strong { font-size: 17px; font-weight: 500; }
.milestone-item summary i { margin-left: auto; font-style: normal; color: var(--blue); font-size: 24px; }
.milestone-item[open] summary i { transform: rotate(45deg); }
.milestone-content { position: relative; overflow: hidden; padding: 18px 0 28px; }
.milestone-year-display { color: var(--blue); font: 300 88px/1.1 "Segoe UI",Arial,sans-serif; margin-bottom: 24px; }
.milestone-content .eyebrow { color: var(--muted); font-size: 12px; }
.milestone-content h3 { font-size: 30px; line-height: 1.55; margin: 14px 0 30px; text-wrap: pretty; }
.milestone-content ul { list-style: none; padding: 0; margin: 0; }
.milestone-content li { position: relative; padding: 0 0 20px 24px; font-size: 17px; line-height: 1.9; }
.milestone-content li::before { content: ""; position: absolute; top: 14px; left: 0; width: 7px; height: 2px; background: var(--cyan); }
@media (min-width: 761px) { .milestones-ready .milestone-item summary { display: none; } }
.milestone-plans { color: var(--ink); background: var(--white); }
.plan-heading { max-width: 900px; margin-bottom: 48px; }
.plan-heading h2 { font-size: 38px; margin: 16px 0 22px; }
.plan-heading > p:last-child { color: var(--muted); }
.plan-row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 70px; padding: 38px 0; border-top: 1px solid var(--line); }
.plan-year { display: block; font: 300 52px/1.2 "Segoe UI",Arial,sans-serif; color: var(--blue); }
.plan-status { display: inline-block; color: #176d69; margin: 22px 0 6px; font-size: 13px; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.plan-row h3 { font-size: 22px; font-weight: 500; line-height: 1.6; margin: 14px 0; }
.plan-row ol { margin: 0; padding-left: 24px; }
.plan-row li { padding: 0 0 20px 10px; font-size: 17px; line-height: 1.9; }
.plan-row li::marker { color: var(--blue); font-size: 13px; }
.milestone-preview { padding-top: 74px; }
[hidden] { display: none !important; }
@media (max-width: 760px) {
  .newsroom-hero { min-height: 430px; padding: 145px 0 70px; }
  .newsroom-hero .page-hero-content { padding-left: 24px; }
  .newsroom-hero h1 { font-size: 44px; }
  .newsroom-hero p { font-size: 17px; line-height: 1.8; }
  .newsroom-section { padding: 50px 0 64px; }
  .news-list-heading { flex-direction: column; align-items: flex-start; gap: 26px; margin-bottom: 32px; }
  .news-section-kicker { font-size: 27px; }
  .news-list-heading h2 { font-size: 17px; }
  .news-grid { grid-template-columns: 1fr; gap: 38px; }
  .news-card h2 { font-size: 21px; }
  .news-card-summary { font-size: 15px; }
  .article-header { padding-top: 28px; padding-bottom: 30px; }
  .article-breadcrumb { margin-bottom: 24px; }
  .article-header h1 { font-size: 28px; line-height: 1.65; }
  .article-subtitle { font-size: 16px; line-height: 1.85; margin-top: -10px; margin-bottom: 26px; }
  .article-reading { padding-top: 32px; padding-bottom: 60px; }
  .article-body { font-size: 17px; line-height: 1.95; }
  .article-body h2 { font-size: 22px; }
  .article-adjacent { grid-template-columns: 1fr; gap: 26px; }
  .article-adjacent > div:empty { display: none; }
  .news-gateways { grid-template-columns: 1fr; gap: 0; }
  .news-gateway + .news-gateway { border-top: 1px solid var(--line); }
  .news-gateway h3 { font-size: 24px; }
  .milestone-layout.milestones-ready { display: block; min-height: 0; }
  .milestones-ready .milestone-years { display: none; }
  .milestone-item summary { gap: 16px; }
  .milestone-item summary > span { font-size: 22px; }
  .milestone-item summary strong { font-size: 16px; }
  .milestone-year-display { display: none; }
  .milestone-content h3 { font-size: 23px; margin-top: 12px; }
  .milestone-content li { font-size: 16px; }
  .plan-heading h2 { font-size: 30px; }
  .plan-row { grid-template-columns: 1fr; gap: 24px; }
  .plan-year { font-size: 40px; }
  .plan-row li { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .news-card-media img, .news-card h2, .news-card-arrow { transition: none; }
  .news-card-link:hover .news-card-media img { transform: none; }
  .milestone-years::before { animation: none; }
}
