/* Article-only styles. Base tokens and global type stack come from styles.css. */
.article-page {
  --article-ink: #111c30;
  --article-muted: #65738b;
  --article-blue: #1a5faa;
  background:
    linear-gradient(rgba(218, 229, 242, .82), rgba(218, 229, 242, .82)) calc(50% - var(--page-line-offset)) 0 / 1px 100% no-repeat,
    linear-gradient(rgba(218, 229, 242, .82), rgba(218, 229, 242, .82)) calc(50% + var(--page-line-offset)) 0 / 1px 100% no-repeat,
    #fff;
  color: var(--article-ink);
}

.article-page::before,
.article-page::after { display: none; }

.article-site-header { border-bottom-color: rgba(223, 232, 242, .9); }
.article-back:hover { color: var(--article-blue); }

.article-copy-width { width: min(900px, calc(100% - 72px)); margin-left: auto; margin-right: auto; }
.article-hero { padding: clamp(84px, 11vw, 154px) 0 clamp(56px, 7vw, 98px); }
.article-back { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 25px; margin-bottom: 38px; border: 1px solid #e0e6ee; border-radius: 12px; color: #30435e; background: #fff; box-shadow: 0 5px 18px rgba(20, 47, 84, .08); font-size: 17px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, color .2s ease; }
.article-meta { margin: 0 0 17px; color: var(--article-muted); font-size: 19px; font-weight: 720; letter-spacing: .02em; }
.article-hero h1 { max-width: 900px; margin: 0; letter-spacing: -.055em; font-size: calc(clamp(29px, 4.5vw, 60px) - 4px); line-height: 1.09; }
.article-dek { max-width: 710px; margin: 27px 0 0; color: #145a9e; font-size: clamp(19px, 2vw, 25px); font-weight: 590; line-height: 1.46; letter-spacing: -.02em; }

.article-media { margin: 0 auto; }
.article-media-hero { width: min(900px, calc(100% - 72px)); }
.article-media-inline { width: min(900px, calc(100% - 72px)); margin-top: 76px; }
.article-media-placeholder-surface { display: grid; width: 100%; place-items: center; border-radius: 28px; background: #f1f3f6; color: #a2aab6; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.article-media-hero .article-media-placeholder-surface { aspect-ratio: 16 / 8; }
.article-media-inline .article-media-placeholder-surface { aspect-ratio: 16 / 9; border-radius: 24px; }

.article-body { padding-top: clamp(68px, 9vw, 122px); }
.article-body p, .article-body li { color: #26364d; font-size: clamp(18px, 1.65vw, 21px); line-height: 1.62; letter-spacing: -.018em; }
.article-body p { margin: 0 0 29px; font-size: calc(clamp(18px, 1.65vw, 21px) - 2px); }
.article-body h2 { margin: 70px 0 24px; color: var(--article-ink); font-size: clamp(27px, 3vw, 37px); line-height: 1.18; letter-spacing: -.04em; }
.article-body ul { margin: 0 0 32px; padding-left: 1.3em; }
.article-body li { padding-left: .25em; margin-bottom: 13px; }
.article-media-inline + .article-body { padding-top: 85px; padding-bottom: 48px; }
.article-media-managed img { display: block; width: 100%; max-height: 780px; border-radius: 28px; object-fit: cover; }
.article-media-managed figcaption { width: min(860px, calc(100% - 72px)); margin: 14px auto 0; color: #758398; font-size: 18px; line-height: 1.55; }
.article-rich-lead { color: #145a9e !important; font-size: calc(clamp(21px, 2.2vw, 28px) - 2px) !important; font-weight: 620; line-height: 1.52 !important; }
.article-rich-quote { margin: 46px 0; padding: 14px 0 14px 28px; border-left: 4px solid #1689da; color: #123f6d; font-size: clamp(23px, 2.5vw, 32px); font-weight: 720; line-height: 1.45; letter-spacing: -.03em; }
.article-body-managed:last-child { padding-bottom: 48px; }
.article-recommendation-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }

.article-back:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20, 47, 84, .13); }
.article-recommendations { width: min(calc(var(--page-line-offset) * 2), calc(100% - 48px)); margin: 92px auto 0; padding-top: 61px; border-top: 1px solid #dbe5ef; }
.article-recommendations-heading { margin: 0 60px 30px; }
.article-recommendations-heading p { margin: 0 0 9px; color: #1767b8; font-size: 15px; font-weight: 850; letter-spacing: .1em; }
.article-recommendations-heading h2 { margin: 0; color: #112d50; font-size: clamp(30px, 3vw, 42px); letter-spacing: -.045em; }
.article-recommendations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0 60px; }
.article-recommendation-card { display: flex; overflow: hidden; flex-direction: column; border: 1px solid #e1e7ef; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(31, 69, 112, .07); transition: transform .2s ease, box-shadow .2s ease; }
.article-recommendation-card:hover { transform: translateY(-5px); box-shadow: 0 19px 38px rgba(31, 69, 112, .13); }
.article-recommendation-media { position: relative; display: grid; width: 100%; aspect-ratio: 3 / 2; flex: 0 0 auto; overflow: hidden; place-items: center; color: #a1abb8; background: #f0f3f6; font-size: 13px; font-weight: 750; letter-spacing: .08em; }
.article-recommendation-copy { display: flex; min-height: 180px; flex-direction: column; padding: 23px; }
.article-recommendation-copy small { margin-bottom: 11px; color: #687a91; font-size: 13px; font-weight: 750; }
.article-recommendation-copy strong { color: #173554; font-size: 20px; line-height: 1.35; letter-spacing: -.025em; }
.article-recommendation-copy em { margin-top: auto; padding-top: 20px; color: #1767b8; font-size: 14px; font-style: normal; font-weight: 800; }
.article-action-bar { margin-top: 92px; border-top: 1px solid rgba(173, 218, 255, .42); background: linear-gradient(118deg, #0b438f 0%, #126cbd 52%, #23a0d9 100%); }
.article-action-bar-grid { width: min(calc(var(--page-line-offset) * 2), calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: 1.15fr .925fr .925fr; border-right: 1px solid rgba(255, 255, 255, .23); border-left: 1px solid rgba(255, 255, 255, .23); }
.article-action-primary, .article-action-item { min-height: 352px; padding: clamp(34px, 4vw, 57px) clamp(26px, 3.4vw, 48px); }
.article-action-primary { border-right: 1px dashed rgba(255, 255, 255, .35); }
.article-action-eyebrow { margin: 0 0 12px; color: #d8efff; font-size: 15px; font-weight: 850; letter-spacing: .08em; }
.article-action-primary h2 { max-width: 410px; margin: 0 0 22px; color: #fff; font-size: clamp(31px, 3vw, 43px); line-height: 1.12; letter-spacing: -.052em; }
.article-action-primary > p:not(.article-action-eyebrow) { max-width: 410px; margin: 0; color: #e2f2ff; font-size: 17px; line-height: 1.55; }
.article-action-buttons { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 30px; align-items: center; }
.article-action-button { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 22px; border-radius: 12px; color: #fff; background: var(--contact-cta-gradient); box-shadow: var(--cta-shadow); text-shadow: 0 1px 8px rgba(0, 54, 140, .28); font-size: 15px; font-weight: 800; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.article-action-button:hover { color: #fff; background: var(--contact-cta-gradient-hover); transform: translateY(-2px); box-shadow: 0 12px 22px rgba(0, 103, 210, .22); }
.article-action-button:active { background: var(--contact-cta-gradient-active); }
.article-action-link, .article-action-item a { color: #fff; font-size: 15px; font-weight: 800; }
.article-action-item { border-right: 1px dashed rgba(255, 255, 255, .35); }
.article-action-item:last-child { border-right: 0; }
.article-action-icon { display: block; width: 34px; height: 34px; margin-bottom: 24px; object-fit: contain; }
.article-action-item h3 { margin: 0 0 13px; color: #fff; font-size: 20px; letter-spacing: -.025em; }
.article-action-item p { min-height: 80px; margin: 0 0 22px; color: #e2f2ff; font-size: 16px; line-height: 1.55; }
.article-action-item a span, .article-action-link span, .article-action-button span { margin-left: 5px; }
.article-site-footer { margin-top: 0; }

@media (max-width: 640px) {
  .article-page { background: #fff; }
  .article-copy-width, .article-media-hero, .article-media-inline { width: min(100% - 36px, 860px); }
  .article-hero { padding-top: 88px; }
  .article-back { padding-right: 21px; padding-left: 21px; font-size: 14px; }
  .article-meta { font-size: 16px; }
  .article-hero h1 { font-size: 29px; }
  .article-dek { font-size: calc(clamp(19px, 2vw, 25px) - 1px); }
  .article-media-placeholder-surface, .article-media-inline .article-media-placeholder-surface { border-radius: 18px; }
  .article-media-placeholder-surface { font-size: 13px; }
  .article-media-managed img { border-radius: 18px; }
  .article-media-managed figcaption { width: min(100% - 36px, 860px); font-size: 17px; }
  .article-media-inline { margin-top: 48px; }
  .article-body { padding-top: 58px; }
  .article-body p, .article-body li { font-size: calc(clamp(18px, 1.65vw, 21px) - 1px); }
  .article-body p { font-size: calc(clamp(18px, 1.65vw, 21px) - 1px); }
  .article-body h2 { margin-top: 54px; font-size: clamp(27px, 3vw, 37px); }
  .article-rich-lead { font-size: calc(clamp(21px, 2.2vw, 28px) - 5px) !important; }
  .article-rich-quote { font-size: calc(clamp(23px, 2.5vw, 32px) - 3px); }
  .article-media-inline + .article-body { padding-top: 64px; padding-bottom: 20px; }
  .article-body-managed:last-child { padding-bottom: 20px; }
  .article-action-bar { margin-top: 56px; }
  .article-recommendations { width: calc(var(--page-line-offset) * 2); margin-top: 56px; }
  .article-recommendations-heading { margin-right: 15px; margin-left: 15px; }
  .article-recommendations-heading p { font-size: 14px; }
  .article-recommendations-heading h2 { font-size: clamp(30px, 3vw, 42px); }
  .article-recommendations-grid { margin-right: 15px; margin-left: 15px; }
  .article-recommendations-grid { grid-template-columns: 1fr; }
  .article-recommendation-media { font-size: 12px; }
  .article-recommendation-copy { min-height: 0; padding: 19px; }
  .article-recommendation-copy small { font-size: 12px; }
  .article-recommendation-copy strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 18px; }
  .article-recommendation-copy em { font-size: 13px; }
  .article-action-bar-grid { width: calc(var(--page-line-offset) * 2); grid-template-columns: 1fr; }
  .article-action-primary, .article-action-item { min-height: auto; padding: 36px 18px; border-right: 0; border-bottom: 1px dashed rgba(255, 255, 255, .35); }
  .article-action-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px; }
  .article-action-icon { margin-bottom: 0; }
  .article-action-item h3 { margin-bottom: 0; }
  .article-action-item p, .article-action-item a { grid-column: 1 / -1; }
  .article-action-item p { margin-top: 18px; }
  .article-action-eyebrow, .article-action-button, .article-action-link, .article-action-item a { font-size: 14px; }
  .article-action-primary h2 { font-size: clamp(31px, 3vw, 43px); }
  .article-action-primary > p:not(.article-action-eyebrow) { font-size: 16px; }
  .article-action-item h3 { font-size: 20px; }
  .article-action-item p { font-size: 15px; }
  .article-action-item:last-child { border-bottom: 0; }
  .article-action-item p { min-height: 0; }
  .article-footer { flex-direction: column; gap: 10px; }
}
