@charset "UTF-8";
.vw-site {
  --vw-navy: #004393;
  --vw-navy-deep: #002b61;
  --vw-sand: #f8f4ec;
  --vw-copper: #fdc700;
  --vw-copper-dark: #fdc700;
  --vw-mist: #e8eef8;
  --vw-text: #123a6d;
  --vw-soft-text: #5a6f8b;
  --vw-line: rgba(0, 67, 147, 0.12);
  --iv-list-line: rgba(15, 45, 58, 0.09);
  --iv-surface-gradient: linear-gradient(180deg, #ffffff 0%, #faf6ef 100%);
  --iv-muted-gradient: linear-gradient(180deg, #f5f8fc 0%, #eef3f8 100%);
  background: -webkit-gradient(linear,left top,left bottom,from(#f2f6fc),to(#fcfdff));
  background: linear-gradient(180deg,#f2f6fc 0,#fcfdff 100%);
  color: var(--vw-text);
  font-family: Manrope,sans-serif;
  --iv-radius-xs: 16px;
  --iv-radius-sm: 22px;
  --iv-radius-md: 28px;
  --iv-radius-lg: 34px;
  --iv-shadow-soft: 0 20px 50px rgba(9, 25, 34, 0.10);
  --iv-shadow-strong: 0 28px 80px rgba(7, 21, 32, 0.18);
  --iv-space-1: 12px;
  --iv-space-2: 18px;
  --iv-space-3: 24px;
  --iv-space-4: 32px;
  --iv-space-5: 44px
}
.vw-site a,
.vw-site body,
.vw-site li,
.vw-site p,
.vw-site small,
.vw-site span,
.vw-site strong {
  font-family: Manrope,sans-serif
}
.vw-site h1,
.vw-site h2,
.vw-site h3,
.vw-site h4 {
  font-family: "Space Grotesk",sans-serif;
  text-transform: none;
  color: #08202c;
  line-height: 1.04;
  letter-spacing: -.03em
}
.iv-service-card--image__body h3,
.vw-process-card h3,
.vw-service-card h3,
.vw-value-card h3 {
  color: #08202c
}
.vw-site li,
.vw-site p {
  color: var(--vw-soft-text);
  font-size: 1.65rem;
  line-height: 1.72
}
.vw-site a {
  color: rgba(255,255,255,.78);
  padding: 10px
}
.vw-site .custom-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg,var(--vw-copper),var(--vw-copper-dark));
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: none
}
.vw-site .custom-btn:focus,
.vw-site .custom-btn:hover {
  color: #fff;
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px)
}
.vw-site .custom-btn--vw-navy {
  background: linear-gradient(135deg,var(--vw-navy-deep),var(--vw-navy));
  -webkit-box-shadow: 0 18px 38px rgba(0,49,110,.2);
  box-shadow: 0 18px 38px rgba(0,49,110,.2)
}
.vw-site .custom-btn--vw-navy:focus,
.vw-site .custom-btn--vw-navy:hover {
  background: linear-gradient(135deg,#082c56,#004393);
  -webkit-box-shadow: 0 22px 42px rgba(0,49,110,.24);
  box-shadow: 0 22px 42px rgba(0,49,110,.24)
}
.vw-site #hero {
  min-height: 0;
  margin-bottom: 0
}
.vw-hero {
  position: relative;
  padding: 164px 0 92px;
  background: radial-gradient(circle at top right,rgba(214,132,83,.24),transparent 30%),linear-gradient(135deg,var(--vw-navy-deep),var(--vw-navy));
  overflow: hidden;
  color: rgba(255,255,255,.78)
}
.vw-hero--page {
  padding: 152px 0 74px
}
.vw-hero::after,
.vw-hero::before {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  -webkit-filter: blur(2px);
  filter: blur(2px)
}
.vw-hero::before {
  top: 80px;
  right: -100px;
  width: 320px;
  height: 320px
}
.vw-hero::after {
  left: -80px;
  bottom: -110px;
  width: 240px;
  height: 240px
}
.vw-duo-band,
.vw-hero__grid,
.vw-intro-block,
.vw-page-hero,
.vw-story-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 30px
}
.vw-hero__grid {
  grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.vw-page-hero {
  max-width: 780px
}
.vw-kicker {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: rgba(255,255,255,.78);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase
}
.vw-kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  background: var(--vw-copper)
}
.vw-audience-card .vw-kicker,
.vw-cta-banner .vw-kicker,
.vw-footer .vw-kicker,
.vw-intro-block .vw-kicker,
.vw-region-card .vw-kicker,
.vw-section .vw-kicker,
.vw-section-heading .vw-kicker,
.vw-story-grid .vw-kicker {
  color: var(--vw-copper)
}
.vw-hero h1,
.vw-page-hero h1 {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(4.4rem,6vw,7.2rem)
}
.vw-hero--page h1 {
  margin-bottom: 18px;
  max-width: 11ch;
  font-size: clamp(3.7rem,4.7vw,5.4rem);
  line-height: 1.02
}
.vw-hero__lead,
.vw-page-hero p {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.78)!important;
  font-size: 1.9rem
}
.vw-hero--page .iv-section-hero__story p,
.vw-hero--page .vw-hero__lead {
  max-width: 62ch;
  font-size: 1.72rem;
  line-height: 1.62
}
.vw-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  margin-top: 34px
}
.vw-actions--stacked {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.vw-text-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 700
}
.vw-text-link::after {
  content: "→";
  font-size: 1.4rem
}
.vw-hero__usp {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none
}
.vw-hero__usp li {
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  color: rgba(255,255,255,.78);
  font-size: 1.35rem;
  line-height: 1.5;
  background: rgba(255,255,255,.05)
}
.vw-audience-card,
.vw-contact-card,
.vw-cta-banner,
.vw-note-card,
.vw-process-card,
.vw-quote-card,
.vw-region-card,
.vw-service-card,
.vw-signal-card,
.vw-value-card {
  border-radius: 28px
}
.vw-audience-card,
.vw-contact-card,
.vw-intro-block__aside,
.vw-note-card,
.vw-process-card,
.vw-quote-card,
.vw-region-card,
.vw-service-card,
.vw-signal-card,
.vw-story-grid__panel,
.vw-value-card {
  background: #fff;
  border: 1px solid var(--vw-line);
  -webkit-box-shadow: 0 24px 70px rgba(15,45,58,.08);
  box-shadow: 0 24px 70px rgba(15,45,58,.08)
}
.vw-signal-card {
  padding: 26px
}
.vw-signal-card__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(217,229,227,.7);
  color: var(--vw-navy);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase
}
.vw-service-mini-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px
}
.vw-service-mini-card {
  padding: 18px;
  border-radius: 20px;
  background: var(--iv-surface-gradient);
  border: 1px solid var(--iv-list-line)
}
.vw-contact-card i,
.vw-service-card__icon,
.vw-service-mini-card i {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 16px;
  border-radius: 16px;
  background: rgba(214,132,83,.14);
  color: var(--vw-copper-dark);
  font-size: 1.9rem
}
.vw-note-card strong,
.vw-service-mini-card strong,
.vw-stat-stack strong,
.vw-trust-list strong {
  display: block;
  color: var(--vw-navy);
  font-size: 1.5rem
}
.vw-service-mini-card p,
.vw-stat-stack span,
.vw-trust-list span {
  margin: 8px 0 0;
  font-size: 1.3rem;
  line-height: 1.55
}
.vw-stat-stack {
  display: grid;
  gap: 14px;
  margin-top: 16px
}
.vw-stat-stack > div {
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05)
}
.vw-stat-stack span,
.vw-stat-stack strong {
  color: #fff
}
.vw-section {
  position: relative;
  padding: 92px 0;
  background: #fff
}
.vw-section--muted {
  background: var(--iv-muted-gradient)
}
.vw-section--dark {
  background: radial-gradient(circle at top left,rgba(214,132,83,.18),transparent 22%),linear-gradient(135deg,#0a2230,#102f3b)
}
.vw-section-heading {
  max-width: 760px;
  margin-bottom: 34px
}
.vw-section-heading--light h2,
.vw-section-heading--light p {
  color: #fff
}
.vw-cta-banner h2,
.vw-intro-block h2,
.vw-region-card h2,
.vw-section-heading h2,
.vw-story-grid h2 {
  margin: 0;
  font-size: clamp(3rem,3.8vw,5rem)
}
.vw-section-heading p {
  margin-top: 18px
}
.vw-duo-band,
.vw-intro-block,
.vw-story-grid {
  grid-template-columns: minmax(0,1.15fr) minmax(290px,.85fr);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start
}
.vw-intro-block__aside,
.vw-story-grid__panel {
  display: grid;
  gap: 18px;
  padding: 22px
}
.vw-audience-card,
.vw-contact-card,
.vw-note-card,
.vw-process-card,
.vw-quote-card,
.vw-region-card,
.vw-service-card,
.vw-value-card {
  padding: 28px
}
.vw-check-list,
.vw-trust-list {
  display: grid;
  gap: 14px
}
.vw-check-list > div,
.vw-trust-list > div {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(243,237,227,.7);
  border: 1px solid var(--iv-list-line)
}
.vw-check-list i {
  margin-right: 10px;
  color: var(--vw-copper-dark)
}
.vw-contact-grid,
.vw-process-grid,
.vw-service-grid,
.vw-value-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px
}
.vw-process-grid--compact {
  grid-template-columns: repeat(3,minmax(0,1fr))
}
.vw-contact-card h2,
.vw-process-card h3,
.vw-service-card h3,
.vw-value-card h3 {
  margin: 0 0 14px;
  font-size: 2.3rem
}
.vw-audience-card ul,
.vw-service-card ul {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none
}
.vw-audience-card li,
.vw-service-card li {
  position: relative;
  padding-left: 18px
}
.vw-audience-card li::before,
.vw-service-card li::before {
  content: "";
  position: absolute;
  top: .7em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vw-copper)
}
.vw-region-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px
}
.vw-region-tags span {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(214,132,83,.14);
  color: var(--vw-navy);
  font-size: 1.3rem;
  font-weight: 700
}
.vw-process-card {
  min-height: 100%
}
.vw-process-card span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--vw-copper);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase
}
.vw-section--dark .vw-process-card {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.08);
  -webkit-box-shadow: none;
  box-shadow: none
}
.vw-section--dark .vw-process-card h3,
.vw-section--dark .vw-process-card p {
  color: #fff
}
.vw-cta-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 22px;
  padding: 34px;
  background: linear-gradient(135deg,#fff,#f4ede5);
  border: 1px solid rgba(214,132,83,.2);
  -webkit-box-shadow: 0 24px 60px rgba(15,45,58,.08);
  box-shadow: 0 24px 60px rgba(15,45,58,.08)
}
.vw-cta-banner__content {
  max-width: 62rem
}
.vw-cta-banner__content p {
  margin: 16px 0 0;
  font-size: 1.6rem;
  line-height: 1.6
}
.vw-cta-banner .vw-actions {
  margin-top: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
.vw-contact-grid .vw-contact-card {
  display: block;
  text-decoration: none
}
.vw-contact-card span {
  display: block;
  margin-top: 10px;
  color: var(--vw-soft-text);
  font-size: 1.3rem;
  line-height: 1.55
}
.vw-footer {
  padding-top: 0
}
.iv-layer-section {
  position: relative
}
.iv-layer-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.24)),to(rgba(255,255,255,0)));
  background: linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));
  pointer-events: none
}
.iv-section-hero {
  position: relative
}
.iv-section-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr);
  gap: var(--iv-space-5);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1
}
.iv-section-hero__grid--page {
  grid-template-columns: minmax(0,1fr) minmax(320px,.9fr)
}
.iv-section-hero__content {
  position: relative;
  z-index: 1
}
.iv-section-hero__story {
  display: grid;
  gap: 12px;
  max-width: 720px
}
.iv-section-hero__story p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1.9rem;
  line-height: 1.65
}
.iv-section-hero__media {
  position: relative
}
.iv-image-panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--iv-radius-lg);
  background: #d9e5e3;
  -webkit-box-shadow: var(--iv-shadow-strong);
  box-shadow: var(--iv-shadow-strong)
}
.iv-image-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear,left top,left bottom,color-stop(45%,rgba(7,21,32,0)),to(rgba(7,21,32,.08)));
  background: linear-gradient(180deg,rgba(7,21,32,0) 45%,rgba(7,21,32,.08));
  pointer-events: none
}
.iv-image-panel--hero {
  min-height: 520px
}
.vw-hero--page .iv-image-panel--hero {
  min-height: 450px
}
.iv-image-panel--compact {
  min-height: 260px;
  height: 320px
}
.iv-image-panel--cta {
  min-height: 240px
}
.iv-lazy-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}
.iv-floating-card {
  position: absolute;
  left: -24px;
  bottom: 24px;
  max-width: 280px;
  padding: 18px 20px;
  border-radius: var(--iv-radius-sm);
  background: rgba(255,255,255,.96);
  -webkit-box-shadow: var(--iv-shadow-soft);
  box-shadow: var(--iv-shadow-soft)
}
.iv-floating-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--vw-navy);
  font-size: 1.6rem
}
.iv-floating-card p {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.55
}
.iv-proof-list {
  display: grid;
  gap: 12px;
  margin-top: 26px
}
.iv-proof-list--hero {
  grid-template-columns: repeat(3,minmax(0,1fr))
}
.iv-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 999px;
  background: rgba(243,237,227,.82);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  color: var(--vw-navy);
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.45
}
.iv-badge i {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: var(--vw-copper);
  font-size: 1.4rem
}
.iv-proof-list--hero .iv-badge {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.14);
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff
}
.iv-badge--contact {
  text-decoration: none;
  -webkit-transition: background .25s,-webkit-transform .25s,-webkit-box-shadow .25s;
  transition: transform .25s,background .25s,box-shadow .25s,-webkit-transform .25s,-webkit-box-shadow .25s
}
.iv-badge--contact:focus-visible,
.iv-badge--contact:hover {
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
  background: rgba(255,255,255,.12);
  -webkit-box-shadow: 0 16px 34px rgba(6,20,34,.16);
  box-shadow: 0 16px 34px rgba(6,20,34,.16)
}
.iv-badge--contact:focus-visible {
  outline: rgba(253,199,0,.7) solid 2px;
  outline-offset: 2px
}
.iv-badge__icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  overflow: hidden
}
.iv-badge__icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}
.iv-contact-stage,
.iv-feature-panel,
.iv-review-block,
.iv-service-detail {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.95fr);
  gap: var(--iv-space-5);
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch
}
.iv-feature-panel--reverse,
.iv-service-detail:nth-child(even) {
  grid-template-columns: minmax(320px,.95fr) minmax(0,1fr)
}
.iv-feature-panel--reverse .iv-feature-panel__media,
.iv-service-detail:nth-child(even) .iv-service-detail__media {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2
}
.iv-feature-panel--reverse .iv-feature-panel__content,
.iv-service-detail:nth-child(even) .iv-service-detail__content {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1
}
.iv-contact-stage__card,
.iv-feature-panel__content,
.iv-review-block__content,
.iv-service-detail__content {
  position: relative;
  z-index: 1
}
.iv-feature-panel__media,
.iv-review-block__media,
.iv-service-detail__media {
  height: 100%
}
.iv-feature-panel__media .iv-image-panel,
.iv-review-block__media .iv-image-panel,
.iv-service-detail__media .iv-image-panel {
  height: 100%;
  min-height: 100%
}
.iv-feature-panel__content > p:last-of-type,
.iv-review-block__content > p:last-of-type {
  margin-bottom: 0
}
.iv-result-grid,
.iv-service-story-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px
}
.iv-result-grid {
  grid-template-columns: repeat(3,minmax(0,1fr))
}
.iv-service-card--image {
  overflow: hidden;
  border-radius: var(--iv-radius-md);
  background: #fff;
  border: 1px solid var(--vw-line);
  -webkit-box-shadow: var(--iv-shadow-soft);
  box-shadow: var(--iv-shadow-soft);
  -webkit-transition: -webkit-transform .25s,-webkit-box-shadow .25s;
  transition: transform .25s,box-shadow .25s,-webkit-transform .25s,-webkit-box-shadow .25s
}
.iv-service-card--image:focus-within,
.iv-service-card--image:hover {
  -webkit-transform: translateY(-6px);
  -ms-transform: translateY(-6px);
  transform: translateY(-6px);
  -webkit-box-shadow: 0 30px 70px rgba(9,25,34,.14);
  box-shadow: 0 30px 70px rgba(9,25,34,.14)
}
.iv-service-card--image__media {
  height: 260px
}
.iv-service-card--image__body {
  padding: 22px
}
.iv-service-card--image__body h3 {
  margin: 0 0 10px;
  font-size: 2.2rem
}
.iv-service-card--image__body p {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.6
}
.iv-trust-strip {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
  margin-top: 54px;
  padding: 22px;
  border-radius: var(--iv-radius-md);
  background: var(--iv-surface-gradient);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: var(--iv-shadow-soft);
  box-shadow: var(--iv-shadow-soft)
}
.iv-trust-strip--dark {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.08);
  -webkit-box-shadow: none;
  box-shadow: none
}
.iv-trust-strip__item {
  padding: 18px;
  border-radius: var(--iv-radius-sm);
  background: rgba(255,255,255,.94);
  border: 1px solid var(--iv-list-line)
}
.iv-trust-strip--dark .iv-trust-strip__item {
  background: rgba(255,255,255,.06)
}
.iv-trust-strip__item i {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-bottom: 16px;
  border-radius: 16px;
  background: linear-gradient(135deg,var(--vw-copper),var(--vw-copper-dark));
  -webkit-box-shadow: 0 16px 28px rgba(253,199,0,.22);
  box-shadow: 0 16px 28px rgba(253,199,0,.22);
  color: #fff;
  font-size: 1.6rem
}
.iv-trust-strip__item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--vw-navy);
  font-size: 1.55rem
}
.iv-trust-strip__item span {
  display: block;
  color: var(--vw-soft-text);
  font-size: 1.3rem;
  line-height: 1.55
}
.iv-trust-strip--dark .iv-trust-strip__item i,
.iv-trust-strip--dark .iv-trust-strip__item span,
.iv-trust-strip--dark .iv-trust-strip__item strong {
  color: #fff
}
.iv-trust-strip--dark .iv-trust-strip__item i {
  background: rgba(214,132,83,.18)
}
.iv-process-list {
  display: grid;
  gap: 16px;
  margin: 24px 0 28px
}
.iv-process-list__item {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr);
  gap: 14px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  padding: 16px 18px;
  border-radius: var(--iv-radius-sm);
  background: rgba(255,255,255,.92);
  border: 1px solid var(--iv-list-line)
}
.iv-process-list__item span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: linear-gradient(135deg,var(--vw-copper),var(--vw-copper-dark));
  color: #fff;
  font-family: "Space Grotesk",sans-serif;
  font-size: 1.5rem;
  font-weight: 700
}
.iv-process-list__item strong {
  display: block;
  margin-bottom: 6px;
  color: var(--vw-navy);
  font-size: 1.55rem
}
.iv-process-list__item p {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.55
}
.iv-result-grid__item strong {
  display: block;
  margin-top: 14px;
  color: var(--vw-navy);
  font-size: 1.45rem;
  text-align: center
}
.iv-result-grid__item {
  display: grid;
  -ms-flex-line-pack: start;
  align-content: start;
  gap: 14px;
  justify-items: center;
  text-align: center
}
.iv-result-grid__item .iv-image-panel {
  width: 100%;
  height: clamp(260px,26vw,320px);
  min-height: 0
}
.iv-result-grid__item p {
  max-width: 34ch;
  margin: 0 auto;
  text-align: center
}
.iv-review-block {
  padding: 28px;
  border-radius: var(--iv-radius-lg);
  background: var(--iv-surface-gradient);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: var(--iv-shadow-soft);
  box-shadow: var(--iv-shadow-soft)
}
.iv-review-block__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.iv-review-block__content h2 {
  margin: 0 0 18px;
  font-size: clamp(2.8rem,3.4vw,4.6rem)
}
.iv-review-block__content p {
  margin-bottom: 26px
}
.iv-review-block__content .custom-btn {
  margin-top: 8px;
  padding: 0 24px
}
.iv-service-detail-stack {
  display: grid;
  gap: 24px
}
.iv-service-detail {
  padding: 24px;
  border-radius: var(--iv-radius-lg);
  background: var(--iv-surface-gradient);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: var(--iv-shadow-soft);
  box-shadow: var(--iv-shadow-soft)
}
.iv-service-detail__content h3 {
  margin: 0 0 12px;
  font-size: 3rem
}
.vw-section--contact-page {
  overflow: visible;
  padding-top: 56px;
  padding-bottom: 28px
}
.vw-section--contact-company {
  padding-top: 36px;
  padding-bottom: 80px
}
.vw-section--services-detail-compact {
  padding-bottom: 58px
}
.vw-section--services-cta-compact {
  padding-top: 22px
}
.iv-contact-stage {
  grid-template-columns: 1fr
}
.iv-contact-stage__card {
  padding: 30px;
  border-radius: var(--iv-radius-lg);
  background: var(--iv-surface-gradient);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: var(--iv-shadow-soft);
  box-shadow: var(--iv-shadow-soft)
}
.iv-company-data {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-top: 26px
}
.iv-company-data__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  padding: 20px 22px;
  border-radius: var(--iv-radius-sm);
  background: rgba(255,255,255,.94);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: 0 12px 30px rgba(9,25,34,.06);
  box-shadow: 0 12px 30px rgba(9,25,34,.06)
}
.iv-company-data__group h3 {
  margin: 0 0 14px;
  color: var(--vw-navy);
  font-size: 1.7rem;
  line-height: 1.25
}
.iv-company-data__list {
  display: grid;
  -ms-flex-line-pack: start;
  align-content: start;
  gap: 0;
  margin: 0
}
.iv-company-data__row {
  display: grid;
  grid-template-columns: minmax(124px,150px) minmax(0,1fr);
  gap: 16px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  padding: 12px 0
}
.iv-company-data__row:first-child {
  padding-top: 0
}
.iv-company-data__row:last-child {
  padding-bottom: 0
}
.iv-company-data__row + .iv-company-data__row {
  border-top: 1px solid rgba(15,45,58,.08)
}
.iv-company-data__row dt {
  margin: 0;
  color: var(--vw-soft-text);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase
}
.iv-company-data__row dd {
  margin: 0;
  color: var(--vw-navy);
  font-size: 1.42rem;
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere
}
.iv-feature-panel .vw-text-link,
.iv-review-block .vw-text-link {
  color: var(--vw-navy)
}
.vw-workarea-map-shell {
  --workarea-primary: #0B2A4A;
  --workarea-secondary: #163E6C;
  --workarea-accent-blue: #3A6EA5;
  --workarea-light-blue: #E6EEF7;
  --workarea-yellow: #F2C94C;
  --workarea-bg: #F8FAFC;
  --workarea-text: #0F172A;
  --workarea-text-light: #64748B;
  --workarea-line: rgba(22, 62, 108, 0.12);
  position: relative;
  grid-template-columns: minmax(0,.84fr) minmax(360px,1fr);
  gap: clamp(28px,4vw,48px);
  background: -webkit-gradient(linear,left top,left bottom,from(#fbfdff),to(var(--workarea-bg)));
  background: linear-gradient(180deg,#fbfdff 0,var(--workarea-bg) 100%);
  border: 1px solid rgba(22,62,108,.08);
  -webkit-box-shadow: 0 24px 60px rgba(11,42,74,.1);
  box-shadow: 0 24px 60px rgba(11,42,74,.1);
  overflow: hidden
}
.vw-workarea-map-shell + .iv-contact-stage {
  margin-top: var(--iv-space-5)
}
.vw-workarea-map-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left,rgba(58,110,165,.12),transparent 32%),radial-gradient(circle at bottom right,rgba(22,62,108,.08),transparent 38%);
  pointer-events: none
}
.vw-workarea-map__content,
.vw-workarea-map__visual {
  position: relative;
  z-index: 1
}
.vw-workarea-map__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-item-align: center;
  align-self: center;
  max-width: 560px
}
.vw-workarea-map__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(230,238,247,.9);
  -webkit-box-shadow: inset 0 0 0 1px rgba(58,110,165,.14);
  box-shadow: inset 0 0 0 1px rgba(58,110,165,.14);
  color: var(--workarea-secondary);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase
}
.vw-workarea-map__content h2 {
  margin: 18px 0 0;
  max-width: 11ch;
  color: var(--workarea-text);
  font-size: clamp(3.4rem,4vw,5.6rem);
  line-height: 1.04;
  letter-spacing: -.045em
}
.vw-workarea-map__content p {
  margin: 20px 0 0;
  max-width: 52ch;
  color: var(--workarea-text-light);
  font-size: 1.65rem;
  line-height: 1.75
}
.vw-workarea-map__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  margin-top: 28px
}
.vw-workarea-map__cta.custom-btn {
  min-height: 56px;
  padding: 0 28px;
  background: linear-gradient(135deg,var(--workarea-yellow),#e5bc3c);
  color: var(--workarea-primary);
  -webkit-box-shadow: 0 16px 34px rgba(242,201,76,.28);
  box-shadow: 0 16px 34px rgba(242,201,76,.28);
  -webkit-transition: background .2s,color .2s,-webkit-transform .2s,-webkit-box-shadow .2s;
  transition: transform .2s,box-shadow .2s,background .2s,color .2s,-webkit-transform .2s,-webkit-box-shadow .2s
}
.vw-workarea-map__cta.custom-btn:focus,
.vw-workarea-map__cta.custom-btn:hover {
  background: linear-gradient(135deg,#e8c045,#d8b03b);
  color: var(--workarea-primary);
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
  -webkit-box-shadow: 0 22px 42px rgba(242,201,76,.34);
  box-shadow: 0 22px 42px rgba(242,201,76,.34)
}
.vw-workarea-map__link {
  padding: 0;
  color: var(--workarea-secondary);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  -webkit-transition: color .2s;
  transition: color .2s
}
.vw-workarea-map__link:focus,
.vw-workarea-map__link:hover {
  color: var(--workarea-yellow)
}
.vw-workarea-map__visual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch
}
.vw-workarea-map__map-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,.44fr);
  gap: 18px;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  min-height: 560px;
  padding: 18px;
  border-radius: 22px;
  background: -webkit-gradient(linear,left top,left bottom,from(#fff),to(#eef4fb));
  background: linear-gradient(180deg,#fff 0,#eef4fb 100%);
  border: 1px solid rgba(22,62,108,.1);
  -webkit-box-shadow: 0 22px 54px rgba(11,42,74,.1);
  box-shadow: 0 22px 54px rgba(11,42,74,.1);
  overflow: hidden
}
.vw-workarea-map__map-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right,rgba(58,110,165,.08),transparent 28%),radial-gradient(circle at bottom left,rgba(242,201,76,.08),transparent 28%);
  pointer-events: none
}
.vw-workarea-map__aside,
.vw-workarea-map__frame {
  position: relative;
  z-index: 1
}
.vw-workarea-map__frame {
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84)
}
.vw-workarea-map__canvas {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  width: 100%;
  height: 100%;
  min-height: 488px;
  overflow: hidden
}
.vw-workarea-map__svg {
  width: 100%;
  height: 100%;
  display: block
}
.vw-workarea-map__region {
  stroke: rgba(58,110,165,.18);
  stroke-width: 1.35;
  vector-effect: non-scaling-stroke;
  -webkit-transition: fill .2s,stroke .2s,-webkit-transform .2s,-webkit-filter .2s;
  transition: fill .2s,stroke .2s,transform .2s,filter .2s,-webkit-transform .2s,-webkit-filter .2s
}
.vw-workarea-map__region.is-context {
  fill: rgba(58,110,165,.12)
}
.vw-workarea-map__region.is-tertiary {
  fill: var(--workarea-light-blue)
}
.vw-workarea-map__region.is-highlight {
  fill: var(--workarea-primary)
}
.vw-workarea-map__region.is-context:focus-visible,
.vw-workarea-map__region.is-context:hover {
  fill: rgba(58,110,165,.18);
  -webkit-filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .14));
  filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .14))
}
.vw-workarea-map__region.is-tertiary:focus-visible,
.vw-workarea-map__region.is-tertiary:hover {
  fill: #d9e5f2;
  -webkit-filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .14));
  filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .14))
}
.vw-workarea-map__region.is-secondary:focus-visible,
.vw-workarea-map__region.is-secondary:hover {
  fill: #25507f;
  -webkit-filter: drop-shadow(0 10px 18px rgba(22, 62, 108, .18));
  filter: drop-shadow(0 10px 18px rgba(22, 62, 108, .18))
}
.vw-workarea-map__region.is-highlight:focus-visible,
.vw-workarea-map__region.is-highlight:hover {
  fill: var(--workarea-secondary);
  -webkit-filter: drop-shadow(0 10px 18px rgba(11, 42, 74, .2));
  filter: drop-shadow(0 10px 18px rgba(11, 42, 74, .2))
}
.vw-workarea-map__labels {
  pointer-events: none
}
.vw-workarea-map__label,
.vw-workarea-map__marker-label {
  font-family: "Space Grotesk",sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  fill: var(--workarea-secondary);
  paint-order: stroke fill;
  stroke: rgba(255,255,255,.94);
  stroke-width: 3.5px;
  stroke-linejoin: round
}
.vw-workarea-map__label.is-context {
  font-size: 10px;
  font-weight: 600;
  fill: rgba(100,116,139,.82)
}
.vw-workarea-map__label.is-tertiary {
  font-size: 10.25px;
  font-weight: 700;
  fill: var(--workarea-secondary)
}
.vw-workarea-map__label.is-secondary {
  font-size: 10.5px;
  font-weight: 700;
  fill: rgba(255,255,255,.98);
  stroke: rgba(22,62,108,.4)
}
.vw-workarea-map__label.is-highlight {
  font-size: 11.5px;
  font-weight: 700;
  fill: rgba(255,255,255,.98);
  stroke: rgba(11,42,74,.46)
}
.vw-workarea-map__marker-dot {
  fill: var(--workarea-yellow);
  stroke: rgba(255,255,255,.96);
  stroke-width: 2.5px;
  vector-effect: non-scaling-stroke;
  -webkit-filter: drop-shadow(0 8px 12px rgba(11, 42, 74, .14));
  filter: drop-shadow(0 8px 12px rgba(11, 42, 74, .14))
}
.vw-workarea-map__marker-arrow {
  fill: none;
  stroke: var(--workarea-yellow);
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .88
}
.vw-workarea-map__marker-arrowhead {
  fill: var(--workarea-yellow)
}
.vw-workarea-map__marker-label {
  font-size: 11px;
  font-weight: 700;
  fill: rgba(255,255,255,.98);
  stroke: rgba(11,42,74,.44)
}
.vw-workarea-map__tooltip {
  position: absolute;
  left: 0;
  top: 0;
  max-width: 240px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--workarea-primary);
  color: #fff;
  font-family: Manrope,sans-serif;
  font-size: 1.25rem;
  line-height: 1.45;
  -webkit-box-shadow: 0 18px 36px rgba(11,42,74,.18);
  box-shadow: 0 18px 36px rgba(11,42,74,.18);
  z-index: 120;
  pointer-events: none;
  opacity: 0;
  -webkit-transform: translate3d(0,8px,0);
  transform: translate3d(0,8px,0);
  -webkit-transition: opacity .16s,-webkit-transform .16s;
  transition: opacity .16s,transform .16s,-webkit-transform .16s
}
.vw-workarea-map__tooltip.is-visible {
  opacity: 1;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0)
}
.vw-workarea-map__fallback,
.vw-workarea-map__status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
  text-align: center
}
.vw-workarea-map__aside {
  display: grid;
  gap: 14px;
  -ms-flex-line-pack: center;
  align-content: center
}
.vw-workarea-map__card {
  --card-shift: 0px;
  border: 1px solid rgba(22,62,108,.08);
  -webkit-box-shadow: 0 16px 32px rgba(11,42,74,.08);
  box-shadow: 0 16px 32px rgba(11,42,74,.08);
  -webkit-transform: translate3d(var(--card-shift),0,0);
  transform: translate3d(var(--card-shift),0,0)
}
.vw-workarea-map__card:nth-child(1) {
  --card-shift: -14px
}
.vw-workarea-map__card:nth-child(2) {
  --card-shift: 10px
}
.vw-workarea-map__card:nth-child(3) {
  --card-shift: -8px
}
.vw-workarea-map__card:hover {
  -webkit-transform: translate3d(var(--card-shift),-4px,0);
  transform: translate3d(var(--card-shift),-4px,0);
  -webkit-box-shadow: 0 22px 40px rgba(11,42,74,.12);
  box-shadow: 0 22px 40px rgba(11,42,74,.12)
}
.vw-workarea-map__card-head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px
}
.vw-workarea-map__card-icon {
  place-items: center;
  width: 36px;
  height: 36px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 12px;
  background: rgba(242,201,76,.16);
  color: var(--workarea-secondary);
  font-size: 1.3rem
}
.vw-workarea-map__card strong {
  color: var(--workarea-text)
}
.vw-workarea-map__card p,
.vw-workarea-map__fallback {
  color: var(--workarea-text-light)
}
.vw-workarea-map-shell {
  --workarea-core: #00316e;
  --workarea-secondary: #234a99;
  --workarea-tertiary: #9db3e0;
  --workarea-context: #d9e1ec;
  --workarea-hover-core: #004393;
  --workarea-hover-secondary: #2f5db2;
  --workarea-hover-tertiary: #adc1e6;
  --workarea-hover-context: #e5ebf3;
  display: block;
  margin-top: 0;
  padding: clamp(28px,4vw,40px);
  border-radius: 32px;
  background: var(--iv-surface-gradient);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: 0 24px 60px rgba(9,25,34,.08);
  box-shadow: 0 24px 60px rgba(9,25,34,.08)
}
.vw-workarea-map-shell::before {
  content: none
}
.vw-workarea-map__intro {
  max-width: none;
  margin-bottom: 30px
}
.vw-workarea-map__intro .vw-kicker {
  margin-bottom: 16px;
  color: var(--vw-copper)
}
.vw-workarea-map__intro h2 {
  margin: 0 0 18px;
  max-width: 24ch;
  font-size: clamp(4.2rem,4.8vw,6rem);
  line-height: 1.05;
  letter-spacing: -.04em;
  color: #08202c
}
.vw-workarea-map__intro p {
  margin: 0;
  max-width: 68ch;
  color: var(--vw-soft-text);
  font-size: 1.6rem;
  line-height: 1.72
}
.vw-workarea-map__stage {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,330px);
  gap: 38px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.vw-workarea-map__frame {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: 0 0;
  -webkit-box-shadow: none;
  box-shadow: none
}
.vw-workarea-map__canvas {
  min-height: clamp(420px,40vw,560px);
  border: 0;
  border-radius: 0;
  background: 0 0
}
.vw-workarea-map__region {
  stroke: var(--vw-line);
  stroke-width: 1.35;
  cursor: pointer
}
.vw-workarea-map__region.is-context {
  fill: var(--workarea-context)
}
.vw-workarea-map__region.is-tertiary {
  fill: var(--workarea-tertiary)
}
.vw-workarea-map__region.is-secondary {
  fill: var(--workarea-secondary)
}
.vw-workarea-map__region.is-highlight {
  fill: var(--workarea-core)
}
.vw-workarea-map__region.is-context:focus-visible,
.vw-workarea-map__region.is-context:hover {
  fill: var(--workarea-hover-context);
  stroke: var(--vw-copper);
  outline: 0;
  -webkit-filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .12));
  filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .12))
}
.vw-workarea-map__region.is-tertiary:focus-visible,
.vw-workarea-map__region.is-tertiary:hover {
  fill: var(--workarea-hover-tertiary);
  stroke: var(--vw-copper);
  outline: 0;
  -webkit-filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .12));
  filter: drop-shadow(0 10px 18px rgba(58, 110, 165, .12))
}
.vw-workarea-map__region.is-secondary:focus-visible,
.vw-workarea-map__region.is-secondary:hover {
  fill: var(--workarea-hover-secondary);
  stroke: var(--vw-copper);
  outline: 0;
  -webkit-filter: drop-shadow(0 10px 18px rgba(22, 62, 108, .16));
  filter: drop-shadow(0 10px 18px rgba(22, 62, 108, .16))
}
.vw-workarea-map__region.is-highlight:focus-visible,
.vw-workarea-map__region.is-highlight:hover {
  fill: var(--workarea-hover-core);
  stroke: var(--vw-copper);
  outline: 0;
  -webkit-filter: drop-shadow(0 10px 18px rgba(11, 42, 74, .18));
  filter: drop-shadow(0 10px 18px rgba(11, 42, 74, .18))
}
.vw-workarea-map__label.is-context {
  fill: rgba(18,58,109,.78)
}
.vw-workarea-map__label.is-tertiary {
  fill: var(--vw-navy)
}
.vw-workarea-map__label.is-highlight,
.vw-workarea-map__label.is-secondary,
.vw-workarea-map__marker-label {
  fill: rgba(255,255,255,.98)
}
.vw-workarea-map__marker-arrow,
.vw-workarea-map__marker-arrowhead {
  stroke: var(--vw-copper);
  fill: var(--vw-copper)
}
.vw-workarea-map__tooltip {
  background: var(--vw-navy-deep)
}
.vw-workarea-map__aside {
  display: grid;
  gap: 18px;
  -ms-flex-line-pack: center;
  align-content: center;
  padding: 0
}
.vw-workarea-map__card {
  padding: 28px;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--iv-list-line);
  -webkit-box-shadow: 0 18px 40px rgba(9,25,34,.07);
  box-shadow: 0 18px 40px rgba(9,25,34,.07);
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  -webkit-transition: border-color .2s,-webkit-box-shadow .2s;
  transition: box-shadow .2s,border-color .2s,-webkit-box-shadow .2s
}
.vw-workarea-map__card:hover {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  -webkit-box-shadow: 0 18px 40px rgba(9,25,34,.07);
  box-shadow: 0 18px 40px rgba(9,25,34,.07);
  border-color: rgba(0,67,147,.12)
}
.vw-workarea-map__card-head {
  display: block;
  margin: 0 0 10px
}
.vw-workarea-map__card-icon {
  display: none
}
.vw-workarea-map__card strong {
  display: block;
  margin: 0;
  color: var(--vw-navy);
  font-size: 1.64rem;
  line-height: 1.2
}
.vw-workarea-map__card p,
.vw-workarea-map__fallback {
  margin: 0;
  color: var(--vw-soft-text);
  font-size: 1.42rem;
  line-height: 1.7
}
@media (max-width:1199px) {
  .vw-workarea-map-shell {
    grid-template-columns: 1fr
  }
  .vw-workarea-map__content {
    max-width: none
  }
  .vw-workarea-map__content h2 {
    max-width: 14ch
  }
  .vw-workarea-map__map-card {
    grid-template-columns: 1fr;
    min-height: auto
  }
  .vw-workarea-map__aside {
    grid-template-columns: repeat(3,minmax(0,1fr));
    padding: 0
  }
  .vw-workarea-map__stage {
    grid-template-columns: 1fr
  }
  .vw-workarea-map__intro h2 {
    max-width: 18ch
  }
  .vw-workarea-map__aside {
    grid-template-columns: repeat(3,minmax(0,1fr))
  }
}
@media (max-width:767px) {
  .vw-workarea-map__content h2 {
    max-width: none;
    font-size: clamp(3rem,9vw,4.2rem)
  }
  .vw-workarea-map__content p {
    font-size: 1.5rem
  }
  .vw-workarea-map__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
  .vw-workarea-map__map-card {
    padding: 14px
  }
  .vw-workarea-map__frame {
    padding: 12px
  }
  .vw-workarea-map__card,
  .vw-workarea-map__card:hover {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
  }
  .vw-workarea-map__label,
  .vw-workarea-map__marker-label {
    font-size: 9.5px;
    stroke-width: 3px
  }
  .vw-workarea-map__label.is-context {
    font-size: 8.6px
  }
  .vw-workarea-map-shell {
    padding: 24px;
    border-radius: 26px
  }
  .vw-workarea-map__intro {
    margin-bottom: 22px
  }
  .vw-workarea-map__intro h2 {
    max-width: none;
    font-size: clamp(3.2rem,9vw,4.4rem)
  }
  .vw-workarea-map__intro p {
    font-size: 1.5rem
  }
  .vw-workarea-map__canvas {
    min-height: 340px
  }
  .vw-workarea-map__aside {
    grid-template-columns: 1fr
  }
  .vw-workarea-map__card {
    padding: 18px 20px
  }
}