:root{
  --bg:#f6f8fb;
  --surface:#ffffff;
  --surface-2:#f0f4f8;
  --text:#0f172a;
  --muted:#475569;
  --border:rgba(15,23,42,.12);
  --shadow:0 10px 30px rgba(15,23,42,.10);
  --shadow-2:0 18px 50px rgba(15,23,42,.14);
  --radius:16px;
  --radius-sm:12px;
  --container:1120px;
  --orange:#F39A15;
  --green:#2F8B57;
  --gold:#B5852A;
  --primary:var(--green);
  --accent:var(--orange);
  --focus:rgba(243,154,21,.22);
  --font:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,"Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  padding-top:var(--header-h, 0px);
  background:rgba(246,248,251,1);
  color:var(--text);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(1400px 900px at 12% -14%, rgba(243,154,21,.34), transparent 72%),
    radial-gradient(1400px 980px at 112% 6%, rgba(47,139,87,.26), transparent 72%),
    radial-gradient(1400px 1100px at 50% 118%, rgba(47,139,87,.18), transparent 74%),
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 18%, rgba(243,154,21,.10) 46%, rgba(47,139,87,.10) 82%, rgba(246,248,251,1) 100%),
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 240px),
    linear-gradient(0deg, rgba(246,248,251,1) 0%, rgba(246,248,251,0) 320px);
  transform:translateZ(0);
}
.page-loader{
  position:fixed;
  inset:0;
  z-index:1400;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  transition:opacity .22s ease, visibility .22s ease;
}
.page-loader.is-hidden{
  opacity:0;
  visibility:hidden;
}
.page-loader__center{
  position:relative;
  width:132px;
  height:132px;
}
.page-loader__ring{
  position:absolute;
  inset:0;
  border-radius:999px;
  border:6px solid rgba(15,23,42,.10);
  border-top-color:var(--accent);
  border-right-color:var(--primary);
  border-bottom-color:var(--green);
  animation:loader-spin .95s linear infinite;
}
.page-loader__logo{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:58px;
  height:58px;
}
@keyframes loader-spin{
  to{transform:rotate(360deg)}
}
@media (prefers-reduced-motion: reduce){
  .page-loader__ring{animation:none}
}
a{color:inherit}
img{max-width:100%;height:auto}

.container{
  width:min(var(--container), calc(100% - 24px));
  margin-inline:auto;
}

.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:900;
  background:#fff;
  border-bottom:1px solid var(--border);
}
.topbar{
  background:linear-gradient(90deg, var(--accent), var(--green));
  border-bottom:0;
}
.topbar__inner{
  padding:8px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.topbar__title{
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-size:12px;
  color:#fff;
}
.topbar__meta{
  display:flex;
  align-items:center;
  gap:14px;
}
.topbar__contact,
.topbar__social{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:rgba(255,255,255,.96);
  text-decoration:none;
  font-weight:700;
  font-size:12px;
  white-space:nowrap;
}
.topbar__contact:hover,
.topbar__social:hover{
  color:#fff;
  text-decoration:underline;
}
.topbar__icon{
  width:18px;
  height:18px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  display:block;
  box-sizing:content-box;
  flex:0 0 auto;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.topbar__contact:hover .topbar__icon,
.topbar__social:hover .topbar__icon{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.38);
  transform:translateY(-1px);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width:240px;
}
.brand__logo{
  width:64px;
  height:64px;
  border-radius:12px;
  background:#fff;
  padding:8px;
  box-shadow:0 10px 25px rgba(15,23,42,.10);
}
.brand__name{
  font-weight:800;
  letter-spacing:.2px;
  line-height:1.1;
}
.brand__tagline{
  font-size:12px;
  color:var(--muted);
  line-height:1.2;
}

.nav-toggle{
  display:none;
  border:1px solid var(--border);
  background:rgba(15,23,42,.04);
  border-radius:12px;
  padding:10px;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  background:var(--text);
  margin:4px 0;
  border-radius:2px;
}

.nav__list{
  list-style:none;
  display:flex;
  gap:8px;
  margin:0;
  padding:0;
  flex-wrap:nowrap;
  justify-content:flex-end;
}
.nav__item{position:relative}
.nav__item.has-sub .nav__link{
  padding-right:26px;
}
.nav__dropdown{
  position:absolute;
  left:0;
  top:100%;
  margin-top:8px;
  min-width:280px;
  padding:10px;
  border-radius:14px;
  border:1px solid rgba(47,139,87,.28);
  background:rgba(255,255,255,.96);
  box-shadow:var(--shadow-2);
  display:none;
  z-index:120;
  pointer-events:none;
  list-style:none;
  margin-left:0;
  margin-right:0;
  margin-bottom:0;
}
.nav__dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-10px;
  height:10px;
}
.nav__dropitem{position:relative}
.nav__dropdown--nested{
  left:calc(100% + 10px);
  top:0;
  margin-top:0;
  min-width:280px;
}
.nav__sublink{
  position:relative;
  display:flex;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:rgba(15,23,42,.86);
  border:1px solid transparent;
}
.nav__sublink:hover{
  background:linear-gradient(90deg, rgba(47,139,87,.10), rgba(243,154,21,.10));
  border-color:rgba(243,154,21,.22);
}
.nav__item.has-sub:hover > .nav__dropdown{
  display:block;
  pointer-events:auto;
}
.nav__item.has-sub.is-open > .nav__dropdown{
  display:block;
  pointer-events:auto;
}
.nav__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 10px;
  border-radius:12px;
  text-decoration:none;
  color:rgba(15,23,42,.88);
  font-weight:900;
  letter-spacing:.25px;
  text-transform:uppercase;
  font-size:12px;
  white-space:nowrap;
  border:1px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.nav__item.has-sub > .nav__link::before{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid rgba(15,23,42,.62);
  border-bottom:2px solid rgba(15,23,42,.62);
  transform:translateY(-60%) rotate(45deg);
}
.nav__item.has-sub.is-open > .nav__link::before{
  transform:translateY(-40%) rotate(-135deg);
}
.nav__link:hover{
  background:rgba(15,23,42,.03);
  color:rgba(15,23,42,.95);
  border-color:rgba(15,23,42,.06);
}
.nav__link.is-active{
  color:rgba(15,23,42,.98);
  border-color:rgba(243,154,21,.22);
  background:linear-gradient(90deg, rgba(243,154,21,.12), rgba(47,139,87,.08));
}
.nav__link::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(47,139,87,.0), rgba(47,139,87,.0));
  transform:scaleX(.25);
  transform-origin:left;
  transition:transform .18s ease, background .18s ease;
}
.nav__link:hover::after{
  background:linear-gradient(90deg, rgba(47,139,87,.85), rgba(243,154,21,.85));
  transform:scaleX(1);
}
.nav__link.is-active::after{
  background:linear-gradient(90deg, rgba(243,154,21,.95), rgba(47,139,87,.95));
  transform:scaleX(1);
}

