/* Main-site refresh. Expert subsite uses its independent base and styles. */
.site-nav { gap: 4px; }
.site-nav a, .site-nav a:last-child { border-radius: 8px; background: transparent; color: var(--ink); }
.site-nav a:hover, .site-nav a:last-child:hover { background: #fbefef; color: #a91e2c; transform: none; }
.site-nav a[aria-current] { background: #fbefef; color: #a91e2c; box-shadow: inset 0 -2px #a91e2c; }
.template-homepage, .template-standardpage { background: #faf9f7; }
.template-homepage .hero-shell { padding: 48px 0 28px; background: #fff; }
.template-homepage .hero-grid { grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
.template-homepage .hero-copy { padding: 0; border: 0; background: none; box-shadow: none; }
.template-homepage .hero-copy h1 { font-size: clamp(32px,3.25vw,48px); max-width: 12em; line-height: 1.25; letter-spacing: -.03em; }
.template-homepage .hero-intro { color: #595552; margin-top: 20px; }
.template-homepage .hero-actions { margin-top: 24px; }
.template-homepage .status-note { font-size: 13px; margin-bottom: 0; }
.home-hero-visual { margin: 0; border-radius: 16px; overflow: hidden; background: #eee; }
.home-hero-visual img { width: 100%; height: auto; display: block; }
.template-homepage :is(.capability-section,.metrics-section,.about-section) { padding-top: 36px; padding-bottom: 36px; }
.template-homepage .home-channel-section { background: #fff; padding-top: 18px; padding-bottom: 44px; border-bottom: 1px solid var(--line); }
.template-homepage .home-channel-section .section-heading { display: none; }
.template-homepage .home-core-grid { gap: 16px; }
.template-homepage .home-core-grid .capability-card { padding: 22px; background: #faf9f7; }
.template-homepage .home-core-grid h3 { font-size: 20px; line-height: 1.4; }
.template-homepage .home-core-grid p { font-size: 14px; line-height: 1.75; }
.template-homepage .site-frame :is(.capability-card,.article-card,.about-card),
.template-standardpage .site-frame :is(.capability-card,.metric-card) { border-radius: 12px; box-shadow: none; border: 1px solid #e6e1dd; }
.template-homepage .home-offer-card { background: #fff; }
.template-homepage .home-offer-card > div { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.template-homepage .home-offer-card h3 { margin: 0; font-size: 24px; line-height: 1.4; }
.template-homepage .site-frame .capability-card .hero-actions,
.template-standardpage .site-frame .capability-card .hero-actions { margin-top: auto; }
.template-homepage .site-frame .capability-card .hero-actions .btn,
.template-standardpage .site-frame .capability-card .hero-actions .btn { padding: 6px 0; min-height: 36px; border: 0; background: transparent; color: #a91e2c; border-radius: 3px; justify-content: flex-start; gap: 8px; text-align: left; }
.template-homepage .section-heading h2, .template-standardpage .section-heading h2 { font-size: clamp(24px,2.1vw,30px); line-height: 1.4; }
.template-homepage .article-card h3 { font-size: 21px; line-height: 1.5; }
.template-homepage .article-card .home-card-media { order: -1; aspect-ratio: 16/9; margin: 0 0 6px; }
.template-homepage .article-card > p:not(.article-date) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.template-standardpage .page-shell { padding: 28px 0 48px; }
.template-standardpage .page-header-card { padding: 12px 0 26px; border: 0; background: transparent; box-shadow: none; border-radius: 0; border-bottom: 1px solid var(--line); }
.template-standardpage .page-header-card h1 { font-size: clamp(30px,3vw,42px); line-height: 1.3; }
.template-standardpage .page-body { padding: 24px 28px; box-shadow: none; border-radius: 12px; }
.template-standardpage .channel-section { padding: 20px 0; }
.template-standardpage .capability-card h3 { line-height: 1.4; }
.template-standardpage .channel-hero-copy { padding: 24px; box-shadow: none; border-radius: 12px; }
.template-standardpage .channel-hero-panel { border-radius: 12px; box-shadow: none; }
@media(max-width:1100px) and (min-width:961px) { .site-nav a { padding: 10px 9px; font-size: 14px; } }
@media(max-width:960px) {
 .nav-row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
 .site-nav-toggle { align-self: center; margin-left: auto; min-height: 44px; }
 .site-nav { flex-basis: 100%; box-shadow: none; border-radius: 12px; gap: 2px; }
 .site-nav a:last-child { margin-top: 0; }
 .template-homepage .hero-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
 .template-homepage .home-core-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 .template-homepage .hero-shell { padding: 28px 0 24px; }
 .template-homepage .hero-grid { grid-template-columns: 1fr; gap: 24px; }
 .template-homepage .hero-copy h1 { font-size: 34px; }
 .template-homepage .hero-intro { margin-top: 14px; font-size: 15px; line-height: 1.8; }
 .template-homepage .hero-copy .hero-actions { gap: 10px; margin: 20px 0 12px; }
 .template-homepage .hero-copy .btn { padding: 12px 14px; font-size: 14px; }
 .template-homepage .home-core-grid { gap: 10px; }
 .template-homepage .home-core-grid .capability-card { padding: 16px; gap: 10px; }
 .template-homepage .home-core-grid h3 { font-size: 18px; }
 .template-homepage .home-core-grid .hero-actions .btn { font-size: 13px; }
 .template-homepage :is(.capability-section,.metrics-section,.about-section) { padding-top: 28px; padding-bottom: 28px; }
 .template-standardpage .page-shell { padding-top: 20px; }
 .template-standardpage .page-body { padding: 20px; }
}

/* Fill the available row even when the CMS supplies only two cards. */
.template-homepage .article-list, .template-homepage .about-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
