/* ESG assessment results: SL reference table/card spacing, Hwashin typography. */
.hs-ratings{color:#000;padding-top:60px;}
.hs-rating-section{padding:70px 0;}
.hs-rating-section--shaded{background:#f7f7f7;}
.hs-rating-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 30px;line-height:1.4;}
.hs-rating-title img{display:block;width:auto;height:60px;max-width:100%;object-fit:contain;}
.hs-rating-title span{font-size:18px;font-weight:500;color:#777;}
.hs-rating-title .hs-rating-brand{font-size:36px;font-weight:500;letter-spacing:1px;color:#ffb800;}
.hs-rating-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:18px;line-height:1.6;}
.hs-rating-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.hs-rating-table th,.hs-rating-table td{text-align:center;width:20%;}
.hs-rating-table thead th{padding:20px 8px;border-top:2px solid #000;border-bottom:1px solid #000;font-weight:600;}
.hs-rating-table tbody th,.hs-rating-table td{padding:30px 8px;border-bottom:1px solid #ddd;font-weight:600;}
.hs-rating-table tbody tr:last-child>*{border-bottom-color:#000;}
.hs-rating-grade{display:inline-flex;align-items:center;justify-content:center;width:90px;max-width:100%;height:50px;border:1px solid currentColor;border-radius:28px;font-size:26px;font-weight:600;}
.hs-rating-grade--total{width:54px;border-radius:8px;color:#fff;background:#002d5b;border-color:#002d5b;}
.hs-rating-grade--environment{color:#60a519;}
.hs-rating-grade--social{color:#00a9aa;}
.hs-rating-grade--governance{color:#008dcd;}
.hs-rating-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px;list-style:none;padding:0;margin:20px 0;}
.hs-rating-card{overflow:hidden;border:1px solid #ddd;border-radius:8px;background:#fff;text-align:center;}
.hs-rating-card-visual{display:flex;justify-content:center;align-items:center;min-height:200px;padding:30px 16px;}
.hs-rating-card-year{border-top:1px solid #ddd;padding:15px 0;margin:0;font-size:18px;font-weight:600;}
.hs-cdp-grade{width:min(140px,100%);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font:500 64px/1 Arial,sans-serif;}
.hs-cdp-grade--b{background:#97498b;}
.hs-cdp-grade--c{background:#97498b;}
.hs-sustinvest-badge{position:relative;display:block;width:100%;max-width:220px;line-height:0;}
.hs-sustinvest-badge img{display:block;width:100%;height:auto;}
@media(max-width:1024px){.hs-rating-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}.hs-rating-card-visual{min-height:170px;padding:24px 12px;}}
@media(max-width:767px){
.hs-ratings{padding-top:20px;}.hs-rating-section{padding:30px 0;}
.hs-rating-title{margin-bottom:14px;gap:6px;}.hs-rating-title img{height:40px;}.hs-rating-title span{font-size:14px;}.hs-rating-title .hs-rating-brand{font-size:28px;}
.hs-rating-table{font-size:14px;}.hs-rating-table thead th,.hs-rating-table tbody th,.hs-rating-table td{padding:20px 3px;}
.hs-rating-grade{height:36px;font-size:20px;width:60px;}.hs-rating-grade--total{width:38px;}
.hs-rating-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;}
.hs-rating-card-visual{min-height:150px;padding:20px 12px;}.hs-cdp-grade{max-width:100px;font-size:48px;}
.hs-rating-card-year{font-size:14px;padding:10px 0;}
}

/* Year-specific KCGS artwork. Only differing central grades are overlaid;
   the original year, agency lettering, shield and border remain intact. */
.hs-kcgs-badge{display:inline-block;position:relative;vertical-align:middle;font-size:100px;width:1em;max-width:100%;line-height:0;}
.hs-kcgs-badge img{display:block;width:100%;height:auto;}
.hs-kcgs-badge-value{position:absolute;left:23%;top:24%;width:60%;height:46%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Times New Roman",serif;font-size:.66em;font-weight:700;line-height:1;letter-spacing:0;}
.hs-kcgs-badge-value sup{font-family:Arial,sans-serif;font-size:.32em;line-height:1;align-self:flex-start;margin-top:.4em;margin-left:-.03em;}
@media(max-width:767px){.hs-kcgs-badge{font-size:clamp(42px,12vw,70px);}}
