:root {
    --press-ink: #062f70;
    --press-ink-soft: #174b86;
    --press-teal: #147d77;
    --press-green: #55c819;
    --press-mist: #f3f7fb;
    --press-rule: #cfdeea;
    --press-copy: #17222d;
}

.press-shell { max-width: 1180px; margin: 0 auto; padding: 0 26px; }
.press-hero { margin-top: 76px; color: #fff; background: linear-gradient(112deg, var(--press-ink) 0%, #0e4d8d 57%, var(--press-teal) 100%); }
.press-hero .press-shell { padding-top: 25px; padding-bottom: 29px; }
.press-crumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; font-size: 12px; line-height: 1.35; color: rgba(255,255,255,.88); }
.press-crumbs a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.5); }
.press-crumbs span[aria-hidden="true"] { color: #8ed5cb; }
.press-crumbs span:last-child { overflow-wrap: anywhere; }
.press-eyebrow { display: block; margin-bottom: 10px; color: #9af06d; font-size: 11px; letter-spacing: .12em; font-weight: 700; text-transform: uppercase; }
.press-hero h1 { max-width: 1070px; margin: 0; color: #fff; font-size: clamp(32px, 3.65vw, 48px); line-height: 1.12; font-weight: 800; letter-spacing: -.028em; }
.press-hero p { max-width: 720px; margin: 18px 0 0; color: rgba(255,255,255,.91); font-size: 18px; line-height: 1.6; }
.press-hero-meta { display: flex; flex-wrap: wrap; gap: 26px; margin: 28px 0 0; padding: 0; }
.press-hero-meta div { min-width: 142px; padding-right: 26px; border-right: 1px solid rgba(255,255,255,.28); }
.press-hero-meta div:last-child { border-right: 0; }
.press-hero-meta dt { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 400; }
.press-hero-meta dd { margin: 4px 0 0; color: #fff; font-size: 23px; font-weight: 800; }

.press-index { padding: 62px 0 82px; }
.press-index-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 21px; border-bottom: 2px solid var(--press-ink); }
.press-index-header h2, .press-related h2 { margin: 0; color: var(--press-ink); font-size: clamp(26px, 3vw, 36px); line-height: 1.1; font-weight: 800; letter-spacing: -.025em; }
.press-index-header p { max-width: 600px; margin: 10px 0 0; color: #56667a; font-size: 16px; line-height: 1.55; }
.press-index-page { color: var(--press-ink-soft); font-weight: 700; white-space: nowrap; }
.press-feature { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 34px; margin-top: 34px; padding: 33px 0; border-top: 1px solid var(--press-rule); border-bottom: 1px solid var(--press-rule); }
.press-feature-label { display: inline-block; margin-bottom: 14px; padding: 6px 9px; color: #0d715e; background: #edf8ed; font-size: 11px; line-height: 1; letter-spacing: .09em; font-weight: 800; text-transform: uppercase; }
.press-date { color: #277b76; font-size: 13px; font-weight: 700; }
.press-feature h3, .press-card h3, .press-article h1 { margin: 10px 0 0; font-weight: 800; letter-spacing: -.022em; }
.press-feature h3 { max-width: 760px; font-size: clamp(25px, 3vw, 35px); line-height: 1.16; }
.press-feature h3 a, .press-card h3 a { color: var(--press-ink); text-decoration: none; }
.press-feature h3 a:hover, .press-card h3 a:hover { color: #15856f; }
.press-feature p { max-width: 790px; margin: 14px 0 0; color: #45566a; font-size: 16px; line-height: 1.65; }
.press-read-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 17px; color: #087869; font-size: 14px; font-weight: 800; text-decoration: none; }
.press-read-link:hover { color: var(--press-ink); }
.press-feature-side { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; background: var(--press-mist); border-left: 4px solid var(--press-green); }
.press-feature-side strong { color: var(--press-ink); font-size: 17px; line-height: 1.25; }
.press-feature-side span { margin-top: 9px; color: #53677e; font-size: 14px; line-height: 1.55; }

.press-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 46px; }
.press-card { padding: 29px 0; border-bottom: 1px solid var(--press-rule); }
.press-card h3 { font-size: 20px; line-height: 1.32; }
.press-card p { margin: 11px 0 0; color: #5a6878; font-size: 14px; line-height: 1.6; }
.press-card .press-read-link { margin-top: 14px; }

.press-pagination { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 42px 0 0; }
.press-pagination a, .press-pagination span { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #b8cddd; color: var(--press-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.press-pagination a:hover, .press-pagination .is-current { color: #fff; border-color: var(--press-ink); background: var(--press-ink); }

.press-article-wrap { padding: 50px 0 90px; }
.press-article-layout { display: grid; grid-template-columns: minmax(0,780px) 300px; justify-content: space-between; gap: 48px; align-items: start; }
.press-article { min-width: 0; color: var(--press-copy); }
.press-article .article-body { font-size: 17px; line-height: 1.78; color: #111820; }
.press-article .article-body p { margin: 0 0 1.35em; }
.press-article .article-body h2 { margin: 2em 0 .62em; color: var(--press-ink); font-size: 30px; line-height: 1.2; font-weight: 800; letter-spacing: -.018em; }
.press-article .article-body h3 { margin: 1.8em 0 .55em; color: var(--press-ink); font-size: 24px; line-height: 1.25; font-weight: 800; }
.press-article .article-body a { color: #08796d; text-decoration: underline; text-underline-offset: 3px; }
.press-article .article-body ul, .press-article .article-body ol { display: block; margin: 0 0 1.45em 1.35em; padding: 0 0 0 .55em; }
.press-article .article-body ul { list-style: disc outside !important; }
.press-article .article-body ol { list-style: decimal outside !important; }
.press-article .article-body li { display: list-item !important; margin: 0 0 .55em; padding-left: .2em; }
.press-article .article-body blockquote { margin: 1.6em 0; padding: 18px 22px; border-left: 4px solid var(--press-green); color: #174a80; background: #f3f8fb; font-size: 1.08em; }
.press-article .article-body img { max-width: 100%; height: auto; margin: 1.3em 0; }
.press-article .article-body table { width: 100%; margin: 1.5em 0; border-collapse: collapse; font-size: .9em; }
.press-article .article-body th, .press-article .article-body td { padding: 10px 12px; border: 1px solid #ccdce9; vertical-align: top; }
.press-article-aside { position: sticky; top: 96px; padding: 18px 0 0 22px; border-left: 1px solid var(--press-rule); }
.press-article-aside h2 { margin: 0 0 13px; color: var(--press-ink); font-size: 19px; font-weight: 800; }
.press-aside-item { display: block; padding: 15px 0; border-top: 1px solid var(--press-rule); color: var(--press-ink); text-decoration: none; }
.press-aside-item span { display: block; color: #28837d; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.press-aside-item strong { display: block; margin-top: 6px; font-size: 14px; line-height: 1.48; }
.press-aside-item:hover strong { color: #138170; }
.press-detail-date { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; color: rgba(255,255,255,.87); font-size: 14px; font-weight: 700; }
.press-detail-date i { color: #97e665; font-style: normal; }

@media (max-width: 767px) {
    .press-shell { padding: 0 20px; }
    .press-hero { margin-top: 66px; }
    .press-hero .press-shell { padding-top: 20px; padding-bottom: 25px; }
    .press-crumbs { margin-bottom: 15px; }
    .press-hero p { font-size: 16px; }
    .press-hero-meta { gap: 16px; }
    .press-hero-meta div { min-width: 120px; padding-right: 16px; }
    .press-index, .press-article-wrap { padding: 43px 0 60px; }
    .press-index-header { display: block; }
    .press-index-page { display: block; margin-top: 13px; }
    .press-feature, .press-grid, .press-article-layout { grid-template-columns: 1fr; }
    .press-feature { gap: 22px; }
    .press-feature-side { min-height: 120px; }
    .press-grid { row-gap: 0; }
    .press-article-layout { gap: 34px; }
    .press-article .article-body { font-size: 17px; }
    .press-article-aside { position: static; padding: 0; border-left: 0; border-top: 2px solid var(--press-ink); }
}
