/* Coordinates follow the supplied 1920 × 3071 ESG artboard. */
html:has(#esg-reports:target) { scroll-behavior:auto; }
#esg-reports { scroll-margin-top:80px; }
.page-esg .hero-art img { position:absolute; left:-10.5729%; top:-52.1%; width:122.75888%; max-width:none; height:152.100288%; object-fit:fill; }
.page-esg .hero-art:after { background:linear-gradient(180deg,transparent 63.4615%,#0000004d),linear-gradient(90deg,#001526e6,#0015261a 62.5%); }
.page-esg .hero-badge { margin-top:calc(71 * var(--u)); }
.page-esg .badge-copy { top:calc(-23 * var(--u)); left:50%; right:auto; width:max-content; transform:translateX(-50%); white-space:pre; font-size:calc(21 * var(--u)); line-height:calc(27 * var(--u)); }
.esg-mission { position:relative; min-height:calc(339 * var(--u)); padding:calc(100 * var(--u)) calc(200 * var(--u)) calc(40 * var(--u)); text-align:center; background:white; color:#000; }
.esg-mission h2 { font:400 calc(82 * var(--u))/calc(80 * var(--u)) var(--heading); letter-spacing:0; text-transform:uppercase; white-space:pre-line; }
.esg-mission>p { margin-top:calc(10 * var(--u)); font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--serif); letter-spacing:.05em; white-space:pre-line; }
.esg-reports { position:relative; min-height:calc(832 * var(--u)); padding:calc(99 * var(--u)) calc(200 * var(--u)); background:#f3f6f9; color:#000; }
.esg-reports-inner { position:relative; display:grid; grid-template-columns:calc(518 * var(--u)) minmax(0,1fr); column-gap:calc(100 * var(--u)); }
.esg-report-cover { position:absolute; top:calc(-49 * var(--u)); left:0; width:calc(518 * var(--u)); height:calc(732 * var(--u)); border-radius:calc(20 * var(--u)); overflow:hidden; background:white; box-shadow:calc(3 * var(--u)) calc(3 * var(--u)) calc(10 * var(--u)) #99a5ad1a,calc(13 * var(--u)) calc(13 * var(--u)) calc(18 * var(--u)) #99a5ad17,calc(29 * var(--u)) calc(29 * var(--u)) calc(25 * var(--u)) #99a5ad0d,calc(52 * var(--u)) calc(52 * var(--u)) calc(29 * var(--u)) #99a5ad03; }
.esg-report-cover>img { position:absolute; left:-100%; top:-.145313%; width:200.0000167%; max-width:none; height:100.0944564%; object-fit:fill; }
.esg-report-list { grid-column:2; display:flex; flex-direction:column; gap:calc(50 * var(--u)); }
.esg-report-row { position:relative; border-bottom:1px solid rgb(35 43 48 / 16%); }
.esg-report-row:after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,#1db4bf,#295987); transform:scaleX(0); transform-origin:left center; transition:transform .45s cubic-bezier(.16,1,.3,1); pointer-events:none; }
.esg-report-row:hover:after,.esg-report-row:has(>.esg-report-row-link:focus-visible):after { transform:scaleX(1); }
.esg-report-row-link { display:flex; align-items:center; justify-content:space-between; gap:calc(24 * var(--u)); min-height:calc(64 * var(--u)); width:100%; }
.esg-report-row-link[aria-disabled] { cursor:default; }
.esg-report-row h3 { display:flex; align-items:center; gap:calc(20.2 * var(--u)); min-width:0; font-weight:400; }
.esg-report-year { flex:none; font:400 calc(48 * var(--u))/calc(63 * var(--u)) var(--heading); letter-spacing:0; }
.esg-report-title { font:400 calc(28 * var(--u))/calc(34 * var(--u)) var(--body); text-transform:uppercase; overflow-wrap:break-word; }
.esg-report-download { display:inline-flex; flex:none; align-items:center; gap:calc(10 * var(--u)); border:0; padding:0; color:#1db4bf; background:transparent; font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--body); white-space:nowrap; }
.esg-report-download img { width:calc(34 * var(--u)); height:calc(26 * var(--u)); fill:none; stroke:currentColor; stroke-width:2.5; }
.esg-report-download .arrow-dots { stroke-dasharray:1 4; stroke-linecap:round; }
.esg-report-download:disabled { cursor:not-allowed; opacity:1; }
.esg-report-row-link[href]:hover .esg-report-download { color:#006f87; }
.esg-footer-space { height:calc(100 * var(--u)); background:white; }
@media(max-width:1023px) {
  #esg-reports { scroll-margin-top:90px; }
  .page-esg .hero-art img { left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:65% center; }
  .page-esg .hero-badge { margin-top:48px; }
  .page-esg .badge-copy { top:-12px; font-size:16px; line-height:19px; }
  .esg-mission { min-height:0; padding:65px 24px 48px; }
  .esg-mission h2 { font-size:clamp(39px,6.4vw,64px); line-height:1.06; white-space:normal; }
  .esg-mission>p { margin-top:22px; font-size:20px; line-height:1.3; }
  .esg-reports { min-height:0; padding:48px 24px 55px; }
  .esg-reports-inner { display:flex; flex-direction:column; gap:45px; }
  .esg-report-cover { position:relative; left:auto; top:auto; width:min(100%,350px); height:auto; aspect-ratio:518/732; margin:auto; border-radius:16px; box-shadow:8px 13px 30px #99a5ad20; }
  .esg-report-list { gap:26px; }
  .esg-report-row-link { min-height:58px; gap:12px; }
  .esg-report-row h3 { gap:14px; }
  .esg-report-year { font-size:36px; line-height:58px; }
  .esg-report-title { font-size:18px; line-height:24px; }
  .esg-report-download { gap:6px; font-size:15px; line-height:22px; }
  .esg-report-download img { width:23px; height:20px; }
  .esg-footer-space { height:60px; }
}
@media(max-width:400px) { .esg-report-row h3 { gap:10px; } .esg-report-title { font-size:15px; line-height:21px; } .esg-report-download { font-size:14px; gap:4px; } }
