
:root{
  --hxla-navy:#045b9b; --hxla-sky:#00b7e5; --hxla-aqua:#07deac; --hxla-bluegreen:#3398a8;
  --hxla-yellow:#ffe156; --hxla-lightgreen:#cde3ba; --hxla-purple:#5f4696; --hxla-gray:#d1d1d1;
  --hxla-ink:#0f1720; --hxla-muted:#5f6b7a; --hxla-bg:#f8fafc;
  --bs-primary: var(--hxla-navy);
  --bs-body-color: var(--hxla-ink);
  --bs-font-sans-serif: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
html,body{background:var(--hxla-bg); font-family:var(--bs-font-sans-serif);}

/* HERO panel full-image with gradient diffusion */
.hero-panel{
  border-radius:1.5rem; overflow:hidden; position:relative;
  box-shadow:0 1.2rem 2.2rem rgba(2,17,37,.08);
  background:#043b63;
}
.hero-panel .hero-bg{
  min-height:clamp(340px, 48vh, 560px);
  background-size:cover; background-position:center;
  filter:saturate(85%) contrast(98%);
}
.hero-panel .hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,
      rgba(4,91,155,.88) 0%,
      rgba(4,91,155,.68) 25%,
      rgba(4,91,155,.45) 55%,
      rgba(4,91,155,.25) 75%,
      rgba(4,91,155,.10) 100%);
  pointer-events:none;
}

/* hero content */
.hero-content{ position:absolute; inset:0; display:flex; align-items:center; }
.hero-content .inner{ color:#fff; padding:2rem; }
.hero-content .btn{ border-radius:999px; padding:.4rem .9rem; }

/* Chips, cards, sectors — refined */
.chip{display:inline-flex; align-items:center; gap:.4rem; padding:.25rem .6rem; border-radius:999px; font-size:.8rem; font-weight:600;}
.chip-soft{background:color-mix(in srgb, var(--hxla-lightgreen) 40%, white); color:#2b4a2b;}
.chip-sky{background:color-mix(in srgb, var(--hxla-sky) 20%, white); color:#034a66;}
.chip-yellow{background:color-mix(in srgb, var(--hxla-yellow) 35%, white); color:#4c3b00;}
.chip-aqua{background:color-mix(in srgb, var(--hxla-aqua) 35%, white); color:#0b4b3f;}

.card-soft{border:1px solid #e7ebf0; border-radius:1.25rem; overflow:hidden; background:#fff; box-shadow:0 .5rem 1.25rem rgba(0,0,0,.04);}
.card-soft .thumb{height:140px; background-size:cover; background-position:center;}
.card-soft .title{font-weight:800; letter-spacing:-.2px;}
.card-soft .meta{font-size:.84rem; color:var(--hxla-muted);}
.readmore{display:inline-flex; align-items:center; gap:.4rem; font-weight:600;}

.service-tile{ border:1px solid #e7ebf0; border-radius:1rem; background:#fff; transition:.15s; }
.service-tile:hover{ transform:translateY(-2px); box-shadow:0 .5rem 1.25rem rgba(0,0,0,.08); }
.service-tile .icon{width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--hxla-sky) 16%, white); color:var(--hxla-navy); border-radius:.8rem;}

.sector-tile{ transition:.15s; background:#fff; border:1px solid #e7ebf0; border-radius:1rem; }
.sector-tile:hover{ background:color-mix(in srgb, var(--hxla-sky) 10%, white); border-color:#dbeafe; }

.section-intro h2{font-weight:800; letter-spacing:-.5px; line-height:1.05;}
.section-intro p{color:var(--hxla-muted);}

.cta-band{border-radius:1rem; background:var(--hxla-yellow);}
.cta-band .btn{border-radius:999px;}
