.elementor-565 .elementor-element.elementor-element-9e3b47d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-565 .elementor-element.elementor-element-055f32d{--spacer-size:50px;}/* Start custom CSS for html, class: .elementor-element-09f743d */:root{
  --ink:#0e1f24;
  --muted:#5a6b71;
  --line:#e6edf0;
  --band:#f4f7f8;
  --brand:#0a7d79;
  --accent:#2ea88c;
  --radius:12px;
  --shadow:0 8px 24px rgba(7,24,30,.08);
  --wrap:min(1100px,92vw);
}

*{box-sizing:border-box;}
body{
  margin:0;
  font:400 16px/1.6 system-ui,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:#fff;
}
h1,h2{margin:.2em 0;}
p{margin:.7em 0; color:var(--muted);}
.wrap{width:var(--wrap); margin:auto;}

/* Title */
.page-title{
  font-size:clamp(2rem,4vw,3rem);
  margin-top:1rem;
  display:flex;
  align-items:center;
  gap:.6rem;  /* spacing between icon and text */
}

.page-icon{
  width:2.2rem;   /* scale as needed */
  height:auto;
  flex-shrink:0;
}

/* Intro grid */
.intro{
  display:grid;
  gap:1rem;
  grid-template-columns:1.6fr .9fr;
  margin:1.5rem 0;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1rem 1.25rem;
}
.card--points{border-left:6px solid var(--accent);}
.card h3{margin:.2rem 0 .6rem;}
.card ul{margin:0; padding-left:1.2rem;}
.card li{margin:.4rem 0;}

/* Button (force white text) */
.btn{
  display:inline-block;
  background:var(--brand);
  color:#fff !important;
  padding:.6rem 1rem;
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
}
.btn:hover{
  background:#074e4c;
  color:#fff;
}

/* Chart block with caption */
.chart{
  margin:2rem 0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.chart__inner{
  aspect-ratio:16/9;
  background:linear-gradient(180deg,#eef6f5,#fff);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:.95rem;
}
.chart__img{
  width: 100%;
  height: auto;
  display: block;
}
.chart__caption{
  padding:.6rem .9rem;
  border-top:1px solid var(--line);
  background:#fbfcfc;
  color:#687c82;
  font-size:.9rem;
}

/* Sources band (inset, not edge-aligned) */
.band{
  background:var(--band);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:1.5rem 0;
  margin-top:2rem;

  width:100vw;      /* full width of window */
  margin-left: calc(-50vw + 50%); /* center it if inside .wrap */
}
.sources{
  max-width:75ch;
}
.sources--inset{
  width: min(900px, 90vw);
  margin: 0 auto;
  padding: rem;   /* add horizontal padding */
}

/* Responsive */
@media(max-width:900px){
  .intro{grid-template-columns:1fr;}
}
/* 1) Kill any trailing space from the last element in <main> */
main.wrap > *:last-child { margin-bottom: 0; }

/* 2) Make sure the band itself isn't adding extra bottom space */
.band { margin-bottom: 0; }
.band > *:last-child { margin-bottom: 0; }

/* 3) Neutralise any footer top spacing so it butts up to the band */
#colophon,
.site-footer,
footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
#colophon > *:first-child,
.site-footer > *:first-child,
footer > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}/* End custom CSS */