.main{padding:3px 0 64px}

.home-hero{
  padding:0 0 18px;
}

.hero-kpis{
  margin-top:-28px;
  position:relative;
  z-index:7;
  padding:0 0 10px;
}
.kpi-bar{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  width:calc(100% * 11 / 12);
  margin:0 auto;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.kpi-bar--link{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.kpi-bar--link:hover{border-color:rgba(243,154,21,.28);box-shadow:0 16px 42px rgba(15,23,42,.10)}
.kpi-bar--link:focus{outline:none;box-shadow:0 0 0 4px var(--focus)}
.kpi{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 12px;
}
.kpi + .kpi{
  border-left:1px solid rgba(15,23,42,.08);
}
.kpi__icon{
  width:40px;
  height:40px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(15,23,42,.06);
  color:rgba(15,23,42,.70);
}
.kpi[data-variant="orange"] .kpi__icon{
  background:rgba(243,154,21,.18);
  color:var(--accent);
}
.kpi[data-variant="green"] .kpi__icon{
  background:rgba(47,139,87,.16);
  color:var(--primary);
}
.kpi[data-variant="gold"] .kpi__icon{
  background:rgba(244,197,66,.20);
  color:var(--gold);
}
.kpi[data-variant="blue"] .kpi__icon{
  background:rgba(30,79,215,.14);
  color:#1e4fd7;
}
.kpi[data-variant="red"] .kpi__icon{
  background:rgba(233,29,38,.14);
  color:#e91d26;
}
.kpi__svg{
  width:20px;
  height:20px;
}
.kpi__emoji{
  font-size:18px;
  line-height:1;
}
.kpi__body{
  min-width:0;
}
.kpi__value{
  font-weight:950;
  font-size:28px;
  letter-spacing:.2px;
  line-height:1.05;
  color:rgba(15,23,42,.92);
}
.kpi__value--green{color:var(--primary)}
.kpi__value--red{color:#e91d26}
.kpi__value--blue{color:#1e4fd7}
.kpi__label{
  margin-top:3px;
  font-size:10px;
  line-height:1.25;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:rgba(15,23,42,.62);
  font-weight:800;
}

.carousel--hero{
  position:relative;
  height:clamp(240px, 32vh, 340px);
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.01));
  overflow:hidden;
}
.carousel--hero .carousel__track{
  height:100%;
  overflow:hidden;
}
.carousel__slide--hero{
  height:100%;
  position:relative;
  display:block;
  overflow:hidden;
}
.carousel__slide--hero > a{
  display:block;
  height:100%;
  width:100%;
  position:relative;
  z-index:1;
}
.carousel__slide--hero > a > picture,
.carousel__slide--hero > picture{
  display:block;
  width:100%;
  height:100%;
}
.carousel__slide--hero > img{
  display:block;
  height:100%;
  width:100%;
  position:relative;
  z-index:1;
}
.carousel__img--hero{
  max-height:none;
  height:100%;
  width:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.carousel__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  background:linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.03) 58%, rgba(15,23,42,.22) 100%);
  pointer-events:none;
  z-index:2;
}
.carousel__overlay-inner{
  pointer-events:auto;
  color:#fff;
  padding:0 0 42px;
  width:100%;
}
.carousel__caption{
  width:fit-content;
  max-width:min(920px, 100%);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  padding:14px 14px;
  border-radius:18px;
  background:rgba(15,23,42,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  margin-inline:auto;
}
.carousel__caption .btn{
  flex:0 0 auto;
  align-self:flex-end;
}
.carousel__message{
  color:rgba(255,255,255,.96);
  line-height:1.5;
  font-weight:700;
  max-width:72ch;
  text-align:center;
}
.carousel__message :where(p, ul, ol){margin:0}
.carousel__message :where(p + p){margin-top:8px}
.carousel__message :where(ul,ol){margin:8px 0 0 0;padding-left:18px;text-align:left}
.carousel__message :where(li + li){margin-top:6px}
.carousel__message a{color:inherit;text-decoration:underline;text-decoration-thickness:2px}
.carousel__message a:hover{color:rgba(243,154,21,.92)}
.carousel__kicker{
  font-size:12px;
  letter-spacing:.9px;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
}
.carousel__title{
  margin:10px 0 8px;
  font-size:36px;
  line-height:1.1;
  letter-spacing:-.9px;
}
.carousel__subtitle{
  font-weight:800;
  color:rgba(255,255,255,.88);
  margin-bottom:10px;
}
.carousel__lead{
  margin:0 0 16px;
  max-width:70ch;
  color:rgba(255,255,255,.90);
  line-height:1.55;
}
.carousel__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.btn--ghost-on-dark{
  color:#fff;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.22);
}
.btn--ghost-on-dark:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.30);
}
.carousel__dots--hero{
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  border-top:0;
  background:transparent;
  padding:0;
  z-index:6;
  pointer-events:auto;
}
.carousel__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(15,23,42,.22);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(10px);
  z-index:6;
}
.carousel__nav:hover{
  background:rgba(15,23,42,.30);
  border-color:rgba(255,255,255,.44);
}
.carousel__nav--prev{left:14px}
.carousel__nav--next{right:14px}
.carousel__nav-icon{width:22px;height:22px;display:block}
.carousel--hero .carousel__dot{
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.18);
}
.carousel--hero .carousel__dot.is-active{
  border-color:rgba(255,255,255,.80);
  background:linear-gradient(180deg, var(--accent), var(--primary));
}

