section[class^="hv2-"]{padding-left:0 !important;padding-right:0 !important}
.hv2-wrap{width:100%;max-width:1520px;padding-left:var(--site-gutter-x);padding-right:var(--site-gutter-x);box-sizing:border-box;margin:auto}
.hv2-hero{height:auto;min-height:max(760px,calc(100vh - 72px));padding-top:0!important;padding-bottom:0!important;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>.hv2-wrap{max-width:1520px}
.hv2-hero__content{height:auto;min-height:max(760px,calc(100vh - 72px));box-sizing:border-box;padding-top:clamp(104px,10vw,160px);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.2;margin:10px 0 24px;font-weight:500}
.hv2-hero h1{font-size:clamp(48px,3.9vw,72px);line-height:1.2;letter-spacing:-.025em;max-width:min(980px,100%);margin:0 0 36px;font-weight:500}
.hv2-hero__line{display:block}
.hv2-hero__line--mob{display:none}
.hv2-hero__brand{color:#2d70b7}
.hv2-kicker{color:#42d1ad;font-size:clamp(18px,1.15vw,22px);font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.hv2-hero .hv2-kicker{margin:0 0 8px;font-size:24px;font-weight:500;line-height:1.35;letter-spacing:.04em}
.hv2-copy,.hv2-intro p:not(.hv2-intro__text),.hv2-solutions p,.hv2-projects p{color:#526074;font-size:18px;line-height:1.55;white-space:normal;text-align:justify;text-justify:inter-word}
/* Body paragraphs: even left/right edges on PC + mobile */
.hv2-intro__text,
.hv2-solutions__lead,
.hv2-solutions__detail p,
.hv2-testimonial blockquote,
.hv2-projects__description,
.hv2-projects__details-inner>p:not(.hv2-projects__duration),
.hv2-partners__body{
  text-align:justify;
  text-justify:inter-word;
  white-space:normal;
}
.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,.hv2-btn__icon{display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:transform 0.3s ease}
.hv2-btn__icon svg{display:block;width:18px;height:18px}
.hv2-btn:hover span,.hv2-btn:hover .hv2-btn__icon{transform:translateX(5px)}
.hv2-btn--up-right:hover .hv2-btn__icon{transform:translate(4px,-4px)}
.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:#C63205;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>.hv2-wrap{max-width:1520px}
.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:500;line-height:1.2;white-space:normal;overflow:visible;text-align:justify;text-justify:inter-word}
.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:not(.is-active) img{filter:none}
.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__head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin:0 0 64px}.hv2-partners__head-row h2{margin:0}.hv2-partners__view-all{display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:500;color:#102d6b;text-decoration:none;white-space:nowrap;transition:opacity .2s ease,color .2s ease}.hv2-partners__view-all:hover{opacity:.82;color:#2d70b7}.hv2-partners__view-all span{transition:transform .2s ease}.hv2-partners__view-all:hover span{transform:translateX(4px)}.hv2-partners__body{max-width:660px;margin:-44px 0 44px;color:#526074;font-size:17px;line-height:1.55;text-align:justify;text-justify:inter-word;white-space:normal}.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;cursor:pointer;text-decoration:none}.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-solutions__lead{max-width:980px;margin:0 0 8px;color:#526074;font-size:18px;line-height:1.55;text-align:justify;text-justify:inter-word;white-space:normal}
.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:minmax(280px,420px) minmax(0,1fr);gap:60px;align-items:start}
.hv2-testimonial__intro h2,.hv2-testimonial__title{margin:0;color:#102d6b!important;font-family:inherit;font-size:clamp(36px,3vw,48px)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.02em}
.hv2-testimonial__title-line{display:block;white-space:nowrap}
.hv2-testimonial__intro>p{margin:14px 0 0;color:#718097;font-size:16px;line-height:1.5;white-space:nowrap}
.hv2-testimonial__controls{display:flex;gap:16px;margin-top:38px}
.hv2-testimonial__controls button{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:1px solid #a8c7e8;background:transparent;color:#2670ba;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 svg{display:block;width:22px;height:22px}
.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:0;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;max-width:920px;color:#1f2833;font-size:clamp(27px,2.5vw,39px);line-height:1.2;font-weight:400;text-align:justify;text-justify:inter-word}
.hv2-testimonial__author{margin:38px 0 5px!important;color:#2B6BB2!important;font-size:16px!important;font-weight:400}
.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.2!important;margin:0 0 16px!important;font-weight:500!important}.hv2-projects__description{font-size:17px!important;margin:0;text-align:justify;text-justify:inter-word;white-space:normal}.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-projects__list{margin-top:36px;border-top:1px solid #c9d9ea}.hv2-projects__item{border-bottom:1px solid #c9d9ea}.hv2-projects__row{display:grid;grid-template-columns:240px minmax(0,1fr) 140px;gap:38px;align-items:center;padding:18px 0}.hv2-projects__context{margin:0!important;color:#1f2d3d!important;font-size:15px!important;line-height:1.45!important}.hv2-projects__row h3{margin:0;font-size:22px;line-height:1.25}.hv2-projects__row h3 a{color:#2d70b7;text-decoration:none}.hv2-projects__row h3 a:hover{color:#c63205}.hv2-projects__tags{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.hv2-projects__tags span{padding:6px 13px;background:#edf6ff;color:#2d70b7;font-size:13px;font-weight:700;line-height:1.1;white-space:nowrap}.hv2-projects__details{max-width:760px;margin:0 0 20px 278px}.hv2-projects__details>p{margin:0 0 18px;font-size:16px!important;line-height:1.55!important;white-space:normal;text-align:justify;text-justify:inter-word}.hv2-projects__duration strong{color:#c63205}.hv2-projects__details>img{display:block;width:min(100%, 720px);aspect-ratio:1.72/1;height:auto;max-height:420px;object-fit:cover;margin:18px 0}.hv2-projects__actions{display:flex;gap:18px;margin-top:18px}.hv2-projects__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none}.hv2-projects__consult{background:#2d70b7;color:#fff}.hv2-projects__consult:hover{background:#1e5b9e;color:#fff}.hv2-projects__detail{border:1px solid #2d70b7;color:#2d70b7}.hv2-projects__detail:hover{border-color:#c63205;color:#c63205}
.hv2-projects{--hv2-project-label-column:270px;--hv2-project-tag-column:130px;--hv2-project-column-gap:24px}.hv2-projects>.hv2-wrap{max-width:1520px;padding-left:var(--site-gutter-x);padding-right:var(--site-gutter-x)}.hv2-projects h2{font-size:44px!important}.hv2-projects__list{margin-top:26px;padding:0}.hv2-projects__row{box-sizing:border-box;grid-template-columns:var(--hv2-project-label-column) minmax(0,1fr) var(--hv2-project-tag-column);gap:var(--hv2-project-column-gap);align-items:start;padding:15px 0}.hv2-projects__row h3{font-size:19px}.hv2-projects__row h3 a{color:#2d70b7!important}.hv2-projects__details{box-sizing:border-box;max-width:880px;margin-left:calc(var(--hv2-project-label-column) + var(--hv2-project-column-gap));margin-bottom:14px;padding:0}.hv2-projects__details>p{font-size:14px!important;margin-bottom:14px}.hv2-projects__tags{justify-self:end;align-self:start}.hv2-projects__tags span{padding:6px 12px;font-size:12px}.hv2-projects__actions{gap:14px;margin-top:14px}.hv2-projects__actions a{min-height:40px;padding:0 16px;font-size:13px}
.hv2-projects__toggle{display:block;padding:0;border:0;background:transparent;color:#2d70b7!important;-webkit-text-fill-color:#2d70b7;font:inherit;font-weight:400;line-height:inherit;text-align:left;cursor:pointer;transition:color .22s ease,transform .22s ease}.hv2-projects__toggle:hover,.hv2-projects__toggle:focus-visible{color:#c63205!important;-webkit-text-fill-color:#c63205;outline:none;transform:translateX(3px)}.hv2-projects__row[data-hv2-project-toggle-area]{cursor:pointer;transition:background-color .2s ease}.hv2-projects__row[data-hv2-project-toggle-area]:hover{background:linear-gradient(90deg,rgba(45,112,183,.04),transparent)}.hv2-projects__row[data-hv2-project-toggle-area]:focus-visible{outline:2px solid rgba(45,112,183,.55);outline-offset:-2px}.hv2-projects__details{display:grid;grid-template-rows:0fr;overflow:hidden;max-width:880px;margin-left:calc(var(--hv2-project-label-column) + var(--hv2-project-column-gap));margin-bottom:0;padding:0;opacity:0;transform:translateY(-8px);transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .34s ease,margin-bottom .42s cubic-bezier(.22,1,.36,1);will-change:grid-template-rows,opacity,transform}.hv2-projects__details-inner{min-height:0;overflow:hidden}.hv2-projects__image-wrap{width:min(100%,720px);aspect-ratio:1.72/1;max-height:420px;overflow:hidden;margin:18px 0;background:#edf3f9}.hv2-projects__image-wrap img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .52s cubic-bezier(.22,1,.36,1)}.hv2-projects__image-wrap:hover img{transform:scale(1.075)}.hv2-projects__item.is-featured .hv2-projects__details{grid-template-rows:1fr;opacity:1;transform:translateY(0);margin-bottom:14px}.hv2-projects__item.is-featured .hv2-projects__row{padding-bottom:13px}
@media (prefers-reduced-motion:reduce){.hv2-projects__toggle,.hv2-projects__details{transition:none}}
.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;font-weight:500}
.hv2-cta .hv2-btn{white-space:nowrap;flex-shrink:0}
.hv2-cta__title--mob{display:none}
@media(max-width:1200px){.hv2-hero{height:auto;min-height:760px;background-position:60% bottom}
.hv2-hero__content{min-height:760px;padding-top:clamp(88px,8vw,128px)}
.hv2-hero h1{max-width:min(820px,100%);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-projects__row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 24px; }
  .hv2-projects__context { grid-column: 1 / -1; }
  .hv2-projects__tags { justify-content:flex-end; }
  .hv2-projects__details { margin-left:0; }
}

@media (max-width: 560px) {
  .hv2-projects__row { grid-template-columns: 1fr; padding:16px 0; }
  .hv2-projects__tags {
    justify-content: flex-start !important;
    justify-self: start !important;
    width: 100%;
    flex-wrap: nowrap;
  }
  .hv2-projects__row h3 { font-size:19px; }
  .hv2-projects__details>img { width:100%; max-height:none; }
  .hv2-projects__actions { gap:10px; flex-direction:column; }
  .hv2-projects__actions a { width:100%; }
}
@media(max-width:900px){.hv2-hero{height:auto;min-height:680px;background-position:62% bottom}
.hv2-hero__content{min-height:680px;padding-top:72px}
.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:100svh;background-color:#fff;background-image:var(--hv2-hero-bg-mobile,var(--hv2-hero-bg-desktop));background-repeat:no-repeat;background-position:center bottom;background-size:100% auto}
.hv2-hero__content{min-height:100svh;padding-top:88px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));gap:0;box-sizing:border-box}
.hv2-hero__line--desk{display:none!important}
.hv2-hero__line--mob{display:block!important}
.hv2-hero h1{font-size:clamp(40px,11vw,48px);font-weight:500;line-height:1.18;letter-spacing:-.02em;margin:0 0 28px;max-width:100%;color:#102d6b}
.hv2-hero__brand{color:#2d70b7;font-weight:500}
.hv2-kicker{font-size:13px}
.hv2-hero .hv2-kicker{margin:0 0 12px;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.06em;color:#42d1ad}
.hv2-hero .hv2-btn{display:flex;width:100%;max-width:100%;justify-content:center;box-sizing:border-box;padding:16px 20px;font-size:16px;font-weight:600;border-radius:0;box-shadow:none;margin:0}
.hv2-btn{padding:13px 17px;font-size:14px}
.hv2-stats{display:flex;justify-content:space-between;align-items:flex-start;gap:0;width:100%;margin-top:auto;padding-top:36px;padding-bottom:48px;font-size:20px;font-weight:700}
.hv2-stats span{min-width:0;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.25}
.hv2-stats strong{color:#C63205;font-size:clamp(22px,6vw,28px);font-weight:700;line-height:1.15;white-space:nowrap}
.hv2-stats small{margin-top:4px;font-size:14px;font-weight:500;color:#4a5965;white-space:nowrap}
.hv2-intro{height:auto;min-height:calc(100svh - var(--nav-bar-height,56px));padding:36px 0 0;background-color:#e9f1f8;background-image:var(--hv2-intro-bg-mobile,var(--hv2-intro-bg-desktop));background-repeat:no-repeat;background-position:center top;background-size:100% auto;overflow:hidden}
.hv2-intro__inner{height:auto;min-height:calc(100svh - var(--nav-bar-height,56px) - 36px);display:flex;flex-direction:column;gap:32px;padding-bottom:0}
.hv2-intro__copy{height:auto;max-width:100%;width:100%}
.hv2-intro__text{height:auto;overflow:visible;margin:0 0 28px;color:#102d6b!important;font-size:clamp(30px,8.4vw,36px)!important;font-weight:500!important;line-height:1.28!important;white-space:normal!important;max-width:100%}
.hv2-intro h2{height:auto;min-height:0;overflow:visible;font-size:clamp(30px,8.4vw,36px);margin-bottom:28px}
.hv2-intro .hv2-btn{display:flex!important;width:100%!important;max-width:100%!important;justify-content:center;align-items:center;box-sizing:border-box;padding:16px 20px;font-size:15px}
/* Same horizontal padding as copy/button above; active tab expands in place so strips shift left/right. */
.hv2-intro__cards{display:flex!important;flex-direction:row;align-items:stretch;justify-content:flex-start;gap:1px;width:100%;max-width:100%;margin-top:auto;margin-left:0;margin-right:0;box-sizing:border-box;grid-template-columns:none}
.hv2-intro__card{position:relative;display:flex!important;flex:0 0 8px;width:8px;min-width:8px;max-width:8px;height:200px;min-height:200px;padding:0;border:0;border-left:0;border-radius:0;background:#fff;color:transparent;overflow:hidden;justify-content:center;align-items:center;gap:0;box-shadow:none;transform:none;transition:flex .32s ease,flex-grow .32s ease,flex-basis .32s ease,min-width .32s ease,max-width .32s ease,padding .32s ease,background .32s ease,color .32s ease}
.hv2-intro__card:hover{background:#fff;transform:none;box-shadow:none}
.hv2-intro__card:not(.is-active) img,.hv2-intro__card:not(.is-active) span{position:absolute;width:1px;height:1px;margin:-1px;opacity:0;overflow:hidden;pointer-events:none}
.hv2-intro__card.is-active{flex:1 1 auto;width:auto;min-width:0;max-width:none;height:200px;min-height:200px;padding:28px 12px;gap:16px;background:#2d70b7;color:#fff;font-size:20px;font-weight:600;line-height:1.25;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.hv2-intro__card.is-active:hover{background:#2d70b7;transform:none;box-shadow:none}
.hv2-intro__card.is-active img{position:static;width:88px;height:88px;margin:0;opacity:1;overflow:visible;pointer-events:auto;filter:brightness(0) invert(1);object-fit:contain}
.hv2-intro__card.is-active span{position:static;display:block;width:auto;height:auto;max-width:100%;margin:0;opacity:1;overflow:visible;pointer-events:auto;white-space:nowrap;font-size:clamp(1.0625rem,4.6vw,1.25rem);font-weight:600;line-height:1.25;color:#fff;text-align:center}
.hv2-intro__picker{display:none!important}
.hv2-solutions__grid,.hv2-testimonial__grid{grid-template-columns:1fr}.hv2-testimonial__grid{gap:32px}.hv2-solutions__tabs{display:none!important}.hv2-solutions__select-label{display:none!important}.hv2-solutions__lead{margin:0 0 24px!important;white-space:normal}.hv2-solutions__grid{display:flex!important;flex-direction:column;gap:24px;margin-top:0!important}.hv2-solutions__select{display:block;width:100%;min-height:52px;box-sizing:border-box;padding:0 44px 0 16px;border:1px solid #2d70b7;border-radius:0;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1.5 7 6.5 13 1.5' stroke='%23333C48' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-size:14px 8px;background-repeat:no-repeat;color:#2d70b7;font:500 16px/1.3 inherit;appearance:none;-webkit-appearance:none;cursor:pointer;box-shadow:none;transition:border-color .2s ease,background-color .2s ease}.hv2-solutions__select:hover{border-color:#235891;background-color:#fff}.hv2-solutions__select:focus{outline:0;border-color:#2d70b7;box-shadow:none}.hv2-solutions__detail{margin-top:0!important}.hv2-solutions__detail .hv2-btn{display:flex;width:100%;max-width:100%;justify-content:center;box-sizing:border-box}.hv2-testimonial{background-color:#eef4fb;background-image:var(--hv2-testimonial-bg-mobile,var(--hv2-testimonial-bg-desktop));background-position:right top;background-size:100% auto;background-repeat:no-repeat;padding:48px 0 56px}.hv2-testimonial__intro h2{font-size:clamp(36px,10vw,48px)!important;line-height:1.15!important}.hv2-testimonial__title-line{white-space:normal}.hv2-testimonial__intro>p{white-space:normal;color:#718097;font-size:16px;line-height:1.5;margin:14px 0 0}.hv2-testimonial__controls{margin:26px 0 0}.hv2-testimonial__controls button{background:#fff;border-color:#d0dce8}.hv2-testimonial__slides{min-height:300px;position:relative}.hv2-testimonial__slide{padding-right:72px}.hv2-testimonial__quote-mark{display:none}.hv2-testimonial blockquote{font-size:clamp(26px,8vw,36px);font-weight:500;color:#1f2833;line-height:1.25}.hv2-testimonial__author{font-weight:700!important;color:#2d70b7!important;margin-top:32px!important}.hv2-testimonial__role{color:#55657c!important;font-size:15px!important}
.hv2-projects__tags{justify-content:flex-start!important;justify-self:start!important;width:100%;flex-wrap:nowrap}
.hv2-projects{padding-top:45px}.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{display:flex;width:100%;max-width:100%;justify-content:center;align-items:center;box-sizing:border-box;margin:38px 0 0;padding:16px 20px}.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__head-row{margin-bottom:48px}.hv2-partners__head-row h2{font-size:36px!important}.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{padding:48px 0}
.hv2-cta>.hv2-wrap{display:block}
.hv2-cta h2{margin:0 0 28px;max-width:100%;font-size:clamp(32px,8.5vw,40px)!important;line-height:1.2!important;font-weight:500!important;color:#102d6b}
.hv2-cta__title--desk{display:none}
.hv2-cta__title--mob{display:inline}
.hv2-cta .hv2-btn{display:flex;width:100%;max-width:100%;justify-content:center;align-items:center;box-sizing:border-box;margin-top:0;padding:16px 20px;font-size:16px;font-weight:600;border-radius:0;box-shadow:none;white-space:nowrap}
}
@media(max-width:390px){.hv2-hero{min-height:100svh;background-size:100% auto}
.hv2-hero__content{min-height:100svh;padding-top:80px}
.hv2-hero h1{font-size:40px}
.hv2-stats strong{font-size:22px}
.hv2-stats small{font-size:13px}
.hv2-intro{background-size:100% auto}
}

/* Trusted partners: bordered logo grid matching the homepage design. */
.hv2-partners {
  min-height: 0;
  padding: 68px 0 60px;
  background-color: #eaf3fb;
  background-position: center;
  background-size: cover;
}

.hv2-partners > .hv2-wrap {
  max-width: 1520px;
}

.hv2-partners__head-row {
  justify-content: flex-start;
  margin: 0 0 38px;
}

.hv2-partners__head-row h2 {
  font-size: clamp(2.25rem, 3vw, 3.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em;
}

.hv2-partners__body {
  max-width: 760px;
  margin: -16px 0 34px;
}

.hv2-partners__logos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: none;
  gap: 0;
  border: 1px solid rgba(120, 164, 208, .4);
}

.hv2-partners__logo {
  min-height: 138px;
  padding: 0;
  box-sizing: border-box;
  border-right: 1px solid rgba(120, 164, 208, .36);
  border-bottom: 1px solid rgba(120, 164, 208, .36);
  transition: background-color .25s ease;
}

.hv2-partners__logo:nth-child(4n) {
  border-right: 0;
}

.hv2-partners__logo img {
  width: min(82%, 230px);
  max-height: 82px;
  filter: none;
  opacity: 1;
  transition: transform .32s cubic-bezier(.22, 1, .36, 1), filter .25s ease;
}

.hv2-partners__logo[href]:hover {
  background: rgba(255, 255, 255, .38);
}

.hv2-partners__logo[href]:hover img {
  transform: scale(1.07);
}

@media (max-width: 900px) {
  .hv2-partners { padding: 52px 0 48px; }
  .hv2-partners__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv2-partners__logo { min-height: 118px; }
  .hv2-partners__logo:nth-child(4n) { border-right: 1px solid rgba(120, 164, 208, .36); }
  .hv2-partners__logo:nth-child(2n) { border-right: 0; }
}

@media (max-width: 560px) {
  .hv2-partners__head-row { margin-bottom: 28px; }
  .hv2-partners__logo { min-height: 102px; padding: 0; }
  .hv2-partners__logo img { width: 84%; max-height: 52px; }
}

/* Responsive typography scale: shared by every Home v2 component. */
.hv2-hero h1 {
  font-size: clamp(3rem, 3.9vw, 4.5rem);
  line-height: 1.2;
  font-weight: 500;
}

.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;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

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

.hv2-hero .hv2-kicker {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;
}

.hv2-copy,
.hv2-intro p:not(.hv2-intro__text),
.hv2-solutions p,
.hv2-projects p,
.hv2-partners__body {
  font-size: clamp(1rem, 1.05vw, 1.125rem) !important;
  line-height: 1.58;
  text-align: justify;
  text-justify: inter-word;
  white-space: normal;
}

.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;
  font-weight: 500 !important;
  line-height: 1.2 !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,
.hv2-testimonial__title {
  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.5rem, 11vw, 3rem) !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
  }

  .hv2-hero .hv2-kicker {
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  .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.4vw, 2.25rem) !important;
    line-height: 1.28 !important;
    white-space: normal !important;
  }

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

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

  .hv2-intro__cards {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 1px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .hv2-intro__card {
    position: relative !important;
    display: flex !important;
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    max-width: 8px !important;
    height: 200px !important;
    min-height: 200px !important;
    align-self: stretch !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: transparent !important;
    overflow: hidden !important;
    gap: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .hv2-intro__card:not(.is-active) img,
  .hv2-intro__card:not(.is-active) span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  .hv2-intro__card.is-active {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 200px !important;
    min-height: 200px !important;
    padding: 28px 12px !important;
    gap: 16px !important;
    background: #2d70b7 !important;
    color: #fff !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .hv2-intro__card.is-active img {
    position: static !important;
    width: 88px !important;
    height: 88px !important;
    margin: 0 !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    filter: brightness(0) invert(1) !important;
    object-fit: contain !important;
  }

  .hv2-intro__card.is-active span {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    white-space: nowrap !important;
    font-size: clamp(1.0625rem, 4.6vw, 1.25rem) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #fff !important;
    text-align: center !important;
  }

  .hv2-intro .hv2-btn {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  .hv2-intro__picker {
    display: none !important;
  }

  .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;
  }

  /* Trusted partners: stack every logo in a single bordered column on phones. */
  .hv2-partners {
    padding: 42px 0 36px;
  }

  .hv2-partners__head-row {
    margin-bottom: 32px;
  }

  .hv2-partners__logos {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .hv2-partners__logo,
  .hv2-partners__logo:nth-child(2n),
  .hv2-partners__logo:nth-child(4n) {
    min-height: 76px;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(120, 164, 208, .36);
  }

  .hv2-partners__logo:last-child {
    border-bottom: 0;
  }

  .hv2-partners__logo img {
    width: min(74%, 220px);
    max-height: 56px;
  }
}
