@font-face {
  font-family: "ITVL Manrope";
  src: url("./Manrope-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

html { font-size: 100% !important; scroll-behavior: smooth; scrollbar-color: #4f7894 #0b2436; scrollbar-width: thin; background: #0a2234; }
body { margin: 0; overflow-x: hidden; background: #0a2234; }
body::-webkit-scrollbar { width: .72rem; }
body::-webkit-scrollbar-track { background: #0b2436; }
body::-webkit-scrollbar-thumb { background: #4f7894; border: 2px solid #0b2436; border-radius: 999px; }

.itvl-page,
.itvl-page *,
.itvl-page *::before,
.itvl-page *::after { box-sizing: border-box; }

.itvl-page {
  --ink: #102235;
  --ink-deep: #071727;
  --ink-soft: #526577;
  --paper: #f6f8fb;
  --paper-warm: #fcfdfd;
  --surface: #ffffff;
  --line: #d9e3eb;
  --line-strong: #b9cad7;
  --blue: #1768df;
  --blue-dark: #0b4eaf;
  --teal: #0b928f;
  --teal-light: #7bd2ca;
  --canvas: #0f2d44;
  --canvas-deep: #0a2234;
  --canvas-soft: #143750;
  --panel: #1b4059;
  --panel-raised: #25506a;
  --night: #0f2d44;
  --on-night: #f4f8fc;
  --on-night-muted: #b9cad7;
  --shadow: 0 24px 60px rgba(8, 27, 45, 0.12);
  --shadow-soft: 0 12px 32px rgba(8, 27, 45, 0.08);
  --radius-sm: 0.65rem;
  --radius-md: 1.15rem;
  --radius-lg: 1.8rem;
  --container: 75rem;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  color: var(--ink);
  background: var(--canvas);
  font-family: "ITVL Manrope", "Avenir Next", "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow: clip;
}

.itvl-page ::selection { color: #fff; background: var(--blue); }
.itvl-page :focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px var(--blue-dark); }
.itvl-page a { color: inherit; text-decoration-thickness: 0.08em; text-underline-offset: 0.22em; }
.itvl-page img, .itvl-page svg { display: block; max-width: 100%; }
.itvl-page h1, .itvl-page h2, .itvl-page h3, .itvl-page h4,
.itvl-page p, .itvl-page li, .itvl-page a, .itvl-page span,
.itvl-page strong, .itvl-page blockquote, .itvl-page label,
.itvl-page button, .itvl-page input, .itvl-page textarea, .itvl-page select {
  font-family: inherit;
}
.itvl-page button { text-transform: none; letter-spacing: normal; }
.itvl-page blockquote::before, .itvl-page blockquote::after { content: none; }
.itvl-container { width: min(calc(100% - 3rem), var(--container)); margin-inline: auto; }

.itvl-skip-link {
  position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .8rem 1rem;
  color: #fff; background: var(--night); border-radius: var(--radius-sm);
  transform: translateY(-150%); transition: transform 180ms var(--ease-out);
}
.itvl-skip-link:focus { transform: translateY(0); }

.itvl-header {
  position: sticky; z-index: 100; top: 0; color: var(--on-night);
  padding-top: env(safe-area-inset-top);
  background: rgba(10, 31, 47, .92); border-bottom: 1px solid rgba(183, 220, 241, .15);
  box-shadow: 0 16px 40px rgba(3, 10, 17, .28); backdrop-filter: blur(20px) saturate(115%);
}
.itvl-header-inner { min-height: 4.35rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.itvl-brand { display: inline-flex; align-items: center; gap: .8rem; min-width: 0; color: var(--on-night); text-decoration: none; }
.itvl-brand-mark { width: 2rem; height: 2rem; flex: 0 0 auto; display: grid; place-items: center; }
.itvl-brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.itvl-brand-copy { display: grid; line-height: 1.18; }
.itvl-brand-name { font-size: .82rem; font-weight: 720; letter-spacing: -.01em; }
.itvl-brand-subtitle { margin-top: .12rem; color: #7f8993; font-size: .7rem; font-weight: 580; letter-spacing: .025em; }

.itvl-nav { display: flex; align-items: center; gap: .2rem; }
.itvl-nav > a {
  position: relative; padding: .67rem .78rem; color: #b9cad7; border-radius: .5rem;
  font-size: .78rem; font-weight: 620; text-decoration: none;
  transition: color 180ms var(--ease-out), background-color 180ms var(--ease-out), transform 120ms var(--ease-out);
}
.itvl-nav > a[aria-current="true"], .itvl-nav > a[aria-current="page"] { color: #fff; background: rgba(23, 104, 223, .18); }
.itvl-nav > .itvl-nav-cta { margin-left: .45rem; padding-inline: 1rem; color: #fff; background: var(--blue); }
.itvl-menu-toggle {
  width: 2.8rem; height: 2.8rem; display: none; place-items: center; padding: 0;
  color: #fff; background: rgba(13, 38, 61, .88); border: 1px solid rgba(151, 188, 212, .28); border-radius: .7rem; cursor: pointer;
}
.itvl-menu-toggle svg { width: 1.35rem; height: 1.35rem; }
.itvl-menu-toggle svg[hidden] { display: none; }

.itvl-hero {
  position: relative; display: grid; align-items: start;
  color: var(--on-night); background: radial-gradient(ellipse at 50% 82%,rgba(35,79,112,.2),transparent 38rem),var(--canvas); isolation: isolate; overflow: hidden;
}
.itvl-hero::before {
  content: ""; position: absolute; z-index: -2; inset: 0; opacity: .3;
  background-image: linear-gradient(rgba(142,161,176,.08) 1px, transparent 1px), linear-gradient(90deg,rgba(142,161,176,.07) 1px,transparent 1px);
  background-size: 5rem 5rem; mask-image: radial-gradient(ellipse at 50% 64%,#000 0,transparent 72%);
}
.itvl-hero::after {
  content: ""; position: absolute; z-index: -1; width: 72rem; height: 24rem; left: 50%; bottom: -11rem;
  background: radial-gradient(ellipse at 50% 35%,rgba(23,104,223,.22),rgba(11,146,143,.07) 30%,transparent 69%);
  filter: blur(1rem); transform: translateX(-50%);
}
.itvl-hero-inner {
  display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: start;
  gap: 1rem; padding-block: clamp(5.2rem,8vw,7rem) clamp(5.5rem,9vw,8rem);
}
.itvl-hero-copy { grid-column: 2 / 12; grid-row: 1; position: relative; z-index: 5; text-align: center; }
.itvl-hero-location { margin: 0 0 1.1rem; color: #8d969f; font-size: .76rem; font-weight: 620; letter-spacing: .025em; }
.itvl-hero h1 {
  max-width: 15ch; margin: 0 auto; color: #fff; font-size: clamp(3.4rem,6.5vw,5.75rem);
  font-weight: 760; line-height: .96; letter-spacing: -.04em; text-wrap: balance;
}
.itvl-hero h1 strong { display: block; color: #cfd5da; font-weight: 530; }
.itvl-hero-lead { max-width: 47rem; margin: 1.55rem auto 0; color: #9ea7af; font-size: clamp(.98rem,1.45vw,1.12rem); line-height: 1.68; }
.itvl-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .85rem; margin-top: 1.8rem; }
.itvl-button {
  min-height: 3.2rem; display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
  padding: .82rem 1.18rem; border: 1px solid transparent; border-radius: .72rem;
  font-size: .92rem; font-weight: 720; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer;
  transition: transform 120ms var(--ease-out), background-color 180ms var(--ease-out), border-color 180ms var(--ease-out), color 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
.itvl-button svg { width: 1.05rem; height: 1.05rem; transition: transform 180ms var(--ease-out); }
.itvl-button--primary { color: #fff; background: var(--blue); box-shadow: 0 14px 34px rgba(0,5,14,.42), inset 0 1px 0 rgba(255,255,255,.2); }
.itvl-button--outline { color: #eff7fb; background: rgba(8,31,50,.44); border-color: rgba(198,222,237,.38); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(12px); }
.itvl-button--light { color: var(--ink-deep); background: #fff; border-color: var(--line); box-shadow: var(--shadow-soft); }
.itvl-button:active { transform: scale(.97); }
.itvl-hero-proof { display: flex; align-items: center; justify-content: center; gap: .65rem; margin: 1.2rem 0 0; color: #aab7c1; font-size: .78rem; font-weight: 590; }
.itvl-hero-proof svg { width: 1rem; height: 1rem; color: var(--teal-light); }

.itvl-principles { position: relative; z-index: 4; color: #fff; background: #15364d; border-block: 1px solid rgba(183,220,241,.15); box-shadow: 0 -24px 70px rgba(3,17,28,.28),0 24px 70px rgba(3,17,28,.17); }
.itvl-principles-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.itvl-principle { position: relative; padding: 2rem 1.8rem 2.1rem 0; }
.itvl-principle + .itvl-principle { padding-left: 1.8rem; border-left: 1px solid rgba(143,185,211,.16); }
.itvl-principle h2 { margin: 0; color: #fff; font-size: 1rem; font-weight: 760; letter-spacing: -.015em; }
.itvl-principle p { margin: .65rem 0 0; color: #9fb4c4; font-size: .86rem; line-height: 1.6; }

.itvl-section { position: relative; padding-block: clamp(7rem,11vw,11rem); overflow: hidden; border-top: 1px solid rgba(255,255,255,.07); }
.itvl-section--paper { color: #fff; background: #102b40; }
.itvl-section--soft { color: #fff; background: #15384f; }
.itvl-section--paper::before,.itvl-section--soft::before { content: ""; position: absolute; width: 48rem; height: 32rem; left: 50%; top: -19rem; pointer-events: none; background: radial-gradient(ellipse,rgba(46,73,96,.16),transparent 67%); transform: translateX(-50%); }
.itvl-section-head { display: block; max-width: 57rem; margin: 0 auto clamp(4.5rem,7vw,7rem); text-align: center; }
.itvl-title { max-width: 18ch; margin: 0; color: #f7f8f9; font-size: clamp(2.45rem,4.8vw,4.75rem); font-weight: 700; line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; }
.itvl-section-head .itvl-title { margin-inline: auto; }
.itvl-section-head > p, .itvl-intro { max-width: 68ch; margin: 1.45rem auto 0; color: #8f99a2; font-size: 1rem; line-height: 1.75; }

.itvl-service-list { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 3.5rem; align-items: stretch; padding-block: 1rem 2rem; }
.itvl-service-list::before { display: none; }
.itvl-service { position: relative; display: grid; grid-template-columns: 3.4rem minmax(0,1fr); align-content: start; align-items: start; gap: .8rem 1.05rem; padding: 1.8rem 0 2.3rem; border: 0; border-top: 1px solid rgba(255,255,255,.14); border-radius: 0; background: transparent; box-shadow: none; transition: transform 180ms var(--ease-out), border-color 180ms var(--ease-out); overflow: visible; }
.itvl-service::after { content: ""; position: absolute; top: -.28rem; left: 0; width: .48rem; height: .48rem; border-radius: 50%; background: #6e91b2; box-shadow: 0 10px 24px rgba(0,0,0,.35); }
.itvl-service:nth-child(n) { grid-column: auto; min-width: 0; margin-top: 0; }
.itvl-service-icon { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; color: #92baf3; background: transparent; border: 1px solid rgba(255,255,255,.14); border-radius: .62rem; box-shadow: none; }
.itvl-service:nth-child(even) .itvl-service-icon { color: #8fc9c4; background: transparent; }
.itvl-service-icon svg { width: 1.35rem; height: 1.35rem; }
.itvl-service h3 { grid-column: 2; min-width: 0; margin: .25rem 0 0; color: #fff; font-size: 1.14rem; font-weight: 750; letter-spacing: -.02em; text-wrap: balance; }
.itvl-service p { grid-column: 1 / -1; min-width: 0; margin: 1.15rem 0 0; color: #929ca5; font-size: .9rem; line-height: 1.72; overflow-wrap: anywhere; }
.itvl-service ul { grid-column: 2; display: flex; flex-wrap: wrap; gap: .45rem; margin: .15rem 0 0; padding: 0; list-style: none; }
.itvl-service ul { grid-column: 1 / -1; margin-top: .65rem; padding-top: .4rem; }
.itvl-service li { position: relative; padding: .18rem 0 .18rem .78rem; color: #89949d; background: transparent; border: 0; border-radius: 0; font-size: .7rem; font-weight: 620; }
.itvl-service li::before { content: ""; position: absolute; left: 0; top: .72rem; width: .26rem; height: .26rem; border-radius: 50%; background: #556f83; }

.itvl-company { color: var(--on-night); background: radial-gradient(ellipse at 50% 72%,rgba(32,166,162,.12),transparent 42rem),#0d293d; overflow: hidden; }
.itvl-company::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(90deg,rgba(255,255,255,.038) 1px,transparent 1px); background-size: calc(100% / 12) 100%; mask-image: linear-gradient(to bottom,transparent,#000 28%,#000 75%,transparent); }
.itvl-company-layout { position: relative; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; align-items: start; }
.itvl-company-copy { grid-column: 2 / 12; text-align: center; }
.itvl-company .itvl-title { color: #fff; }
.itvl-company .itvl-title { max-width: 19ch; margin-inline: auto; }
.itvl-company-copy > p { max-width: 68ch; margin: 1.7rem auto 0; color: #949ea7; }
.itvl-check-list { max-width: 52rem; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem 2.2rem; margin: 2.5rem auto 2.4rem; padding: 0; text-align: left; list-style: none; }
.itvl-check-list li { display: grid; grid-template-columns: 1.2rem 1fr; gap: .7rem; color: #cbd1d6; font-size: .9rem; }
.itvl-check-list svg { width: 1.1rem; height: 1.1rem; margin-top: .25rem; color: var(--teal-light); }
.itvl-situations { grid-column: 2 / 12; display: grid; grid-template-columns: repeat(2,1fr); gap: 0 5rem; margin: 5rem 0 0; }
.itvl-situations > div { min-height: 0; display: block; padding: 1.5rem 0 2.2rem; border: 0; border-top: 1px solid rgba(255,255,255,.14); border-radius: 0; background: transparent; box-shadow: none; }
.itvl-situations > div:nth-child(2) { margin-top: 3.5rem; }
.itvl-situations > div:nth-child(3) { margin-top: -1rem; }
.itvl-situations > div:nth-child(4) { margin-top: 2.5rem; }
.itvl-situations dt { color: #fff; font-size: 1rem; font-weight: 720; }
.itvl-situations dd { max-width: none; margin: 1rem 0 0; color: #8f99a2; font-size: .82rem; line-height: 1.65; text-align: left; }

.itvl-personal-layout { display: grid; grid-template-columns: minmax(20rem,.78fr) minmax(0,.9fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.itvl-personal-image { position: relative; max-width: 31rem; padding: 0 1.5rem 1.5rem 0; }
.itvl-personal-image::before { content: ""; position: absolute; z-index: 0; right: 0; bottom: 0; width: 78%; height: 78%; background: #1d4259; border: 1px solid rgba(255,255,255,.12); border-radius: 1.4rem; box-shadow: 0 38px 85px rgba(3,17,28,.42); }
.itvl-personal-image img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4/4.8; object-fit: cover; object-position: center top; border-radius: 1.4rem; filter: saturate(.72) contrast(1.04); box-shadow: 0 38px 86px rgba(0,0,0,.56), 0 0 0 1px rgba(255,255,255,.1); }
.itvl-personal-copy > p { max-width: 43rem; margin: 1.5rem 0 0; color: #929ca5; }
.itvl-quote { max-width: 38rem; margin: 2rem 0 0; padding: 1.5rem 0 0; color: #f0f7fb; border: 0; border-top: 1px solid rgba(151,188,212,.24); font-size: 1.18rem; font-style: normal; font-weight: 670; line-height: 1.55; letter-spacing: -.015em; }
.itvl-personal-meta { display: flex; flex-wrap: wrap; gap: .75rem 1.2rem; margin-top: 2rem; }
.itvl-personal-meta span { display: inline-flex; align-items: center; gap: .45rem; color: #b6c8d6; font-size: .8rem; font-weight: 650; }
.itvl-personal-meta svg { width: 1rem; height: 1rem; color: var(--teal-light); }

.itvl-private { position: relative; padding-block: 3.5rem; color: #fff; background: #1b4059; border-block: 1px solid rgba(255,255,255,.13); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 28px 70px rgba(3,17,28,.23); overflow: hidden; }
.itvl-private::after { content: ""; position: absolute; width: 24rem; height: 24rem; right: -8rem; top: -11rem; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.014); }
.itvl-private-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; }
.itvl-private-inner > * { position: relative; z-index: 1; }
.itvl-private h2 { margin: 0; color: #fff; font-size: clamp(1.45rem,2.8vw,2.25rem); font-weight: 750; letter-spacing: -.03em; }
.itvl-private p { max-width: 49rem; margin: .7rem 0 0; color: #d5e6f7; font-size: .91rem; }

.itvl-contact { color: var(--on-night); background: radial-gradient(ellipse at 70% 45%,rgba(32,166,162,.13),transparent 36rem),#102f47; }
.itvl-contact-layout { display: grid; grid-template-columns: minmax(0,.78fr) minmax(24rem,.58fr); gap: clamp(4rem,9vw,7rem); align-items: start; }
.itvl-contact .itvl-title { color: #fff; }
.itvl-contact-copy > p { max-width: 38rem; margin: 1.5rem 0 0; color: var(--on-night-muted); }
.itvl-contact-details { display: grid; gap: 0; margin: 2.4rem 0 0; padding: 0; border-top: 1px solid rgba(173,204,223,.25); list-style: none; }
.itvl-contact-details li { border-bottom: 1px solid rgba(173,204,223,.2); }
.itvl-contact-details a, .itvl-contact-details div { min-height: 3.9rem; display: flex; align-items: center; gap: .8rem; color: #edf6fb; font-size: .94rem; font-weight: 650; text-decoration: none; }
.itvl-contact-details svg { width: 1.1rem; height: 1.1rem; color: var(--teal-light); }
.itvl-contact-copy .itvl-contact-privacy { margin-top: 1.3rem; color: #8fa7b9; font-size: .78rem; }
.itvl-contact-privacy a { color: #d7e7f1; }
.itvl-contact-card { position: relative; padding: clamp(1.35rem,3vw,1.85rem); color: #eef7fb; background: linear-gradient(155deg,#214a62,#15354a 72%); border: 1px solid rgba(205,232,246,.2); border-radius: 1.2rem; box-shadow: 0 30px 72px rgba(3,17,28,.36), inset 0 1px 0 rgba(255,255,255,.08); overflow: hidden; }
.itvl-contact-card::before { content: ""; position: absolute; inset: 0 1.5rem auto; height: 2px; background: linear-gradient(90deg,transparent,rgba(111,167,239,.7),rgba(123,210,202,.42),transparent); }
.itvl-contact-card-title { margin: 0; color: #fff; font-size: 1.3rem; font-weight: 740; letter-spacing: -.025em; }
.itvl-contact-card-intro { margin: .32rem 0 1.15rem; color: #aab8c2; font-size: .76rem; }
.itvl-required-mark, .itvl-contact-card label .required { color: #ff6b6b; font-weight: 800; }
.itvl-contact-card form { width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 .75rem; margin: 0; }
.itvl-contact-card .form-field { width: 100%; min-width: 0; margin-bottom: .78rem; }
.itvl-contact-card .form-field:nth-of-type(n+3), .itvl-contact-card .button-wrapper { grid-column: 1 / -1; }
.itvl-contact-card .form-label-wrapper, .itvl-contact-card .form-data, .itvl-contact-card .form-input-wrapper, .itvl-contact-card .form-textarea-wrapper { min-width: 0; }
.itvl-contact-card label { display: block; margin-bottom: .32rem; color: #d8e1e7; font-size: .75rem; font-weight: 700; letter-spacing: .005em; }
.itvl-contact-card input:not([type="radio"]):not([type="checkbox"]), .itvl-contact-card textarea, .itvl-contact-card select { width: 100%; height: auto; min-height: 2.8rem; margin: 0; padding: .68rem .78rem; color: #f7fbfd !important; -webkit-text-fill-color: #f7fbfd; caret-color: #8fc8f5; background-color: #10283a; border: 1px solid #51758d; border-radius: .55rem; font: inherit; font-size: .86rem; line-height: 1.4; transition: border-color 160ms var(--ease-out), background-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out); }
.itvl-contact-card .form-honeybear { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.itvl-contact-card select { appearance: none; padding-right: 2.4rem; color: #dce5ea; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aab8c2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .78rem center; }
.itvl-contact-card select option { color: #f7fbfd; background: #15354a; }
.itvl-contact-card textarea { min-height: 7.2rem; resize: vertical; }
.itvl-contact-card input::placeholder, .itvl-contact-card textarea::placeholder { color: #8c9aa5; opacity: 1; }
.itvl-contact-card input:not([type="radio"]):not([type="checkbox"]):focus, .itvl-contact-card input:not([type="radio"]):not([type="checkbox"]):active, .itvl-contact-card textarea:focus, .itvl-contact-card textarea:active, .itvl-contact-card select:focus { color: #f7fbfd !important; -webkit-text-fill-color: #f7fbfd; background-color: #15354b; border-color: #8fc8f5; box-shadow: 0 0 0 .2rem rgba(32,166,162,.18); outline: none; }
.itvl-contact-card input:-webkit-autofill, .itvl-contact-card input:-webkit-autofill:hover, .itvl-contact-card input:-webkit-autofill:focus, .itvl-contact-card textarea:-webkit-autofill, .itvl-contact-card textarea:-webkit-autofill:focus { color: #f7fbfd !important; -webkit-text-fill-color: #f7fbfd !important; caret-color: #8fc8f5; -webkit-box-shadow: 0 0 0 1000px #15354b inset; box-shadow: 0 0 0 1000px #15354b inset; }
.itvl-contact-card input[aria-invalid="true"], .itvl-contact-card textarea[aria-invalid="true"], .itvl-contact-card select[aria-invalid="true"], .itvl-contact-card .form-field.has-errors input, .itvl-contact-card .form-field.has-errors textarea { border-color: #ff6b6b; }
.itvl-contact-card .itvl-customer-type { grid-column: 1 / -1; }
.itvl-contact-card .itvl-customer-type .form-data { display: flex; flex-wrap: wrap; column-gap: 1.15rem; row-gap: .25rem; }
.itvl-contact-card .itvl-customer-type .radio { position: relative; min-width: 0; }
.itvl-contact-card .itvl-customer-type input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.itvl-contact-card .itvl-customer-type .radio label { min-height: 2.5rem; display: flex !important; align-items: center; gap: .52rem; margin: 0; padding: .38rem .08rem; color: #dce7ed; background: transparent; border: 0; border-radius: .25rem; font-size: .8rem; cursor: pointer; transition: color 160ms var(--ease-out); }
.itvl-contact-card .itvl-customer-type .radio label::before { content: ""; width: .88rem; height: .88rem; flex: 0 0 auto; border: 2px solid #829caf; border-radius: 50%; background: #0d2232; box-shadow: inset 0 0 0 .18rem #0d2232; transition: border-color 160ms var(--ease-out), background-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out); }
.itvl-contact-card .itvl-customer-type .radio label:hover { color: #fff; }
.itvl-contact-card .itvl-customer-type input[type="radio"]:checked + label { color: #fff; }
.itvl-contact-card .itvl-customer-type input[type="radio"]:checked + label::before { border-color: #8fc8f5; background: var(--blue); box-shadow: inset 0 0 0 .2rem #173b53; }
.itvl-contact-card .itvl-customer-type input[type="radio"]:focus-visible + label { outline: 2px solid #fff; outline-offset: 3px; }
.itvl-contact-card .itvl-customer-type.has-errors .radio label::before { border-color: #ff6b6b; }
.itvl-contact-card .itvl-copy-choice { margin-top: -.12rem; }
.itvl-contact-card .itvl-copy-choice .form-input-wrapper { display: flex; align-items: center; gap: .58rem; min-height: 2.2rem; }
.itvl-contact-card .itvl-copy-choice input[type="checkbox"] { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; margin: 0; accent-color: var(--blue); cursor: pointer; }
.itvl-contact-card .itvl-copy-choice label { margin: 0; color: #dce7ed; font-size: .79rem; font-weight: 650; line-height: 1.35; cursor: pointer; }
.itvl-contact-card .itvl-copy-choice input[type="checkbox"]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.itvl-contact-card .form-field.has-errors .form-input-wrapper { display: flex; flex-direction: column; }
.itvl-contact-card .form-field.has-errors .form-errors { order: -1; margin: 0 0 .4rem; }
.itvl-contact-card .form-field.has-errors .form-errors p { margin: 0; color: #ffb5b5; font-size: .76rem; line-height: 1.4; }
.itvl-contact-card button[type="submit"] { width: 100%; min-height: 2.9rem; margin-top: .15rem; padding: .72rem 1rem; color: #fff; background: var(--blue); border: 0; border-radius: .58rem; box-shadow: 0 10px 24px rgba(0,0,0,.32); font: inherit; font-size: .87rem; font-weight: 760; cursor: pointer; transition: transform 120ms var(--ease-out), background-color 180ms var(--ease-out), box-shadow 180ms var(--ease-out); }
.itvl-contact-card button[type="submit"]:active { transform: scale(.98); }
.itvl-contact-card button[type="submit"]:disabled { color: #718393; background: #dbe3e9; box-shadow: none; cursor: not-allowed; }
.itvl-contact-card .form-message, .itvl-contact-card .notices { margin-bottom: 1rem; }
.itvl-success-shell { position: relative; z-index: 6; padding-block: .85rem; background: #102b40; border-bottom: 1px solid rgba(123,210,202,.2); }
.itvl-success { display: grid; grid-template-columns: 2.2rem minmax(0,1fr); align-items: center; gap: .9rem; padding: 1rem 1.15rem; color: #e3f4ef; background: #17463f; border: 1px solid #3d756b; border-radius: .7rem; box-shadow: 0 14px 30px rgba(3,17,28,.22); }
.itvl-success > svg { width: 2.2rem; height: 2.2rem; padding: .52rem; color: #dff5f3; background: rgba(223,245,243,.1); border: 1px solid rgba(223,245,243,.18); border-radius: 50%; }
.itvl-success strong { color: #f4fbf9; }
.itvl-success p { margin: .2rem 0 0; color: #c5e1d9; font-size: .86rem; }

.itvl-footer { padding-block: 4rem 1.5rem; color: #b9cbd6; background: #0a2335; border-top: 1px solid rgba(255,255,255,.11); }
.itvl-footer-brand { width: min(100%,28rem); display: grid; justify-items: center; text-align: center; }
.itvl-footer .itvl-brand { justify-content: center; color: #fff; }
.itvl-footer .itvl-brand-subtitle { color: #8fa7b9; }
.itvl-footer-grid { display: grid; grid-template-columns: 1.5fr .55fr .55fr; gap: 4rem; }
.itvl-footer-brand > p { max-width: 28rem; margin: 1.2rem auto 0; color: #8fa7b9; font-size: .86rem; }
.itvl-footer-title { margin: 0 0 1rem; color: #fff; font-size: .82rem; font-weight: 740; }
.itvl-footer-links { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.itvl-footer-links a,
.itvl-footer-links a:link,
.itvl-footer-links a:visited { color: #9eb1c0 !important; font-size: .82rem; text-decoration-color: transparent; transition: color 160ms var(--ease-out), text-decoration-color 160ms var(--ease-out); }
.itvl-footer-bottom { display: flex; align-items: center; gap: 1rem 2rem; margin-top: 3.3rem; padding-top: 1.25rem; color: #728b9d; border-top: 1px solid #173047; font-size: .73rem; }
.itvl-footer-bottom a,
.itvl-footer-bottom a:link,
.itvl-footer-bottom a:visited { color: #9eb1c0 !important; }
.itvl-footer-top { display: inline-flex; align-items: center; gap: .4rem; margin-left: auto; text-decoration: none; }
.itvl-footer-top svg { width: .9rem; height: .9rem; }

@media (hover:hover) and (pointer:fine) {
  .itvl-nav > a:hover { color: #fff; background: rgba(91,146,184,.12); }
  .itvl-nav > .itvl-nav-cta:hover, .itvl-button--primary:hover, .itvl-contact-card button[type="submit"]:hover { color: #fff; background: var(--blue-dark); box-shadow: 0 14px 34px rgba(0,5,14,.46); }
  .itvl-button--outline:hover { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(222,239,248,.7); }
  .itvl-button--light:hover { color: var(--blue-dark); border-color: #9cbfe7; transform: translateY(-2px); }
  .itvl-button:hover svg { transform: translateX(.2rem); }
  .itvl-service:hover { transform: translateY(-.28rem); border-color: rgba(255,255,255,.19); }
  .itvl-contact-details a:hover, .itvl-footer-links a:hover, .itvl-footer-bottom a:hover { color: #fff !important; text-decoration-color: currentColor; }
}

@media (max-width:64rem) {
  .itvl-section-head, .itvl-company-layout, .itvl-contact-layout { gap: 3.5rem; }
  .itvl-service-list { gap: 0 2rem; }
  .itvl-principle { padding-right: 1.1rem; }
  .itvl-principle + .itvl-principle { padding-left: 1.1rem; }
}

@media (max-width:54rem) {
  .itvl-container { width: min(calc(100% - 2rem),var(--container)); }
  .itvl-header-inner { min-height: 4.65rem; }
  .itvl-menu-toggle { display: grid; }
  .itvl-nav { position: absolute; top: calc(100% + .5rem); right: 1rem; left: 1rem; display: grid; gap: .2rem; padding: .65rem; background: rgba(13,39,57,.98); border: 1px solid rgba(151,201,226,.28); border-radius: .9rem; box-shadow: 0 24px 55px rgba(3,17,28,.45),inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(18px); opacity: 0; visibility: hidden; transform: translateY(-.5rem); transition: opacity 160ms var(--ease-out), transform 160ms var(--ease-out), visibility 160ms; }
  .itvl-nav[data-open="true"] { opacity: 1; visibility: visible; transform: translateY(0); }
  .itvl-nav > a { padding: .85rem .9rem; }
  .itvl-nav > .itvl-nav-cta { margin: .2rem 0 0; text-align: center; }
  .itvl-hero-inner { grid-template-columns: 1fr; padding-block: 4.8rem 5.8rem; }
  .itvl-hero-copy { grid-column: auto; grid-row: auto; }
  .itvl-hero-copy { max-width: 47rem; margin-inline: auto; }
  .itvl-principles-grid { grid-template-columns: repeat(2,1fr); }
  .itvl-principle:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid rgba(143,185,211,.16); }
  .itvl-principle:nth-child(4) { border-top: 1px solid rgba(143,185,211,.16); }
  .itvl-section-head { margin-bottom: 4rem; }
  .itvl-service-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .itvl-service:nth-child(n) { min-height: 0; }
  .itvl-company-layout, .itvl-contact-layout { grid-template-columns: 1fr; }
  .itvl-company-copy, .itvl-situations { grid-column: auto; }
  .itvl-situations { grid-template-columns: repeat(2,1fr); margin-top: 4.5rem; }
  .itvl-situations > div:nth-child(n) { margin-top: 0; transform: none; }
  .itvl-situations dd { max-width: 31rem; }
  .itvl-personal-layout { gap: 3.5rem; }
}

@media (max-width:42rem) {
  .itvl-brand-subtitle { display: none; }
  .itvl-brand-name { max-width: 13rem; font-size: .8rem; }
  .itvl-hero-inner { padding-block: 4rem 4.8rem; }
  .itvl-hero h1 { font-size: clamp(2.7rem,13vw,3.9rem); }
  .itvl-hero-lead { font-size: 1rem; }
  .itvl-actions { align-items: stretch; }
  .itvl-actions .itvl-button { width: 100%; }
  .itvl-principles-grid, .itvl-personal-layout, .itvl-service-list, .itvl-situations { grid-template-columns: 1fr; }
  .itvl-principle, .itvl-principle + .itvl-principle { padding: 1.45rem 0; border-left: 0; border-top: 1px solid rgba(143,185,211,.16); }
  .itvl-principle:first-child { border-top: 0; }
  .itvl-title { font-size: clamp(2.05rem,10vw,3.1rem); }
  .itvl-service:nth-child(n) { min-height: auto; }
  .itvl-service { grid-template-columns: 2.8rem minmax(0,1fr); gap: .9rem 1rem; padding: 1.45rem 0 1.7rem; }
  .itvl-service-icon { width: 2.4rem; height: 2.4rem; }
  .itvl-service p, .itvl-service ul { grid-column: 1 / -1; }
  .itvl-service p { margin-top: .8rem; }
  .itvl-service ul { margin-top: .5rem; padding-top: .8rem; }
  .itvl-company-layout, .itvl-contact-layout { gap: 3rem; }
  .itvl-situations > div { grid-template-columns: 1fr; gap: .45rem; }
  .itvl-situations dd { text-align: left; }
  .itvl-personal-image { max-width: 24rem; }
  .itvl-private-inner { grid-template-columns: 1fr; }
  .itvl-private .itvl-button { width: 100%; }
  .itvl-contact-card form { grid-template-columns: 1fr; }
  .itvl-contact-card .form-field { grid-column: 1 / -1; }
  .itvl-contact-card input:not([type="radio"]):not([type="checkbox"]), .itvl-contact-card textarea, .itvl-contact-card select { font-size: 1rem; }
  .itvl-footer-grid { grid-template-columns: 1fr; gap: 2.2rem; }
  .itvl-footer-links { gap: 0; }
  .itvl-footer-links a, .itvl-footer-bottom a { min-height: 2.75rem; display: inline-flex; align-items: center; }
  .itvl-footer-bottom { align-items: flex-start; flex-direction: column; }
  .itvl-footer-top { margin-left: 0; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .itvl-page *, .itvl-page *::before, .itvl-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