.hero{
  position:relative;
  padding:22px 0 18px;
}
.hero__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 500px at 5% 0%, rgba(47,139,87,.18), transparent 60%),
    radial-gradient(920px 520px at 90% 10%, rgba(243,154,21,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.55));
  border-bottom:1px solid rgba(15,23,42,.10);
}
.hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
  align-items:stretch;
}
.hero__content{
  padding:18px;
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow);
}
.hero__kicker{
  font-size:12px;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:rgba(15,23,42,.72);
}
.hero__title{
  margin:8px 0 6px;
  font-size:34px;
  letter-spacing:-.8px;
  line-height:1.15;
}
.hero__subtitle{
  color:rgba(15,23,42,.72);
  font-weight:800;
  margin-bottom:10px;
}
.hero__lead{
  margin:0 0 14px;
  color:rgba(15,23,42,.82);
  line-height:1.6;
}
.hero__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.hero__media{
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.carousel{
  height:100%;
  min-height:300px;
  display:flex;
  flex-direction:column;
}
.carousel__track{
  flex:1;
  display:flex;
  overflow:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.carousel__track::-webkit-scrollbar{height:10px}
.carousel__track::-webkit-scrollbar-thumb{background:rgba(15,23,42,.12);border-radius:999px}
.carousel__slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.01));
}
.carousel__img{
  width:100%;
  height:100%;
  max-height:420px;
  object-fit:cover;
  display:block;
}
.carousel__slide--empty{
  min-height:320px;
}
.carousel__empty{
  padding:18px;
  color:rgba(15,23,42,.65);
}
.carousel__dots{
  display:flex;
  gap:8px;
  padding:12px 14px;
  justify-content:center;
  border-top:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.9);
}
.carousel__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.22);
  background:rgba(15,23,42,.10);
  cursor:pointer;
}
.carousel__dot.is-active{
  background:linear-gradient(180deg, var(--accent), var(--primary));
  border-color:rgba(15,23,42,.08);
}

.carousel--hero .carousel__dots.carousel__dots--hero{
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  padding:0;
  border-top:0;
  background:transparent;
  z-index:6;
  pointer-events:auto;
}

.sections{margin-top:16px}
.home-prefooter{margin-top:16px}
.region-card__headline{
  margin:0 0 6px;
  font-weight:950;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--accent);
}
.region-card__title{
  margin:0 0 12px;
  font-size:14px;
  letter-spacing:.9px;
  text-transform:uppercase;
  color:rgba(15,23,42,.74);
}
.region-card__grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
  align-items:stretch;
}
.region-card__map{
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.70));
  box-shadow:0 10px 25px rgba(15,23,42,.06);
  padding:12px;
  overflow:hidden;
  position:relative;
  min-height:220px;
}
.region-card__imgwrap{
  position:absolute;
  inset:12px;
  z-index:2;
}
.region-card__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.region-card__img--measure{
  opacity:0;
}
.region-card__tooltip{
  position:absolute;
  left:0;
  top:0;
  z-index:3;
  max-width:240px;
  padding:6px 8px;
  border-radius:10px;
  font-size:12px;
  line-height:1.2;
  color:#fff;
  background:rgba(15,23,42,.92);
  box-shadow:0 10px 25px rgba(15,23,42,.25);
  pointer-events:none;
  transform:translate(-50%,-120%);
  opacity:0;
  transition:opacity .12s ease;
}
.region-card__tooltip.is-visible{
  opacity:1;
}
.region-card__shape{
  position:absolute;
  inset:12px;
  background:linear-gradient(180deg, rgba(47,139,87,.26), rgba(243,154,21,.12));
  -webkit-mask-image:url('../img/ci-outline.svg');
  mask-image:url('../img/ci-outline.svg');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  opacity:.95;
  z-index:1;
  pointer-events:none;
}
.region-card__marker{
  position:absolute;
  transform:translate(-50%,-100%);
  filter:drop-shadow(0 10px 16px rgba(15,23,42,.14));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:transparent;
  border:0;
  cursor:default;
  outline:none;
  z-index:2;
}
.region-card__marker-icon{
  width:18px;
  height:18px;
}
.region-card__marker--top{
  width:34px;
  height:34px;
  z-index:2;
}
.region-card__marker--top .region-card__marker-icon{
  width:22px;
  height:22px;
}
.region-card__marker--sm{
  width:18px;
  height:18px;
  z-index:1;
}
.region-card__marker--sm .region-card__marker-icon{
  width:12px;
  height:12px;
}
.region-card__marker[data-variant="top"]{color:var(--accent)}
.region-card__marker[data-variant="other"]{color:rgba(15,23,42,.55)}
.region-card__marker:hover,
.region-card__marker:focus{
  transform:translate(-50%,-100%) scale(1.06);
  box-shadow:var(--shadow-2);
  border-color:rgba(15,23,42,.16);
}
.region-card__list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.region-card__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.72);
}
.region-card__name{
  font-weight:900;
  color:rgba(15,23,42,.92);
}
.region-card__value{
  font-weight:900;
  letter-spacing:.2px;
  color:rgba(15,23,42,.72);
}

