.fhi-sd .fhi-income-panel{margin:24px 0;padding:28px;border:1px solid #cddce9;border-top:4px solid #21719b;border-radius:14px;background:#f5f9fc;color:#183249;box-sizing:border-box}
.fhi-income-panel__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.fhi-income-panel h2{margin:0!important;font-size:clamp(1.45rem,2vw,1.9rem)!important;color:#12314b}
.fhi-income-panel__eyebrow{margin:0 0 6px!important;font-size:.72rem!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#356681}
.fhi-income-panel__badge{flex:none;padding:5px 10px;border:1px solid #bacfe0;border-radius:30px;font-size:.75rem;font-weight:600;background:#fff;color:#37556b}
.fhi-income-panel__intro{max-width:80ch;line-height:1.55;margin:12px 0 20px!important}
.fhi-income-panel__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fhi-income-panel__card{min-width:0;border:1px solid #d6e2eb;border-radius:10px;padding:20px;background:#fff}
.fhi-income-panel__card h3{margin:0 0 18px!important;font-size:.9rem!important;color:#34546e}
.fhi-income-panel__card h3.fhi-income-panel__extra-heading{font-size:.8rem!important;color:#65727d!important}
.fhi-income-panel__card p{font-size:.87rem;line-height:1.55;margin:7px 0}
.fhi-income-panel__card .fhi-income-panel__payment-type--extra{font-size:.8rem!important;color:#65727d!important}
.fhi-income-panel__card .fhi-income-panel__value{font-size:1.7rem!important;font-weight:750;color:#12314b;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.fhi-income-panel__card .fhi-income-panel__pending{font-size:1.12rem;font-weight:650;color:#6d541f;padding:8px 0}
.fhi-income-panel__event+.fhi-income-panel__event{margin-top:20px;padding-top:16px;border-top:1px solid #d6e2eb}
.fhi-income-panel__sources{font-size:.8rem;margin-top:16px;border-top:1px solid #e5edf3;padding-top:12px}
.fhi-income-panel__sources summary{cursor:pointer;color:#215f88;font-weight:600}
.fhi-income-panel__sources dl{margin:12px 0}.fhi-income-panel__sources dl div{display:flex;justify-content:space-between;gap:8px;margin:5px 0;flex-wrap:wrap}
.fhi-income-panel__sources dd{margin:0}.fhi-income-panel__sources ul{padding-left:18px;margin:10px 0 0}
.fhi-income-panel__calendar{margin-top:20px;padding-top:16px;border-top:1px solid #cddce9;font-size:.88rem;line-height:1.55}
.fhi-income-panel__calendar>summary{cursor:pointer;color:#215f88;font-weight:650}
.fhi-income-panel__calendar>.fhi-income-panel__grid{margin-top:16px}
.fhi-income-panel__table-scroll{max-width:100%;overflow-x:auto}
.fhi-income-panel__table-scroll table{border-collapse:collapse;width:100%;min-width:560px;font-size:.82rem}
.fhi-income-panel__table-scroll th,.fhi-income-panel__table-scroll td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #d6e2eb}
.fhi-income-panel__table-scroll th{color:#12314b}
.fhi-income-panel__basis{margin-top:18px;font-size:.85rem;line-height:1.5;color:#34546e}.fhi-income-panel__basis p{margin:5px 0 0}
.fhi-income-panel__price,.fhi-income-panel__admin{font-size:.8rem!important;margin:16px 0 0!important}
.fhi-income-panel a:focus-visible,.fhi-income-panel summary:focus-visible{outline:3px solid #21719b;outline-offset:4px}
@media(max-width:800px){.fhi-income-panel__grid{grid-template-columns:1fr}.fhi-sd .fhi-income-panel{padding:20px}.fhi-income-panel__heading{flex-wrap:wrap}.fhi-income-panel__card{padding:18px}}
.fhi-sd .fhi-income-charts{margin:24px 0;padding:26px;border:1px solid #cddce9;border-radius:14px;background:#f5f9fc;color:#183249}
.fhi-income-charts h2{margin:0!important;font-size:clamp(1.4rem,2vw,1.85rem)!important;color:#12314b}
.fhi-income-charts__assistant-action{align-items:center;background:#fff;border:1px solid #d6e2eb;border-radius:12px;display:flex;justify-content:center;min-width:0;padding:24px}
.fhi-income-charts__assistant-button{align-items:center;background:#17385f;border:1px solid #17385f;border-radius:999px;color:#fff;cursor:pointer;display:flex;font:800 clamp(10px,2.8vw,12px)/1.25 system-ui,sans-serif;justify-content:center;max-width:100%;min-height:50px;padding:10px 14px;text-align:center;white-space:nowrap}
.fhi-income-charts__assistant-button:hover,.fhi-income-charts__assistant-button:focus-visible{background:#fff;color:#17385f;outline:none}
.fhi-income-charts__assistant-button:focus-visible{box-shadow:0 0 0 3px rgba(23,56,95,.25)}
.fhi-income-charts__assistant-badge{background:#caa34b;border-radius:999px;color:#17385f;font-size:10px;letter-spacing:.04em;margin-top:5px;padding:3px 7px;text-transform:uppercase}
.fhi-income-charts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}
.fhi-income-charts__card{min-width:0;background:#fff;border:1px solid #d6e2eb;border-radius:12px;padding:24px}
.fhi-income-charts__card h3{font-size:1.08rem!important;margin:0!important;color:#12314b}
.fhi-income-charts__subtitle,.fhi-income-charts__date{font-size:.82rem!important;line-height:1.5;color:#526b80;margin:7px 0 0!important}
.fhi-income-charts__payment{margin:22px 0 0!important}.fhi-income-charts__payment+.fhi-income-charts__payment{padding-top:22px;border-top:1px solid #d6e2eb}
.fhi-income-charts__payment figcaption strong{display:block;font-size:2rem;line-height:1.2;font-variant-numeric:tabular-nums}
.fhi-income-charts__payment figcaption span{display:block;font-size:.81rem;margin-top:8px;color:#526b80}
.fhi-income-charts__payment-type{font-size:.95rem!important;font-weight:700;margin:12px 0 0!important;color:#183249}
.fhi-income-charts__payment-type--extra{font-size:.84rem!important;color:#65727d!important}
.fhi-income-charts__stack{display:flex;height:36px;background:#eef2f6;border-radius:6px;overflow:hidden;margin:18px 0}
.fhi-income-charts__segment{display:block;height:100%}.fhi-income-charts__segment--regular{background:#1e7798}.fhi-income-charts__segment--supplemental{background:#e7b955}.fhi-income-charts__segment--special{background:#745baa}
.fhi-income-charts__legend{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:10px}.fhi-income-charts__legend li{display:flex;align-items:center;gap:9px;font-size:.9rem}
.fhi-income-charts__legend strong{margin-left:auto;font-variant-numeric:tabular-nums}.fhi-income-charts__key{width:12px;height:12px;flex:none;border-radius:3px}
.fhi-income-charts__earnings{display:grid;gap:24px;margin-top:24px}.fhi-income-charts__earning-label{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-size:.9rem}.fhi-income-charts__earning-label span{max-width:70%;line-height:1.4}.fhi-income-charts__earning-label strong{font-size:1.2rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.fhi-income-charts__track{position:relative;height:24px;margin:10px 0;background:#eef2f6;border-radius:4px}.fhi-income-charts__bar{position:absolute;top:3px;height:18px;background:#1e7798;border-radius:3px}.fhi-income-charts__bar--loss{background:#a76427}.fhi-income-charts__zero{position:absolute;top:0;bottom:0;width:1px;background:#758a9b;z-index:1}
.fhi-income-charts__axis{display:flex;justify-content:space-between;font-size:.75rem;color:#526b80;margin-top:12px}.fhi-income-charts__note{font-size:.8rem!important;line-height:1.55;margin:20px 0 0!important;color:#526b80}
.fhi-income-charts a:focus-visible,.fhi-income-charts summary:focus-visible{outline:3px solid #21719b;outline-offset:4px}
@media(max-width:800px){.fhi-income-charts__grid{grid-template-columns:1fr}.fhi-sd .fhi-income-charts{padding:18px}.fhi-income-charts__assistant-action,.fhi-income-charts__card{padding:20px}.fhi-income-charts__assistant-button{width:100%}}
.fhi-business-overview{margin-top:24px}.fhi-business-overview>p{max-width:95ch}
.fhi-business-research{margin:28px 0;color:#183249}.fhi-business-research h2{font-size:clamp(1.5rem,2.2vw,2rem);margin:0}.fhi-business-research h3{font-size:1.1rem;margin:0 0 12px;color:#12314b}
.fhi-business-research__date{font-size:.84rem;color:#526b80;line-height:1.6;margin:12px 0 22px}
.fhi-business-research__charts,.fhi-business-research__analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}
.fhi-business-research__card{margin:0;padding:26px;border:1px solid #d6e2eb;border-radius:12px;background:#fff;min-width:0}.fhi-business-research__card p{line-height:1.65;font-size:.93rem}
.fhi-business-research__total{display:block;font-size:1.85rem;color:#12314b;margin:12px 0 4px}.fhi-business-research__card figcaption>span{font-size:.9rem}
.fhi-business-research__stack{display:flex;height:32px;border-radius:6px;overflow:hidden;margin:22px 0}.fhi-business-research__stack>span{display:block}
.fhi-business-research__color-0{background:#1e7798}.fhi-business-research__color-1{background:#6f9ea9}.fhi-business-research__color-2{background:#745baa}.fhi-business-research__color-3{background:#e7b955}
.fhi-business-research__color-4{background:#4a8a67}.fhi-business-research__color-5{background:#b16a59}.fhi-business-research__color-6{background:#586ea6}.fhi-business-research__color-7{background:#9c7f49}.fhi-business-research__color-8{background:#448e89}.fhi-business-research__color-9{background:#a06991}.fhi-business-research__color-10{background:#6e7850}.fhi-business-research__color-11{background:#777e88}
.fhi-business-research__income{margin:18px 0}.fhi-business-research__income>div:first-child{display:flex;justify-content:space-between;gap:14px;font-size:.85rem;line-height:1.4}.fhi-business-research__income strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.fhi-business-research__small{font-size:.8rem!important;color:#526b80;line-height:1.6}.fhi-business-research__source{font-size:.8rem!important;line-height:1.55!important;overflow-wrap:anywhere;margin:16px 0 0}
.fhi-business-research__observation{border-left:3px solid #21719b;padding-left:15px}.fhi-business-research a:focus-visible{outline:3px solid #21719b;outline-offset:3px}
@media(max-width:800px){.fhi-business-research__charts,.fhi-business-research__analysis{grid-template-columns:1fr}.fhi-business-research__card{padding:20px}}

/* Earnings explanation uses the shared accessible dialog interaction. */
.fhi-business-research .fhi-business-research__earnings-help { display:inline-flex; align-items:center; gap:8px; margin:0 0 16px; padding:8px 12px; border:1px solid #9bb5d0; border-radius:8px; background:#edf4fb; color:#173b60; font:inherit; font-size:14px; font-weight:600; line-height:1.4; text-align:left; cursor:pointer; }
.fhi-business-research .fhi-business-research__earnings-help:hover { background:#dceaf7; }
.fhi-business-research .fhi-business-research__earnings-help:focus-visible { outline:3px solid #173b60; outline-offset:3px; }
.fhi-business-research dialog.fhi-business-research__earnings-dialog { box-sizing:border-box; width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); overflow:auto; margin:auto; padding:24px; border:1px solid #d1d5db; border-radius:14px; background:#fff; color:#172b4d; text-align:left; box-shadow:0 20px 60px #0005; }
.fhi-business-research dialog.fhi-business-research__earnings-dialog::backdrop { background:rgba(8,23,43,.65); }
.fhi-business-research dialog.fhi-business-research__earnings-dialog h2 { margin:0 0 16px; color:#172b4d; font-size:23px; line-height:1.25; }
.fhi-business-research dialog.fhi-business-research__earnings-dialog p { margin:0 0 16px; color:#172b4d; font-size:16px; line-height:1.5; }
.fhi-business-research dialog.fhi-business-research__earnings-dialog button { padding:9px 18px; border:1px solid #173b60; border-radius:6px; background:#173b60; color:#fff; cursor:pointer; }

/* Keep the complete snapshot ahead of its assistant action and all research charts. */
.fhi-income-charts__snapshot-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;margin:22px 0}
.fhi-income-charts__snapshot-cards>.fhi-sd__metric{margin:0;min-width:0}
.fhi-income-charts__snapshot-cards>.fhi-income-panel__card,.fhi-income-charts__snapshot-cards>.fhi-income-charts__card{padding:18px;overflow-wrap:anywhere}
.fhi-sd__research-data>.fhi-sd__chart-panel{margin:24px 0;width:100%;box-sizing:border-box}
.fhi-income-charts>.fhi-income-charts__assistant-action{margin-top:20px;padding:14px;background:transparent;border:0}
.fhi-sd[data-fhi-outside-model]>.fhi-income-charts__assistant-action{margin:18px 0;padding:14px;background:transparent;border:0}
@media(max-width:600px){.fhi-income-charts__snapshot-cards{grid-template-columns:1fr}.fhi-income-charts__snapshot-cards>.fhi-sd__metric{width:auto}}

.fhi-income-charts__snapshot-cards--reported{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.fhi-income-charts__snapshot-cards:empty{display:none}
@media(max-width:600px){.fhi-income-charts__snapshot-cards--reported{grid-template-columns:1fr}}

.fhi-income-charts__snapshot-cards--reported{grid-template-columns:repeat(2,minmax(0,1fr))}
.fhi-income-charts__snapshot-cards--reported .fhi-income-panel__value{color:var(--fhi-primary)!important;font-size:37.5px!important;font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums}
.fhi-income-charts .fhi-sd__metric strong{font-size:37.5px}
.fhi-income-charts__source-group+.fhi-income-charts__source-group{border-top:1px solid #d6e2eb;margin-top:20px;padding-top:20px}
.fhi-income-charts__source-group h4{margin:0 0 12px;font-size:1rem}
@media(max-width:600px){.fhi-income-charts__snapshot-cards--reported{grid-template-columns:1fr}.fhi-income-charts__snapshot-cards--reported .fhi-income-panel__value{font-size:33px!important}}
