/* MRV Segments widgets (no header styles). All classes prefixed .mrvw */
.mrvw{
  --mrvw-blue:var(--mrv-blue,#1C5B88);
  --mrvw-green:var(--mrv-green,#45AB4B);
  --mrvw-green-d:#2F7D34;
  --mrvw-text:#2F4B63;
  --mrvw-line:#DCE8F1;
  --mrvw-gutter:32px;
  font-family:var(--mrv-font,'Montserrat',Arial,sans-serif);
  color:var(--mrvw-blue);line-height:1.6;box-sizing:border-box;
}
.mrvw *{box-sizing:border-box}
.mrvw a{text-decoration:none;color:inherit}
.mrvw-wrap{max-width:1400px;margin:0 auto;padding:0 var(--mrvw-gutter)}

/* ---------- Section Heading (responsive) ---------- */
.mrvw-eyebrow{
  font-size:13px;line-height:1.6;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mrvw-green-d);
}
.mrvw-eyebrow--light{color:#9FE0A3}

.mrvw.mrvw-sh{
  padding:clamp(48px, 7vw, 88px) 0 0;
  position:relative;
  font-family:var(--mrv-font,'Montserrat',Arial,sans-serif);
}
.mrvw.mrvw-sh .mrvw-sh__head{margin:0}
.mrvw.mrvw-sh .mrvw-sh__title{
  font-size:clamp(24px, 2.2vw + 12px, 36px);
  line-height:1.25;font-weight:700;letter-spacing:0;
  margin:12px 0 0;max-width:1400px;color:var(--mrvw-blue);
  overflow-wrap:break-word;word-break:normal;
}
.mrvw.mrvw-sh .mrvw-sh__sub{
  margin:12px 0 0;max-width:900px;color:var(--mrvw-text);
  font-size:clamp(15px, .6vw + 11px, 17px);
  line-height:1.6;font-weight:400;letter-spacing:0;
}
.mrvw-align-center .mrvw-sh__title,
.mrvw-align-center .mrvw-sh__sub{margin-left:auto;margin-right:auto}

/* Tablet */
@media (max-width:1024px){
  .mrvw{--mrvw-gutter:24px}
  .mrvw.mrvw-sh .mrvw-sh__sub{max-width:720px}
}

/* Mobile */
@media (max-width:768px){
  .mrvw{--mrvw-gutter:20px}
  .mrvw-eyebrow{font-size:12px;letter-spacing:.1em}
  .mrvw.mrvw-sh .mrvw-sh__title{line-height:1.3;margin-top:10px}
  .mrvw.mrvw-sh .mrvw-sh__sub{margin-top:10px;line-height:1.55}
}

/* Small phones */
@media (max-width:480px){
  .mrvw{--mrvw-gutter:16px}
  .mrvw-eyebrow{font-size:11px}
  .mrvw.mrvw-sh .mrvw-sh__title{font-size:22px}
  .mrvw.mrvw-sh .mrvw-sh__sub{font-size:14px}
}

/* ---------- hero ---------- */
.mrvw-hero{position:relative;background:var(--mrvw-blue);background-size:cover;background-position:center;border-radius:0 0 40px 40px;padding:72px 0 112px;color:#fff;overflow:hidden}
.mrvw-hero::before{content:"";position:absolute;inset:0}
.mrvw-hero .mrvw-wrap{position:relative}
.mrvw-hero__title{font-size:64px;line-height:1.05;font-weight:800;margin:16px 0 20px;letter-spacing:-.02em;color:#fff}
.mrvw-hero__sub{font-size:20px;font-weight:500;max-width:640px;margin:0;opacity:.95;color:#fff}
.mrvw-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.mrvw-pill{padding:12px 24px;border-radius:50px;border:1.5px solid rgba(255,255,255,.5);font-weight:600;font-size:15px;color:#fff;transition:.2s}
.mrvw-pill:hover,.mrvw-pill.is-active{background:#fff;color:var(--mrvw-blue)}

/* text + image */
.mrvw-ti{padding:48px 0 0}
.mrvw-ti__grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
.mrvw-ti.has-image .mrvw-ti__grid{
  grid-template-columns:calc(var(--mrvw-img,50) * 1%) minmax(0,1fr);
}
.mrvw-ti.has-image.is-right .mrvw-ti__grid{
  grid-template-columns:minmax(0,1fr) calc(var(--mrvw-img,50) * 1%);
}
.mrvw-ti.is-right .mrvw-ti__img{order:2}
.mrvw-ti__img img{width:100%;height:auto;display:block;border-radius:24px}
.mrvw-ti__text{font-size:17px;color:var(--mrvw-text)}
.mrvw-ti__text p:first-child{margin-top:0}
.mrvw-ti__h3{font-size:22px;font-weight:700;font-style:italic;margin:0 0 12px;color:var(--mrvw-blue)}
.mrvw-ti__list{margin:0 0 20px;padding-left:20px}
.mrvw-ti__list li{margin:4px 0}
.mrvw-btn{display:inline-block;padding:14px 32px;border-radius:50px;font-weight:700;font-size:15px;background:var(--mrvw-green);color:#fff!important;transition:background .2s}
.mrvw-btn:hover{background:var(--mrvw-green-d)}

/* explore cards */
.mrvw-explore{padding:40px 0 0}
.mrvw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.mrvw-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mrvw-line);border-radius:20px;padding:32px 28px;box-shadow:0 8px 24px rgba(28,91,136,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
.mrvw-card:hover,.mrvw-card.is-active{transform:translateY(-6px);box-shadow:0 20px 40px rgba(28,91,136,.16);border-color:var(--mrvw-green)}
.mrvw-card__num{width:48px;height:48px;border-radius:14px;background:rgba(69,171,75,.12);color:var(--mrvw-green-d);font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.mrvw-card__title{font-size:22px;margin:0 0 10px;color:var(--mrvw-blue)}
.mrvw-card__text{margin:0;color:var(--mrvw-text);font-size:15px}
.mrvw-card__more{margin-top:auto;padding-top:20px;font-weight:700;font-size:14px;color:var(--mrvw-green-d)}

/* band */
.mrvw-bandwrap{padding:96px 0}
.mrvw-band{background:var(--mrvw-blue);color:#fff;border-radius:40px;padding:56px 32px}
.mrvw-band__title{text-align:center;font-size:32px;font-weight:700;margin:0 0 8px;color:#fff}
.mrvw-band__sub{text-align:center;margin:0 0 40px;opacity:.9;color:#fff}
.mrvw-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.mrvw-step{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff!important;transition:transform .25s}
.mrvw-step:hover{transform:translateY(-4px)}
.mrvw-step__ic{width:84px;height:84px;border-radius:50%;background:#fff;color:var(--mrvw-blue);display:flex;align-items:center;justify-content:center;font-size:34px}
.mrvw-step__ic svg{width:34px;height:34px;fill:currentColor}
.mrvw-step__t{font-size:18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* mobile (non-heading widgets) */
@media (max-width:768px){
  .mrvw-hero{padding:48px 0 80px}
  .mrvw-hero__title{font-size:40px}
  .mrvw-hero__sub{font-size:17px}
  .mrvw-ti.has-image .mrvw-ti__grid,
  .mrvw-ti.has-image.is-right .mrvw-ti__grid{grid-template-columns:1fr;gap:28px}
  .mrvw-ti.is-right .mrvw-ti__img{order:0}   /* mobile: image always on top */
  .mrvw-bandwrap{padding:56px 0}
  .mrvw-band{padding:40px 20px;border-radius:28px}
}

/* ---------- Hero: page load animation ---------- */
@keyframes mrvw-rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.mrvw-hero.is-animated .mrvw-eyebrow,
.mrvw-hero.is-animated .mrvw-hero__title,
.mrvw-hero.is-animated .mrvw-hero__sub,
.mrvw-hero.is-animated .mrvw-pill{
  animation:mrvw-rise .9s cubic-bezier(.2,.7,.2,1) both;
}
.mrvw-hero.is-animated .mrvw-eyebrow{animation-delay:0s}
.mrvw-hero.is-animated .mrvw-hero__title{animation-delay:.15s}
.mrvw-hero.is-animated .mrvw-hero__sub{animation-delay:.45s}
.mrvw-hero.is-animated .mrvw-pill:nth-child(1){animation-delay:.6s}
.mrvw-hero.is-animated .mrvw-pill:nth-child(2){animation-delay:.68s}
.mrvw-hero.is-animated .mrvw-pill:nth-child(3){animation-delay:.76s}
.mrvw-hero.is-animated .mrvw-pill:nth-child(4){animation-delay:.84s}
.mrvw-hero.is-animated .mrvw-pill:nth-child(n+5){animation-delay:.92s}
@media (prefers-reduced-motion:reduce){
  .mrvw-hero.is-animated .mrvw-eyebrow,.mrvw-hero.is-animated .mrvw-hero__title,
  .mrvw-hero.is-animated .mrvw-hero__sub,.mrvw-hero.is-animated .mrvw-pill{animation:none}
}

/* ---------- Section Heading: scroll-linked fade ---------- */
.mrvw-sh.is-scrub .mrvw-eyebrow,
.mrvw-sh.is-scrub .mrvw-sh__title,
.mrvw-sh.is-scrub .mrvw-sh__sub{will-change:opacity,transform;transition:none}
@media (prefers-reduced-motion:reduce){
  .mrvw-sh.is-scrub .mrvw-eyebrow,.mrvw-sh.is-scrub .mrvw-sh__title,.mrvw-sh.is-scrub .mrvw-sh__sub{opacity:1!important;transform:none!important}
}

/* ---------- Text + Image: links inside the text ---------- */
.mrvw-ti__text a:not(.mrvw-btn){
  color:var(--mrvw-green-d);
  font-weight:700;
  padding-bottom:1px;
  background:
    linear-gradient(var(--mrvw-blue),var(--mrvw-blue)) 0 100%/0% 2px no-repeat,
    linear-gradient(rgba(69,171,75,.35),rgba(69,171,75,.35)) 0 100%/100% 2px no-repeat;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  transition:color .2s ease,background-size .3s ease;
}
.mrvw-ti__text a:not(.mrvw-btn):hover,
.mrvw-ti__text a:not(.mrvw-btn):focus-visible{
  color:var(--mrvw-blue);
  background-size:100% 2px,100% 2px;
}
.mrvw-ti__text a:not(.mrvw-btn):focus-visible{outline:2px solid var(--mrvw-green);outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){.mrvw-ti__text a:not(.mrvw-btn){transition:none}}

/* ---------- Text + Image: image reveal overlay ---------- */
.mrvw-ti__img.has-veil{position:relative;overflow:hidden;border-radius:24px}
.mrvw-ti__veil{
  position:absolute;inset:0;z-index:2;background:#fff;pointer-events:none;
  clip-path:inset(0 0 0 calc(var(--veil,0) * 100%));
  will-change:clip-path;
}
.mrvw-ti.is-right .mrvw-ti__veil{
  clip-path:inset(0 calc(var(--veil,0) * 100%) 0 0);
}
@media (max-width:768px){
  .mrvw-ti.is-right .mrvw-ti__veil{
    clip-path:inset(0 0 0 calc(var(--veil,0) * 100%));
  }
}
@media (prefers-reduced-motion:reduce){.mrvw-ti__veil{display:none}}

/* ---------- Section Heading: hide text before JS runs ---------- */
.mrvw-sh.is-scrub:not(.is-ready) .mrvw-eyebrow,
.mrvw-sh.is-scrub:not(.is-ready) .mrvw-sh__title,
.mrvw-sh.is-scrub:not(.is-ready) .mrvw-sh__sub{
  opacity:0;
  transform:translate3d(0,36px,0);
  animation:mrvw-failsafe .01s linear 4s forwards;
}
@keyframes mrvw-failsafe{to{opacity:1;transform:none}}