.quick-links{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.quick-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.quick-card__media{
  height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(90deg, rgba(47,139,87,.18), rgba(243,154,21,.18));
}
.quick-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.quick-card--complaint .quick-card__media{
  background:linear-gradient(90deg, rgba(47,139,87,.18), rgba(47,139,87,.10));
}
.quick-card--compare .quick-card__media{
  background:linear-gradient(90deg, rgba(243,154,21,.18), rgba(243,154,21,.10));
}
.quick-card--links .quick-card__media{
  background:linear-gradient(90deg, rgba(243,154,21,.16), rgba(47,139,87,.14));
}
.quick-card--evaluate .quick-card__media{
  background:linear-gradient(90deg, rgba(243,154,21,.16), rgba(47,139,87,.12));
}
.quick-card__svg{
  width:min(320px, 92%);
  height:92px;
}
.quick-card__body{
  padding:14px;
}
.quick-card__title{
  margin:0 0 6px;
  font-size:16px;
  letter-spacing:-.2px;
  color:var(--accent);
}
.quick-card__text{
  margin:0 0 12px;
  color:rgba(15,23,42,.76);
  line-height:1.4;
}
.quick-links__list{
  margin:0;
  padding-left:18px;
  color:rgba(15,23,42,.82);
}
.quick-links__list a{
  color:rgba(15,23,42,.86);
  text-decoration:none;
}
.quick-links__list a:hover{
  color:var(--accent);
  text-decoration:underline;
}

.services{
  padding:18px 0 6px;
}
.services__head{
  margin-bottom:12px;
}
.services__title{
  margin:0;
  font-size:22px;
  letter-spacing:-.3px;
  color:var(--accent);
}
.services--engagements .services__head{
  text-align:center;
}
.services--engagements .service-card__icon{
  width:56px;
  height:56px;
  border-radius:18px;
}
.services--engagements .service-card__icon-svg{
  width:28px;
  height:28px;
}
.services--engagements .service-card__text::after{
  content:"";
  display:block;
  width:54px;
  height:2px;
  border-radius:999px;
  margin-top:10px;
  background:rgba(15,23,42,.22);
}
.services--engagements .engagement-card[data-variant="orange"] .service-card__text::after{
  background:var(--accent);
}
.services--engagements .engagement-card[data-variant="green"] .service-card__text::after{
  background:var(--primary);
}
.services--engagements .engagement-card[data-variant="gold"] .service-card__text::after{
  background:var(--gold);
}
.services__title--lined{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-transform:uppercase;
}
.services__title--no-uppercase{
  text-transform:none;
}
.services__title--lined::before,
.services__title--lined::after{
  content:"";
  height:2px;
  flex:1;
  max-width:140px;
  background:rgba(15,23,42,.22);
}
.services__lead{
  margin:6px 0 0;
  color:rgba(15,23,42,.72);
}
.services__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.services__grid--4{
  grid-template-columns:repeat(4, 1fr);
}
.message-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:14px;
  align-items:stretch;
}
.message-prose{
  padding:18px;
}
.message-prose__photo{
  float:right;
  width:min(280px, 42%);
  margin:2px 0 12px 16px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  overflow:hidden;
  padding:10px;
}
.message-prose__photo-img{
  width:100%;
  height:auto;
  display:block;
  border-radius:calc(var(--radius) - 8px);
  object-fit:cover;
}
.message-prose::after{
  content:"";
  display:block;
  clear:both;
}
.message-prose__signature{
  margin:16px 0 0;
  text-align:right;
}
.message-prose__signature-role{
  display:block;
  color:rgba(15,23,42,.72);
  font-weight:800;
}
.message-prose__signature-name{
  display:block;
  font-weight:900;
  letter-spacing:.4px;
}
.message-photo{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:12px;
}
.message-photo__img{
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
  display:block;
}
.trust-banner{
  padding:8px 0 4px;
}
.trust-banner__card{
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.12);
  background:
    radial-gradient(900px 260px at 10% 0%, rgba(47,139,87,.10), transparent 60%),
    radial-gradient(900px 260px at 90% 0%, rgba(243,154,21,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.86));
  box-shadow:var(--shadow);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 2fr;
  min-height:220px;
}
.trust-banner__media{
  background:linear-gradient(90deg, rgba(15,23,42,.06), rgba(15,23,42,.02));
  display:flex;
  align-items:stretch;
  justify-content:stretch;
}
.trust-banner__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.trust-banner__content{
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.trust-banner__title{
  margin:0;
  font-size:22px;
  letter-spacing:-.4px;
  color:var(--accent);
}
.trust-banner__lead{
  margin:0;
  color:rgba(15,23,42,.72);
  line-height:1.5;
  max-width:72ch;
}
.trust-banner__list{
  margin:8px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 14px;
}
.trust-banner__list--mini{margin-top:10px}
.trust-banner__mini{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 10px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.72);
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.trust-banner__mini:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-2);
  border-color:rgba(15,23,42,.16);
}
.trust-banner__mini:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px var(--focus), var(--shadow);
  border-color:rgba(243,154,21,.45);
}
.trust-banner__emoji{
  width:28px;
  height:28px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:16px;
  line-height:1;
  background:linear-gradient(180deg, var(--primary), #2a7a4d);
  box-shadow:0 8px 18px rgba(47,139,87,.14);
}
.trust-banner__mini[data-variant="orange"] .trust-banner__emoji{
  background:linear-gradient(180deg, var(--accent), #f0b15a);
  box-shadow:0 8px 18px rgba(243,154,21,.16);
}
.trust-banner__mini[data-variant="gold"] .trust-banner__emoji{
  background:linear-gradient(180deg, var(--gold), #d7a24b);
  box-shadow:0 8px 18px rgba(215,162,75,.14);
}
.trust-banner__mini-title{
  font-weight:900;
  color:rgba(15,23,42,.92);
  font-size:13px;
  line-height:1.25;
}
.trust-banner__mini-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.trust-banner__mini-desc{
  color:rgba(15,23,42,.70);
  font-size:12px;
  line-height:1.25;
  font-weight:600;
}
.trust-banner__item{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.trust-banner__check{
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  background:linear-gradient(180deg, var(--primary), #2a7a4d);
  box-shadow:0 8px 18px rgba(47,139,87,.22);
}
.trust-banner__check svg{width:14px;height:14px;display:block}
.trust-banner__label{
  font-weight:900;
  color:rgba(15,23,42,.92);
  margin:0;
}
.trust-banner__desc{
  margin:2px 0 0;
  color:rgba(15,23,42,.70);
  font-size:13px;
  line-height:1.35;
}
.service-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.12);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.service-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
  border-color:rgba(15,23,42,.16);
}
.service-card__icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#fff;
  flex:0 0 auto;
  background:linear-gradient(180deg, var(--primary), #2a7a4d);
}
.service-card__icon-svg{width:22px;height:22px;display:block}
.service-card__icon[data-variant="orange"]{
  background:linear-gradient(180deg, var(--accent), #f0b15a);
}
.service-card__icon[data-variant="gold"]{
  background:linear-gradient(180deg, var(--gold), #d7a24b);
}
.service-card__title{
  font-weight:900;
  margin:0 0 4px;
}
.service-card__text{
  color:rgba(15,23,42,.72);
  line-height:1.35;
}

.btn--sm{
  padding:7px 10px;
  border-radius:12px;
  font-size:12px;
}

.news-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
.news-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.news-card__media{display:block;text-decoration:none}
.news-card__img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
  background:rgba(15,23,42,.04);
}
.news-card__body{padding:12px 14px 14px}
.news-card__title{
  font-size:16px;
  font-weight:800;
  letter-spacing:-.2px;
  color:rgba(15,23,42,.94);
  margin:0 0 6px;
}
.news-card__meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:rgba(15,23,42,.70);
  font-size:13px;
  margin-bottom:10px;
}
.news-card__actions{display:flex;gap:10px}

.article-meta{color:rgba(15,23,42,.70);font-size:13px}
.article-page{display:grid;gap:14px}
.article-hero{
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(15,23,42,.10);
}
.article-hero__img{width:100%;height:360px;object-fit:cover;display:block;background:rgba(15,23,42,.04)}
.article-gallery{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:10px;
}
.gallery-thumb{
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.86);
  border-radius:14px;
  overflow:hidden;
  padding:0;
  cursor:pointer;
}
.gallery-thumb__img{width:100%;height:86px;object-fit:cover;display:block;background:rgba(15,23,42,.04)}
.modal__panel--image{width:min(980px, calc(100% - 24px))}
.image-carousel__track{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.image-carousel__track .carousel__slide{flex:0 0 100%;scroll-snap-align:start}
.image-modal__img{width:100%;height:520px;object-fit:contain;display:block;background:rgba(15,23,42,.04);border-radius:16px}

.page-header{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 18px;
  padding:18px 18px;
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.12);
  background:
    radial-gradient(900px 260px at 10% 0%, rgba(47,139,87,.14), transparent 60%),
    radial-gradient(900px 260px at 90% 0%, rgba(243,154,21,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  box-shadow:var(--shadow);
}
.page-title{
  font-size:34px;
  margin:0;
  letter-spacing:-.5px;
}
.section-title{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--accent);
}
.section-title::after{
  content:"";
  height:10px;
  flex:1;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(47,139,87,.35), rgba(243,154,21,.35));
}
.page-lead{
  margin:0;
  color:var(--muted);
  max-width:70ch;
}
.page-meta{
  color:var(--muted);
  font-size:13px;
}
.breadcrumbs{
  color:var(--muted);
  font-size:13px;
}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--text)}

