section[class^="hv2-"]{padding-left:0 !important;padding-right:0 !important}
.hv2-wrap{width:100%;padding-left:var(--site-gutter-x);padding-right:var(--site-gutter-x);box-sizing:border-box;margin:auto}
.hv2-hero{height:820px;min-height:calc(100vh - 86px);box-sizing:border-box;background-color:#fff;background-image:var(--hv2-hero-bg-desktop);background-repeat:no-repeat;background-position:center bottom;background-size:cover;position:relative;overflow:hidden}
.hv2-hero__content{height:100%;box-sizing:border-box;padding-top:156px;padding-bottom:80px;position:relative;z-index:1;display:flex;flex-direction:column}
.hv2-hero h1,.hv2-intro h2,.hv2-solutions h2,.hv2-projects h2,.hv2-partners h2,.hv2-cta h2{color:#102d6b;font-size:clamp(32px,4vw,58px);line-height:1.08;margin:10px 0 24px;font-weight:700}
.hv2-hero h1{font-size:clamp(42px,4.35vw,76px);line-height:1.12;letter-spacing:-.025em;max-width:785px;margin:22px 0 63px}
.hv2-kicker{color:#42d1ad;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.hv2-copy,.hv2-intro p,.hv2-solutions p,.hv2-projects p{color:#526074;font-size:18px;line-height:1.55;white-space:pre-line}
.hv2-btn{display:inline-flex;gap:12px;align-items:center;background:#2d70b7;color:#fff!important;padding:17px 24px;text-decoration:none;font-size:16px;font-weight:600;width:max-content;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(45,112,183,0.2)}
.hv2-btn:hover{background:#235891;transform:translateY(-3px);box-shadow:0 8px 25px rgba(45,112,183,0.4)}
.hv2-btn span{font-size:20px;line-height:12px;transition:transform 0.3s ease}
.hv2-btn:hover span{transform:translateX(5px)}
.hv2-stats{position:static;display:flex;gap:126px;margin:auto 0 0 0;color:#4a5965;font-size:20px;font-weight:500;padding-top:40px}
.hv2-stats span{min-width:104px;line-height:1.35}
.hv2-stats strong,.hv2-stats small{display:block}
.hv2-stats strong{color:#4e5c68;font-size:inherit}
.hv2-stats small{font-size:18px;font-weight:500}
.hv2-intro{height:800px;min-height:0;padding:68px 0 0;background-color:#eaf3fb;background-image:var(--hv2-intro-bg-desktop);background-repeat:no-repeat;background-position:center top;background-size:cover;box-sizing:border-box;overflow:hidden}
.hv2-intro__inner{height:732px;min-height:0;display:grid;grid-template-rows:1fr auto}
.hv2-intro__copy{height:420px;max-width:1040px}
.hv2-intro__text{margin:10px 0 62px;color:#102d6b;font-size:clamp(34px,3.2vw,48px);font-weight:700;line-height:1.2;white-space:pre-line;overflow:visible}
.hv2-intro__cards{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px}
.hv2-intro__card{min-height:270px;padding:48px 24px 35px;border:0;border-left:1px solid #dbe1e7;background:#fff;color:#52606d;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;font:inherit;font-size:20px;font-weight:600;line-height:1.45;text-align:center;cursor:pointer;transition:all 0.3s ease}
.hv2-intro__card:hover{background:#f4f8fc;transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,0.05)}
.hv2-intro__card:first-child{border-left:0}
.hv2-intro__card img{width:80px;height:80px;object-fit:contain}
.hv2-intro__card span{max-width:190px;white-space:pre-line}
.hv2-intro__card.is-active{background:#2d70b7;color:#fff}
.hv2-intro__card.is-active img{filter:brightness(0) invert(1)}
.hv2-intro__picker{position:fixed;z-index:9999;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:24px;padding-top:max(48px, env(safe-area-inset-top, 48px))}
.hv2-intro__picker[hidden]{display:none}
.hv2-intro__picker-backdrop{position:fixed;inset:0;border:0;background:rgba(10,20,36,.88);cursor:pointer}
.hv2-intro__picker-panel{position:relative;z-index:1;width:min(100%,420px);max-height:calc(100vh - 96px);overflow-y:auto;overflow-x:hidden;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.35);border-radius:2px}
.hv2-intro__picker-close{position:sticky;z-index:2;top:0;right:0;float:right;clear:right;width:40px;height:40px;border:0;background:transparent;color:#52606d;font-size:31px;line-height:1;cursor:pointer;transition:color 0.2s ease}
.hv2-intro__picker-close:hover{color:#2d70b7}
.hv2-intro__picker-cards{display:grid;grid-template-columns:1fr;clear:both}
.hv2-intro__picker-card{min-height:100px;padding:18px 40px;border:0;border-bottom:1px solid #dbe1e7;background:#fff;color:#52606d;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;font:inherit;font-size:16px;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;transition:background 0.2s ease,color 0.2s ease}
.hv2-intro__picker-card:last-child{border-bottom:0}
.hv2-intro__picker-card:hover{background:#f0f7ff;color:#2d70b7}
.hv2-intro__picker-card img{width:54px;height:54px;object-fit:contain}
.hv2-intro__picker-card.is-active{background:#2d70b7;color:#fff}
.hv2-intro__picker-card.is-active img{filter:brightness(0) invert(1)}
body.hv2-intro-picker-open{overflow:hidden!important;position:fixed;width:100%}
.hv2-testimonial{padding:72px 0;background-color:#eaf3fb;background-image:var(--hv2-testimonial-bg-desktop);background-position:center;background-size:cover;background-repeat:no-repeat}.hv2-partners{min-height:480px;box-sizing:border-box;padding:72px 0;background-color:#eaf3fb;background-image:var(--hv2-partners-bg-desktop);background-position:center;background-size:cover;background-repeat:no-repeat}.hv2-partners h2{margin:0 0 64px}.hv2-partners__body{max-width:660px;margin:-44px 0 44px;color:#526074;font-size:17px;line-height:1.55}.hv2-partners__logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:58px 76px;max-width:1000px;align-items:center}.hv2-partners__logo{min-height:70px;display:flex;align-items:center;justify-content:center}.hv2-partners__logo img{display:block;max-width:100%;width:174px;max-height:70px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.hv2-partners__logo[href]:hover img{filter:grayscale(0);opacity:1;transform:scale(1.1)}.hv2-partners>.hv2-wrap>.hv2-btn{margin-top:48px}
.hv2-solutions,.hv2-projects{padding:78px 0}
.hv2-solutions__grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:32px}
.hv2-solutions__select,.hv2-solutions__select-label{display:none}
.hv2-solutions__tabs{display:flex;flex-direction:column;gap:8px}.hv2-solutions__tab{padding:18px 24px;border:1px solid transparent;background:#fff;color:#718097;text-align:left;font:600 17px inherit;cursor:pointer;transition:all 0.3s ease}.hv2-solutions__tab:hover{background:#f8f9fa;color:#2d70b7;transform:translateX(5px)}.hv2-solutions__tab.is-active{border-color:#2d70b7;color:#2d70b7}.hv2-solutions__detail article:not([hidden]){animation:fadeInTab 0.5s ease forwards}@keyframes fadeInTab{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hv2-solutions__detail img{width:100%;display:block;margin-bottom:28px}.hv2-solutions__detail h3{color:#2d70b7;font-size:28px;margin:0 0 12px}.hv2-solutions__detail ul{padding-left:24px;line-height:2;color:#253242;margin-bottom:28px}
.hv2-list div{padding:16px;border-bottom:1px solid #d7e0eb;color:#17396d}
.hv2-solutions img{width:100%;display:block}
.hv2-solutions h3{margin:16px 0 0;color:#1d61a6}
.hv2-testimonial__grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:60px;align-items:start}
.hv2-testimonial__intro h2{margin:0;color:#102d6b!important;font-family:inherit;font-size:clamp(36px,3vw,48px)!important;font-weight:700!important;line-height:1.18!important;letter-spacing:-.02em}
.hv2-testimonial__controls{display:flex;gap:16px;margin-top:38px}
.hv2-testimonial__controls button{width:54px;height:54px;border:1px solid #a8c7e8;background:transparent;color:#2670ba;font:400 28px/1 inherit;cursor:pointer;transition:background 0.25s ease,color 0.25s ease,border-color 0.25s ease,transform 0.2s ease,box-shadow 0.25s ease}
.hv2-testimonial__controls button:hover{background:#2670ba;color:#fff;border-color:#2670ba;box-shadow:0 4px 14px rgba(38,112,186,0.3)}
.hv2-testimonial__controls button:active{transform:scale(0.92)}
.hv2-testimonial__intro .hv2-btn{margin-top:26px}
.hv2-testimonial__slides{position:relative;min-height:280px}
.hv2-testimonial__slide{position:absolute;top:0;left:0;width:100%;padding-right:130px;opacity:1;transform:translateY(0);transition:opacity 0.35s ease,transform 0.35s ease;pointer-events:auto}
.hv2-testimonial__slide.hv2-slide--hidden{opacity:0;pointer-events:none}
.hv2-testimonial__slide.hv2-slide--out{opacity:0;transform:translateY(-12px)}
.hv2-testimonial__slide.hv2-slide--in{animation:testimonialFadeIn 0.4s ease forwards}
@keyframes testimonialFadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.hv2-testimonial__quote-mark{position:absolute;right:0;top:-28px;color:#b3cee9;font-size:180px;line-height:.8;font-weight:700}
.hv2-testimonial blockquote{position:relative;margin:0;color:#1f2833;font-size:clamp(27px,2.5vw,39px);line-height:1.14;font-weight:600}
.hv2-testimonial__author{margin:38px 0 5px!important;color:#1f2833!important;font-size:16px!important;font-weight:700}
.hv2-testimonial__role{margin:0!important;color:#55657c!important;font-size:15px!important}
.hv2-projects{padding:76px 0 64px}.hv2-projects h2{font-size:48px!important;line-height:1.15!important;margin:0 0 16px!important}.hv2-projects__description{font-size:17px!important;margin:0}.hv2-projects__grid{display:grid;grid-template-columns:minmax(0,1.86fr) minmax(0,1fr);column-gap:32px;margin-top:38px;align-items:stretch}.hv2-projects__aside{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:30px}.hv2-projects__card{display:block;min-width:0;color:#2d70b7;text-decoration:none;font-size:25px;font-weight:700;line-height:1.18}.hv2-projects__card-img{overflow:hidden;border-radius:12px;margin-bottom:20px}.hv2-projects__card img{display:block;width:100%;aspect-ratio:1.712/1;height:auto;object-fit:cover;margin-bottom:0;transition:transform 0.5s cubic-bezier(0.165,0.84,0.44,1)}.hv2-projects__card:hover img{transform:scale(1.08)}.hv2-projects__card--primary img{aspect-ratio:1.3/1}.hv2-projects__card h3{margin:0;transition:color 0.3s ease}.hv2-projects__card:hover h3{color:#1a4d85}.hv2-projects>.hv2-wrap>.hv2-btn{display:flex;width:max-content;margin:44px auto 0;border:1px solid #2d70b7;background:transparent;color:#2d70b7!important}
.hv2-logos{display:flex;flex-wrap:wrap;gap:20px 42px;margin-top:35px;color:#718097;font-weight:700;font-size:20px}
.hv2-cta{padding:56px 0;background:#fff}
.hv2-cta>.hv2-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.hv2-cta h2{font-size:34px;margin:0}
@media(max-width:1200px){.hv2-hero{height:760px;min-height:0;background-position:60% bottom}
.hv2-hero__content{padding-top:112px}
.hv2-hero h1{max-width:690px;margin-bottom:44px}
.hv2-stats{bottom:62px;gap:72px}
.hv2-intro{height:700px}
.hv2-intro__inner{height:632px}
.hv2-intro__copy{height:320px}
.hv2-intro__text{margin-bottom:45px}
.hv2-intro h2{margin-bottom:45px}
}
@media(max-width:900px){.hv2-hero{height:680px;background-position:62% bottom}
.hv2-hero__content{padding-top:84px}
.hv2-hero h1{max-width:590px;font-size:clamp(40px,6.2vw,58px);margin-bottom:32px}
.hv2-stats{bottom:48px;gap:42px;font-size:17px}
.hv2-intro{height:700px}
.hv2-intro__inner{height:632px}
.hv2-intro__cards{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:700px){.hv2-wrap{}
.hv2-hero{height:auto;min-height:620px;background-image:var(--hv2-hero-bg-mobile,var(--hv2-hero-bg-desktop));background-position:63% bottom;background-size:auto 620px}
.hv2-hero__content{min-height:620px;padding-top:68px}
.hv2-hero h1{font-size:clamp(36px,11vw,50px);margin:14px 0 34px;max-width:100%}
.hv2-kicker{font-size:13px}
.hv2-btn{padding:13px 17px;font-size:14px}
.hv2-stats{left:0;bottom:34px;gap:16px;font-size:15px}
.hv2-stats span{min-width:0}
.hv2-stats small{font-size:15px}
.hv2-intro{height:auto;min-height:760px;padding:42px 0 0;background-image:var(--hv2-intro-bg-mobile,var(--hv2-intro-bg-desktop));background-position:center top;background-size:auto 760px;overflow:visible}
.hv2-intro__inner{height:auto;min-height:718px}
.hv2-intro__copy{height:auto}
.hv2-intro__text{height:auto;overflow:visible;margin-bottom:62px;color:#102d6b!important;font-size:36px!important;font-weight:700!important;line-height:1.16!important}
.hv2-intro h2{height:6.6em;min-height:0;overflow:hidden;font-size:clamp(34px,10vw,48px);margin-bottom:62px}
.hv2-intro__cards{grid-template-columns:1fr;margin-top:35px}
.hv2-intro__card{display:none;min-height:220px;padding:35px 20px}
.hv2-intro__card.is-active{display:flex}
.hv2-intro__card img{width:66px;height:66px}
.hv2-solutions__grid,.hv2-testimonial__grid{grid-template-columns:1fr}.hv2-solutions__tabs{display:none}.hv2-solutions__select-label{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hv2-solutions__select{display:block;width:100%;min-height:56px;box-sizing:border-box;padding:0 48px 0 17px;border:1px solid #2d70b7;border-radius:7px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#2d70b7 50%),linear-gradient(135deg,#2d70b7 50%,transparent 50%),linear-gradient(to right,#d6e5f4,#d6e5f4);background-position:calc(100% - 23px) 24px,calc(100% - 17px) 24px,calc(100% - 48px) 0;background-size:6px 6px,6px 6px,1px 100%;background-repeat:no-repeat;color:#1f67af;font:600 15px/1.3 inherit;appearance:none;-webkit-appearance:none;cursor:pointer;box-shadow:0 5px 14px rgba(34,100,175,.09);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.hv2-solutions__select:hover{border-color:#174f8b;background-color:#f8fbff}.hv2-solutions__select:focus{outline:0;border-color:#174f8b;box-shadow:0 0 0 3px rgba(45,112,183,.16),0 5px 14px rgba(34,100,175,.12)}.hv2-solutions__detail{margin-top:28px}.hv2-testimonial{background-image:var(--hv2-testimonial-bg-mobile,var(--hv2-testimonial-bg-desktop));padding:48px 0}.hv2-testimonial__intro h2{font-size:clamp(36px,10vw,48px)!important;line-height:1.15!important}.hv2-testimonial__controls{margin:26px 0 38px}.hv2-testimonial__slides{min-height:300px}.hv2-testimonial__slide{padding-right:72px}.hv2-testimonial__quote-mark{font-size:125px;top:-8px}.hv2-testimonial blockquote{font-size:clamp(26px,8vw,36px)}
.hv2-projects h2{font-size:36px!important}.hv2-projects__grid{grid-template-columns:1fr;gap:28px}.hv2-projects__aside{gap:28px}.hv2-projects__card img,.hv2-projects__card--primary img{aspect-ratio:auto;height:262px}.hv2-projects__card{font-size:18px}.hv2-projects>.hv2-wrap>.hv2-btn{margin-top:38px}.hv2-partners{min-height:0;padding:48px 0;background-image:var(--hv2-partners-bg-mobile,var(--hv2-partners-bg-desktop));background-position:center}.hv2-partners h2{font-size:36px!important;margin-bottom:48px}.hv2-partners__body{margin:-32px 0 36px}.hv2-partners__logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 42px}.hv2-partners__logo{min-height:58px}.hv2-partners__logo img{width:145px;max-height:58px}
.hv2-cta>.hv2-wrap{display:block}
.hv2-cta .hv2-btn{margin-top:22px}
}
@media(max-width:390px){.hv2-hero{min-height:580px;background-size:auto 580px}
.hv2-hero__content{min-height:580px;padding-top:48px}
.hv2-hero h1{font-size:35px}
.hv2-stats{font-size:13px;gap:10px;bottom:25px}
.hv2-stats small{font-size:13px}
}

/* Responsive typography scale: shared by every Home v2 component. */
.hv2-hero h1 {
  font-size: clamp(2.5rem, 4.55vw, 4.75rem);
  line-height: 1.1;
}

.hv2-hero h2,
.hv2-intro h2,
.hv2-solutions h2,
.hv2-projects h2,
.hv2-partners h2,
.hv2-cta h2 {
  font-size: clamp(2rem, 3.15vw, 3.5rem) !important;
  line-height: 1.14 !important;
}

.hv2-kicker {
  font-size: clamp(.75rem, .78vw, 1.0625rem);
  line-height: 1.35;
}

.hv2-copy,
.hv2-intro p,
.hv2-solutions p,
.hv2-projects p,
.hv2-partners__body {
  font-size: clamp(1rem, 1.05vw, 1.125rem) !important;
  line-height: 1.58;
}

.hv2-btn {
  font-size: clamp(.875rem, .9vw, 1rem);
  line-height: 1.3;
}

.hv2-stats {
  font-size: clamp(1rem, 1.12vw, 1.25rem);
  line-height: 1.35;
}

.hv2-stats small {
  font-size: clamp(.875rem, 1vw, 1.125rem);
}

.hv2-intro__text {
  font-size: clamp(2rem, 3.18vw, 3.125rem) !important;
  line-height: 1.16 !important;
}

.hv2-intro__card {
  font-size: clamp(1rem, 1.15vw, 1.25rem);
  line-height: 1.38;
}

.hv2-solutions__tab,
.hv2-solutions__detail ul,
.hv2-list div {
  font-size: clamp(.9375rem, 1vw, 1.0625rem);
  line-height: 1.5;
}

.hv2-solutions__detail h3,
.hv2-solutions h3 {
  font-size: clamp(1.5rem, 1.75vw, 1.875rem);
  line-height: 1.24;
}

.hv2-testimonial__intro h2 {
  font-size: clamp(2rem, 3vw, 3rem) !important;
}

.hv2-testimonial blockquote {
  font-size: clamp(1.5rem, 2.45vw, 2.4375rem);
  line-height: 1.18;
}

.hv2-testimonial__author {
  font-size: clamp(.9375rem, 1vw, 1rem) !important;
}

.hv2-testimonial__role {
  font-size: clamp(.875rem, .9vw, .9375rem) !important;
}

.hv2-projects__card {
  font-size: clamp(1rem, 1.4vw, 1.5625rem) !important;
  line-height: 1.23;
}

.hv2-projects__description {
  font-size: clamp(1rem, 1.05vw, 1.125rem) !important;
  line-height: 1.55;
}

@media (max-width: 700px) {
  .hv2-hero h1 {
    font-size: clamp(2.25rem, 10vw, 3rem);
    line-height: 1.12;
  }

  .hv2-hero h2,
  .hv2-intro h2,
  .hv2-solutions h2,
  .hv2-projects h2,
  .hv2-partners h2,
  .hv2-cta h2,
  .hv2-testimonial__intro h2 {
    font-size: clamp(2rem, 9vw, 2.5rem) !important;
    line-height: 1.16 !important;
  }

  .hv2-intro__text {
    font-size: clamp(1.875rem, 8.7vw, 2.375rem) !important;
    line-height: 1.18 !important;
  }

  .hv2-copy,
  .hv2-intro p,
  .hv2-solutions p,
  .hv2-projects p,
  .hv2-partners__body {
    font-size: 1rem !important;
  }

  .hv2-intro__card {
    /* The selected mobile card contains only its icon and label. Let that
       content define the box instead of reserving desktop-card whitespace. */
    height: auto !important;
    min-height: 0 !important;
    align-self: start;
    padding: 16px 18px;
    gap: 8px;
    font-size: 1rem;
  }

  .hv2-intro {
    scroll-margin-top: 68px;
  }

  .hv2-intro__card span {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    font-size: clamp(.8125rem, 4.3vw, 1rem);
    line-height: 1.3;
  }

  .hv2-intro__card img {
    width: 46px;
    height: 46px;
  }

  .hv2-intro__picker {
    padding: 16px;
    padding-top: max(28px, env(safe-area-inset-top, 28px));
  }

  .hv2-intro__picker-panel {
    width: min(100%, 340px);
    max-height: calc(100vh - 56px);
  }

  .hv2-intro__picker-card {
    min-height: 76px;
    padding: 12px 40px;
    gap: 6px;
    font-size: .875rem;
    line-height: 1.25;
  }

  .hv2-intro__picker-card img {
    width: 42px;
    height: 42px;
  }

  .hv2-solutions__tab,
  .hv2-solutions__detail ul,
  .hv2-list div {
    font-size: .9375rem;
  }

  .hv2-testimonial blockquote {
    font-size: clamp(1.5rem, 7.2vw, 2rem);
    line-height: 1.2;
  }

  .hv2-projects__card {
    font-size: clamp(1.125rem, 5.3vw, 1.3125rem) !important;
  }

  /* Never crop configurable text on narrow screens. */
  .hv2-intro h2,
  .hv2-intro__text {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* The desktop carousel overlays slides. On mobile each active slide must
     participate in document flow so a long quote cannot be covered by the
     following section. */
  .hv2-testimonial__slides {
    min-height: 0 !important;
    height: auto !important;
  }

  .hv2-testimonial__slide {
    position: static !important;
    width: auto;
    padding-right: 48px;
    overflow-wrap: anywhere;
  }

  .hv2-testimonial__slide.hv2-slide--hidden {
    display: none !important;
  }

  .hv2-testimonial__slide blockquote,
  .hv2-testimonial__author,
  .hv2-testimonial__role {
    overflow: visible;
    overflow-wrap: break-word;
  }
}
