/* Approved publication hierarchy. Isolated class names leave archives and article layouts intact. */
.site-header__inner { flex-wrap:wrap; gap:1.15rem 2rem; padding-block:1.5rem .35rem; }
.site-nav { width:100%; }
.site-nav ul { flex-wrap:wrap; gap:0 2rem; }
.site-nav a { min-height:44px; }
.home-publication a:not(.button) { text-underline-offset:3px; }
.home-intro { display:flex; gap:1.5rem; justify-content:space-between; align-items:baseline; margin:0 0 1.5rem; }
.home-intro h1 { font-size:1.5rem; font-weight:700; line-height:1.3; margin:0; }
.home-intro p { color:var(--ink-muted); font-size:.8rem; margin:0; }
.home-editorial { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); gap:2.75rem; margin-bottom:2.5rem; }
.home-editorial > * { min-width:0; }
.home-editorial-lead figure { margin-bottom:1.4rem; }
.home-editorial-lead .card__media img { width:100%; height:270px; object-fit:cover; border-radius:var(--radius); }
.home-editorial-lead .image-source { font-size:.65rem; line-height:1.5; }
.home-editorial-lead .eyebrow { margin:0 0 .9rem; }
.home-editorial-lead h2 { font-size:clamp(1.65rem,2.15vw,2rem); line-height:1.2; font-weight:700; margin:0 0 1rem; }
.home-editorial-lead h2 a,.home-headlines h3 a,.home-insight-grid h3 a,.home-event-grid h3 a { color:var(--ink-strong); text-decoration:none; }
.home-editorial-lead h2 a:hover,.home-headlines h3 a:hover,.home-insight-grid h3 a:hover,.home-event-grid h3 a:hover { color:var(--primary); text-decoration:underline; }
.home-lead-dek { font-size:1rem; line-height:1.65; }
.home-headlines .section-heading-row { border:0; padding:0; margin:0 0 1rem; }
.home-headlines > ul { list-style:none; margin:0; padding:0; border-top:3px solid var(--primary); }
.home-headlines li { margin:0; padding:1rem 0; border-bottom:1px solid var(--rule); }
.home-headlines h3 { font-size:1.12rem; line-height:1.35; font-weight:700; margin:0; }
.home-headlines .meta { margin:0 0 .45rem; }
.home-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.2rem; }
.home-section-heading h2 { font-size:1.45rem; margin:0; }
.home-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; margin-bottom:2.5rem; }
.home-tool { background:var(--surface-sunken); border:1px solid var(--rule); border-top:3px solid var(--primary); border-radius:var(--radius); padding:1.75rem; }
.home-tool--regulatory { border-top-color:var(--secondary); }
.home-tool > .eyebrow { margin-bottom:.75rem; }
.home-tool h3 { font-size:1.5rem; margin:0 0 .8rem; }
.home-tool > p:not(.eyebrow) { font-size:.9rem; }
.home-live { display:inline-block; padding:.2rem .5rem; background:var(--secondary-tint); color:#62421b; font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; vertical-align:middle; }
.home-tool-metrics { display:flex; flex-wrap:wrap; gap:1.75rem; margin:1.4rem 0; }
.home-tool-metrics > div { display:flex; flex-direction:column-reverse; }
.home-tool-metrics dt { font-size:.75rem; color:var(--ink-muted); }
.home-tool-metrics dd { margin:0; font-size:1.7rem; line-height:1.25; font-weight:700; color:var(--ink-strong); }
.home-tool-status { color:var(--ink-muted); margin-top:1.3rem; }
.home-insights { margin-bottom:2.5rem; }
.home-insight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.75rem; }
.home-insight-grid .eyebrow { margin-bottom:.8rem; }
.home-insight-grid h3 { font-size:1.4rem; margin:0 0 .85rem; }
.home-insight-grid p:not(.eyebrow) { font-size:.9rem; }
.home-briefing { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem; background:var(--primary); color:white; border-radius:var(--radius); margin-bottom:2.5rem; }
.home-briefing .eyebrow { color:#ffe4bf; margin-bottom:.55rem; }
.home-briefing h2 { color:white; font-size:1.6rem; margin:0 0 .5rem; }
.home-briefing p:last-child { font-size:.9rem; margin:0; }
.home-briefing .button { flex-shrink:0; min-height:44px; }
.home-briefing :focus-visible { outline-color:white; }
.home-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; list-style:none; padding:0; margin:0 0 1.5rem; }
.home-event-grid li { padding-left:1rem; border-left:3px solid var(--rule); margin:0; min-width:0; }
.home-event-grid .eyebrow { font-size:.65rem; line-height:1.6; margin:0 0 .5rem; }
.home-event-grid h3 { font-size:1rem; line-height:1.4; margin:0 0 .5rem; }
.home-event-grid p:last-child { font-size:.8rem; color:var(--ink-muted); margin:0; }
.home-publication h1,.home-publication h2,.home-publication h3,.home-publication p { overflow-wrap:break-word; }
@media(max-width:960px) { .home-editorial,.home-insight-grid { gap:1.75rem; } .home-editorial-lead .card__media img { height:230px; } }
@media(max-width:860px) {
 .site-header__inner { padding-block:1rem; align-items:flex-start; }
 .site-nav { width:auto; }
 .site-nav ul { flex-wrap:nowrap; }
 .home-intro p { display:none; }
 /* Navigation stays usable without JavaScript; progressive enhancement enables collapse. */
 .site-header:not(.has-nav-script) .site-nav { display:block; position:static; box-shadow:none; }
 .site-header:not(.has-nav-script) .nav-toggle { display:none; }
 .site-header:not(.has-nav-script) .site-nav ul { padding:0; flex-wrap:wrap; flex-direction:row; gap:.3rem 1.1rem; }
}
@media(max-width:650px) {
 .home-intro h1 { font-size:1.3rem; }
 .home-editorial { display:block; margin-bottom:1.75rem; }
 .home-editorial-lead { margin-bottom:1.75rem; }
 .home-editorial-lead .card__media img { height:160px; }
 .home-editorial-lead figure { margin-bottom:1rem; }
 .home-editorial-lead h2 { font-size:1.7rem; }
 .home-lead-dek { font-size:.9rem; }
 .home-headlines h3 { font-size:1.06rem; }
 .home-headlines li { padding:.9rem 0; }
 .home-tools,.home-insight-grid,.home-event-grid { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
 .home-tool { padding:1.35rem; }
 .home-section-heading h2,.home-insights .section-heading { font-size:1.3rem; }
 .home-section-heading .eyebrow { max-width:13ch; text-align:right; font-size:.6rem; }
 .home-insights .section-heading-row { align-items:flex-start; }
 .home-insights .section-heading-row .text-link { white-space:normal; min-width:5rem; }
 .home-insight-grid h3 { font-size:1.35rem; }
 .home-briefing { display:block; padding:1.5rem; }
 .home-briefing .button { margin-top:1.25rem; }
 .home-briefing h2 { font-size:1.45rem; }
 .home-tools,.home-insights,.home-briefing { margin-bottom:1.9rem; }
}
@media(prefers-reduced-motion:reduce) { .skip-link,.button { transition:none; } }

.home-tool-icon { width:64px; height:64px; float:right; margin:0 0 .6rem 1rem; }
@media(max-width:650px) { .home-tool-icon { width:56px; height:56px; } }

/* Single semantic anchor fills each tool card: one focus stop, selectable text, no nested links. */
.home-tool { padding:0; }
.home-tool-link { display:block; height:100%; padding:1.75rem; color:var(--ink); text-decoration:none; border-radius:var(--radius); }
.home-tool-link:hover { color:var(--ink); background:#e8f0f4; }
.home-tool-link:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.home-tool-link .eyebrow { margin-bottom:.75rem; }
.home-tool-link > p:not(.eyebrow) { font-size:.9rem; }
.home-tool-link:hover .home-tool-action { text-decoration:underline; }
.home-tool-art { float:right; width:150px; height:auto; aspect-ratio:16/9; margin:0 0 .9rem 1rem; }
.home-tool h3 { clear:left; }
.home-tool-link .home-tool-metrics { clear:both; }
.home-tool-link .home-tool-action { color:var(--primary); }
.home-insight-grid figure { margin:0 0 1.2rem; }
.home-insight-grid .card__media img { width:100%; height:230px; object-fit:cover; border-radius:var(--radius); }
.home-insight-grid .image-source { font-size:.65rem; line-height:1.5; }
.home-insight-image-fallback { display:grid; place-items:center; width:100%; height:230px; margin-bottom:1.2rem; background:var(--primary-tint); border:1px solid var(--rule); border-radius:var(--radius); font-family:var(--font-display); color:var(--primary-dark); font-size:1.1rem; }
@media(max-width:960px) { .home-tool-art { width:125px; } .home-insight-grid .card__media img,.home-insight-image-fallback { height:210px; } }
@media(max-width:650px) {
 .home-tool { padding:0; }
 .home-tool-link { padding:1.35rem; }
 .home-tool-art { width:135px; margin-left:.65rem; }
 .home-tool h3 { clear:both; }
 .home-insight-grid .card__media img,.home-insight-image-fallback { height:190px; }
}

/* Industry-wide calendar: retain the former green date rail / purple learning pattern. */
.home-industry-calendar { margin:0; }
.home-industry-calendar__intro { margin:0 0 1.5rem; }
.home-industry-calendar__intro h2 { font-size:1.45rem; line-height:1.35; margin:0 0 .65rem; }
.home-industry-calendar__intro p { margin:0; font-size:.9rem; color:var(--ink-muted); max-width:100ch; }
.industry-events-panel,.industry-learning-panel { padding:1.5rem; border-bottom:1px solid var(--rule); }
.industry-events-panel { border-top:4px solid #126854; background:#f1f6f8; }
.industry-learning-panel { border-top:3px solid #714099; background:#faf8fc; }
.industry-events-panel__heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.3rem; }
.industry-events-panel h3,.industry-learning-panel h3 { font-size:1.3rem; line-height:1.35; margin:0 0 .55rem; }
.industry-events-panel__heading p,.industry-learning-panel__heading > p:last-child { margin:0; font-size:.875rem; color:var(--ink-muted); }
.industry-calendar-button { display:inline-flex; justify-content:space-between; align-items:center; gap:1rem; min-height:48px; padding:.85rem 1rem; border-radius:5px; background:#126854; color:#fff; font-size:.85rem; font-weight:700; line-height:1.4; text-decoration:none; }
.industry-calendar-button:hover { background:#0c5040; color:#fff; text-decoration:underline; }
.industry-calendar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; list-style:none; padding:0; margin:0; }
.industry-calendar-grid > li { min-width:0; margin:0; }
.industry-calendar-event { display:grid; grid-template-columns:54px minmax(0,1fr); gap:.75rem; padding:.7rem 0 1rem; }
.industry-calendar-date { text-align:center; font-family:var(--font-display); color:#126854; font-weight:600; line-height:1.3; padding-top:2px; }
.industry-calendar-date .saf-events__days { display:block; font-size:1.25rem; letter-spacing:-.04em; white-space:nowrap; }
.industry-calendar-date .saf-events__month-year { display:block; font-size:.65rem; text-transform:uppercase; margin-top:5px; white-space:nowrap; }
.industry-calendar-date .saf-events__date-long { display:block; font-size:.85rem; line-height:1.45; }
.industry-calendar-grid h4 { font-size:1rem; line-height:1.45; font-weight:600; margin:0 0 .5rem; }
.industry-calendar-grid h4 a { color:var(--ink-strong); text-decoration:none; }
.industry-calendar-grid h4 a:hover { text-decoration:underline; }
.industry-events-panel h4 a:hover { color:#126854; }
.industry-calendar-meta { font-size:.8rem; line-height:1.55; color:var(--ink-muted); margin:.35rem 0; }
.industry-calendar-summary { font-size:.8rem; line-height:1.55; margin:.65rem 0 0; }
.industry-learning-panel__heading { margin-bottom:1.35rem; }
.industry-learning-panel .eyebrow { color:#714099; margin:0 0 .55rem; }
.industry-calendar-learning { padding:.5rem 0 1.15rem; }
.industry-learning-meta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.4rem .6rem; font-size:.75rem; line-height:1.55; color:var(--ink-muted); margin-bottom:.7rem; }
.industry-learning-meta time { font-weight:600; }
.industry-learning-status { padding:.15rem .45rem; background:#edf2f5; border-radius:3px; }
.industry-learning-status.is-upcoming { background:#f1e9f8; color:#643587; }
.industry-calendar-action,.industry-calendar-all { display:inline-flex; align-items:center; gap:.65rem; min-height:44px; color:#714099; font-size:.85rem; text-decoration:none; }
.industry-calendar-all { justify-content:space-between; width:100%; max-width:340px; font-weight:600; margin-top:.75rem; }
.industry-learning-panel h4 a:hover,.industry-calendar-action:hover,.industry-calendar-all:hover { color:#643587; text-decoration:underline; }
.industry-calendar-note { font-size:.75rem; color:var(--ink-muted); margin:1rem 0 0; max-width:100ch; }
.industry-calendar-empty { font-size:.875rem; margin:1rem 0; }
.home-industry-calendar a:focus-visible { outline:3px solid #126d92; outline-offset:4px; }
@media(max-width:1100px) { .industry-calendar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; } }
@media(max-width:650px) {
 .home-industry-calendar__intro h2 { font-size:1.3rem; }
 .industry-events-panel,.industry-learning-panel { padding:1.35rem 1.1rem; }
 .industry-events-panel__heading { display:block; }
 .industry-calendar-button { display:flex; margin-top:1rem; }
 .industry-calendar-grid { grid-template-columns:minmax(0,1fr); gap:0; }
 .industry-calendar-event { grid-template-columns:62px minmax(0,1fr); gap:.8rem; padding:1.2rem 0; border-bottom:1px solid var(--rule); }
 .industry-calendar-learning { padding:1.2rem 0; border-bottom:1px solid var(--rule); }
 .industry-calendar-meta,.industry-calendar-summary { font-size:.85rem; }
 .industry-calendar-event:last-child,.industry-calendar-learning:last-child { border-bottom:0; }
 .industry-calendar-all { max-width:none; }
}
.industry-calendar-grid h4 a { display:block; min-height:44px; }