.prose{
  padding:20px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.prose :where(h2,h3,h4){margin-top:22px}
.prose :where(h2){color:var(--accent)}
.prose :where(p,ul,ol){color:rgba(15,23,42,.9)}
.prose :where(p):not(.org-card__text):not(.stake-card__text){text-align:justify;text-justify:inter-word}
.prose :where(li){text-align:justify;text-justify:inter-word}
.prose :where(a){color:var(--accent)}
.prose :where(a:hover){text-decoration-thickness:2px}

.missions-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}
.missions-col{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mission-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
}
.mission-num{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#fff;
  flex:0 0 auto;
  background:linear-gradient(180deg, var(--accent), var(--primary));
}
.mission-text{
  color:rgba(15,23,42,.86);
  line-height:1.45;
  text-align:justify;
  text-justify:inter-word;
}

.missions-footnote{display:none}
.intervenants-link{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:2px;
}
.intervenants-link:hover{color:rgba(243,154,21,.92)}

.modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:1200;
}
.modal.is-open{display:block}
.modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
}
.modal__panel{
  position:relative;
  width:min(720px, calc(100% - 24px));
  margin:calc(var(--header-h, 0px) + 24px) auto 24px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow-2);
  padding:18px;
}
.modal__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.modal__title{
  margin:0;
  font-size:18px;
  letter-spacing:-.2px;
  color:rgba(15,23,42,.96);
}
.modal__close{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.9);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(15,23,42,.86);
}
.modal__close:hover{
  border-color:rgba(243,154,21,.35);
  background:rgba(243,154,21,.10);
}
.modal__body p{margin:0;color:rgba(15,23,42,.88);line-height:1.55}

.org-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  margin:14px 0 6px;
}
.org-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  padding:14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.org-card__icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  background:linear-gradient(180deg, var(--accent), var(--primary));
}
.org-card__title{
  margin:0;
  font-size:16px;
  letter-spacing:-.2px;
  color:rgba(15,23,42,.94);
}
.org-card__text{
  margin:6px 0 0;
  color:rgba(15,23,42,.78);
  line-height:1.42;
}
.org-section{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(15,23,42,.10);
}
.org-lead{
  font-size:16px;
  line-height:1.55;
  color:rgba(15,23,42,.88);
}

.stake-cards{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
  margin:14px 0 6px;
}
.stake-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  padding:14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.stake-card__icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  background:linear-gradient(180deg, var(--accent), var(--primary));
}
.stake-card__title{
  margin:0;
  font-size:16px;
  letter-spacing:-.2px;
  color:rgba(15,23,42,.94);
}
.stake-card__text{
  margin:6px 0 0;
  color:rgba(15,23,42,.78);
  line-height:1.42;
  text-align:left;
}
.gov-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  margin:10px 0 18px;
}
.gov-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  padding:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:8px;
}
.gov-card__photo{
  width:108px;
  height:108px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(15,23,42,.04);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gov-card__img{width:100%;height:100%;object-fit:cover;display:block}
.gov-card__placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  letter-spacing:.4px;
  color:rgba(15,23,42,.82);
  background:linear-gradient(180deg, rgba(243,154,21,.14), rgba(47,139,87,.10));
}
.gov-card__name{font-weight:900;letter-spacing:-.2px;color:rgba(15,23,42,.94)}
.gov-card__role{color:rgba(15,23,42,.72);font-size:13px;line-height:1.4}
.stake-lead{
  font-size:16px;
  line-height:1.55;
  color:rgba(15,23,42,.88);
}

.textes-lead{
  font-size:16px;
  line-height:1.55;
  color:rgba(15,23,42,.88);
  margin:0 0 14px;
}
.textes-grid{
  display:grid;
  gap:12px;
}
.texte-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.texte-card__title{
  font-weight:600;
  letter-spacing:-.2px;
  color:rgba(15,23,42,.92);
}
.texte-card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:12px;
  border:1px solid rgba(243,154,21,.30);
  background:rgba(243,154,21,.10);
  color:var(--accent);
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  letter-spacing:.4px;
  text-transform:none;
}
.texte-card__link:hover{
  background:rgba(243,154,21,.14);
  border-color:rgba(243,154,21,.40);
}
.texte-card__icon{width:16px;height:16px;display:block}

.cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
.card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:180px;
}
.card__meta{color:var(--muted);font-size:13px}
.card__title{font-size:18px;margin:0}
.card__title a{text-decoration:none}
.card__title a:hover{text-decoration:underline}
.card__text{margin:0;color:rgba(15,23,42,.82)}
.card__actions{margin-top:auto}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  font-weight:700;
  letter-spacing:.2px;
}
.btn--primary{
  color:#fff;
  background:linear-gradient(180deg, var(--primary), #2a7a4d);
  border-color:rgba(47,139,87,.45);
}
.btn--primary:hover{filter:brightness(1.03)}
.btn--ghost{
  color:var(--text);
  background:rgba(15,23,42,.04);
  border-color:var(--border);
}
.btn--ghost:hover{background:rgba(15,23,42,.06)}

.grid{
  display:grid;
  gap:14px;
}
.grid--2{grid-template-columns:1.55fr .75fr}
.grid--2-eq{grid-template-columns:1fr 1fr}

.layout-grid{
  display:grid;
  grid-template-columns:1.55fr .75fr;
  gap:14px;
  align-items:start;
}
.layout-main{min-width:0}
.layout-aside{min-width:0}

.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
  box-shadow:var(--shadow);
  color:rgba(15,23,42,.88);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, background .16s ease, border-color .16s ease;
  z-index:950;
}
.back-to-top.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.back-to-top:hover{
  border-color:rgba(243,154,21,.35);
  background:linear-gradient(180deg, rgba(243,154,21,.14), rgba(47,139,87,.12));
}
.back-to-top__icon{width:22px;height:22px;display:block}

.panel{
  padding:18px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
}
.panel--blank{min-height:420px}
.panel h2{margin:0 0 12px;font-size:18px}

.form{display:flex;flex-direction:column;gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field span{color:var(--muted);font-size:13px}
.field__label{color:var(--muted);font-size:13px;font-weight:700}
.field__control{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  outline:none;
}
.field__control:focus{box-shadow:0 0 0 4px var(--focus);border-color:rgba(243,154,21,.45)}
.field__control:is(select){appearance:none;background-image:linear-gradient(45deg, transparent 50%, rgba(15,23,42,.55) 50%),linear-gradient(135deg, rgba(15,23,42,.55) 50%, transparent 50%);background-position:calc(100% - 18px) calc(1em + 4px),calc(100% - 12px) calc(1em + 4px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
.field--btn{justify-content:flex-end}
input,textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  outline:none;
}
input:focus,textarea:focus{box-shadow:0 0 0 4px var(--focus);border-color:rgba(243,154,21,.45)}

.indicators{padding:6px 0 18px}
.indicators-filters{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  padding:14px;
}
.indicators-filters__row{
  display:grid;
  grid-template-columns:1.2fr .8fr 1.5fr 1.8fr auto;
  gap:12px;
  align-items:end;
}
.indicators-filters__hint{
  margin-top:10px;
  color:rgba(15,23,42,.62);
  font-weight:700;
  font-size:12px;
}
.indicators-empty{
  margin-top:14px;
  padding:14px;
  border-radius:var(--radius);
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
  color:rgba(15,23,42,.78);
  font-weight:700;
}

.ddb4-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:1.1fr 1.25fr 1fr;
  gap:14px;
  align-items:start;
}
.ddb4-grid--indicators{
  grid-template-columns:repeat(12, 1fr);
}
.ddb4-grid--indicators .ddb4-card--sat{grid-column:span 4}
.ddb4-grid--indicators .ddb4-card--kpis{grid-column:span 8}
.ddb4-grid--indicators .ddb4-card--friction{grid-column:1 / -1}
.ddb4-card{
  border:1px solid #d8e2f1;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.ddb4-card-h{
  background:#0b2d5c;
  color:#fff;
  font-weight:900;
  padding:10px 12px;
  font-size:13px;
  letter-spacing:.4px;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}
.ddb4-muted{opacity:.88;font-weight:800;font-size:11px}
.ddb4-card-b{padding:12px}
.ddb4-donut{
  --sat:60%;
  width:100%;
  max-width:280px;
  margin:0 auto;
}
.ddb4-donut__inner{
  width:100%;
  aspect-ratio:1/1;
  border-radius:999px;
  background:conic-gradient(#47b648 var(--sat), #e91d26 0);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ddb4-donut--3d .ddb4-donut__inner{
  box-shadow:
    inset 0 -14px 22px rgba(0,0,0,.18),
    inset 0 10px 16px rgba(255,255,255,.28),
    0 18px 24px rgba(15,23,42,.14);
}
.ddb4-donut--3d .ddb4-donut__inner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.62), rgba(255,255,255,0) 58%);
  pointer-events:none;
}
.ddb4-donut--3d .ddb4-donut__inner::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.10);
  pointer-events:none;
}
.ddb4-center{
  position:absolute;
  inset:18px;
  border-radius:999px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 10px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08), inset 0 10px 18px rgba(15,23,42,.06);
}
.ddb4-center .p1{font-size:32px;font-weight:950;color:#0b2d5c;line-height:1}
.ddb4-center .l1{font-size:12px;font-weight:900;color:#0b2d5c;letter-spacing:.6px}
.ddb4-center .p2{font-size:26px;font-weight:950;color:#e91d26;line-height:1.1;margin-top:6px}
.ddb4-center .l2{font-size:12px;font-weight:900;color:#0b2d5c;letter-spacing:.6px}
.ddb4-quote{
  margin-top:10px;
  color:#0b2d5c;
  font-style:italic;
  font-weight:700;
  padding:10px 12px;
  border-radius:12px;
  background:#f3f7ff;
}
.ddb4-kpi{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #eef2fb;
}
.ddb4-kpi:last-of-type{border-bottom:0}
.ddb4-kpi .ico{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}
.ddb4-kpi .t{font-weight:950;color:#0b2d5c;font-size:12px;line-height:1.15}
.ddb4-kpi .c{margin-top:4px;font-weight:800;font-size:11px;color:#0b2d5c;opacity:.85}
.ddb4-kpi .v{font-weight:950;font-size:20px;line-height:1}
.ddb4-foot{
  margin-top:10px;
  padding:8px 12px;
  font-size:11px;
  color:#0b2d5c;
  background:#f3f7ff;
  border:1px solid #dfe7f5;
  border-radius:12px;
  font-weight:800;
}
.ddb4-foot--plain{margin-top:12px}
.ddb4-fr-row{
  display:grid;
  grid-template-columns:1.4fr 2.4fr auto auto;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.ddb4-fr-row:last-of-type{margin-bottom:0}
.ddb4-ico{display:inline-flex;width:34px;height:34px;border-radius:999px;background:#0b2d5c;color:#fff;align-items:center;justify-content:center;font-size:18px}
.ddb4-fr-row .cat{font-weight:900;color:#0b2d5c;display:flex;align-items:center;gap:8px}
.ddb4-progress{height:12px;background:#eef2fb;border-radius:999px;overflow:hidden}
.ddb4-progress__bar{height:100%;border-radius:999px}
.ddb4-fr-row .pct{min-width:70px;text-align:right;color:#0b2d5c;font-weight:950}
.ddb4-fr-row .lvl{font-weight:950;font-size:12px}
.ddb4-fr-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;font-weight:800;color:#0b2d5c;margin-top:8px}
.ddb4-pill{display:inline-flex;align-items:center;gap:6px}
.ddb4-dot{width:10px;height:10px;border-radius:999px;display:inline-block}

@media (max-width: 980px){
  .indicators-filters__row{grid-template-columns:1fr 1fr;align-items:stretch}
  .field--btn{grid-column:1 / -1}
  .ddb4-grid{grid-template-columns:1fr}
  .ddb4-donut{max-width:260px}
  .ddb4-grid--indicators{grid-template-columns:1fr}
  .ddb4-grid--indicators .ddb4-card--sat,
  .ddb4-grid--indicators .ddb4-card--kpis,
  .ddb4-grid--indicators .ddb4-card--friction{grid-column:auto}
}

.kv{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid rgba(15,23,42,.10);
}
.kv:last-child{border-bottom:0}
.kv__k{color:var(--muted);font-size:13px}
.kv__v{color:rgba(15,23,42,.92)}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}
.contact-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,.92));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.contact-card__head{
  padding:16px 16px 10px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.contact-card__title{
  margin:0;
  font-size:18px;
  letter-spacing:-.2px;
  color:rgba(15,23,42,.94);
}
.contact-card__lead{
  margin:6px 0 0;
  color:rgba(15,23,42,.70);
}
.contact-card__image{
  width:100%;
  height:240px;
  object-fit:contain;
  display:block;
  background:rgba(255,255,255,.72);
  border-top:1px solid rgba(15,23,42,.06);
  border-bottom:1px solid rgba(15,23,42,.06);
}
.contact-card__body{
  padding:14px 16px 12px;
}
.contact-kv{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid rgba(15,23,42,.10);
}
.contact-kv:last-child{border-bottom:0}
.contact-kv__k{color:var(--muted);font-size:13px}
.contact-kv__v{color:rgba(15,23,42,.92)}
.contact-link{color:rgba(15,23,42,.92);text-decoration:none}
.contact-link:hover{color:var(--accent);text-decoration:underline}
.contact-form h2{margin-top:0}
.contact-social{display:flex;gap:10px;align-items:center}
.contact-social__link{
  width:36px;
  height:36px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(243,154,21,.26);
  background:linear-gradient(180deg, rgba(243,154,21,.14), rgba(47,139,87,.10));
  color:rgba(15,23,42,.88);
  text-decoration:none;
}
.contact-social__link:hover{
  border-color:rgba(243,154,21,.38);
  background:linear-gradient(180deg, rgba(243,154,21,.18), rgba(47,139,87,.14));
  color:rgba(15,23,42,.96);
}
.contact-social__icon{width:16px;height:16px;display:block}
.contact-map-full{margin-top:14px}

.map{
  margin-top:14px;
  overflow:hidden;
  border-radius:var(--radius-sm);
  border:1px solid rgba(15,23,42,.12);
}
.map iframe{display:block;width:100%}

.alert{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--border);
  margin:0 0 14px;
}
.alert--success{border-color:rgba(47,139,87,.35);background:rgba(47,139,87,.10)}
.alert--error{border-color:rgba(243,154,21,.38);background:rgba(243,154,21,.10)}
.alert--info{border-color:rgba(15,23,42,.12);background:rgba(15,23,42,.04)}

.empty-state{
  padding:22px;
  border-radius:var(--radius);
  border:1px dashed rgba(15,23,42,.18);
  background:rgba(255,255,255,.72);
}
.empty-state h2{margin:0 0 8px}
.empty-state p{margin:0;color:var(--muted)}

.table{
  border-radius:var(--radius);
  border:1px solid var(--border);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.table__head,.table__row{
  display:grid;
  grid-template-columns:1.4fr .7fr .5fr .4fr;
  gap:12px;
  align-items:center;
  padding:12px 14px;
}
.table__head{
  background:rgba(15,23,42,.04);
  color:var(--muted);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.table__row{
  border-top:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.76);
}
.table__title{font-weight:800}
.table__cell--right{justify-self:end}

.footer{
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.88);
}
.footer__inner{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:16px;
  padding:26px 0;
}
.footer__brand{display:flex;align-items:center;gap:12px}
.footer__logo{
  width:42px;height:42px;
  border-radius:12px;
  background:#fff;
  padding:6px;
}
.footer__name{font-weight:900}
.footer__muted{color:var(--muted);font-size:13px}
.footer__partners{margin-top:14px}
.carousel--partners{
  position:relative;
  min-height:112px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  overflow:hidden;
}
.carousel--partners .carousel__track{
  height:112px;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overflow:auto;
  overflow-y:hidden;
  scroll-behavior:auto;
  scroll-snap-type:none;
}
.carousel--partners .carousel__track::-webkit-scrollbar{display:none}
.carousel--partners .carousel__slide{
  background:transparent;
  flex:0 0 33.333%;
}
.carousel__slide--partner{padding:10px 10px}
.carousel__partner-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.carousel__img--partner{
  max-height:74px;
  width:auto;
  max-width:100%;
  object-fit:contain;
}
.carousel--partners .carousel__nav{
  top:56px;
  width:22px;
  height:22px;
  border-color:rgba(15,23,42,.18);
  background:rgba(15,23,42,.06);
  color:rgba(15,23,42,.84);
  backdrop-filter:none;
}
.carousel--partners .carousel__nav-icon{width:14px;height:14px}
.carousel--partners .carousel__nav:hover{
  background:rgba(15,23,42,.10);
  border-color:rgba(15,23,42,.24);
}
.carousel--partners .carousel__nav--prev{left:8px}
.carousel--partners .carousel__nav--next{right:8px}
.carousel--partners .carousel__dots{
  display:none;
  padding:0;
  border-top:0;
  background:transparent;
}
@media (max-width: 560px){
  .carousel--partners .carousel__slide{flex-basis:50%}
}
.footer__title{font-weight:900;margin-bottom:10px}
.footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer__links a{text-decoration:none;color:var(--muted)}
.footer__links a:hover{color:var(--text)}
.footer__bottom{border-top:1px solid rgba(15,23,42,.10)}
.footer__bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 0;
  color:var(--muted);
  font-size:13px;
}

@media (max-width: 980px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav{display:none;position:absolute;left:0;right:0;top:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border)}
  .nav.is-open{display:block}
  .nav__list{flex-direction:column;align-items:stretch;padding:10px}
  .nav__link{justify-content:space-between}
  .nav__item.has-sub > .nav__dropdown{
    position:static;
    min-width:0;
    margin:6px 0 0;
    box-shadow:none;
    border-color:rgba(15,23,42,.10);
    background:rgba(15,23,42,.02);
    pointer-events:auto;
  }
  .nav__item.has-sub:hover > .nav__dropdown{display:none}
  .nav__item.has-sub.is-open > .nav__dropdown{display:block}
  .nav__dropdown--nested{
    position:static;
    left:auto;
    top:auto;
    margin-top:8px;
    box-shadow:none;
  }
  .hero__inner{grid-template-columns:1fr}
  .topbar__meta{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .carousel__overlay{background:linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.03) 58%, rgba(15,23,42,.26) 100%)}
  .carousel__overlay-inner{padding:0 0 40px}
  .carousel__caption{flex-direction:column;align-items:stretch}
  .layout-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .missions-grid{grid-template-columns:1fr}
  .org-cards{grid-template-columns:1fr}
  .stake-cards{grid-template-columns:1fr}
  .gov-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:repeat(2, 1fr)}
  .article-gallery{grid-template-columns:repeat(3, 1fr)}
  .image-modal__img{height:420px}
  .services__grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .grid--2{grid-template-columns:1fr}
  .grid--2-eq{grid-template-columns:1fr}
  .hero-kpis{margin-top:-16px}
  .kpi-bar{grid-template-columns:1fr 1fr;width:100%;border-radius:14px}
  .kpi + .kpi{border-left:0}
  .kpi:nth-child(n+3){border-top:1px solid rgba(15,23,42,.08)}
  .message-grid{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr}
  .table__head,.table__row{grid-template-columns:1fr;gap:6px}
  .table__cell--right{justify-self:start}
  .trust-banner__card{grid-template-columns:1fr}
  .trust-banner__media{min-height:170px}
  .trust-banner__list{grid-template-columns:1fr}
  .region-card__grid{grid-template-columns:1fr}
}

.engagement-card{
  cursor:pointer;
}
.engagement-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-2);
  border-color:rgba(15,23,42,.16);
}
.engagement-card:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px var(--focus), var(--shadow);
  border-color:rgba(243,154,21,.45);
}

@media (max-width: 980px){
  .carousel--hero{height:clamp(260px, 35vh, 380px)}
  .services__grid--4{grid-template-columns:repeat(2, 1fr)}
}

@media (max-width: 560px){
  .carousel--hero{height:clamp(280px, 45vh, 420px)}
  .news-grid{grid-template-columns:1fr}
  .carousel__img--hero{object-fit:cover;object-position:center top}
  .services__grid--4{grid-template-columns:1fr}
  .message-prose__photo{
    float:none;
    width:100%;
    max-width:360px;
    margin:0 auto 12px;
  }
}
