@font-face {
  font-family: "FLINE Alliance";
  src: url("assets/fonts/AllianceNo1-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FLINE Alliance";
  src: url("assets/fonts/AllianceNo1-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FLINE Alliance";
  src: url("assets/fonts/AllianceNo1-SemiBold.otf") format("opentype");
  font-weight: 650;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FLINE Alliance";
  src: url("assets/fonts/AllianceNo1-Bold.otf") format("opentype");
  font-weight: 750;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FLINE Alliance";
  src: url("assets/fonts/AllianceNo1-ExtraBold.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FLINE Amber Wide";
  src: url("assets/fonts/LTAmberWide-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FLINE Amber Wide";
  src: url("assets/fonts/LTAmberWide-Medium.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --cyan: #2aa5ea;
  --blue: #2aa5ea;
  --periwinkle: #2aa5ea;
  --violet: #2aa5ea;
  --purple: #2aa5ea;
  --ink: #f5f6ff;
  --muted: rgba(245, 246, 255, .68);
  --soft: rgba(245, 246, 255, .48);
  --line: rgba(245, 246, 255, .12);
  --line-strong: rgba(245, 246, 255, .22);
  --panel: rgba(245, 246, 255, .06);
  --deep: #02040b;
  --deep-2: #070a15;
  --max: 1200px;
  --radius: 34px;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --font-body: "FLINE Alliance", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "FLINE Amber Wide", "FLINE Alliance", Inter, ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--deep);
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(126, 79, 223, .28), transparent 31rem),
    radial-gradient(circle at 84% 15%, rgba(50, 157, 224, .22), transparent 34rem),
    linear-gradient(135deg, #040611 0%, #02040b 58%, #070414 100%);
  font-family: var(--font-body);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

html.content-preparing .site-header,
html.content-preparing main,
html.content-preparing .site-footer {
  opacity: 0;
}

html.content-ready .site-header,
html.content-ready main,
html.content-ready .site-footer {
  opacity: 1;
  transition: opacity 140ms ease;
}

h1,
h2,
h3 {
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -3;
  background-image:
    linear-gradient(rgba(245, 246, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 246, 255, .028) 1px, transparent 1px);
  background-size: 78px 78px;
  mask-image: radial-gradient(circle at 50% 30%, #000, transparent 74%);
  pointer-events: none;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 34%), rgba(50, 157, 224, .11), transparent 23rem);
}

a { color: inherit; }
img { display: block; max-width: 100%; }

h1, h2, h3, p { margin: 0; }

h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(56px, 9vw, 118px);
  line-height: .92;
  letter-spacing: -.045em;
}

h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(38px, 5.7vw, 78px);
  line-height: .96;
  letter-spacing: -.038em;
}

h3,
.button,
.site-nav,
.language-switch,
.footer-links,
.form-step,
.service-strip,
.service-card,
.proof-node,
.office,
.legal-card,
.apply-form,
.contact-form {
  font-family: var(--font-body);
}

h3 {
  font-size: clamp(20px, 2.1vw, 31px);
  line-height: 1;
  letter-spacing: -.055em;
}

p, li {
  color: var(--muted);
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.75;
}

main {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  main { overflow-x: hidden; }
}

section {
  width: min(calc(100% - 40px), var(--max));
  margin: 0 auto;
  padding: 108px 0;
}

.ambient {
  position: fixed;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  background:
    radial-gradient(circle at 22% 82%, rgba(50, 157, 224, .16), transparent 26rem),
    radial-gradient(circle at 76% 54%, rgba(126, 79, 223, .17), transparent 30rem);
  animation: ambientDrift 11s ease-in-out infinite alternate;
}

.scroll-light {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(620px circle at 50% var(--scroll-light-y, 36%), rgba(50, 157, 224, .22), rgba(126, 79, 223, .11) 28%, transparent 62%),
    linear-gradient(90deg, transparent 0 10%, rgba(50, 157, 224, .06) 49%, rgba(126, 79, 223, .08) 51%, transparent 90%),
    linear-gradient(180deg, transparent, rgba(245, 246, 255, .035), transparent);
  mix-blend-mode: screen;
  transform: translate3d(0, var(--scroll-light-shift, 0px), 0);
  transition: opacity 420ms ease, transform 520ms var(--ease);
}

body.is-scrolling-light .scroll-light {
  opacity: .95;
}

.fline-journey-shell {
  --journey-edge: clamp(12px, 3.2vw, 48px);
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  transition: opacity 420ms ease;
}

html.has-signal-journey .fline-journey-shell {
  opacity: .92;
}

.journey-rail {
  position: fixed;
  top: 16vh;
  right: var(--journey-edge);
  bottom: 16vh;
  width: 1px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(245, 246, 255, .1), transparent);
  overflow: hidden;
}

.journey-rail::before,
.journey-rail::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transform-origin: top;
}

.journey-rail::before {
  background: linear-gradient(180deg, rgba(245, 246, 255, 0), rgba(245, 246, 255, .78), rgba(82, 195, 255, .9), rgba(245, 246, 255, .66), rgba(126, 79, 223, .42), rgba(50, 157, 224, .12));
  box-shadow: 0 0 18px rgba(245, 246, 255, .24), 0 0 28px rgba(50, 157, 224, .34);
  transform: scaleY(var(--journey-progress, 0));
}

.journey-rail::after {
  background: repeating-linear-gradient(180deg, transparent 0 14px, rgba(245, 246, 255, .68) 14px 17px, transparent 17px 32px);
  opacity: .48;
  animation: journeyRailData 2.8s linear infinite;
}

.journey-packet {
  position: fixed;
  top: 0;
  right: calc(var(--journey-edge) - 9px);
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: radial-gradient(circle, #fff 0 32%, rgba(245, 246, 255, .9) 33% 43%, rgba(82, 195, 255, .82) 44% 58%, rgba(126, 79, 223, .36) 59% 72%, transparent 74%);
  box-shadow:
    0 0 22px rgba(255, 255, 255, .62),
    0 0 42px rgba(50, 157, 224, .62),
    0 0 64px rgba(126, 79, 223, .26);
  transform: translate3d(0, var(--journey-packet-y, 18vh), 0);
  transition: transform 520ms cubic-bezier(.16, 1, .3, 1);
  animation: journeyPacketBreath 1.7s ease-in-out infinite;
}

.journey-packet span {
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(245, 246, 255, .44);
  border-radius: inherit;
  animation: journeyPacketRing 1.7s ease-out infinite;
}

.journey-bloom {
  position: fixed;
  top: 0;
  right: calc(var(--journey-edge) - 118px);
  width: 236px;
  height: 236px;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(245, 246, 255, .13), rgba(82, 195, 255, .14) 34%, rgba(126, 79, 223, .065) 50%, transparent 68%);
  filter: blur(18px);
  opacity: .58;
  transform: translate3d(0, calc(var(--journey-packet-y, 18vh) - 118px), 0);
  transition: transform 620ms cubic-bezier(.16, 1, .3, 1), opacity 320ms ease;
}

.journey-step {
  position: relative;
  isolation: isolate;
}

.journey-beacon {
  position: absolute;
  top: clamp(38px, 5vw, 78px);
  right: clamp(-24px, -1.6vw, -12px);
  z-index: 0;
  width: 42px;
  height: 42px;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(12px, 16px, 0) scale(.8);
  transition: opacity 420ms ease, transform 520ms var(--ease), filter 420ms ease;
}

.journey-step.is-journey-visible .journey-beacon {
  opacity: .34;
  transform: translate3d(0, 0, 0) scale(.9);
}

.journey-step.is-journey-passed .journey-beacon,
.journey-step.is-journey-active .journey-beacon {
  opacity: .78;
  filter: drop-shadow(0 0 22px rgba(50, 157, 224, .42));
}

.journey-beacon-core,
.journey-beacon-ring,
.journey-beacon-tail {
  position: absolute;
  pointer-events: none;
}

.journey-beacon-core {
  inset: 14px;
  border-radius: 999px;
  background: radial-gradient(circle, #fff 0 38%, rgba(245, 246, 255, .86) 39% 52%, rgba(82, 195, 255, .72) 53% 68%, transparent 72%);
  box-shadow: 0 0 18px rgba(255, 255, 255, .36), 0 0 24px rgba(50, 157, 224, .52);
}

.journey-beacon-ring {
  inset: 5px;
  border: 1px solid rgba(245, 246, 255, .34);
  border-top-color: rgba(82, 195, 255, .64);
  border-right-color: rgba(126, 79, 223, .44);
  border-radius: 999px;
  animation: journeyBeaconOrbit 4.2s linear infinite;
}

.journey-beacon-tail {
  left: 50%;
  top: 50%;
  width: 92px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(245, 246, 255, .86), rgba(82, 195, 255, .64), rgba(126, 79, 223, .34), transparent);
  transform: translateY(-50%);
  transform-origin: left center;
  opacity: .62;
}

.journey-step.is-journey-active .journey-beacon-core {
  animation: journeyBeaconCore 1.5s ease-in-out infinite;
}

.journey-step.is-journey-active .journey-beacon-tail {
  animation: journeyTailSend 1.65s cubic-bezier(.16, 1, .3, 1) infinite;
}

.journey-step.is-journey-active .glass,
.journey-step.is-journey-active .service-strip,
.journey-step.is-journey-active .proof-node,
.journey-step.is-journey-active .process-line article,
.journey-step.is-journey-active.assurance,
.journey-step.is-journey-active.site-footer {
  border-color: rgba(245, 246, 255, .24);
  box-shadow:
    0 28px 100px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 0 34px rgba(245, 246, 255, .045),
    0 0 48px rgba(50, 157, 224, .075);
}

.journey-step.is-journey-active .title-animated::after {
  opacity: .9;
  transform: scaleX(1);
  box-shadow: 0 0 24px rgba(245, 246, 255, .24), 0 0 34px rgba(50, 157, 224, .4), 0 0 58px rgba(126, 79, 223, .2);
}

.journey-route.is-journey-active .service-strip {
  animation: journeySurfaceWake 2.8s ease-in-out infinite;
  animation-delay: calc(var(--motion-index, 0) * 85ms);
}

.journey-route.is-journey-active .service-strip::after {
  transform-origin: left center;
  animation: journeyLineScan 1.9s cubic-bezier(.16, 1, .3, 1) infinite;
  animation-delay: calc(var(--motion-index, 0) * 120ms);
}

.journey-power.is-journey-active .proof-node strong {
  text-shadow: 0 0 18px rgba(245, 246, 255, .24), 0 0 32px rgba(50, 157, 224, .38), 0 0 54px rgba(126, 79, 223, .16);
  animation: journeyNumberPower 1.9s ease-in-out infinite;
}

.journey-map.is-journey-active .map-route {
  opacity: .96;
  filter: drop-shadow(0 0 14px rgba(245, 246, 255, .24)) drop-shadow(0 0 18px rgba(50, 157, 224, .44));
}

.journey-map.is-journey-active .map-packet {
  filter: drop-shadow(0 0 18px rgba(255, 255, 255, .36)) drop-shadow(0 0 26px rgba(50, 157, 224, .62));
}

.journey-loop.is-journey-active .process-line article::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(245, 246, 255, .9), rgba(82, 195, 255, .72), rgba(126, 79, 223, .42), transparent);
  transform-origin: left center;
  animation: journeyLineScan 2.2s cubic-bezier(.16, 1, .3, 1) infinite;
  animation-delay: calc(var(--motion-index, 0) * 130ms);
}

.journey-send.is-journey-active,
.journey-final.is-journey-active {
  background:
    radial-gradient(circle at calc(100% - 140px) 18%, rgba(50, 157, 224, .2), transparent 22rem),
    radial-gradient(circle at 20% 90%, rgba(126, 79, 223, .16), transparent 24rem),
    rgba(245, 246, 255, .06);
}

.journey-final.is-journey-active .footer-links a {
  box-shadow: inset 0 0 0 1px rgba(82, 195, 255, .14), 0 0 26px rgba(50, 157, 224, .055);
}

@keyframes journeyRailData {
  from { transform: translateY(-34px); }
  to { transform: translateY(34px); }
}

@keyframes journeyPacketBreath {
  0%, 100% { filter: saturate(1); }
  50% { filter: saturate(1.36) brightness(1.12); }
}

@keyframes journeyPacketRing {
  from { opacity: .72; transform: scale(.42); }
  to { opacity: 0; transform: scale(1.72); }
}

@keyframes journeyBeaconOrbit {
  to { transform: rotate(360deg); }
}

@keyframes journeyBeaconCore {
  0%, 100% { transform: scale(.82); opacity: .76; }
  50% { transform: scale(1.22); opacity: 1; }
}

@keyframes journeyTailSend {
  0% { opacity: 0; transform: translateY(-50%) scaleX(.18); filter: blur(2px); }
  32% { opacity: .95; filter: blur(0); }
  100% { opacity: .18; transform: translateY(-50%) scaleX(1); filter: blur(3px); }
}

@keyframes journeySurfaceWake {
  0%, 100% { filter: saturate(1); }
  50% { filter: saturate(1.22) brightness(1.04); }
}

@keyframes journeyLineScan {
  0% { opacity: .18; transform: scaleX(.18); filter: blur(2px); }
  45% { opacity: .92; filter: blur(0); }
  100% { opacity: .36; transform: scaleX(1); filter: blur(1px); }
}

@keyframes journeyNumberPower {
  0%, 100% { filter: saturate(1); }
  50% { filter: saturate(1.42) brightness(1.12); }
}

@keyframes ambientDrift {
  from { transform: scale(1) translate3d(0, 0, 0); filter: saturate(1); }
  to { transform: scale(1.06) translate3d(-1.2%, .8%, 0); filter: saturate(1.25); }
}

.site-header {
  position: fixed;
  z-index: 50;
  top: 22px;
  left: 50%;
  width: min(calc(100% - 40px), 1220px);
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  gap: 26px;
  min-height: 72px;
  padding: 12px 16px 12px 26px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(3, 5, 15, .62);
  backdrop-filter: blur(24px);
  box-shadow: 0 20px 90px rgba(0, 0, 0, .36);
  transition: border-color 220ms ease, background 220ms ease, transform 220ms var(--ease);
}

.site-header.is-scrolled {
  background: rgba(3, 5, 15, .82);
  border-color: rgba(245, 246, 255, .2);
}

.brand img { width: 178px; }

.site-nav {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 26px;
  color: rgba(245, 246, 255, .75);
  font-size: 14px;
  font-weight: 820;
}

.site-nav a {
  text-decoration: none;
  white-space: nowrap;
  transition: color 180ms ease, transform 180ms ease;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: #fff;
  transform: translateY(-1px);
}

.language-switch {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(245, 246, 255, .14);
  border-radius: 999px;
  background: rgba(245, 246, 255, .055);
  box-shadow: inset 0 0 22px rgba(50, 157, 224, .05);
}

.language-switch button {
  position: relative;
  min-width: 38px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  color: rgba(245, 246, 255, .72);
  background: transparent;
  font-weight: 950;
  cursor: pointer;
  overflow: hidden;
  transition: color 180ms ease, background 180ms ease, transform 180ms var(--ease);
}

.language-switch button:hover {
  color: #fff;
  transform: translateY(-1px);
}

.language-switch button.is-active {
  color: #fff;
  background: linear-gradient(135deg, rgba(50, 157, 224, .95), rgba(126, 79, 223, .95));
  box-shadow: 0 10px 28px rgba(50, 157, 224, .24);
}

.brightness-toggle {
  position: relative;
  justify-self: end;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(245, 246, 255, .14);
  border-radius: 999px;
  color: rgba(245, 246, 255, .86);
  background:
    radial-gradient(circle at 50% 50%, rgba(245, 246, 255, .11), transparent 58%),
    rgba(245, 246, 255, .055);
  box-shadow: inset 0 0 18px rgba(50, 157, 224, .055);
  cursor: pointer;
  transition: transform 180ms var(--ease), border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.brightness-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 246, 255, .24);
  box-shadow: inset 0 0 18px rgba(50, 157, 224, .08), 0 10px 28px rgba(50, 157, 224, .14);
}

.brightness-toggle span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 15px;
  border-radius: 999px;
  background: currentColor;
  box-shadow:
    0 -10px 0 -6px currentColor,
    0 10px 0 -6px currentColor,
    10px 0 0 -6px currentColor,
    -10px 0 0 -6px currentColor,
    7px 7px 0 -6px currentColor,
    -7px -7px 0 -6px currentColor,
    7px -7px 0 -6px currentColor,
    -7px 7px 0 -6px currentColor;
  transform: translate(-50%, -50%) scale(.92);
  transition: transform 220ms var(--ease), background 180ms ease, box-shadow 180ms ease;
}

.brightness-toggle.is-bright {
  color: #111827;
  border-color: rgba(15, 23, 42, .16);
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(221, 239, 255, .88));
  box-shadow: 0 10px 30px rgba(50, 157, 224, .16), inset 0 1px 0 rgba(255, 255, 255, .8);
}

.brightness-toggle.is-bright span {
  transform: translate(-50%, -50%) scale(1.04) rotate(45deg);
}

.nav-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #fff;
  background: rgba(245, 246, 255, .055);
}

.nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 5px auto;
  border-radius: 99px;
  background: currentColor;
}

.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 23px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  background: linear-gradient(90deg, var(--cyan), var(--purple));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .19) inset, 0 18px 62px rgba(126, 79, 223, .33);
  cursor: pointer;
  overflow: hidden;
  transition: transform 220ms var(--ease), box-shadow 220ms ease;
}

.button::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0 34%, rgba(255, 255, 255, .34), transparent 66%);
  transform: translateX(-130%);
  transition: transform 640ms var(--ease);
}

.button:hover::after {
  transform: translateX(130%);
}

.button.is-pressed,
.service-card.is-pressed,
.service-strip.is-pressed,
.form-step.is-pressed,
.footer-links a.is-pressed {
  transform: scale(.985);
}

.touch-ripple {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255,255,255,.78), rgba(50,157,224,.36) 38%, transparent 72%);
  transform: translate(-50%, -50%) scale(.3);
  animation: touchRipple 620ms ease-out forwards;
  mix-blend-mode: screen;
}

@keyframes touchRipple {
  to { transform: translate(-50%, -50%) scale(9); opacity: 0; }
}

.click-spark {
  position: fixed;
  z-index: 80;
  width: 10px;
  height: 10px;
  border-radius: 99px;
  pointer-events: none;
  background: #fff;
  box-shadow: 0 0 22px rgba(50, 157, 224, .95), 0 0 42px rgba(126, 79, 223, .7);
  animation: clickSpark 680ms var(--ease) forwards;
}

@keyframes clickSpark {
  to { transform: translate(var(--spark-x, 0), var(--spark-y, -32px)) scale(.15); opacity: 0; }
}

.button.secondary {
  color: var(--ink);
  border: 1px solid var(--line-strong);
  background: rgba(245, 246, 255, .065);
  box-shadow: none;
}

.button-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.button-row.center { justify-content: center; }

.eyebrow {
  color: var(--cyan);
  margin-bottom: 18px;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lede {
  max-width: 680px;
  margin-top: 28px;
  font-size: clamp(18px, 1.45vw, 22px);
}

.glass {
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(126, 79, 223, .14), transparent 38%),
    rgba(245, 246, 255, .056);
  backdrop-filter: blur(20px);
  box-shadow: 0 28px 100px rgba(0, 0, 0, .32);
  overflow: hidden;
}

.glass::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, .13), transparent 34%, rgba(50, 157, 224, .08));
  opacity: .72;
}

.hero {
  width: min(calc(100% - 40px), 1220px);
  min-height: 100svh;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  gap: 44px;
  padding-top: 148px;
}

.hero-copy,
.hero-stage {
  position: relative;
}

.hero-stage {
  min-height: 620px;
  display: grid;
  place-items: center;
}

.hero-mark {
  width: min(430px, 80%);
  filter: drop-shadow(0 0 44px rgba(50, 157, 224, .35));
  animation: markFloat 4.8s ease-in-out infinite;
}

.hero-ring {
  position: absolute;
  width: min(560px, 92%);
  aspect-ratio: 1;
  border-radius: 999px;
  border: 4px solid transparent;
  border-top-color: var(--cyan);
  border-right-color: rgba(126, 79, 223, .72);
  filter: drop-shadow(0 0 28px rgba(50, 157, 224, .34));
  animation: heroRing 5.4s ease-in-out infinite;
}

.headset {
  position: absolute;
  width: min(540px, 88%);
  aspect-ratio: 1;
  border-radius: 999px;
  border: 0 solid transparent;
  pointer-events: none;
}

.headset::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 10%;
  height: 56%;
  border: 6px solid transparent;
  border-top-color: rgba(50, 157, 224, .9);
  border-left-color: rgba(50, 157, 224, .55);
  border-right-color: rgba(126, 79, 223, .8);
  border-radius: 50% 50% 0 0;
  animation: drawHeadset 2s var(--ease) both, pulseLine 3.5s ease-in-out infinite 2s;
}

.headset i,
.headset b {
  position: absolute;
  top: 48%;
  width: 54px;
  height: 112px;
  border: 3px solid rgba(50, 157, 224, .45);
  border-radius: 28px;
  background: rgba(245, 246, 255, .045);
  box-shadow: inset 0 0 22px rgba(50, 157, 224, .1);
}

.headset i { left: 6%; }
.headset b { right: 6%; }

.headset::after {
  content: "";
  position: absolute;
  right: 16%;
  bottom: 18%;
  width: 150px;
  height: 34px;
  border-right: 5px solid var(--cyan);
  border-bottom: 5px solid var(--cyan);
  border-radius: 0 0 32px 0;
  filter: drop-shadow(0 0 14px rgba(50, 157, 224, .6));
}

.signal-chip {
  position: absolute;
  width: 76px;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 24% 32%, var(--cyan) 0 4px, transparent 5px),
    radial-gradient(circle at 50% 32%, var(--periwinkle) 0 4px, transparent 5px),
    radial-gradient(circle at 76% 32%, var(--purple) 0 4px, transparent 5px),
    radial-gradient(circle at 24% 66%, var(--cyan) 0 4px, transparent 5px),
    radial-gradient(circle at 50% 66%, var(--periwinkle) 0 4px, transparent 5px),
    radial-gradient(circle at 76% 66%, var(--purple) 0 4px, transparent 5px),
    rgba(245, 246, 255, .045);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .34);
  animation: chipFloat 4s ease-in-out infinite;
}

.chip-a { left: 2%; top: 31%; }
.chip-b { right: 0; top: 23%; animation-delay: .7s; }
.chip-c { right: 9%; bottom: 22%; animation-delay: 1.1s; }

@keyframes markFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -14px, 0); }
}

@keyframes heroRing {
  0%, 100% { transform: rotate(-8deg) scale(.98); opacity: .74; }
  50% { transform: rotate(6deg) scale(1.02); opacity: 1; }
}

@keyframes drawHeadset {
  from { clip-path: inset(0 100% 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes pulseLine {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(50, 157, 224, .3)); }
  50% { filter: drop-shadow(0 0 22px rgba(126, 79, 223, .6)); }
}

@keyframes chipFloat {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-12px) rotate(2deg); }
}

.live-desk {
  position: relative;
  width: min(650px, 100%);
  min-height: 640px;
  isolation: isolate;
  cursor: default;
}

.live-desk::before {
  content: "";
  position: absolute;
  inset: 8% 1% 2%;
  z-index: -2;
  border: 1px solid rgba(245, 246, 255, .08);
  border-radius: 54px;
  background:
    linear-gradient(135deg, rgba(50, 157, 224, .08), transparent 36%),
    linear-gradient(215deg, rgba(126, 79, 223, .09), transparent 42%),
    rgba(245, 246, 255, .024);
  box-shadow: inset 0 0 120px rgba(50, 157, 224, .05), 0 36px 140px rgba(0, 0, 0, .3);
  animation: deskBreathe 7s ease-in-out infinite alternate;
}

.live-desk::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 43%;
  height: 36%;
  z-index: -1;
  border-radius: 34px;
  background:
    linear-gradient(90deg, transparent, rgba(50, 157, 224, .1), rgba(126, 79, 223, .09), transparent),
    linear-gradient(180deg, rgba(245, 246, 255, .035), transparent);
  filter: blur(18px);
  opacity: .72;
  transform: skewY(-4deg);
  animation: deskAura 6.4s ease-in-out infinite alternate;
}

@keyframes deskBreathe {
  from { transform: rotate(-2deg) scale(.98); opacity: .84; }
  to { transform: rotate(2deg) scale(1.02); opacity: 1; }
}

@keyframes deskAura {
  from { opacity: .45; transform: skewY(-4deg) translateY(8px); }
  to { opacity: .84; transform: skewY(-4deg) translateY(-5px); }
}

.fline-character {
  position: absolute;
  left: 50%;
  top: 4%;
  width: 270px;
  height: 268px;
  transform: translateX(-50%);
  animation: characterFloat 4.6s ease-in-out infinite;
}

@keyframes characterFloat {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-12px); }
}

.fline-face {
  position: absolute;
  left: 50%;
  top: 22px;
  z-index: 2;
  width: 236px;
  height: auto;
  aspect-ratio: 500 / 494;
  transform: translateX(-50%);
  background: transparent;
  box-shadow: none;
  overflow: visible;
  filter:
    drop-shadow(0 24px 64px rgba(50, 157, 224, .28))
    drop-shadow(0 0 34px rgba(126, 79, 223, .12));
}

.fline-mark-live {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  user-select: none;
  pointer-events: none;
}

.hero-mark-body {
  animation: heroMarkBreathe 5.6s ease-in-out infinite;
  filter: saturate(1.06);
}

.hero-mark-eye {
  transform-box: fill-box;
  transform-origin: 50% 72%;
  animation: heroMarkEyeBlink 5.4s ease-in-out infinite;
  pointer-events: none;
}

.hero-mark-eye-left {
  fill: #02040b;
  animation-name: heroMarkEyeBlinkLeft;
}

.hero-mark-eye-right {
  animation-name: heroMarkEyeBlinkRight;
  animation-delay: .34s;
}

.face-corner,
.face-eye {
  display: none;
}

@keyframes heroMarkBreathe {
  0%, 100% {
    filter: saturate(1.04) brightness(1);
  }
  42% {
    filter: saturate(1.16) brightness(1.03);
  }
  72% {
    filter: saturate(1.08) brightness(1.01);
  }
}

@keyframes heroMarkEyeBlinkLeft {
  0%, 43%, 49%, 100% { transform: rotate(0deg) scaleY(1) translateY(0); }
  46% { transform: rotate(0deg) scaleY(.18) translateY(4px); }
  72% { transform: rotate(-.8deg) scaleY(.92) translateY(-1px); }
}

@keyframes heroMarkEyeBlinkRight {
  0%, 41%, 50%, 100% { transform: rotate(0deg) scaleY(1) translateY(0); }
  45% { transform: rotate(1deg) scaleY(.2) translateY(4px); }
  66% { transform: rotate(-1.2deg) scaleY(.92) translateY(-1px); }
}

.live-headset {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  transform-origin: 50% 42%;
  animation: liveHeadsetSettle 4.8s ease-in-out infinite 1.4s;
}

@keyframes liveHeadsetSettle {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  34% { transform: translateY(-3px) rotate(-.8deg); }
  68% { transform: translateY(2px) rotate(.7deg); }
}

.headset-arc {
  position: absolute;
  left: 19px;
  right: 26px;
  top: 5px;
  height: 136px;
  border: 7px solid transparent;
  border-top-color: rgba(50, 157, 224, .98);
  border-left-color: rgba(50, 157, 224, .48);
  border-right-color: rgba(126, 79, 223, .86);
  border-radius: 118px 118px 0 0;
  filter: drop-shadow(0 0 22px rgba(50, 157, 224, .52));
  clip-path: inset(0 0 31% 0);
  animation: headsetWake 2.2s var(--ease) both, headsetPulse 2.9s ease-in-out infinite 2.2s, headsetFloat 5.6s ease-in-out infinite 2.2s;
}

@keyframes headsetWake {
  from { clip-path: inset(0 100% 31% 0); opacity: 0; }
  to { clip-path: inset(0 0 31% 0); opacity: 1; }
}

@keyframes headsetPulse {
  0%, 100% { filter: drop-shadow(0 0 12px rgba(50, 157, 224, .38)); }
  50% { filter: drop-shadow(0 0 34px rgba(126, 79, 223, .76)); }
}

@keyframes headsetFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  38% { transform: translateY(-4px) rotate(-1deg); }
  72% { transform: translateY(2px) rotate(1.2deg); }
}

.ear-pad {
  position: absolute;
  top: 99px;
  width: 40px;
  height: 82px;
  border: 2px solid rgba(245, 246, 255, .14);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(50, 157, 224, .24), rgba(126, 79, 223, .18));
  box-shadow: inset 0 0 24px rgba(245, 246, 255, .06), 0 0 24px rgba(50, 157, 224, .2);
  animation: padPulse 2.6s ease-in-out infinite;
}

.ear-pad.left { left: 18px; }
.ear-pad.right { right: 32px; animation-delay: .32s; }

@keyframes padPulse {
  50% { transform: translateY(-2px) scale(1.04); box-shadow: inset 0 0 24px rgba(245, 246, 255, .1), 0 0 36px rgba(126, 79, 223, .36); }
}

.mic-arm {
  position: absolute;
  right: 28px;
  bottom: 49px;
  width: 88px;
  height: 43px;
  border-right: 5px solid var(--cyan);
  border-bottom: 5px solid var(--cyan);
  border-radius: 0 0 30px 0;
  filter: drop-shadow(0 0 18px rgba(50, 157, 224, .78));
  animation: micListen 1.9s ease-in-out infinite;
}

.mic-dot {
  position: absolute;
  right: 24px;
  bottom: 43px;
  width: 17px;
  height: 17px;
  border-radius: 99px;
  background: #fff;
  box-shadow: 0 0 18px rgba(50, 157, 224, .95), 0 0 38px rgba(126, 79, 223, .55);
  animation: micHot 1.5s ease-in-out infinite;
}

@keyframes micListen {
  50% { transform: translateY(-3px) rotate(-2deg); }
}

@keyframes micHot {
  0%, 100% { transform: scale(.78); opacity: .7; }
  50% { transform: scale(1.16); opacity: 1; }
}

.team-command {
  position: absolute;
  left: 50%;
  bottom: 1%;
  width: min(570px, 94%);
  height: 340px;
  transform: translateX(-50%);
  isolation: isolate;
}

.message-core {
  position: absolute;
  left: 50%;
  top: 20px;
  z-index: 7;
  width: 154px;
  height: 104px;
  transform: translateX(-50%);
  animation: messageLevitate 4.2s ease-in-out infinite;
}

.message-aura,
.message-lift {
  position: absolute;
  pointer-events: none;
}

.message-aura {
  inset: -24px -34px;
  z-index: -1;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(82, 195, 255, .42), transparent 48%),
    linear-gradient(315deg, rgba(126, 79, 223, .34), transparent 56%),
    linear-gradient(180deg, rgba(245, 246, 255, .16), transparent 62%);
  filter: blur(20px);
  opacity: .82;
  animation: messageAuraPower 2.35s ease-in-out infinite;
}

.message-envelope {
  position: absolute;
  inset: 10px 9px 17px;
  overflow: hidden;
  border: 1px solid rgba(245, 246, 255, .22);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(245, 246, 255, .24), rgba(82, 195, 255, .13) 48%, rgba(126, 79, 223, .17)),
    rgba(3, 6, 16, .64);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 16px 48px rgba(0, 0, 0, .24),
    0 0 52px rgba(50, 157, 224, .3);
}

.message-envelope::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0 32%, rgba(255, 255, 255, .28), transparent 62%);
  transform: translateX(-120%);
  animation: messageSweep 2.8s cubic-bezier(.16, 1, .3, 1) infinite;
}

.message-fold {
  position: absolute;
  left: 50%;
  top: 46%;
  width: 78%;
  height: 1px;
  background: rgba(245, 246, 255, .24);
  transform-origin: center;
}

.fold-a { transform: translate(-50%, -50%) rotate(26deg); }
.fold-b { transform: translate(-50%, -50%) rotate(-26deg); }

.message-line {
  position: absolute;
  left: 26px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cyan), rgba(245, 246, 255, .34));
  opacity: .72;
}

.message-line.line-a {
  top: 24px;
  width: 66px;
  animation: messageLineRead 1.8s ease-in-out infinite;
}

.message-line.line-b {
  top: 40px;
  width: 88px;
  animation: messageLineRead 1.8s ease-in-out infinite .28s;
}

.message-lift {
  left: 50%;
  top: -112px;
  z-index: 2;
  width: 6px;
  height: 184px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(50, 157, 224, .28), rgba(50, 157, 224, .86), rgba(126, 79, 223, .56), transparent);
  filter: drop-shadow(0 0 22px rgba(50, 157, 224, .62));
  opacity: .74;
  animation: messageLiftPower 2.4s ease-in-out infinite;
}

.operator-signal {
  --signal-run: 180px;
  position: absolute;
  z-index: 5;
  height: 3px;
  border-radius: 999px;
  background:
    repeating-linear-gradient(90deg, rgba(82, 195, 255, 0) 0 10px, rgba(245, 246, 255, .72) 10px 14px, rgba(82, 195, 255, 0) 14px 27px),
    linear-gradient(90deg, rgba(245, 246, 255, .08), rgba(245, 246, 255, .86) 24%, rgba(82, 195, 255, .86) 52%, rgba(245, 246, 255, .64) 74%, transparent);
  box-shadow:
    0 0 12px rgba(255, 255, 255, .18),
    0 0 18px rgba(50, 157, 224, .48),
    0 0 30px rgba(126, 79, 223, .14);
  filter: drop-shadow(0 0 10px rgba(245, 246, 255, .2)) drop-shadow(0 0 10px rgba(50, 157, 224, .38));
  opacity: .9;
  transform-origin: left center;
  overflow: hidden;
}

.operator-signal::before,
.operator-signal::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.operator-signal::before {
  left: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: radial-gradient(circle, #fff 0 42%, rgba(245, 246, 255, .88) 43% 54%, rgba(82, 195, 255, .74) 55% 68%, rgba(126, 79, 223, .12) 78%, transparent);
  box-shadow: 0 0 16px rgba(255, 255, 255, .48), 0 0 22px rgba(82, 195, 255, .64), 0 0 30px rgba(126, 79, 223, .26);
  transform: translate(-50%, -50%);
  animation: signalNodeFlow 2.2s cubic-bezier(.16, 1, .3, 1) infinite;
}

.operator-signal::after {
  inset: -1px 0;
  width: 38%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .98), rgba(245, 246, 255, .72), rgba(82, 195, 255, .34), transparent);
  transform: translateX(-120%);
  animation: signalTravel 2.2s cubic-bezier(.16, 1, .3, 1) infinite;
}

.signal-a {
  --signal-run: 212px;
  left: 102px;
  top: 194px;
  width: 212px;
  transform: rotate(-31deg);
}

.signal-b {
  --signal-run: 112px;
  left: 285px;
  top: 204px;
  width: 112px;
  transform: rotate(-90deg);
  animation-delay: .28s;
}

.signal-c {
  --signal-run: 212px;
  left: 468px;
  top: 194px;
  width: 212px;
  transform: rotate(-149deg);
}

.signal-b::before,
.signal-b::after { animation-delay: .36s; }
.signal-c::before,
.signal-c::after { animation-delay: .72s; }

.operator-card {
  position: absolute;
  z-index: 4;
  bottom: 14px;
  width: 154px;
  height: 202px;
  transform-origin: center bottom;
  animation: operatorFocus 3.8s ease-in-out infinite;
}

.operator-card::before {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  height: 18px;
  border-radius: 999px;
  background: rgba(3, 6, 16, .52);
  filter: blur(10px);
  opacity: .68;
}

.operator-a {
  left: 0;
  transform: scale(.97);
}

.operator-b {
  left: 50%;
  bottom: 0;
  z-index: 6;
  transform: translateX(-50%) scale(1.04);
  animation-delay: .36s;
}

.operator-c {
  right: 0;
  transform: scale(.97);
  animation-delay: .72s;
}

.operator-chair {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 30px;
  height: 98px;
  border: 1px solid rgba(245, 246, 255, .12);
  border-radius: 38px 38px 18px 18px;
  background:
    linear-gradient(180deg, rgba(245, 246, 255, .06), transparent 18%),
    linear-gradient(180deg, rgba(126, 79, 223, .28), rgba(50, 157, 224, .12));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 16px 38px rgba(0, 0, 0, .22);
}

.operator-person {
  position: absolute;
  left: 50%;
  top: 14px;
  width: 98px;
  height: 142px;
  transform: translateX(-50%);
}

.operator-person::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 41px;
  width: 18px;
  height: 20px;
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(230, 241, 255, .78), rgba(82, 195, 255, .3));
  transform: translateX(-50%);
}

.operator-head {
  position: absolute;
  left: 50%;
  top: 0;
  width: 44px;
  height: 50px;
  transform: translateX(-50%);
  border-radius: 45% 45% 48% 48%;
  background:
    linear-gradient(145deg, rgba(245, 246, 255, .94), rgba(82, 195, 255, .54) 52%, rgba(126, 79, 223, .42));
  box-shadow: 0 0 22px rgba(50, 157, 224, .18);
}

.operator-head::before {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  top: -4px;
  height: 18px;
  border-radius: 18px 18px 10px 10px;
  background: linear-gradient(145deg, rgba(3, 6, 16, .78), rgba(126, 79, 223, .34));
}

.operator-head::after {
  content: "";
  position: absolute;
  left: 12px;
  top: 25px;
  width: 18px;
  height: 6px;
  border-bottom: 2px solid rgba(3, 6, 16, .65);
  border-radius: 0 0 999px 999px;
}

.operator-headset {
  position: absolute;
  left: 25px;
  top: 7px;
  width: 50px;
  height: 34px;
  border: 3px solid transparent;
  border-top-color: var(--cyan);
  border-left-color: rgba(50, 157, 224, .78);
  border-right-color: rgba(126, 79, 223, .74);
  border-radius: 999px 999px 0 0;
  filter: drop-shadow(0 0 9px rgba(50, 157, 224, .45));
}

.operator-headset::after {
  content: "";
  position: absolute;
  right: -7px;
  bottom: -12px;
  width: 20px;
  height: 12px;
  border-right: 2px solid var(--cyan);
  border-bottom: 2px solid var(--cyan);
  border-radius: 0 0 10px 0;
}

.operator-body {
  position: absolute;
  left: 15px;
  right: 15px;
  top: 54px;
  height: 86px;
  border: 1px solid rgba(245, 246, 255, .12);
  border-radius: 28px 28px 18px 18px;
  background:
    linear-gradient(90deg, rgba(245, 246, 255, .08), transparent 28% 70%, rgba(245, 246, 255, .06)),
    linear-gradient(180deg, rgba(50, 157, 224, .38), rgba(126, 79, 223, .22));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.operator-body::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 10px;
  width: 2px;
  height: 54px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(245, 246, 255, .18), transparent);
  transform: translateX(-50%);
}

.operator-arm {
  position: absolute;
  top: 96px;
  width: 38px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(245, 246, 255, .62), rgba(82, 195, 255, .38));
  animation: operatorHands 1.4s ease-in-out infinite;
}

.arm-left {
  left: 11px;
  transform: rotate(18deg);
}

.arm-right {
  right: 11px;
  transform: rotate(-18deg);
  animation-delay: .18s;
}

.operator-desk {
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 22px;
  height: 26px;
  border: 1px solid rgba(245, 246, 255, .12);
  border-radius: 14px 14px 18px 18px;
  background:
    linear-gradient(90deg, transparent, rgba(82, 195, 255, .17), transparent),
    linear-gradient(180deg, rgba(245, 246, 255, .14), rgba(245, 246, 255, .045));
}

.operator-desk::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: -20px;
  height: 20px;
  border-left: 2px solid rgba(245, 246, 255, .09);
  border-right: 2px solid rgba(245, 246, 255, .09);
}

.operator-laptop {
  position: absolute;
  left: 50%;
  bottom: 44px;
  width: 96px;
  height: 62px;
  transform: translateX(-50%) perspective(360px) rotateX(3deg);
}

.laptop-screen {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 0;
  height: 50px;
  border: 1px solid rgba(82, 195, 255, .3);
  border-radius: 10px 10px 7px 7px;
  background:
    linear-gradient(90deg, rgba(82, 195, 255, .34) 0 36%, rgba(245, 246, 255, .11) 36% 39%, transparent 39%),
    linear-gradient(180deg, rgba(3, 6, 16, .72), rgba(3, 6, 16, .92));
  box-shadow: inset 0 0 18px rgba(82, 195, 255, .13), 0 0 18px rgba(50, 157, 224, .12);
  animation: laptopWake 2.4s ease-in-out infinite;
}

.laptop-screen::before {
  content: "";
  position: absolute;
  inset: 7px 10px auto;
  height: 5px;
  border-radius: 999px;
  background: rgba(245, 246, 255, .1);
  box-shadow: 0 14px 0 rgba(82, 195, 255, .16), 0 28px 0 rgba(126, 79, 223, .14);
}

.laptop-screen::after {
  content: "";
  position: absolute;
  left: 15px;
  right: 15px;
  top: 16px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cyan), rgba(245, 246, 255, .18));
  box-shadow: 0 11px 0 rgba(82, 195, 255, .22), 0 22px 0 rgba(126, 79, 223, .2);
  animation: laptopLines 1.8s ease-in-out infinite;
}

.laptop-base {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 12px;
  border-radius: 4px 4px 14px 14px;
  background: linear-gradient(180deg, rgba(245, 246, 255, .22), rgba(245, 246, 255, .055));
}

.laptop-base::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 4px;
  width: 26px;
  height: 3px;
  border-radius: 999px;
  background: rgba(245, 246, 255, .2);
  transform: translateX(-50%);
}

@keyframes messageLevitate {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-8px); }
}

@keyframes messageAuraPower {
  0%, 100% { opacity: .45; transform: scale(.96); }
  48% { opacity: .92; transform: scale(1.08); }
}

@keyframes messageSweep {
  0% { transform: translateX(-120%); opacity: 0; }
  18% { opacity: 1; }
  74% { opacity: .62; }
  100% { transform: translateX(140%); opacity: 0; }
}

@keyframes messageLineRead {
  0%, 100% { transform: scaleX(.6); opacity: .42; transform-origin: left; }
  50% { transform: scaleX(1); opacity: .9; }
}

@keyframes messageLiftPower {
  0%, 100% { opacity: .36; transform: translateX(-50%) scaleY(.72); }
  50% { opacity: .88; transform: translateX(-50%) scaleY(1); }
}

@keyframes signalTravel {
  0% { transform: translateX(-120%); opacity: 0; }
  24% { opacity: 1; }
  100% { transform: translateX(250%); opacity: 0; }
}

@keyframes signalNodeFlow {
  0% { transform: translate(-50%, -50%) translateX(0) scale(.54); opacity: 0; }
  18% { opacity: 1; }
  72% { opacity: .95; }
  100% { transform: translate(-50%, -50%) translateX(var(--signal-run, 180px)) scale(1); opacity: 0; }
}

@keyframes operatorFocus {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -5px; }
}

@keyframes operatorHands {
  50% { translate: 0 3px; filter: brightness(1.18); }
}

@keyframes laptopWake {
  50% { border-color: rgba(82, 195, 255, .5); filter: saturate(1.35); }
}

@keyframes laptopLines {
  0%, 100% { transform: scaleX(.72); opacity: .5; transform-origin: left; }
  50% { transform: scaleX(1); opacity: 1; }
}

.live-desk:hover .fline-character,
.live-desk.is-awake .fline-character {
  animation-duration: 2.8s;
}

.live-desk:hover .mic-dot,
.live-desk.is-awake .mic-dot {
  box-shadow: 0 0 24px rgba(50, 157, 224, 1), 0 0 68px rgba(126, 79, 223, .9);
}

.split-section,
.kosovo-section,
.proof-section,
.contact-page,
.apply-page {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 28px;
  align-items: stretch;
}

.copy-block,
.conversation-visual,
.map-panel,
.contact-intro,
.contact-form,
.apply-intro,
.apply-form,
.legal-card {
  padding: clamp(28px, 4vw, 46px);
}

.copy-block p + p { margin-top: 18px; }

.conversation-visual {
  min-height: 520px;
}

.flow-line {
  position: absolute;
  left: 15%;
  right: 15%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--purple), transparent);
  transform-origin: center;
  animation: flowMove 3.7s ease-in-out infinite;
}

.flow-line.one { --r: -11deg; top: 31%; transform: rotate(var(--r)); }
.flow-line.two { --r: 7deg; top: 50%; transform: rotate(var(--r)); animation-delay: .6s; }
.flow-line.three { --r: -5deg; top: 68%; transform: rotate(var(--r)); animation-delay: 1.1s; }

.flow-node {
  position: absolute;
  min-width: 132px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  color: #fff;
  background: rgba(3, 6, 16, .72);
  font-weight: 900;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.node-1 { left: 10%; top: 22%; }
.node-2 { right: 12%; top: 46%; }
.node-3 { left: 24%; bottom: 16%; }

.flow-pulse {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 32px var(--cyan);
  animation: pulseTravel 5s var(--ease) infinite;
}

@keyframes flowMove {
  0%, 100% { opacity: .28; transform: translateX(-8px) rotate(var(--r, 0)); }
  50% { opacity: .9; transform: translateX(8px) rotate(var(--r, 0)); }
}

@keyframes pulseTravel {
  0% { transform: translate(-190px, -100px); opacity: 0; }
  15%, 80% { opacity: 1; }
  100% { transform: translate(180px, 106px); opacity: 0; }
}

.section-heading {
  max-width: 840px;
  margin-bottom: 44px;
}

.section-heading p + p { margin-top: 18px; }

.service-stack {
  display: grid;
  gap: 16px;
  max-width: 940px;
  margin: 0 auto;
}

.service-strip {
  position: relative;
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 22px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: rgba(245, 246, 255, .055);
  overflow: hidden;
  transition: transform 260ms var(--ease), border-color 260ms ease;
}

.service-strip::after {
  content: "";
  position: absolute;
  inset: auto 24px 18px 112px;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--cyan), transparent, var(--purple));
  opacity: .72;
}

.service-strip:hover,
.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(126, 79, 223, .44);
}

.services-board {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(245, 246, 255, .08);
  border-radius: 44px;
  background:
    radial-gradient(circle at 50% 0%, rgba(50, 157, 224, .13), transparent 34rem),
    rgba(245, 246, 255, .025);
}

.services-board.services-uniform {
  width: min(calc(100% - 40px), 1280px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  border-radius: 42px;
}

.service-card {
  position: relative;
  min-height: 285px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .13), transparent 42%),
    rgba(245, 246, 255, .055);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: transform 260ms var(--ease), border-color 260ms ease;
}

.services-uniform .service-card {
  min-height: 224px;
  padding: 22px 20px 46px;
  border-radius: 26px;
}

.services-uniform .service-icon {
  width: 56px;
  height: 56px;
  border-radius: 19px;
}

.services-uniform .service-card h3 {
  min-height: 54px;
  margin: 17px 0 10px;
  font-size: clamp(20px, 1.65vw, 26px);
}

.services-uniform .service-card p {
  color: rgba(245, 246, 255, .7);
  font-size: 14px;
  line-height: 1.55;
}

.service-card::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 18px;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--cyan), transparent 55%, var(--purple));
  opacity: .58;
  transform-origin: left;
  transform: scaleX(.36);
  transition: transform 360ms var(--ease), opacity 260ms ease;
}

.service-card:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.service-card.prime {
  grid-column: span 1;
  min-height: 285px;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(126, 79, 223, .15), transparent 42%),
    rgba(245, 246, 255, .065);
}

.service-card h3,
.service-strip h3 { margin: 18px 0 10px; }

.service-card p,
.service-strip p { font-size: 15px; line-height: 1.65; }

.service-icon {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(245, 246, 255, .15);
  border-radius: 22px;
  color: #68b8e1;
  background: linear-gradient(135deg, rgba(50, 157, 224, .18), rgba(126, 79, 223, .18));
  box-shadow: 0 0 42px rgba(50, 157, 224, .12);
}

.service-icon::before,
.service-icon::after {
  content: "";
  position: absolute;
  display: block;
}

.icon-care::before,
.icon-live::before {
  left: 14px; top: 18px; width: 34px; height: 22px;
  border: 3px solid currentColor; border-radius: 16px;
}
.icon-care::after,
.icon-live::after {
  left: 22px; top: 42px; width: 14px; height: 8px;
  border-left: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: skewX(-22deg);
}
.icon-tech::before { left: 16px; top: 16px; width: 32px; height: 32px; border: 3px solid currentColor; border-radius: 50%; box-shadow: 0 0 0 8px rgba(126, 79, 223, .18); }
.icon-tech::after { left: 30px; top: 8px; width: 4px; height: 48px; background: currentColor; border-radius: 99px; transform: rotate(45deg); }
.icon-sales::before { left: 16px; top: 36px; width: 34px; height: 4px; background: currentColor; border-radius: 99px; transform: rotate(-38deg); }
.icon-sales::after { right: 12px; top: 17px; width: 16px; height: 16px; border-top: 4px solid currentColor; border-right: 4px solid currentColor; transform: rotate(5deg); }
.icon-back::before { left: 14px; top: 19px; width: 34px; height: 26px; border: 3px solid currentColor; border-radius: 8px; box-shadow: 8px 8px 0 rgba(126, 79, 223, .32); }
.icon-mail::before { left: 13px; top: 18px; width: 38px; height: 28px; border: 3px solid currentColor; border-radius: 8px; }
.icon-mail::after { left: 16px; top: 23px; width: 32px; height: 20px; border-left: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(-45deg); }
.icon-research::before { left: 15px; top: 15px; width: 24px; height: 24px; border: 3px solid currentColor; border-radius: 50%; }
.icon-research::after { left: 37px; top: 38px; width: 16px; height: 4px; background: currentColor; border-radius: 99px; transform: rotate(45deg); }
.icon-flow::before { left: 13px; top: 19px; width: 38px; height: 24px; border-top: 3px solid currentColor; border-bottom: 3px solid currentColor; border-radius: 20px; }
.icon-flow::after { right: 12px; top: 26px; width: 13px; height: 13px; border-top: 3px solid currentColor; border-right: 3px solid currentColor; transform: rotate(45deg); }
.icon-web::before { left: 13px; top: 17px; width: 38px; height: 30px; border: 3px solid currentColor; border-radius: 8px; }
.icon-web::after { left: 20px; top: 26px; width: 23px; height: 3px; background: currentColor; border-radius: 99px; box-shadow: 0 8px 0 rgba(126, 79, 223, .72); }
.icon-help::before { left: 13px; top: 14px; width: 38px; height: 34px; border-top: 4px solid currentColor; border-left: 4px solid currentColor; border-right: 4px solid currentColor; border-radius: 28px 28px 10px 10px; }
.icon-help::after { right: 12px; top: 42px; width: 18px; height: 12px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; border-radius: 0 0 12px 0; }
.icon-star::before { left: 27px; top: 12px; width: 9px; height: 40px; background: currentColor; border-radius: 99px; }
.icon-star::after { left: 12px; top: 27px; width: 40px; height: 9px; background: currentColor; border-radius: 99px; }
.icon-inbound::before { left: 13px; top: 18px; width: 36px; height: 26px; border: 3px solid currentColor; border-radius: 16px; border-left-color: rgba(245, 246, 255, .36); }
.icon-inbound::after { left: 18px; top: 27px; width: 24px; height: 9px; border-left: 4px solid currentColor; border-bottom: 4px solid currentColor; transform: rotate(45deg); border-radius: 0 0 0 6px; }
.icon-outbound::before { left: 13px; top: 18px; width: 36px; height: 26px; border: 3px solid currentColor; border-radius: 16px; border-right-color: rgba(245, 246, 255, .36); }
.icon-outbound::after { right: 15px; top: 26px; width: 20px; height: 12px; border-top: 4px solid currentColor; border-right: 4px solid currentColor; transform: rotate(45deg); border-radius: 0 6px 0 0; }
.icon-phone::before { left: 18px; top: 13px; width: 28px; height: 38px; border: 3px solid currentColor; border-radius: 12px; box-shadow: inset 0 -7px 0 rgba(126, 79, 223, .18); }
.icon-phone::after { left: 28px; bottom: 15px; width: 8px; height: 3px; background: currentColor; border-radius: 99px; box-shadow: 0 -23px 0 rgba(245, 246, 255, .38); }
.icon-lead::before { left: 16px; top: 16px; width: 31px; height: 31px; border: 3px solid currentColor; border-radius: 50%; box-shadow: inset 0 0 0 8px rgba(126, 79, 223, .18); }
.icon-lead::after { left: 29px; top: 7px; width: 6px; height: 50px; background: currentColor; border-radius: 99px; transform: rotate(45deg); box-shadow: 0 0 18px rgba(50, 157, 224, .25); }
.icon-b2b::before { left: 12px; top: 18px; width: 16px; height: 24px; border: 3px solid currentColor; border-radius: 8px; box-shadow: 24px 0 0 -3px transparent, 24px 0 0 0 currentColor; }
.icon-b2b::after { left: 28px; top: 29px; width: 12px; height: 3px; background: currentColor; border-radius: 99px; box-shadow: 0 0 16px rgba(50, 157, 224, .35); }
.icon-b2c::before { left: 14px; top: 14px; width: 18px; height: 18px; border: 3px solid currentColor; border-radius: 50%; box-shadow: 18px 16px 0 -5px rgba(126, 79, 223, .72); }
.icon-b2c::after { left: 18px; top: 38px; width: 29px; height: 12px; border: 3px solid currentColor; border-top: 0; border-radius: 0 0 22px 22px; }
.icon-design::before { left: 15px; top: 16px; width: 34px; height: 34px; border: 3px solid currentColor; border-radius: 12px 24px 12px 24px; transform: rotate(8deg); }
.icon-design::after { left: 25px; top: 24px; width: 24px; height: 5px; background: currentColor; border-radius: 99px; transform: rotate(-38deg); box-shadow: -8px 12px 0 rgba(126, 79, 223, .7); }
.icon-complaint::before { left: 14px; top: 16px; width: 36px; height: 28px; border: 3px solid currentColor; border-radius: 16px 16px 16px 6px; }
.icon-complaint::after { left: 29px; top: 23px; width: 5px; height: 17px; background: currentColor; border-radius: 99px; box-shadow: 0 23px 0 -1px currentColor; }
.icon-orders::before { left: 17px; top: 13px; width: 30px; height: 40px; border: 3px solid currentColor; border-radius: 9px; box-shadow: inset 0 8px 0 rgba(126, 79, 223, .2); }
.icon-orders::after { left: 24px; top: 29px; width: 18px; height: 3px; background: currentColor; border-radius: 99px; box-shadow: 0 9px 0 rgba(245, 246, 255, .45); }
.icon-secretary::before { left: 14px; top: 17px; width: 36px; height: 28px; border: 3px solid currentColor; border-radius: 9px; }
.icon-secretary::after { left: 19px; top: 26px; width: 26px; height: 3px; background: currentColor; border-radius: 99px; box-shadow: 0 9px 0 rgba(126, 79, 223, .72), 0 18px 0 rgba(245, 246, 255, .42); }
.icon-after::before { left: 15px; top: 15px; width: 34px; height: 34px; border: 3px solid currentColor; border-radius: 50%; border-left-color: rgba(126, 79, 223, .5); }
.icon-after::after { left: 31px; top: 21px; width: 4px; height: 20px; background: currentColor; border-radius: 99px; transform-origin: bottom; transform: rotate(38deg); box-shadow: 8px 9px 0 -1px currentColor; }
.icon-recovery::before { left: 13px; top: 16px; width: 38px; height: 30px; border: 3px solid currentColor; border-radius: 18px; border-right-color: rgba(245, 246, 255, .32); }
.icon-recovery::after { left: 14px; top: 19px; width: 15px; height: 15px; border-left: 4px solid currentColor; border-bottom: 4px solid currentColor; transform: rotate(45deg); border-radius: 0 0 0 6px; }
.icon-upsell::before { left: 15px; top: 40px; width: 35px; height: 4px; background: currentColor; border-radius: 99px; transform: rotate(-42deg); box-shadow: 0 0 16px rgba(50, 157, 224, .35); }
.icon-upsell::after { right: 13px; top: 14px; width: 18px; height: 18px; border-top: 4px solid currentColor; border-right: 4px solid currentColor; transform: rotate(0deg); }
.icon-retention::before { left: 15px; top: 15px; width: 34px; height: 34px; border: 3px solid currentColor; border-radius: 50%; border-top-color: rgba(245, 246, 255, .35); }
.icon-retention::after { left: 25px; top: 25px; width: 16px; height: 16px; border: 3px solid currentColor; border-radius: 50%; background: rgba(126, 79, 223, .18); }
.icon-salesflow::before { left: 12px; top: 19px; width: 40px; height: 24px; border-top: 3px solid currentColor; border-bottom: 3px solid currentColor; border-radius: 22px; box-shadow: 0 0 16px rgba(50, 157, 224, .22); }
.icon-salesflow::after { left: 18px; top: 25px; width: 28px; height: 14px; border-top: 4px solid currentColor; border-right: 4px solid currentColor; border-left: 4px solid currentColor; border-radius: 16px 16px 0 0; transform: skewX(-12deg); }

.service-cloud {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 22px;
  margin-top: 26px;
  border: 1px solid rgba(245, 246, 255, .09);
  border-radius: 36px;
  background:
    radial-gradient(circle at 20% 0%, rgba(50, 157, 224, .12), transparent 24rem),
    radial-gradient(circle at 80% 100%, rgba(126, 79, 223, .12), transparent 24rem),
    rgba(245, 246, 255, .025);
}

.service-cloud span,
.apply-tags span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 11px 15px;
  color: rgba(245, 246, 255, .8);
  background: rgba(245, 246, 255, .052);
  font-weight: 840;
}

.service-cloud span {
  position: relative;
  min-height: 62px;
  border-radius: 20px;
  padding: 14px 14px 14px 42px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  font-size: 14px;
  line-height: 1.25;
}

.service-cloud span::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  border-radius: 99px;
  background: radial-gradient(circle, #fff 0 18%, var(--cyan) 20% 56%, var(--purple) 100%);
  box-shadow: 0 0 18px rgba(50, 157, 224, .55);
}

.proof-section {
  grid-template-columns: .45fr .55fr;
  min-height: 720px;
  align-items: center;
}

.proof-orbit {
  position: relative;
  min-height: 560px;
}

.orbit-ring {
  position: absolute;
  inset: 50px;
  border: 1px solid rgba(245, 246, 255, .1);
  border-radius: 48%;
  transform: rotate(-8deg);
  animation: orbitSpin 8s ease-in-out infinite alternate;
}

.orbit-ring::after {
  content: "";
  position: absolute;
  inset: 62px;
  border: 1px solid rgba(50, 157, 224, .16);
  border-radius: 52%;
}

@keyframes orbitSpin {
  from { transform: rotate(-10deg) scale(.96); }
  to { transform: rotate(8deg) scale(1.03); }
}

.proof-node {
  position: absolute;
  width: 238px;
  padding: 22px;
  border: 1px solid var(--line-strong);
  border-radius: 24px;
  background: rgba(245, 246, 255, .075);
  backdrop-filter: blur(20px);
}

.proof-node.a { left: 10%; top: 8%; }
.proof-node.b { right: 0; top: 30%; }
.proof-node.c { left: 0; bottom: 18%; }
.proof-node.d { right: 11%; bottom: 6%; }

.proof-node strong {
  display: block;
  color: var(--cyan);
  font-size: 58px;
  line-height: .85;
  letter-spacing: -.06em;
}

.proof-node span {
  display: block;
  margin-top: 12px;
  color: rgba(245, 246, 255, .82);
  font-weight: 850;
}

.kosovo-section {
  align-items: stretch;
}

.leader-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: clamp(24px, 4vw, 34px);
}

.leader-card {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 104px;
  border: 1px solid rgba(47, 177, 231, .16);
  border-radius: 28px;
  padding: 16px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 10% 10%, rgba(47, 177, 231, .16), transparent 44%),
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025));
  box-shadow: 0 18px 48px rgba(16, 44, 84, .08), inset 0 1px 0 rgba(255, 255, 255, .32);
}

.leader-card::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-purple));
  opacity: .78;
}

.leader-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-blue), var(--brand-purple));
  box-shadow: 0 16px 34px rgba(47, 177, 231, .22);
  font-size: 15px;
  font-weight: 980;
  letter-spacing: .04em;
}

.leader-copy {
  position: relative;
  display: grid;
  gap: 8px;
  min-width: 0;
}

.leader-copy strong,
.leader-row > span {
  display: block;
  color: #fff;
  font-size: clamp(20px, 2.4vw, 25px);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.04em;
}

.leader-copy em,
.leader-row b {
  display: inline-grid;
  width: fit-content;
  max-width: 100%;
  border: 1px solid rgba(47, 177, 231, .18);
  border-radius: 999px;
  padding: 7px 11px;
  color: var(--muted);
  background: rgba(47, 177, 231, .07);
  font-style: normal;
  font-size: 13px;
  line-height: 1;
  font-weight: 920;
  letter-spacing: -.01em;
}

.map-panel {
  position: relative;
  min-height: 640px;
  isolation: isolate;
}

.radar-grid {
  position: absolute;
  inset: 26px;
  z-index: 0;
  border-radius: 36px;
  background:
    linear-gradient(rgba(245, 246, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 246, 255, .04) 1px, transparent 1px);
  background-size: 54px 54px;
  opacity: .28;
  mask-image: radial-gradient(circle at 52% 56%, #000, transparent 72%);
}

.radar-ring {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 54%;
  width: min(470px, 72%);
  aspect-ratio: 1;
  border-radius: 999px;
  border: 1px solid rgba(245, 246, 255, .095);
  transform: translate(-50%, -50%);
  animation: radarRing 6s ease-in-out infinite alternate;
}

.ring-two {
  width: min(330px, 52%);
  border-color: rgba(50, 157, 224, .18);
  animation-delay: .7s;
}

@keyframes radarRing {
  from { opacity: .42; transform: translate(-50%, -50%) scale(.96); }
  to { opacity: .9; transform: translate(-50%, -50%) scale(1.04); }
}

.radar-sweep {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 54%;
  width: min(460px, 70%);
  aspect-ratio: 1;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  background: conic-gradient(from 0deg, rgba(50, 157, 224, .24), transparent 22%, transparent);
  filter: blur(.2px);
  opacity: .56;
  animation: radarSweep 7.2s linear infinite;
  mask-image: radial-gradient(circle, #000 0 64%, transparent 65%);
}

@keyframes radarSweep {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.kosovo-map {
  position: absolute;
  z-index: 2;
  width: min(500px, 76%);
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  opacity: .46;
  filter: saturate(1.85) brightness(1.32) hue-rotate(18deg) drop-shadow(0 0 42px rgba(50, 157, 224, .32));
  animation: mapFloat 6s ease-in-out infinite;
}

.map-route {
  position: absolute;
  z-index: 3;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(50, 157, 224, .9), rgba(126, 79, 223, .78), transparent);
  filter: drop-shadow(0 0 18px rgba(50, 157, 224, .46));
  opacity: .78;
  transform-origin: left center;
  animation: routePulse 3.6s ease-in-out infinite;
}

.route-pr-li {
  left: 26%;
  top: 37%;
  width: 45%;
  transform: rotate(31deg);
}

.route-li-vu {
  left: 42%;
  top: 61%;
  width: 32%;
  transform: rotate(139deg);
  animation-delay: .75s;
}

.route-vu-pr {
  left: 28%;
  top: 64%;
  width: 34%;
  transform: rotate(-76deg);
  animation-delay: 1.45s;
}

@keyframes routePulse {
  0%, 100% { opacity: .18; }
  50% { opacity: .95; }
}

.map-packet {
  position: absolute;
  z-index: 4;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 20px rgba(50, 157, 224, .9), 0 0 46px rgba(126, 79, 223, .62);
  offset-rotate: 0deg;
}

.packet-one {
  offset-path: path("M 154 205 C 236 260, 322 320, 396 386");
  animation: mapPacket 4.2s var(--ease) infinite;
}

.packet-two {
  offset-path: path("M 414 376 C 335 420, 250 430, 176 376");
  animation: mapPacket 4.8s var(--ease) infinite .8s;
}

.packet-three {
  offset-path: path("M 184 388 C 182 310, 208 236, 274 178");
  animation: mapPacket 5.1s var(--ease) infinite 1.55s;
}

@keyframes mapPacket {
  0% { offset-distance: 0%; opacity: 0; transform: scale(.6); }
  14%, 84% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; transform: scale(1.3); }
}

.map-beam {
  position: absolute;
  left: 28%;
  top: 48%;
  width: 44%;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--purple), transparent);
  transform: rotate(-42deg);
  animation: beamScan 4.6s ease-in-out infinite;
}

.office {
  position: absolute;
  z-index: 6;
  width: 250px;
  padding: 17px 18px 17px 54px;
  border: 1px solid var(--line-strong);
  border-radius: 22px;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .16), transparent 42%),
    rgba(3, 6, 16, .76);
  backdrop-filter: blur(18px);
  cursor: pointer;
  transition: transform 260ms var(--ease), border-color 260ms ease, background 260ms ease;
}

.office::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 22px;
  width: 21px;
  height: 21px;
  border-radius: 99px;
  background: radial-gradient(circle, #fff 0 18%, var(--cyan) 20% 52%, var(--purple) 100%);
  box-shadow: 0 0 24px rgba(126, 79, 223, .74);
  animation: officePulse 2.5s ease-in-out infinite;
}

.office::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 44px;
  bottom: -34px;
  width: 2px;
  border-radius: 99px;
  background: linear-gradient(var(--cyan), transparent);
  opacity: .28;
}

.office:hover,
.office.is-active {
  transform: translateY(-7px);
  border-color: rgba(50, 157, 224, .45);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(126, 79, 223, .2), transparent 44%),
    rgba(3, 6, 16, .86);
}

.office:hover::before,
.office.is-active::before {
  box-shadow: 0 0 20px rgba(50, 157, 224, .9), 0 0 52px rgba(126, 79, 223, .82);
}

@keyframes officePulse {
  50% { transform: scale(1.18); filter: brightness(1.3); }
}

.office strong,
.office span,
.office small,
.office em {
  display: block;
}

.office strong { color: #fff; font-size: 17px; margin-bottom: 8px; }
.office span { color: var(--muted); font-size: 14px; font-weight: 780; }
.office small {
  margin-top: 9px;
  color: rgba(50, 157, 224, .95);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.office em {
  position: absolute;
  right: 16px;
  top: 14px;
  color: rgba(245, 246, 255, .34);
  font-style: normal;
  font-weight: 950;
}
.office.pr { left: 13%; top: 17%; }
.office.li { right: 8%; top: 50%; }
.office.vu { left: 22%; bottom: 13%; }

@keyframes mapFloat {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); }
  50% { transform: translate(-49%, -52%) scale(1.03); }
}

@keyframes beamScan {
  0%, 100% { opacity: .2; transform: rotate(-42deg) translateX(-20px); }
  50% { opacity: .95; transform: rotate(-42deg) translateX(24px); }
}

.process-line {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  position: relative;
}

.process-line::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 44px;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--cyan), var(--purple));
  transform-origin: left;
  animation: processDraw 2.4s var(--ease) infinite alternate;
}

.process-line article {
  position: relative;
  min-height: 290px;
  padding: 86px 24px 24px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: rgba(245, 246, 255, .055);
}

.process-line span {
  position: absolute;
  top: 20px;
  left: 24px;
  color: var(--cyan);
  font-size: 28px;
  font-weight: 950;
}

.process-line h3 { margin-bottom: 18px; }
.process-line p { font-size: 15px; line-height: 1.65; }

@keyframes processDraw {
  from { transform: scaleX(.28); opacity: .45; }
  to { transform: scaleX(1); opacity: 1; }
}

.assurance {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border: 1px solid var(--line);
  border-radius: 38px;
  padding: 40px;
  background:
    radial-gradient(circle at 80% 0%, rgba(126, 79, 223, .18), transparent 24rem),
    rgba(245, 246, 255, .055);
}

.page-hero {
  padding-top: 180px;
  padding-bottom: 50px;
}

.page-hero h1 { max-width: 980px; }

.contact-page,
.apply-page,
.legal-page {
  padding-top: 170px;
}

.contact-page {
  grid-template-columns: .82fr 1.18fr;
}

.contact-intro h1,
.apply-intro h1,
.legal-card h1 {
  font-size: clamp(42px, 5vw, 76px);
  line-height: .94;
  letter-spacing: -.07em;
  overflow-wrap: break-word;
}

.contact-lines {
  display: grid;
  gap: 14px;
  margin-top: 30px;
}

.contact-lines div {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 18px;
  background: rgba(245, 246, 255, .045);
}

.contact-lines strong,
.contact-lines a,
.contact-lines span {
  display: block;
}

.contact-lines strong { color: #fff; margin-bottom: 6px; }
.contact-lines a,
.contact-lines span { color: var(--muted); text-decoration: none; }

.contact-form form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 26px;
}

.contact-form .full { grid-column: 1 / -1; }

label,
.label {
  color: #fff;
  font-weight: 850;
}

input,
textarea {
  width: 100%;
  min-height: 50px;
  margin-top: 8px;
  border: 1px solid rgba(245, 246, 255, .12);
  border-radius: 17px;
  padding: 12px 14px;
  color: #fff;
  background: rgba(245, 246, 255, .055);
  outline: none;
}

textarea {
  min-height: 140px;
  resize: vertical;
}

input:focus,
textarea:focus {
  border-color: rgba(50, 157, 224, .55);
}

.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.form-status {
  grid-column: 1 / -1;
  min-height: 48px;
  margin: 6px 0 0;
  border: 1px solid rgba(245, 246, 255, .12);
  border-radius: 18px;
  padding: 13px 16px;
  color: rgba(245, 246, 255, .74);
  background:
    radial-gradient(circle at 10% 0%, rgba(50, 157, 224, .13), transparent 54%),
    rgba(3, 6, 16, .48);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
  font-size: 14px;
  font-weight: 820;
  line-height: 1.35;
}

.form-status:empty {
  display: none;
}

.form-status.is-success {
  color: #dff8ff;
  border-color: rgba(57, 200, 255, .34);
  background:
    radial-gradient(circle at 8% 0%, rgba(57, 200, 255, .2), transparent 58%),
    rgba(50, 157, 224, .075);
}

.form-status.is-error {
  color: #ffe5ea;
  border-color: rgba(255, 108, 137, .34);
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 108, 137, .18), transparent 58%),
    rgba(255, 108, 137, .07);
}

.apply-form .form-status {
  margin-left: 42px;
}

.button:disabled,
.button.is-loading {
  cursor: wait;
  opacity: .72;
  transform: none !important;
}

.apply-page {
  grid-template-columns: .72fr 1.28fr;
}

.apply-intro {
  min-height: 680px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.apply-intro::after {
  display: none;
  content: "";
  position: relative;
  display: block;
  flex: 1;
  min-height: 280px;
  margin-top: 42px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 16% 18%, var(--cyan) 0 8px, transparent 9px),
    radial-gradient(circle at 70% 30%, var(--purple) 0 7px, transparent 8px),
    radial-gradient(circle at 34% 72%, var(--periwinkle) 0 7px, transparent 8px),
    linear-gradient(135deg, rgba(50, 157, 224, .25), transparent 34%, rgba(126, 79, 223, .2)),
    repeating-linear-gradient(135deg, transparent 0 28px, rgba(245, 246, 255, .065) 29px 31px, transparent 32px 62px);
  border: 1px solid rgba(245, 246, 255, .10);
  filter: drop-shadow(0 0 28px rgba(50, 157, 224, .16));
  animation: applySignal 5s ease-in-out infinite alternate;
}

@keyframes applySignal {
  from { transform: translateY(0); opacity: .62; }
  to { transform: translateY(-8px); opacity: 1; }
}

.apply-intro::after {
  content: none;
  display: none !important;
}

.apply-portal {
  position: relative;
  flex: 1;
  min-height: 345px;
  margin-top: 38px;
  border: 1px solid rgba(245, 246, 255, .1);
  border-radius: 32px;
  background:
    radial-gradient(circle at 28% 20%, rgba(50, 157, 224, .22), transparent 34%),
    radial-gradient(circle at 70% 72%, rgba(126, 79, 223, .2), transparent 38%),
    rgba(3, 6, 16, .34);
  overflow: hidden;
  box-shadow: inset 0 0 80px rgba(50, 157, 224, .04);
}

.apply-portal::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 26px;
  background-image:
    linear-gradient(rgba(245, 246, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 246, 255, .045) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .42;
  mask-image: radial-gradient(circle at 50% 50%, #000, transparent 72%);
}

.portal-ring {
  position: absolute;
  inset: 54px 56px;
  border: 1px solid rgba(245, 246, 255, .12);
  border-radius: 999px;
  box-shadow: 0 0 46px rgba(50, 157, 224, .12);
  animation: portalTurn 6.2s ease-in-out infinite alternate;
}

.portal-ring::after {
  content: "";
  position: absolute;
  inset: 34px;
  border-radius: 999px;
  border: 1px dashed rgba(50, 157, 224, .32);
}

@keyframes portalTurn {
  from { transform: rotate(-8deg) scale(.96); }
  to { transform: rotate(12deg) scale(1.03); }
}

.portal-path {
  position: absolute;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--purple), transparent);
  filter: drop-shadow(0 0 12px rgba(50, 157, 224, .45));
  animation: portalPath 2.7s ease-in-out infinite;
}

.path-one { left: 12%; right: 13%; top: 45%; transform: rotate(-16deg); }
.path-two { left: 14%; right: 15%; top: 62%; transform: rotate(12deg); animation-delay: .7s; }

@keyframes portalPath {
  0%, 100% { opacity: .24; }
  50% { opacity: .95; }
}

.candidate-card {
  position: absolute;
  left: 12%;
  top: 28%;
  width: 116px;
  height: 150px;
  border: 1px solid rgba(245, 246, 255, .16);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(245, 246, 255, .1), rgba(245, 246, 255, .035)),
    rgba(3, 6, 16, .72);
  box-shadow: 0 22px 64px rgba(0, 0, 0, .28);
  animation: candidateFloat 3.7s ease-in-out infinite;
}

.candidate-card i,
.candidate-card b,
.candidate-card em {
  position: absolute;
  display: block;
}

.candidate-card i {
  left: 38px;
  top: 24px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff, rgba(91, 115, 223, .7));
}

.candidate-card b {
  left: 26px;
  top: 78px;
  width: 64px;
  height: 12px;
  border-radius: 99px;
  background: rgba(50, 157, 224, .78);
  box-shadow: 0 24px 0 rgba(245, 246, 255, .12), 0 48px 0 rgba(126, 79, 223, .4);
}

.candidate-card em {
  right: -10px;
  top: -10px;
  width: 30px;
  height: 30px;
  border-radius: 99px;
  background: radial-gradient(circle, #fff 0 18%, var(--cyan) 19% 56%, var(--purple) 100%);
  box-shadow: 0 0 26px rgba(50, 157, 224, .75);
}

@keyframes candidateFloat {
  50% { transform: translateY(-10px) rotate(-2deg); }
}

.apply-laptop {
  position: absolute;
  right: 12%;
  bottom: 22%;
  width: 150px;
  height: 100px;
  border: 1px solid rgba(245, 246, 255, .15);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(3, 6, 16, .82), rgba(3, 6, 16, .95));
  box-shadow: 0 18px 54px rgba(0, 0, 0, .28);
}

.apply-laptop i {
  position: absolute;
  inset: 14px;
  border-radius: 12px;
  background:
    radial-gradient(circle at var(--form-progress-pos, 18%) 38%, rgba(50, 157, 224, .65), transparent 28%),
    linear-gradient(90deg, rgba(50, 157, 224, .84) var(--form-progress-pct, 0%), rgba(245, 246, 255, .12) 0);
  animation: applyScreen 2s ease-in-out infinite alternate;
}

.apply-laptop b {
  position: absolute;
  left: -18px;
  right: -18px;
  bottom: -15px;
  height: 22px;
  border-radius: 8px 8px 20px 20px;
  background: rgba(245, 246, 255, .12);
}

@keyframes applyScreen {
  to { filter: saturate(1.45) brightness(1.1); }
}

.apply-spark {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 99px;
  background: #fff;
  box-shadow: 0 0 22px rgba(50, 157, 224, .9), 0 0 42px rgba(126, 79, 223, .56);
}

.spark-one {
  offset-path: path("M 96 150 C 170 72, 260 80, 360 226");
  animation: applySpark 4.2s var(--ease) infinite;
}

.spark-two {
  offset-path: path("M 92 226 C 180 330, 294 305, 410 176");
  animation: applySpark 4.8s var(--ease) infinite .72s;
}

.spark-three {
  offset-path: path("M 392 86 C 286 168, 230 228, 112 274");
  animation: applySpark 5.2s var(--ease) infinite 1.2s;
}

@keyframes applySpark {
  0% { offset-distance: 0%; opacity: 0; transform: scale(.5); }
  14%, 84% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; transform: scale(1.25); }
}

.apply-tags {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.apply-form form {
  position: relative;
  display: grid;
  gap: 14px;
}

.apply-form form::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 18px;
  bottom: 84px;
  width: 3px;
  border-radius: 99px;
  background: linear-gradient(var(--cyan), var(--purple), var(--cyan));
  box-shadow: 0 0 22px rgba(50, 157, 224, .3);
}

.form-step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, .76fr) 1.24fr;
  gap: 14px;
  align-items: center;
  margin-left: 42px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(3, 6, 16, .38);
  overflow: hidden;
}

.form-step::before {
  content: "";
  position: absolute;
  left: -42px;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  border-radius: 99px;
  background: linear-gradient(135deg, var(--cyan), var(--purple));
  box-shadow: 0 0 22px rgba(126, 79, 223, .72);
}

.choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.choice-row label,
.file-drop {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 13px;
  color: rgba(245, 246, 255, .78);
  background: rgba(245, 246, 255, .045);
  font-size: 13px;
  font-weight: 790;
}

.file-drop {
  position: relative;
  justify-content: center;
  min-height: 74px;
  border-style: dashed;
  border-radius: 24px;
  overflow: hidden;
}

.file-drop input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.choice-row input {
  width: auto;
  min-height: auto;
  margin: 0;
  accent-color: var(--cyan);
}

.consent {
  grid-template-columns: 1fr;
  font-size: 13px;
}

.consent label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: rgba(245, 246, 255, .78);
}

.consent input {
  width: auto;
  min-height: auto;
  margin-top: 5px;
}

.legal-page {
  width: min(calc(100% - 40px), 920px);
}

.legal-card {
  min-height: 560px;
}

.legal-list {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.legal-list p,
details {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 18px;
  background: rgba(245, 246, 255, .045);
}

details + details { margin-top: 14px; }

summary {
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

details p {
  margin-top: 14px;
}

.site-footer {
  position: relative;
  width: min(calc(100% - 40px), var(--max));
  margin: 70px auto 30px;
  padding: clamp(30px, 4vw, 44px);
  border: 1px solid var(--line);
  border-radius: 42px;
  background:
    radial-gradient(circle at 18% 0%, rgba(126, 79, 223, .16), transparent 22rem),
    radial-gradient(circle at 82% 100%, rgba(50, 157, 224, .14), transparent 24rem),
    linear-gradient(180deg, rgba(245, 246, 255, .07), rgba(245, 246, 255, .04));
  backdrop-filter: blur(22px);
  box-shadow: 0 34px 120px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .08);
  overflow: hidden;
}

.site-footer::before {
  content: "";
  position: absolute;
  left: clamp(24px, 4vw, 44px);
  right: clamp(24px, 4vw, 44px);
  top: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--purple), transparent);
  opacity: .78;
}

.footer-glow {
  position: absolute;
  inset: auto 10% -80px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(50, 157, 224, .22), transparent 70%);
  animation: footerGlow 5s ease-in-out infinite alternate;
}

@keyframes footerGlow {
  from { transform: translateX(-10%) scale(.95); }
  to { transform: translateX(10%) scale(1.05); }
}

.footer-brand {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(170px, 220px) 1fr;
  gap: clamp(22px, 4vw, 42px);
  align-items: center;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(245, 246, 255, .1);
}

.footer-brand img {
  width: 210px;
  max-width: 100%;
  filter: drop-shadow(0 18px 44px rgba(50, 157, 224, .14));
}

.footer-brand p {
  max-width: 650px;
  color: rgba(245, 246, 255, .74);
  font-size: clamp(16px, 1.18vw, 19px);
  line-height: 1.72;
}

.footer-links {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.footer-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 12px 14px;
  color: rgba(245, 246, 255, .82);
  text-decoration: none;
  font-weight: 820;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(245, 246, 255, .055), rgba(3, 6, 16, .26)),
    rgba(3, 6, 16, .32);
  overflow: hidden;
}

.footer-links a::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 0%, rgba(50, 157, 224, .16), transparent 62%);
  opacity: 0;
  transition: opacity 220ms ease;
}

.footer-links a:hover::before {
  opacity: 1;
}

.footer-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 22px;
  padding-top: 20px;
  color: var(--soft);
}

.footer-bottom a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border: 1px solid rgba(245, 246, 255, .1);
  border-radius: 999px;
  padding: 9px 13px;
  color: rgba(245, 246, 255, .78);
  text-decoration: none;
  background: rgba(3, 6, 16, .24);
}

.motion-ready .reveal {
  opacity: 0;
  transform: translateY(26px);
  filter: blur(7px);
  transition: opacity 760ms var(--ease), transform 760ms var(--ease), filter 760ms var(--ease);
}

.reveal,
.motion-ready .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media (max-width: 1180px) {
  .services-board.services-uniform {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .site-header { grid-template-columns: auto 1fr auto auto auto; }
  .brand img { width: 145px; }
  .nav-toggle { display: block; justify-self: end; }
  .site-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 26px;
    background:
      radial-gradient(circle at 80% 0%, rgba(50, 157, 224, .12), transparent 18rem),
      rgba(3, 5, 15, .94);
    backdrop-filter: blur(24px);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .38);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.985);
    transform-origin: top;
    transition: opacity 220ms ease, transform 260ms var(--ease), visibility 220ms ease;
  }
  .site-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }
  .site-nav a {
    padding: 14px;
    border-radius: 16px;
    opacity: 0;
    transform: translateY(8px);
    background: rgba(245, 246, 255, .025);
    transition: opacity 240ms ease, transform 280ms var(--ease), background 180ms ease, color 180ms ease;
  }
  .site-nav.is-open a {
    opacity: 1;
    transform: translateY(0);
  }
  .site-nav.is-open a:nth-child(1) { transition-delay: 35ms; }
  .site-nav.is-open a:nth-child(2) { transition-delay: 70ms; }
  .site-nav.is-open a:nth-child(3) { transition-delay: 105ms; }
  .site-nav.is-open a:nth-child(4) { transition-delay: 140ms; }
  .hero,
  .split-section,
  .kosovo-section,
  .proof-section,
  .contact-page,
  .apply-page { grid-template-columns: 1fr; }
  .hero-stage { min-height: 470px; }
  .live-desk { min-height: 560px; }
  .fline-character { top: 1%; transform: translateX(-50%) scale(.9); }
  .team-command { width: min(500px, 100%); bottom: 0; }
  .services-board { grid-template-columns: 1fr 1fr; }
  .services-board.services-uniform {
    width: min(calc(100% - 34px), var(--max));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
  }
  .service-card,
  .service-card.prime { min-height: 250px; }
  .services-uniform .service-card {
    min-height: 210px;
  }
  .service-cloud { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-line { grid-template-columns: 1fr; }
  .process-line::before { top: 0; bottom: 0; left: 36px; right: auto; width: 3px; height: auto; transform: none; }
  .proof-orbit {
    min-height: 560px;
    display: block;
  }
  .orbit-ring {
    display: block;
    inset: 56px 18px 70px;
    border-radius: 46%;
  }
  .proof-node {
    width: min(220px, 48%);
    padding: 18px;
    border-radius: 24px;
  }
  .proof-node.a { left: 0; top: 18px; }
  .proof-node.b { right: 0; top: 150px; }
  .proof-node.c { left: 0; bottom: 112px; }
  .proof-node.d { right: 0; bottom: 22px; }
  .proof-node strong { font-size: 48px; }
  .proof-node span { font-size: 14px; line-height: 1.25; }
}

@media (max-width: 680px) {
  section { width: min(calc(100% - 28px), var(--max)); padding: 78px 0; }
  .site-header { top: 14px; width: calc(100% - 28px); min-height: 66px; padding-left: 18px; gap: 10px; }
  .language-switch { padding: 3px; }
  .language-switch button { min-width: 32px; height: 30px; font-size: 12px; }
  .hero { padding-top: 125px; }
  .hero-stage { min-height: 560px; }
  .live-desk { min-height: 540px; width: 100%; max-width: calc(100vw - 28px); }
  .fline-character {
    top: 0;
    width: 224px;
    height: 236px;
  }

  .fline-face {
    left: 50%;
    top: 22px;
    width: 198px;
    height: auto;
  }

  .headset-arc {
    left: 15px;
    right: 22px;
    top: 6px;
    height: 116px;
    border-width: 6px;
  }

  .ear-pad {
    top: 88px;
    width: 34px;
    height: 70px;
  }

  .ear-pad.left { left: 14px; }
  .ear-pad.right { right: 26px; }

  .mic-arm {
    right: 23px;
    bottom: 44px;
    width: 74px;
    height: 36px;
    border-right-width: 4px;
    border-bottom-width: 4px;
  }

  .mic-dot {
    right: 19px;
    bottom: 39px;
    width: 15px;
    height: 15px;
  }

  .team-command {
    bottom: -2px;
    width: min(370px, 100%);
    height: 292px;
  }

  .message-core {
    top: 4px;
    width: 136px;
    height: 92px;
  }

  .message-aura {
    inset: -20px -28px;
    border-radius: 24px;
  }

  .message-lift {
    top: -98px;
    height: 138px;
    width: 5px;
  }

  .message-line {
    left: 21px;
    height: 3px;
  }

  .message-line.line-a { top: 22px; width: 52px; }
  .message-line.line-b { top: 36px; width: 70px; }

  .operator-card {
    bottom: 8px;
    width: 108px;
    height: 164px;
  }

  .operator-a {
    left: 22px;
    transform: scale(.9);
  }

  .operator-b {
    bottom: 0;
    transform: translateX(-50%) scale(.94);
  }

  .operator-c {
    right: 22px;
    transform: scale(.9);
  }

  .operator-chair {
    left: 25px;
    right: 25px;
    bottom: 24px;
    height: 86px;
    border-radius: 34px 34px 15px 15px;
  }

  .operator-person {
    top: 8px;
    width: 86px;
    height: 122px;
  }

  .operator-person::before {
    top: 38px;
    width: 16px;
    height: 19px;
  }

  .operator-head {
    width: 36px;
    height: 42px;
  }

  .operator-head::before {
    left: 5px;
    right: 5px;
    height: 14px;
  }

  .operator-head::after {
    left: 10px;
    top: 23px;
    width: 16px;
    height: 5px;
  }

  .operator-headset {
    left: 20px;
    top: 5px;
    width: 44px;
    height: 30px;
    border-width: 2px;
  }

  .operator-headset::after {
    right: -6px;
    bottom: -10px;
    width: 17px;
    height: 10px;
  }

  .operator-body {
    top: 46px;
    left: 13px;
    right: 13px;
    height: 70px;
    border-radius: 25px 25px 15px 15px;
  }

  .operator-arm {
    top: 80px;
    width: 31px;
    height: 10px;
  }

  .arm-left { left: 8px; }
  .arm-right { right: 8px; }

  .operator-desk {
    left: 0;
    right: 0;
    bottom: 16px;
    height: 21px;
  }

  .operator-desk::after {
    left: 18px;
    right: 18px;
    bottom: -16px;
    height: 16px;
  }

  .operator-laptop {
    width: 80px;
    height: 52px;
    bottom: 35px;
  }

  .laptop-screen {
    height: 43px;
  }

  .laptop-screen::before {
    inset: 6px 9px auto;
    height: 4px;
    box-shadow: 0 11px 0 rgba(82, 195, 255, .16), 0 22px 0 rgba(126, 79, 223, .14);
  }

  .laptop-screen::after {
    left: 13px;
    right: 13px;
    top: 13px;
    height: 3px;
    box-shadow: 0 9px 0 rgba(82, 195, 255, .22), 0 18px 0 rgba(126, 79, 223, .2);
  }

  .operator-signal {
    height: 2px;
    opacity: .84;
  }

  .signal-a {
    --signal-run: 122px;
    left: 92px;
    top: 157px;
    width: 122px;
    transform: rotate(-40deg);
  }

  .signal-b {
    --signal-run: 76px;
    left: 185px;
    top: 156px;
    width: 76px;
    transform: rotate(-90deg);
  }

  .signal-c {
    --signal-run: 122px;
    left: 278px;
    top: 157px;
    width: 122px;
    transform: rotate(-140deg);
  }
  .services-board { grid-template-columns: 1fr; padding: 12px; border-radius: 30px; }
  .services-board.services-uniform {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px;
    border-radius: 30px;
  }
  .service-card,
  .service-card.prime { min-height: auto; padding-bottom: 42px; }
  .services-uniform .service-card {
    min-height: 184px;
    padding: 20px 20px 42px;
  }
  .services-uniform .service-card h3 {
    min-height: auto;
    margin-top: 16px;
  }
  .services-uniform .service-card p {
    font-size: 14px;
  }
  .service-cloud {
    grid-template-columns: 1fr;
    padding: 14px;
    border-radius: 28px;
  }
  .service-cloud span {
    min-height: 52px;
    border-radius: 18px;
    font-size: 13px;
  }
  .service-strip { grid-template-columns: 1fr; }
  .service-strip::after { left: 24px; }
  .leader-row,
  .contact-form form,
  .form-step,
  .footer-brand { grid-template-columns: 1fr; }
  .map-panel { min-height: 720px; padding: 22px; }
  .radar-grid { inset: 18px; border-radius: 28px; }
  .radar-ring { top: 45%; width: 76%; }
  .ring-two { width: 54%; }
  .radar-sweep { top: 45%; width: 74%; }
  .kosovo-map {
    width: 82%;
    top: 45%;
    opacity: .42;
  }
  .map-route { opacity: .52; }
  .office {
    left: 18px !important;
    right: auto !important;
    width: calc(100% - 36px);
    padding: 15px 16px 15px 52px;
  }
  .office::after { bottom: -24px; }
  .office.pr { top: 42px; }
  .office.li { top: auto; bottom: 166px; }
  .office.vu { bottom: 42px; }
  .proof-orbit { min-height: 520px; }
  .orbit-ring { inset: 74px 8px 82px; }
  .proof-node {
    width: 48%;
    padding: 15px;
  }
  .proof-node.a { left: 0; top: 20px; }
  .proof-node.b { right: 0; top: 144px; }
  .proof-node.c { left: 0; bottom: 118px; }
  .proof-node.d { right: 0; bottom: 28px; }
  .proof-node strong { font-size: clamp(38px, 12vw, 48px); }
  .proof-node span { font-size: 12px; }
  .apply-form form::before { left: 10px; }
  .form-step { margin-left: 36px; }
  .apply-form .form-status { margin-left: 36px; }
  .form-step::before { left: -36px; }
  .apply-portal { min-height: 300px; }
  .candidate-card { left: 8%; transform: scale(.86); }
  .apply-laptop { right: 8%; transform: scale(.9); }
  .assurance { align-items: flex-start; flex-direction: column; }
}

/* Final premium polish pass */
* {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

::selection {
  color: #fff;
  background: rgba(91, 115, 223, .72);
}

body {
  text-wrap: pretty;
}

h1 {
  letter-spacing: -.072em;
  line-height: .9;
  text-shadow: 0 16px 70px rgba(50, 157, 224, .08);
}

h2 {
  letter-spacing: -.064em;
  line-height: .95;
}

h3 {
  letter-spacing: -.044em;
}

p,
li {
  color: rgba(245, 246, 255, .72);
}

.lede {
  color: rgba(245, 246, 255, .76);
  max-width: 720px;
}

.eyebrow {
  color: #45b9ff;
  text-shadow: 0 0 22px rgba(50, 157, 224, .22);
}

.site-header {
  border-color: rgba(245, 246, 255, .16);
  background:
    linear-gradient(180deg, rgba(9, 11, 27, .78), rgba(3, 5, 15, .68)),
    rgba(3, 5, 15, .62);
}

.site-header.is-scrolled {
  transform: translateX(-50%) translateY(-2px);
  box-shadow: 0 20px 90px rgba(0, 0, 0, .42), 0 0 0 1px rgba(50, 157, 224, .08) inset;
}

.site-nav a {
  position: relative;
}

.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cyan), var(--purple));
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity 220ms ease, transform 260ms var(--ease);
}

.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after {
  opacity: .95;
  transform: scaleX(1);
}

.glass,
.service-card,
.service-strip,
.office,
.proof-node,
.process-line article,
.legal-list p,
details {
  box-shadow:
    0 28px 100px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.button {
  letter-spacing: -.012em;
}

.button:hover {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .2) inset, 0 20px 72px rgba(50, 157, 224, .23), 0 12px 50px rgba(126, 79, 223, .22);
}

.button.secondary:hover {
  background: rgba(245, 246, 255, .09);
}

.hero {
  gap: clamp(34px, 4.5vw, 68px);
}

.hero-copy .lede {
  max-width: 690px;
}

.live-desk::before {
  border-color: rgba(245, 246, 255, .105);
}

.map-route,
.portal-path {
  animation-duration: 4.4s;
}

.operator-signal::before,
.operator-signal::after,
.message-envelope::before,
.message-lift,
.message-aura,
.laptop-screen,
.laptop-screen::after {
  animation-duration: 2.65s;
}

.services-board.services-uniform {
  counter-reset: service-item;
  align-items: stretch;
  overflow: hidden;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  padding: 20px;
  background:
    radial-gradient(circle at 16% 0%, rgba(50, 157, 224, .12), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgba(126, 79, 223, .12), transparent 26rem),
    linear-gradient(135deg, rgba(255, 255, 255, .032), rgba(255, 255, 255, .012)),
    rgba(245, 246, 255, .024);
}

.services-board.services-uniform::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(245, 246, 255, .034) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 246, 255, .026) 1px, transparent 1px),
    radial-gradient(circle at var(--mx, 50%) var(--my, 30%), rgba(50, 157, 224, .11), transparent 22rem);
  background-size: 76px 76px, 76px 76px, auto;
  mask-image: radial-gradient(circle at 50% 42%, #000 0 58%, transparent 86%);
  opacity: .8;
}

.services-uniform .service-card {
  z-index: 1;
  counter-increment: service-item;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  gap: 0;
  min-height: 224px;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .17), transparent 37%),
    linear-gradient(180deg, rgba(245, 246, 255, .072), rgba(245, 246, 255, .034)),
    rgba(3, 6, 16, .38);
}

.services-uniform .service-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%, rgba(50, 157, 224, .06));
  opacity: .75;
}

.services-uniform .service-card:hover {
  transform: translateY(-7px);
  border-color: rgba(50, 157, 224, .42);
}

.services-uniform .service-card h3 {
  position: relative;
  min-height: 0;
  margin: 18px 0 0;
  padding-top: 16px;
  color: rgba(255, 255, 255, .96);
  text-wrap: balance;
}

.services-uniform .service-card h3::before {
  content: counter(service-item, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  color: #68b8e1;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .18em;
  opacity: .82;
}

.services-uniform .service-card p {
  max-width: none;
  margin: 10px 0 0;
  align-self: start;
}

.services-uniform .service-icon {
  transform-origin: 50% 65%;
  box-shadow: 0 0 44px rgba(50, 157, 224, .13), inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform 260ms var(--ease), border-color 260ms ease, box-shadow 260ms ease;
}

.services-uniform .service-card:hover .service-icon {
  transform: translateY(-2px) rotate(-2deg) scale(1.035);
  border-color: rgba(50, 157, 224, .34);
  box-shadow: 0 0 54px rgba(50, 157, 224, .2), inset 0 1px 0 rgba(255,255,255,.1);
}

.services-uniform .service-card:nth-child(4n + 2) .service-icon,
.services-uniform .service-card:nth-child(4n + 3) .service-icon {
  color: #68b8e1;
}

.services-uniform .service-card:nth-child(4n + 4) .service-icon {
  color: #a99aff;
}

.motion-ready .services-uniform.reveal.is-visible .service-card,
.motion-ready .service-stack.reveal.is-visible .service-strip {
  animation: premiumCardRise 760ms var(--ease) both;
  animation-delay: var(--motion-delay, 0ms);
}

@keyframes premiumCardRise {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.982);
    filter: blur(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* FLINE title choreography */
.title-host,
.page-hero {
  --title-stagger: 0ms;
}

.title-animated {
  position: relative;
  display: block;
  max-width: 100%;
  padding-bottom: .13em;
  margin-bottom: -.13em;
  overflow: hidden;
  isolation: isolate;
  text-wrap: balance;
  transform-origin: left center;
  will-change: opacity, transform, filter, clip-path;
}

.title-animated::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: .05em;
  bottom: .12em;
  left: 0;
  width: min(42%, 320px);
  border-radius: 999px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), rgba(82, 195, 255, .28), transparent);
  filter: blur(2px);
  opacity: 0;
  transform: translateX(-118%) skewX(-14deg);
  pointer-events: none;
  mix-blend-mode: screen;
}

.title-animated::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .03em;
  width: min(315px, 62%);
  height: 3px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(50, 157, 224, 0), rgba(50, 157, 224, .96), rgba(126, 79, 223, .95), rgba(126, 79, 223, 0));
  box-shadow: 0 0 24px rgba(50, 157, 224, .32), 0 0 42px rgba(126, 79, 223, .18);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}

.motion-ready .title-host.reveal.is-visible .eyebrow,
.motion-ready .page-hero .eyebrow.reveal.is-visible {
  animation: titleEyebrowEntry 620ms var(--ease) both;
}

.motion-ready .title-host.reveal.is-visible .title-animated,
.motion-ready .title-animated.reveal.is-visible {
  animation: sectionTitleEntry 880ms cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(90ms + var(--title-stagger, 0ms));
}

.motion-ready .title-host.reveal.is-visible .title-animated::before,
.motion-ready .title-animated.reveal.is-visible::before {
  animation: titleLightSweep 980ms cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(270ms + var(--title-stagger, 0ms));
}

.motion-ready .title-host.reveal.is-visible .title-animated::after,
.motion-ready .title-animated.reveal.is-visible::after {
  animation: titleLineDraw 760ms var(--ease) both;
  animation-delay: calc(520ms + var(--title-stagger, 0ms));
}

.motion-ready .title-host.reveal.is-visible > p:not(.eyebrow),
.motion-ready .title-host.reveal.is-visible .lede,
.motion-ready .page-hero .lede.reveal.is-visible {
  animation: titleCopyEntry 760ms var(--ease) both;
  animation-delay: 340ms;
}

.motion-ready .hero-copy.reveal.is-visible {
  transition-duration: 520ms;
}

.motion-ready .hero-copy.reveal.is-visible .eyebrow {
  animation: heroEyebrowEntry 720ms var(--ease) both;
  animation-delay: 80ms;
}

.motion-ready .hero-copy.reveal.is-visible .hero-title {
  animation: heroTitleArrival 1180ms cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: 210ms;
}

.motion-ready .hero-copy.reveal.is-visible .hero-title::before {
  width: min(52%, 430px);
  animation: heroTitleSweep 1280ms cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: 560ms;
}

.motion-ready .hero-copy.reveal.is-visible .hero-title::after {
  width: min(390px, 72%);
  height: 4px;
  animation: heroTitleLine 900ms var(--ease) both;
  animation-delay: 860ms;
}

.motion-ready .hero-copy.reveal.is-visible .lede {
  animation: titleCopyEntry 820ms var(--ease) both;
  animation-delay: 760ms;
}

.motion-ready .hero-copy.reveal.is-visible .button-row {
  animation: heroActionsEntry 760ms var(--ease) both;
  animation-delay: 940ms;
}

.motion-ready .hero-stage.reveal.is-visible {
  transition-delay: 260ms;
}

@keyframes heroEyebrowEntry {
  0% {
    opacity: 0;
    transform: translateY(12px);
    filter: blur(8px);
    letter-spacing: .22em;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes heroTitleArrival {
  0% {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.975);
    filter: blur(12px);
    clip-path: inset(0 38% 100% 0 round 22px);
    text-shadow: 0 0 0 rgba(50, 157, 224, 0);
  }
  44% {
    opacity: 1;
    filter: blur(2px);
    clip-path: inset(0 6% 0 0 round 18px);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
    clip-path: inset(0 0 0 0 round 0);
    text-shadow: 0 16px 70px rgba(50, 157, 224, .12), 0 0 34px rgba(126, 79, 223, .08);
  }
}

@keyframes heroTitleSweep {
  0% {
    opacity: 0;
    transform: translateX(-125%) skewX(-14deg);
  }
  18% { opacity: .85; }
  82% { opacity: .62; }
  100% {
    opacity: 0;
    transform: translateX(255%) skewX(-14deg);
  }
}

@keyframes heroTitleLine {
  0% {
    opacity: 0;
    transform: scaleX(0);
    filter: blur(7px);
  }
  45% {
    opacity: .98;
    filter: blur(0);
  }
  100% {
    opacity: .72;
    transform: scaleX(1);
    filter: blur(0);
  }
}

@keyframes sectionTitleEntry {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(.988);
    filter: blur(8px);
    clip-path: inset(0 18% 55% 0 round 16px);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
    clip-path: inset(0 0 0 0 round 0);
  }
}

@keyframes titleEyebrowEntry {
  0% {
    opacity: 0;
    transform: translateY(9px);
    filter: blur(6px);
    letter-spacing: .19em;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes titleLightSweep {
  0% {
    opacity: 0;
    transform: translateX(-118%) skewX(-14deg);
  }
  22% { opacity: .7; }
  78% { opacity: .46; }
  100% {
    opacity: 0;
    transform: translateX(252%) skewX(-14deg);
  }
}

@keyframes titleLineDraw {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  100% {
    opacity: .64;
    transform: scaleX(1);
  }
}

@keyframes titleCopyEntry {
  0% {
    opacity: 0;
    transform: translateY(12px);
    filter: blur(5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes heroActionsEntry {
  0% {
    opacity: 0;
    transform: translateY(14px);
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

.proof-node strong {
  background: linear-gradient(180deg, #68b8e1 0%, #2aa5ea 48%, #7e4fdf 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.office {
  border-color: rgba(245, 246, 255, .18);
}

.office strong,
.proof-node span,
.leader-row span,
label,
.label {
  letter-spacing: -.018em;
}

.footer-links a {
  transition: transform 220ms var(--ease), border-color 220ms ease, color 220ms ease, background 220ms ease;
}

.footer-links a:hover {
  transform: translateY(-3px);
  color: #fff;
  border-color: rgba(50, 157, 224, .34);
  background: rgba(50, 157, 224, .075);
}

/* Final interaction layer: menu, services signal and reactive apply portal */
.nav-toggle {
  transition: transform 220ms var(--ease), border-color 220ms ease, background 220ms ease;
}

.nav-toggle span {
  transition: transform 260ms var(--ease), opacity 180ms ease;
}

.nav-toggle.is-open {
  transform: rotate(1deg) scale(1.02);
  border-color: rgba(50, 157, 224, .42);
  background: rgba(50, 157, 224, .095);
}

.nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.service-card,
.service-strip {
  touch-action: manipulation;
}

.service-card.is-signal,
.service-strip.is-signal {
  border-color: rgba(50, 157, 224, .58);
  box-shadow:
    0 28px 100px rgba(0, 0, 0, .3),
    0 0 0 1px rgba(50, 157, 224, .16) inset,
    0 0 46px rgba(50, 157, 224, .16);
}

.service-card.is-signal .service-icon,
.service-strip.is-signal .service-icon {
  animation: serviceIconSignal 720ms var(--ease) both;
}

.service-card.is-signal::after,
.service-strip.is-signal::after {
  opacity: 1;
  transform: scaleX(1);
}

@keyframes serviceIconSignal {
  0% { transform: translateY(0) scale(1); filter: saturate(1); }
  42% { transform: translateY(-4px) scale(1.08); filter: saturate(1.5) brightness(1.1); }
  100% { transform: translateY(0) scale(1); filter: saturate(1.08); }
}

.apply-page {
  --apply-progress: 0;
}

.apply-portal::after {
  content: attr(data-progress);
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  min-width: 58px;
  min-height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(245, 246, 255, .14);
  border-radius: 999px;
  color: rgba(245, 246, 255, .86);
  background: rgba(3, 6, 16, .46);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .05em;
  opacity: var(--apply-progress-badge-opacity, .32);
  box-shadow: 0 0 var(--apply-progress-badge-glow, 18px) rgba(50, 157, 224, .18);
}

.apply-page.is-apply-active .portal-ring {
  animation-duration: 3.4s;
  filter: drop-shadow(0 0 var(--ring-active-glow, 22px) rgba(50, 157, 224, .58));
}

.apply-page.is-apply-active .candidate-card {
  transform: translateX(var(--candidate-active-x, 0px)) translateY(var(--candidate-active-y, 0px)) scale(var(--candidate-active-scale, .94));
  box-shadow: 0 22px 70px rgba(50, 157, 224, .3);
}

.apply-page.is-apply-active .apply-laptop {
  transform: translateX(var(--laptop-active-x, 0px)) scale(var(--laptop-active-scale, .96));
  border-color: rgba(50, 157, 224, .48);
}

.apply-page.is-apply-complete .apply-spark {
  animation-duration: 2.6s;
}

.form-step {
  transition: transform 240ms var(--ease), border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.form-step.is-active,
.form-step.is-complete {
  border-color: rgba(50, 157, 224, .36);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .12), transparent 44%),
    rgba(245, 246, 255, .058);
}

.form-step.is-active {
  transform: translateY(-2px);
  box-shadow: 0 20px 72px rgba(50, 157, 224, .12), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.form-step.is-complete::before {
  box-shadow: 0 0 28px rgba(50, 157, 224, .92), 0 0 56px rgba(126, 79, 223, .34);
}

@media (max-width: 980px) {
  h1 {
    letter-spacing: -.06em;
    line-height: .94;
  }

  h2 {
    letter-spacing: -.052em;
  }

  .site-nav a::after {
    bottom: 7px;
    left: 14px;
    right: auto;
    width: 32px;
  }

  .services-uniform .service-card p {
    max-width: 38ch;
  }

  .footer-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  h1 {
    font-size: clamp(48px, 14.6vw, 64px);
    letter-spacing: -.052em;
    line-height: .94;
  }

  h2 {
    font-size: clamp(36px, 11.8vw, 52px);
    letter-spacing: -.048em;
    line-height: .96;
  }

  h3 {
    letter-spacing: -.035em;
  }

  p,
  li {
    line-height: 1.68;
  }

  .lede {
    font-size: clamp(17px, 4.7vw, 20px);
    line-height: 1.68;
  }

  .page-hero {
    padding-top: 155px;
  }

  .hero {
    gap: 22px;
  }

  .services-uniform .service-card {
    min-height: 170px;
  }

  .services-uniform .service-icon {
    width: 52px;
    height: 52px;
  }

  .site-footer {
    width: calc(100% - 28px);
    margin: 46px auto calc(22px + env(safe-area-inset-bottom));
    padding: 24px;
    border-radius: 32px;
  }

  .site-footer::before {
    left: 24px;
    right: 24px;
  }

  .footer-brand {
    grid-template-columns: 1fr;
    gap: 17px;
    padding-bottom: 22px;
  }

  .footer-brand img {
    width: 220px;
    max-width: 78%;
  }

  .footer-brand p {
    max-width: 32ch;
    font-size: 16px;
    line-height: 1.62;
  }

  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px;
  }

  .footer-links a {
    min-height: 54px;
    border-radius: 18px;
    padding: 11px 10px;
    font-size: 15px;
    line-height: 1.1;
  }

  .footer-links a:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    display: grid;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
  }

  .footer-bottom span {
    max-width: 28ch;
    font-size: 15px;
    line-height: 1.35;
  }

  .footer-bottom a {
    justify-content: center;
    width: 100%;
    min-height: 46px;
    border-radius: 17px;
    color: #fff;
    background: rgba(50, 157, 224, .07);
  }
}

/* Final wow completion pass */
@media (min-width: 981px) {
  .hero {
    min-height: min(850px, 100svh);
    align-items: center;
    padding-top: 154px;
    padding-bottom: 86px;
  }

  .split-section,
  .kosovo-section,
  .proof-section,
  .contact-page,
  .apply-page {
    gap: clamp(42px, 4.4vw, 76px);
  }

  .services-home,
  .process-section {
    padding-top: 118px;
    padding-bottom: 118px;
  }

  .apply-page {
    grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
    align-items: start;
  }

  .apply-intro {
    position: sticky;
    top: 116px;
    min-height: min(760px, calc(100svh - 145px));
  }
}

.apply-intro {
  overflow: hidden;
}

.apply-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 22% 18%, rgba(50, 157, 224, .16), transparent 24rem),
    radial-gradient(circle at 78% 68%, rgba(126, 79, 223, .14), transparent 23rem);
  opacity: .72;
  pointer-events: none;
}

.apply-intro > * {
  position: relative;
  z-index: 1;
}

.apply-portal {
  --portal-energy: 0;
  border-color: rgba(245, 246, 255, .14);
  background:
    radial-gradient(circle at var(--portal-focus-x, 28%) 18%, rgba(82, 195, 255, .28), transparent 29%),
    radial-gradient(circle at 72% 76%, rgba(126, 79, 223, .22), transparent 39%),
    linear-gradient(160deg, rgba(245, 246, 255, .068), rgba(245, 246, 255, .018)),
    rgba(3, 6, 16, .42);
  box-shadow:
    inset 0 0 86px rgba(50, 157, 224, .06),
    0 24px 84px rgba(0, 0, 0, .28);
}

.apply-portal::before {
  animation: applyGridDrift 13s linear infinite;
}

.portal-aura,
.portal-orbit,
.portal-beam,
.portal-step,
.portal-avatar,
.portal-accept {
  position: absolute;
  display: block;
  pointer-events: none;
}

.portal-aura {
  inset: 28px;
  border-radius: 32px;
  background:
    conic-gradient(from 220deg at 50% 50%, transparent 0 18%, rgba(50, 157, 224, .24), transparent 42% 68%, rgba(126, 79, 223, .18), transparent 86% 100%);
  opacity: var(--portal-aura-opacity, .2);
  filter: blur(16px);
  animation: portalAuraTurn 12s linear infinite;
}

.portal-orbit {
  left: 50%;
  top: 52%;
  border-radius: 999px;
  border: 1px solid rgba(245, 246, 255, .12);
  transform: translate(-50%, -50%);
  opacity: .72;
}

.orbit-one {
  width: min(330px, 72%);
  aspect-ratio: 1;
  border-top-color: rgba(50, 157, 224, .55);
  border-right-color: rgba(126, 79, 223, .32);
  animation: portalOrbitOne 8.5s ease-in-out infinite alternate;
}

.orbit-two {
  width: min(230px, 52%);
  aspect-ratio: 1;
  border-bottom-color: rgba(50, 157, 224, .44);
  border-left-color: rgba(126, 79, 223, .36);
  animation: portalOrbitTwo 7.4s ease-in-out infinite alternate;
}

.portal-ring {
  box-shadow:
    0 0 var(--portal-ring-glow, 34px) rgba(50, 157, 224, .15),
    inset 0 0 34px rgba(126, 79, 223, .035);
}

.portal-beam {
  left: 17%;
  right: 15%;
  top: 52%;
  height: 4px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, transparent, rgba(50, 157, 224, .92), rgba(255, 255, 255, .76), rgba(126, 79, 223, .82), transparent);
  filter: blur(.25px) drop-shadow(0 0 22px rgba(50, 157, 224, .54));
  opacity: var(--portal-beam-opacity, .28);
  transform: rotate(-8deg) scaleX(var(--portal-beam-scale, .72));
  transform-origin: left center;
  animation: portalBeamBreathe 3.8s ease-in-out infinite;
}

.portal-path {
  height: 3px;
  background-size: 220% 100%;
  animation: portalPath 2.7s ease-in-out infinite, portalPathFlow 3.4s linear infinite;
}

.portal-step {
  z-index: 5;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background:
    radial-gradient(circle, #fff 0 18%, var(--cyan) 20% 56%, var(--purple) 100%);
  box-shadow: 0 0 20px rgba(50, 157, 224, .72), 0 0 44px rgba(126, 79, 223, .38);
  animation: portalStepPulse 2.8s ease-in-out infinite;
  animation-delay: var(--portal-node-delay, 0ms);
}

.step-one { left: 23%; top: 38%; }
.step-two { left: 49%; top: 55%; }
.step-three { right: 22%; top: 39%; }

.candidate-card {
  z-index: 6;
  border-color: rgba(245, 246, 255, .22);
  background:
    radial-gradient(circle at 50% 18%, rgba(50, 157, 224, .15), transparent 48%),
    linear-gradient(180deg, rgba(245, 246, 255, .13), rgba(245, 246, 255, .035)),
    rgba(3, 6, 16, .78);
  animation: candidateJourney 4.6s ease-in-out infinite;
}

.candidate-card::before,
.candidate-card::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  height: 7px;
  border-radius: 999px;
  background: rgba(245, 246, 255, .12);
}

.candidate-card::before { bottom: 27px; }
.candidate-card::after { bottom: 15px; width: 46px; right: auto; background: rgba(126, 79, 223, .42); }

.apply-laptop {
  z-index: 6;
  border-color: rgba(245, 246, 255, .2);
  background:
    linear-gradient(180deg, rgba(9, 13, 31, .9), rgba(3, 6, 16, .96));
  box-shadow:
    0 22px 68px rgba(0, 0, 0, .34),
    0 0 var(--laptop-glow, 24px) rgba(50, 157, 224, .12);
}

.apply-laptop::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 26px;
  height: 7px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(50, 157, 224, .9) var(--form-progress-pct, 0%), rgba(245, 246, 255, .12) 0);
  box-shadow: 0 18px 0 rgba(245, 246, 255, .11), 0 36px 0 rgba(126, 79, 223, .25);
}

.apply-laptop::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 22px;
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: rgba(245, 246, 255, .82);
  box-shadow: -22px 20px 0 rgba(50, 157, 224, .72), -5px 42px 0 rgba(126, 79, 223, .58);
}

.portal-avatar {
  z-index: 4;
  width: 40px;
  height: 54px;
  border-radius: 18px 18px 20px 20px;
  background:
    radial-gradient(circle at 50% 18%, rgba(245, 246, 255, .86) 0 11px, transparent 12px),
    linear-gradient(180deg, rgba(91, 115, 223, .62), rgba(50, 157, 224, .28));
  border: 1px solid rgba(245, 246, 255, .12);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .22);
  opacity: var(--portal-avatar-opacity, .56);
  animation: portalAvatarFloat 3.4s ease-in-out infinite;
  animation-delay: var(--portal-node-delay, 0ms);
}

.portal-avatar::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 6px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cyan), var(--purple));
}

.avatar-one { left: 13%; bottom: 12%; }
.avatar-two { left: 45%; bottom: 7%; }
.avatar-three { right: 13%; bottom: 15%; }

.portal-accept {
  z-index: 8;
  right: 25%;
  top: 28%;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(245, 246, 255, .2);
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, .2), transparent 42%),
    linear-gradient(135deg, rgba(50, 157, 224, .88), rgba(126, 79, 223, .82));
  box-shadow: 0 0 26px rgba(50, 157, 224, .42);
  opacity: var(--portal-accept-opacity, .18);
  transform: scale(var(--portal-accept-scale, .72));
}

.portal-accept::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 12px;
  width: 14px;
  height: 8px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
  border-radius: 2px;
}

.apply-page.is-apply-active .portal-step,
.apply-page.is-apply-active .portal-avatar,
.apply-page.is-apply-focused .portal-step,
.apply-page.is-apply-focused .portal-avatar {
  filter: saturate(1.2) brightness(1.08);
}

.apply-page.is-apply-complete .portal-accept {
  animation: portalAcceptPop 900ms var(--ease) both;
}

.apply-form form {
  counter-reset: apply-step;
  gap: 16px;
}

.form-step {
  counter-increment: apply-step;
  min-height: 76px;
  overflow: visible;
  isolation: isolate;
  border-color: rgba(245, 246, 255, .13);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .08), transparent 42%),
    linear-gradient(180deg, rgba(245, 246, 255, .058), rgba(245, 246, 255, .026)),
    rgba(3, 6, 16, .44);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

.form-step::before {
  content: counter(apply-step, decimal-leading-zero);
  display: grid;
  place-items: center;
  left: -48px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(245, 246, 255, .18);
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .05em;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, .42), transparent 27%),
    linear-gradient(135deg, rgba(50, 157, 224, .9), rgba(126, 79, 223, .88));
  z-index: 2;
}

.form-step::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(105deg, transparent 0 18%, rgba(50, 157, 224, .13), rgba(126, 79, 223, .1), transparent 62% 100%);
  opacity: 0;
  transform: translateX(-34%);
  transition: opacity 260ms ease, transform 420ms var(--ease);
  pointer-events: none;
  z-index: 0;
}

.form-step > * {
  position: relative;
  z-index: 1;
}

.form-step.is-active::after,
.form-step.is-next::after {
  opacity: 1;
  transform: translateX(0);
}

.form-step.is-complete::before {
  content: "✓";
  font-size: 16px;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, .46), transparent 28%),
    linear-gradient(135deg, #68b8e1, #7e4fdf);
}

.form-step.is-complete {
  border-color: rgba(50, 157, 224, .34);
}

.choice-row label,
.file-drop {
  transition: transform 190ms var(--ease), border-color 190ms ease, background 190ms ease, color 190ms ease;
}

.choice-row label:hover,
.file-drop:hover,
.choice-row label:has(input:checked),
.file-drop:focus-within {
  transform: translateY(-2px);
  color: #fff;
  border-color: rgba(50, 157, 224, .42);
  background: rgba(50, 157, 224, .085);
}

.motion-ready .apply-form.reveal.is-visible .form-step {
  animation: formStepRise 680ms var(--ease) both;
  animation-delay: var(--step-delay, 0ms);
}

.map-panel {
  overflow: hidden;
  border-color: rgba(245, 246, 255, .15);
  background:
    radial-gradient(circle at 38% 34%, rgba(50, 157, 224, .13), transparent 31rem),
    radial-gradient(circle at 72% 76%, rgba(126, 79, 223, .12), transparent 27rem),
    linear-gradient(180deg, rgba(245, 246, 255, .064), rgba(245, 246, 255, .026));
}

.map-panel::before,
.map-panel::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.map-panel::before {
  inset: 24px;
  border-radius: 36px;
  border: 1px solid rgba(245, 246, 255, .075);
  background:
    radial-gradient(circle at 50% 50%, rgba(50, 157, 224, .16), transparent 12rem),
    conic-gradient(from 90deg at 50% 50%, transparent, rgba(50, 157, 224, .12), transparent, rgba(126, 79, 223, .1), transparent);
  opacity: .7;
  mask-image: radial-gradient(circle at 50% 54%, #000, transparent 73%);
  animation: mapBreath 8s ease-in-out infinite alternate;
}

.map-panel::after {
  left: 50%;
  top: 54%;
  width: min(58%, 380px);
  aspect-ratio: 1;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle, rgba(50, 157, 224, .13), transparent 58%),
    radial-gradient(circle, rgba(126, 79, 223, .1), transparent 72%);
  filter: blur(10px);
  opacity: .82;
}

.radar-grid {
  animation: mapGridFloat 14s linear infinite;
}

.radar-sweep {
  opacity: .46;
  mix-blend-mode: screen;
}

.kosovo-map {
  z-index: 3;
  opacity: .5;
  filter: saturate(1.95) brightness(1.38) hue-rotate(14deg) drop-shadow(0 0 46px rgba(50, 157, 224, .34));
}

.map-route {
  z-index: 4;
  height: 3px;
  background-size: 220% 100%;
  opacity: .74;
  animation: routePulse 3.8s ease-in-out infinite, routeFlow 3.8s linear infinite;
}

.map-packet {
  z-index: 5;
  width: 13px;
  height: 13px;
  border: 1px solid rgba(255, 255, 255, .32);
}

.office {
  z-index: 7;
  width: clamp(230px, 22vw, 275px);
  border-color: rgba(245, 246, 255, .17);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .18), transparent 43%),
    linear-gradient(145deg, rgba(245, 246, 255, .092), rgba(245, 246, 255, .026)),
    rgba(3, 6, 16, .78);
  box-shadow:
    0 24px 80px rgba(0, 0, 0, .34),
    inset 0 1px 0 rgba(255, 255, 255, .07);
}

.office:hover,
.office.is-active {
  transform: translateY(-7px) scale(1.015);
}

.office strong {
  letter-spacing: -.024em;
}

.office span {
  color: rgba(245, 246, 255, .72);
}

.motion-ready .map-panel.reveal.is-visible .office {
  animation: officeEntry 760ms var(--ease) both;
}

.motion-ready .map-panel.reveal.is-visible .office.pr { animation-delay: 120ms; }
.motion-ready .map-panel.reveal.is-visible .office.li { animation-delay: 220ms; }
.motion-ready .map-panel.reveal.is-visible .office.vu { animation-delay: 320ms; }

@keyframes applyGridDrift {
  to { background-position: 42px 42px, 42px 42px; }
}

@keyframes portalAuraTurn {
  to { transform: rotate(360deg); }
}

@keyframes portalOrbitOne {
  from { transform: translate(-50%, -50%) rotate(-9deg) scale(.96); }
  to { transform: translate(-50%, -50%) rotate(15deg) scale(1.035); }
}

@keyframes portalOrbitTwo {
  from { transform: translate(-50%, -50%) rotate(16deg) scale(1.04); }
  to { transform: translate(-50%, -50%) rotate(-11deg) scale(.96); }
}

@keyframes portalBeamBreathe {
  50% { opacity: var(--portal-beam-peak-opacity, .5); filter: blur(.1px) drop-shadow(0 0 30px rgba(50, 157, 224, .68)); }
}

@keyframes portalPathFlow {
  to { background-position: 220% 0; }
}

@keyframes portalStepPulse {
  0%, 100% { transform: scale(.88); opacity: .58; }
  50% { transform: scale(1.12); opacity: 1; }
}

@keyframes candidateJourney {
  0%, 100% {
    transform: translate3d(var(--candidate-x-rest, 0px), 0, 0) rotate(-1deg) scale(var(--candidate-scale-rest, .96));
  }
  50% {
    transform: translate3d(var(--candidate-x-peak, 0px), -12px, 0) rotate(1.5deg) scale(var(--candidate-scale-peak, .99));
  }
}

@keyframes portalAvatarFloat {
  50% { transform: translateY(-8px); }
}

@keyframes portalAcceptPop {
  0% { transform: scale(.68); filter: blur(5px); }
  58% { transform: scale(1.18); filter: blur(0); }
  100% { transform: scale(1); filter: blur(0); }
}

@keyframes formStepRise {
  from {
    opacity: 0;
    transform: translateY(18px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes mapBreath {
  from { opacity: .46; transform: scale(.985); }
  to { opacity: .8; transform: scale(1.015); }
}

@keyframes mapGridFloat {
  to { background-position: 54px 54px, 54px 54px; }
}

@keyframes routeFlow {
  to { background-position: 220% 0; }
}

@keyframes officeEntry {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.96);
    filter: blur(7px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@media (max-width: 980px) {
  .apply-intro {
    min-height: auto;
  }

  .apply-portal {
    min-height: 360px;
  }

  .form-step {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .portal-ring {
    inset: 48px 40px;
  }
}

@media (max-width: 680px) {
  .hero {
    padding-bottom: 42px;
  }

  .apply-page {
    padding-top: 132px;
  }

  .apply-intro {
    padding: 24px;
    border-radius: 32px;
  }

  .apply-tags {
    gap: 8px;
    margin-top: 24px;
  }

  .apply-tags span {
    min-height: 38px;
    padding-inline: 12px;
    font-size: 12px;
  }

  .apply-portal {
    min-height: 335px;
    margin-top: 28px;
    border-radius: 28px;
  }

  .portal-ring {
    inset: 62px 28px;
  }

  .orbit-one {
    width: 74%;
  }

  .orbit-two {
    width: 52%;
  }

  .candidate-card {
    left: 8%;
    top: 26%;
    width: 98px;
    height: 130px;
  }

  .candidate-card i {
    left: 31px;
    width: 36px;
    height: 36px;
  }

  .candidate-card b {
    left: 22px;
    top: 70px;
    width: 54px;
  }

  .apply-laptop {
    right: 7%;
    bottom: 24%;
    width: 132px;
    height: 92px;
  }

  .portal-avatar {
    width: 34px;
    height: 48px;
  }

  .portal-accept {
    right: 20%;
    top: 25%;
    width: 36px;
    height: 36px;
  }

  .apply-form {
    padding: 18px;
  }

  .apply-form form {
    gap: 13px;
  }

  .form-step {
    min-height: 72px;
    margin-left: 38px;
    padding: 15px;
    border-radius: 22px;
  }

  .apply-form .form-status {
    margin-left: 38px;
  }

  .form-step::before {
    left: -42px;
    width: 31px;
    height: 31px;
  }

  .map-panel {
    min-height: 760px;
    border-radius: 34px;
  }

  .map-panel::before {
    inset: 18px;
    border-radius: 28px;
  }

  .office {
    width: calc(100% - 36px);
    border-radius: 22px;
  }
}

@media (max-width: 680px) {
  .fline-journey-shell {
    --journey-edge: 8px;
    opacity: .62;
  }

  .journey-rail {
    top: 18vh;
    bottom: 14vh;
  }

  .journey-packet {
    right: calc(var(--journey-edge) - 7px);
    width: 14px;
    height: 14px;
  }

  .journey-bloom {
    right: calc(var(--journey-edge) - 88px);
    width: 176px;
    height: 176px;
    opacity: .4;
    filter: blur(20px);
    transform: translate3d(0, calc(var(--journey-packet-y, 18vh) - 88px), 0);
  }

  .journey-beacon {
    top: 44px;
    right: -6px;
    width: 32px;
    height: 32px;
    opacity: 0;
  }

  .journey-beacon-core {
    inset: 11px;
  }

  .journey-beacon-ring {
    inset: 4px;
  }

  .journey-beacon-tail {
    width: 58px;
    opacity: .46;
  }

  .hero .journey-beacon {
    top: auto;
    right: 6px;
    bottom: 128px;
    transform: scale(.72);
  }

  .journey-step.is-journey-visible .journey-beacon {
    transform: translate3d(0, 0, 0) scale(.72);
  }

  .site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    top: 10px;
    width: calc(100% - 20px);
    gap: 8px;
    min-height: 62px;
    padding: 9px 10px 9px 12px;
  }

  .brand {
    flex: 1 1 auto;
    min-width: 0;
  }

  .brand img {
    width: clamp(118px, 34vw, 136px);
    max-width: 100%;
  }

  .language-switch {
    flex: 0 0 auto;
    gap: 2px;
    padding: 3px;
  }

  .language-switch button {
    min-width: 30px;
    height: 30px;
    font-size: 11px;
  }

  .brightness-toggle {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
  }

  .brightness-toggle span {
    width: 13px;
    height: 13px;
    box-shadow:
      0 -9px 0 -6px currentColor,
      0 9px 0 -6px currentColor,
      9px 0 0 -6px currentColor,
      -9px 0 0 -6px currentColor,
      6px 6px 0 -6px currentColor,
      -6px -6px 0 -6px currentColor,
      6px -6px 0 -6px currentColor,
      -6px 6px 0 -6px currentColor;
  }

  .nav-toggle {
    display: block !important;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 360px) {
  .brand img {
    width: 112px;
  }

  .language-switch button {
    min-width: 28px;
  }

  .brightness-toggle {
    width: 36px;
    height: 36px;
  }

  .nav-toggle {
    width: 42px;
    height: 42px;
  }
}

.fline-journey-shell,
.journey-beacon {
  display: none !important;
}

html.theme-bright {
  --ink: #0f172a;
  --muted: rgba(15, 23, 42, .72);
  --soft: rgba(15, 23, 42, .52);
  --line: rgba(15, 23, 42, .12);
  --line-strong: rgba(15, 23, 42, .18);
  --panel: rgba(255, 255, 255, .72);
  --deep: #f6f9ff;
  --deep-2: #eaf3ff;
  color-scheme: light;
}

html.theme-bright body {
  color: var(--ink);
  background:
    radial-gradient(circle at 14% 7%, rgba(126, 79, 223, .13), transparent 30rem),
    radial-gradient(circle at 86% 15%, rgba(50, 157, 224, .18), transparent 34rem),
    linear-gradient(135deg, #fbfdff 0%, #f3f8ff 54%, #edf4ff 100%);
}

html.theme-bright body::before {
  background-image:
    linear-gradient(rgba(15, 23, 42, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, .035) 1px, transparent 1px);
  mask-image: radial-gradient(circle at 50% 30%, #000, transparent 78%);
}

html.theme-bright body::after {
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 34%), rgba(50, 157, 224, .18), transparent 24rem);
}

html.theme-bright .ambient {
  background:
    radial-gradient(circle at 22% 82%, rgba(50, 157, 224, .13), transparent 26rem),
    radial-gradient(circle at 76% 54%, rgba(126, 79, 223, .1), transparent 30rem);
}

html.theme-bright .scroll-light {
  background:
    radial-gradient(640px circle at 50% var(--scroll-light-y, 36%), rgba(255, 255, 255, .82), rgba(50, 157, 224, .18) 28%, transparent 64%),
    linear-gradient(90deg, transparent 0 10%, rgba(255, 255, 255, .42) 49%, rgba(50, 157, 224, .12) 51%, transparent 90%),
    linear-gradient(180deg, transparent, rgba(255, 255, 255, .5), transparent);
}

html.theme-bright h1,
html.theme-bright h2,
html.theme-bright h3 {
  color: #0b1120;
}

html.theme-bright p,
html.theme-bright li {
  color: rgba(15, 23, 42, .72);
}

html.theme-bright .site-header {
  border-color: rgba(15, 23, 42, .18);
  background:
    linear-gradient(180deg, rgba(11, 15, 32, .9), rgba(3, 7, 18, .82)),
    rgba(3, 7, 18, .82);
  box-shadow: 0 20px 90px rgba(15, 23, 42, .2), 0 0 0 1px rgba(255, 255, 255, .08) inset;
}

html.theme-bright .site-header.is-scrolled {
  background:
    linear-gradient(180deg, rgba(11, 15, 32, .94), rgba(3, 7, 18, .88)),
    rgba(3, 7, 18, .88);
}

html.theme-bright .site-nav,
html.theme-bright .site-nav a {
  color: rgba(245, 246, 255, .76);
}

html.theme-bright .site-nav a:hover,
html.theme-bright .site-nav a[aria-current="page"] {
  color: #fff;
}

html.theme-bright .glass,
html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .services-board,
html.theme-bright .service-cloud,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .contact-intro,
html.theme-bright .contact-form,
html.theme-bright .apply-intro,
html.theme-bright .apply-form,
html.theme-bright .legal-card,
html.theme-bright details,
html.theme-bright .assurance {
  border-color: rgba(15, 23, 42, .12);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .11), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .62)),
    rgba(255, 255, 255, .68);
  box-shadow:
    0 28px 90px rgba(15, 23, 42, .1),
    inset 0 1px 0 rgba(255, 255, 255, .82);
}

html.theme-bright .live-desk::before,
html.theme-bright .live-desk::after {
  opacity: .88;
}

html.theme-bright .services-uniform .service-card h3,
html.theme-bright .service-card h3,
html.theme-bright .service-strip h3,
html.theme-bright .proof-node span,
html.theme-bright .office strong,
html.theme-bright .office span,
html.theme-bright .leader-row span {
  color: #101827;
}

html.theme-bright .services-uniform .service-card p,
html.theme-bright .service-card p,
html.theme-bright .service-strip p,
html.theme-bright .copy-block p,
html.theme-bright .page-hero .lede,
html.theme-bright .hero-copy .lede {
  color: rgba(15, 23, 42, .68);
}

html.theme-bright .service-icon {
  color: #2aa5ea;
  border-color: rgba(15, 23, 42, .12);
  background: linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(50, 157, 224, .12), rgba(126, 79, 223, .11));
  box-shadow: 0 14px 40px rgba(50, 157, 224, .12), inset 0 1px 0 rgba(255, 255, 255, .9);
}

html.theme-bright .button.secondary {
  color: #0f172a;
  background: rgba(255, 255, 255, .72);
  border-color: rgba(15, 23, 42, .14);
}

html.theme-bright .site-footer {
  border-color: rgba(245, 246, 255, .12);
  background:
    radial-gradient(circle at 20% 0%, rgba(50, 157, 224, .18), transparent 28rem),
    radial-gradient(circle at 82% 20%, rgba(126, 79, 223, .16), transparent 28rem),
    rgba(3, 7, 18, .9);
  box-shadow: 0 28px 90px rgba(15, 23, 42, .18);
}

html.theme-bright .site-footer p,
html.theme-bright .footer-bottom span {
  color: rgba(245, 246, 255, .66);
}

/* Bright premium polish: ice-white body, dark control bars, ink typography */
html.theme-bright body {
  background:
    radial-gradient(circle at 9% 8%, rgba(126, 79, 223, .12), transparent 25rem),
    radial-gradient(circle at 88% 9%, rgba(50, 157, 224, .18), transparent 34rem),
    radial-gradient(circle at 52% 46%, rgba(255, 255, 255, .94), transparent 28rem),
    linear-gradient(135deg, #f8fbff 0%, #eef6ff 42%, #f9fbf5 100%);
}

html.theme-bright body::before {
  opacity: .84;
  background-size: 92px 92px;
  background-image:
    linear-gradient(rgba(15, 23, 42, .038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, .032) 1px, transparent 1px);
}

html.theme-bright .scroll-light {
  opacity: .78;
  mix-blend-mode: multiply;
}

html.theme-bright body.is-scrolling-light .scroll-light {
  opacity: .96;
}

html.theme-bright .site-header {
  border-color: rgba(255, 255, 255, .13);
  background:
    radial-gradient(circle at 6% 0%, rgba(50, 157, 224, .24), transparent 18rem),
    linear-gradient(180deg, rgba(19, 25, 44, .96), rgba(8, 12, 28, .94)),
    rgba(5, 9, 22, .92);
  box-shadow:
    0 22px 72px rgba(15, 23, 42, .28),
    inset 0 1px 0 rgba(255, 255, 255, .1);
}

html.theme-bright .site-header.is-scrolled {
  background:
    radial-gradient(circle at 6% 0%, rgba(50, 157, 224, .2), transparent 18rem),
    linear-gradient(180deg, rgba(14, 19, 36, .98), rgba(5, 9, 22, .96)),
    rgba(5, 9, 22, .94);
}

html.theme-bright .language-switch {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .07);
}

html.theme-bright .nav-toggle {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .07);
}

html.theme-bright .brightness-toggle {
  color: #121a2c;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 1), rgba(229, 241, 255, .88) 62%, rgba(190, 219, 255, .72));
  border-color: rgba(255, 255, 255, .46);
  box-shadow:
    0 10px 30px rgba(50, 157, 224, .24),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

html.theme-bright .eyebrow {
  color: #315481;
  text-shadow: none;
  letter-spacing: .24em;
}

html.theme-bright h1,
html.theme-bright h2 {
  color: #1b2740;
  text-shadow: 0 12px 34px rgba(36, 55, 91, .08);
}

html.theme-bright h3 {
  color: #172238;
}

html.theme-bright .title-animated::after {
  background: linear-gradient(90deg, rgba(50, 157, 224, 0), rgba(37, 129, 205, .96), rgba(126, 79, 223, .72), rgba(126, 79, 223, 0));
  box-shadow: 0 0 20px rgba(50, 157, 224, .24);
}

html.theme-bright .page-hero,
html.theme-bright .assurance,
html.theme-bright .copy-block,
html.theme-bright .contact-intro,
html.theme-bright .apply-intro,
html.theme-bright .legal-card {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 42px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 255, 255, .95), transparent 18rem),
    radial-gradient(circle at 92% 16%, rgba(50, 157, 224, .12), transparent 22rem),
    linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(248, 252, 255, .7)),
    rgba(255, 255, 255, .78);
  box-shadow:
    0 30px 90px rgba(41, 62, 101, .1),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .page-hero {
  padding-inline: clamp(26px, 4vw, 56px);
}

html.theme-bright .hero-copy .lede,
html.theme-bright .page-hero .lede,
html.theme-bright .copy-block p,
html.theme-bright .apply-intro p,
html.theme-bright .contact-intro p {
  color: rgba(31, 45, 73, .7);
  font-weight: 620;
}

html.theme-bright .button:not(.secondary) {
  color: #fff;
  background: linear-gradient(135deg, #2aa5ea, #2aa5ea);
  box-shadow: 0 18px 48px rgba(50, 157, 224, .26);
}

html.theme-bright .button.secondary,
html.theme-bright .footer-links a {
  color: #172238;
  background: rgba(255, 255, 255, .74);
  border-color: rgba(15, 23, 42, .12);
}

html.theme-bright .live-desk {
  filter: drop-shadow(0 30px 70px rgba(30, 74, 120, .08));
}

html.theme-bright .live-desk::before {
  border-color: rgba(15, 23, 42, .08);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(228, 242, 255, .6)),
    radial-gradient(circle at 44% 48%, rgba(50, 157, 224, .12), transparent 26rem);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), 0 28px 90px rgba(41, 62, 101, .1);
}

html.theme-bright .live-desk::after {
  background:
    linear-gradient(90deg, transparent, rgba(30, 47, 77, .08), rgba(50, 157, 224, .1), transparent),
    linear-gradient(180deg, rgba(255, 255, 255, .4), transparent);
}

html.theme-bright .operator-signal {
  background:
    repeating-linear-gradient(90deg, rgba(17, 31, 56, 0) 0 10px, rgba(20, 35, 62, .44) 10px 14px, rgba(17, 31, 56, 0) 14px 27px),
    linear-gradient(90deg, rgba(15, 23, 42, .16), rgba(24, 44, 77, .74) 24%, rgba(38, 145, 218, .82) 52%, rgba(93, 76, 186, .58) 74%, transparent);
  box-shadow: 0 0 12px rgba(15, 23, 42, .12), 0 0 22px rgba(50, 157, 224, .28);
}

html.theme-bright .message-lift {
  background: linear-gradient(180deg, transparent, rgba(15, 23, 42, .12), rgba(50, 157, 224, .72), rgba(91, 115, 223, .46), transparent);
  filter: drop-shadow(0 0 16px rgba(50, 157, 224, .42));
}

html.theme-bright .message-envelope {
  border-color: rgba(15, 23, 42, .1);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .86), rgba(227, 242, 255, .62) 48%, rgba(238, 231, 255, .55)),
    rgba(255, 255, 255, .82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 16px 44px rgba(41, 62, 101, .12), 0 0 36px rgba(50, 157, 224, .16);
}

html.theme-bright .message-fold,
html.theme-bright .message-line {
  opacity: .82;
}

html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .form-step,
html.theme-bright .apply-form,
html.theme-bright .contact-form,
html.theme-bright details {
  border-color: rgba(35, 54, 87, .1);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .13), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(242, 248, 255, .66)),
    rgba(255, 255, 255, .72);
  box-shadow:
    0 22px 66px rgba(41, 62, 101, .1),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

html.theme-bright .service-card:hover,
html.theme-bright .service-strip:hover,
html.theme-bright .form-step.is-active {
  border-color: rgba(50, 157, 224, .26);
  box-shadow:
    0 28px 76px rgba(41, 62, 101, .13),
    0 0 0 1px rgba(50, 157, 224, .08) inset,
    inset 0 1px 0 rgba(255, 255, 255, .92);
}

html.theme-bright .services-board.services-uniform {
  border-color: rgba(35, 54, 87, .08);
  background:
    radial-gradient(circle at 14% 0%, rgba(50, 157, 224, .16), transparent 24rem),
    radial-gradient(circle at 88% 20%, rgba(126, 79, 223, .12), transparent 28rem),
    linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(235, 245, 255, .44)),
    rgba(255, 255, 255, .42);
  box-shadow: 0 28px 90px rgba(41, 62, 101, .08);
}

html.theme-bright .service-icon {
  color: #197fc0;
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .92), transparent 42%),
    linear-gradient(135deg, rgba(235, 247, 255, .92), rgba(213, 232, 255, .72), rgba(235, 229, 255, .66));
  box-shadow:
    0 16px 42px rgba(50, 157, 224, .15),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .services-uniform .service-card h3::before {
  color: #2aa5ea;
  opacity: .94;
}

html.theme-bright .proof-node strong {
  color: #2aa5ea;
  text-shadow: 0 10px 28px rgba(50, 157, 224, .15);
}

html.theme-bright .apply-form form::before {
  background: linear-gradient(180deg, rgba(23, 124, 201, .84), rgba(126, 79, 223, .52), rgba(23, 124, 201, .58));
  box-shadow: 0 0 18px rgba(50, 157, 224, .28);
}

html.theme-bright .form-step::before {
  box-shadow: 0 0 20px rgba(50, 157, 224, .38);
}

html.theme-bright .form-step label,
html.theme-bright .form-step .label,
html.theme-bright .consent label {
  color: rgba(23, 34, 56, .86);
  font-weight: 850;
}

html.theme-bright input,
html.theme-bright textarea,
html.theme-bright select,
html.theme-bright .choice-row label,
html.theme-bright .file-drop {
  color: #172238;
  border-color: rgba(35, 54, 87, .12);
  background: rgba(255, 255, 255, .66);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
}

html.theme-bright input::placeholder,
html.theme-bright textarea::placeholder {
  color: rgba(23, 34, 56, .42);
}

html.theme-bright .file-drop:hover,
html.theme-bright .choice-row label:hover {
  border-color: rgba(50, 157, 224, .28);
  background: rgba(255, 255, 255, .86);
}

html.theme-bright .site-footer {
  border-color: rgba(255, 255, 255, .13);
  background:
    radial-gradient(circle at 8% 0%, rgba(50, 157, 224, .28), transparent 25rem),
    radial-gradient(circle at 88% 20%, rgba(126, 79, 223, .22), transparent 28rem),
    linear-gradient(135deg, rgba(23, 31, 58, .98), rgba(70, 89, 166, .94)),
    rgba(11, 16, 34, .96);
  box-shadow: 0 30px 90px rgba(41, 62, 101, .22);
}

html.theme-bright .footer-brand p,
html.theme-bright .site-footer p {
  color: rgba(245, 248, 255, .82);
}

html.theme-bright .footer-links a {
  color: #fff;
  border-color: rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

html.theme-bright .footer-links a:hover {
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .22);
}

html.theme-bright .footer-bottom,
html.theme-bright .footer-bottom a {
  color: rgba(245, 248, 255, .78);
}

@media (max-width: 680px) {
  html.theme-bright .page-hero,
  html.theme-bright .copy-block,
  html.theme-bright .apply-intro,
  html.theme-bright .contact-intro,
  html.theme-bright .assurance {
    border-radius: 30px;
  }

  html.theme-bright .form-step {
    background:
      radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .12), transparent 38%),
      linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(242, 248, 255, .72));
  }
}

/* White brand final: one premium light system, no preview toggle */
.brightness-toggle {
  display: none !important;
}

html.theme-bright {
  --ink: #121a2c;
  --muted: rgba(28, 42, 68, .76);
  --soft: rgba(43, 61, 93, .56);
  --line: rgba(27, 39, 64, .12);
  --line-strong: rgba(27, 39, 64, .18);
  --panel: rgba(255, 255, 255, .78);
  --deep: #f8fbff;
  --deep-2: #edf6ff;
  color-scheme: light;
}

html.theme-bright body {
  color: #121a2c;
  background:
    radial-gradient(circle at 8% 4%, rgba(126, 79, 223, .13), transparent 24rem),
    radial-gradient(circle at 92% 5%, rgba(50, 157, 224, .2), transparent 30rem),
    radial-gradient(circle at 46% 36%, rgba(255, 255, 255, .96), transparent 34rem),
    linear-gradient(135deg, #fbfdff 0%, #eef7ff 43%, #fbfcf8 100%);
}

html.theme-bright body::before {
  opacity: .7;
  background-size: 96px 96px;
  background-image:
    linear-gradient(rgba(20, 34, 57, .036) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 34, 57, .032) 1px, transparent 1px);
  mask-image: radial-gradient(circle at 50% 26%, #000, transparent 80%);
}

html.theme-bright body::after {
  opacity: .86;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 34%), rgba(50, 157, 224, .18), transparent 25rem);
}

html.theme-bright .ambient {
  opacity: .9;
  background:
    radial-gradient(circle at 12% 86%, rgba(50, 157, 224, .15), transparent 25rem),
    radial-gradient(circle at 84% 58%, rgba(126, 79, 223, .12), transparent 30rem),
    radial-gradient(circle at 46% 8%, rgba(255, 255, 255, .86), transparent 22rem);
}

html.theme-bright .scroll-light {
  mix-blend-mode: multiply;
  opacity: .78;
  background:
    radial-gradient(720px circle at 50% var(--scroll-light-y, 36%), rgba(255, 255, 255, .9), rgba(50, 157, 224, .18) 30%, transparent 65%),
    linear-gradient(90deg, transparent 0 12%, rgba(255, 255, 255, .5) 49%, rgba(50, 157, 224, .12) 51%, transparent 90%),
    linear-gradient(180deg, transparent, rgba(255, 255, 255, .55), transparent);
}

html.theme-bright body.is-scrolling-light .scroll-light {
  opacity: .98;
}

html.theme-bright .site-header {
  grid-template-columns: auto 1fr auto auto;
  border-color: rgba(27, 39, 64, .11);
  background:
    radial-gradient(circle at 8% 0%, rgba(50, 157, 224, .13), transparent 17rem),
    linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(244, 249, 255, .74)),
    rgba(255, 255, 255, .78);
  box-shadow:
    0 20px 74px rgba(36, 55, 91, .16),
    inset 0 1px 0 rgba(255, 255, 255, .94);
  backdrop-filter: blur(24px) saturate(1.22);
}

html.theme-bright .site-header.is-scrolled {
  border-color: rgba(27, 39, 64, .14);
  background:
    radial-gradient(circle at 8% 0%, rgba(50, 157, 224, .12), transparent 17rem),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(241, 248, 255, .84)),
    rgba(255, 255, 255, .86);
  box-shadow:
    0 18px 62px rgba(36, 55, 91, .18),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

html.theme-bright .brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 220px;
  padding: 7px 13px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background:
    radial-gradient(circle at 15% 0%, rgba(50, 157, 224, .3), transparent 12rem),
    linear-gradient(135deg, rgba(17, 24, 44, .98), rgba(6, 10, 24, .96));
  box-shadow:
    0 14px 34px rgba(21, 35, 62, .14),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

html.theme-bright .brand img {
  width: clamp(132px, 13vw, 166px);
  filter: drop-shadow(0 10px 20px rgba(50, 157, 224, .14));
}

html.theme-bright .site-nav,
html.theme-bright .site-nav a {
  color: rgba(22, 32, 53, .66);
}

html.theme-bright .site-nav a:hover,
html.theme-bright .site-nav a[aria-current="page"] {
  color: #121a2c;
}

html.theme-bright .site-nav a[aria-current="page"] {
  text-shadow: 0 12px 22px rgba(50, 157, 224, .13);
}

html.theme-bright .language-switch,
html.theme-bright .nav-toggle {
  color: #142036;
  border-color: rgba(27, 39, 64, .12);
  background: rgba(255, 255, 255, .66);
  box-shadow:
    0 12px 30px rgba(36, 55, 91, .08),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

html.theme-bright .language-switch button {
  color: rgba(20, 32, 54, .66);
}

html.theme-bright .language-switch button:hover {
  color: #121a2c;
}

html.theme-bright .language-switch button.is-active {
  color: #fff;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 46%, #8b48f2 100%);
  box-shadow: 0 12px 28px rgba(50, 157, 224, .22);
}

html.theme-bright h1,
html.theme-bright h2,
html.theme-bright h3,
html.theme-bright .title-animated {
  color: #121a2c;
  text-shadow: 0 14px 34px rgba(36, 55, 91, .08);
}

html.theme-bright p,
html.theme-bright li,
html.theme-bright .lede,
html.theme-bright .hero-copy .lede,
html.theme-bright .page-hero .lede,
html.theme-bright .copy-block p,
html.theme-bright .apply-intro p,
html.theme-bright .contact-intro p,
html.theme-bright .legal-card p {
  color: rgba(28, 42, 68, .76);
}

html.theme-bright .eyebrow {
  color: #315481;
  text-shadow: none;
}

html.theme-bright .glass,
html.theme-bright .page-hero,
html.theme-bright .assurance,
html.theme-bright .copy-block,
html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .services-board,
html.theme-bright .service-cloud,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .contact-intro,
html.theme-bright .contact-form,
html.theme-bright .apply-intro,
html.theme-bright .apply-form,
html.theme-bright .legal-card,
html.theme-bright details {
  border-color: rgba(27, 39, 64, .1);
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(242, 248, 255, .68)),
    rgba(255, 255, 255, .74);
  box-shadow:
    0 24px 70px rgba(36, 55, 91, .1),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .page-hero,
html.theme-bright .legal-card,
html.theme-bright .apply-intro,
html.theme-bright .contact-intro {
  background:
    radial-gradient(circle at 14% 0%, rgba(255, 255, 255, .98), transparent 20rem),
    radial-gradient(circle at 88% 16%, rgba(50, 157, 224, .14), transparent 24rem),
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(248, 252, 255, .74));
}

html.theme-bright .service-card:hover,
html.theme-bright .service-strip:hover,
html.theme-bright .form-step.is-active,
html.theme-bright details[open] {
  border-color: rgba(50, 157, 224, .26);
  box-shadow:
    0 30px 78px rgba(36, 55, 91, .13),
    0 0 0 1px rgba(50, 157, 224, .07) inset,
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

html.theme-bright .service-cloud span,
html.theme-bright .apply-tags span {
  color: rgba(22, 32, 53, .78);
  border-color: rgba(27, 39, 64, .12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .76), rgba(246, 251, 255, .6)),
    rgba(255, 255, 255, .72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
}

html.theme-bright .service-icon {
  color: #2aa5ea;
  border-color: rgba(27, 39, 64, .12);
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .94), transparent 42%),
    linear-gradient(135deg, rgba(235, 247, 255, .94), rgba(214, 234, 255, .74), rgba(237, 230, 255, .7));
  box-shadow:
    0 16px 42px rgba(50, 157, 224, .15),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .services-uniform .service-card h3,
html.theme-bright .service-card h3,
html.theme-bright .service-strip h3,
html.theme-bright .office strong,
html.theme-bright .leader-row strong,
html.theme-bright .leader-row span,
html.theme-bright summary,
html.theme-bright label,
html.theme-bright .label,
html.theme-bright .contact-lines strong {
  color: #121a2c;
}

html.theme-bright .services-uniform .service-card p,
html.theme-bright .service-card p,
html.theme-bright .service-strip p,
html.theme-bright .office span,
html.theme-bright .office small,
html.theme-bright .office em,
html.theme-bright details p,
html.theme-bright .contact-lines a,
html.theme-bright .contact-lines span {
  color: rgba(28, 42, 68, .72);
}

html.theme-bright .proof-node strong {
  color: transparent;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 44%, #8b48f2 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
  filter: drop-shadow(0 12px 26px rgba(50, 157, 224, .18));
}

html.theme-bright .proof-node span {
  color: rgba(18, 26, 44, .78);
}

html.theme-bright .operator-card,
html.theme-bright .message-core,
html.theme-bright .team-command {
  filter: saturate(1.08) contrast(1.05) drop-shadow(0 20px 44px rgba(36, 55, 91, .1));
}

html.theme-bright .operator-chair,
html.theme-bright .operator-body,
html.theme-bright .operator-desk {
  border-color: rgba(27, 39, 64, .13);
}

html.theme-bright .operator-signal {
  background:
    repeating-linear-gradient(90deg, rgba(22, 32, 53, 0) 0 10px, rgba(22, 32, 53, .5) 10px 14px, rgba(22, 32, 53, 0) 14px 27px),
    linear-gradient(90deg, rgba(22, 32, 53, .12), rgba(31, 52, 86, .62) 24%, rgba(42, 165, 234, .82) 52%, rgba(139, 72, 242, .54) 74%, transparent);
  box-shadow:
    0 0 10px rgba(22, 32, 53, .12),
    0 0 22px rgba(50, 157, 224, .26);
}

html.theme-bright .message-envelope {
  border-color: rgba(27, 39, 64, .1);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(228, 243, 255, .66) 48%, rgba(239, 231, 255, .62)),
    rgba(255, 255, 255, .86);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .94),
    0 18px 48px rgba(36, 55, 91, .13),
    0 0 40px rgba(50, 157, 224, .16);
}

html.theme-bright .message-fold {
  background: rgba(27, 39, 64, .2);
}

html.theme-bright .message-line {
  background: linear-gradient(90deg, #2aa5ea, rgba(22, 32, 53, .32));
}

html.theme-bright .map-panel {
  background:
    radial-gradient(circle at 20% 16%, rgba(50, 157, 224, .16), transparent 25rem),
    radial-gradient(circle at 84% 54%, rgba(126, 79, 223, .11), transparent 28rem),
    linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(238, 247, 255, .54));
}

html.theme-bright .map-route {
  opacity: .74;
  filter: saturate(1.22) drop-shadow(0 0 14px rgba(50, 157, 224, .18));
}

html.theme-bright .map-beam {
  opacity: .42;
}

html.theme-bright .office {
  background:
    radial-gradient(circle at 16% 0%, rgba(50, 157, 224, .18), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(244, 249, 255, .7));
}

html.theme-bright input,
html.theme-bright textarea,
html.theme-bright select {
  color: #121a2c;
  border-color: rgba(27, 39, 64, .13);
  background: rgba(255, 255, 255, .78);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    0 8px 24px rgba(36, 55, 91, .045);
}

html.theme-bright input:focus,
html.theme-bright textarea:focus,
html.theme-bright select:focus {
  border-color: rgba(50, 157, 224, .42);
  box-shadow:
    0 0 0 4px rgba(50, 157, 224, .12),
    inset 0 1px 0 rgba(255, 255, 255, .95);
}

html.theme-bright input::placeholder,
html.theme-bright textarea::placeholder {
  color: rgba(28, 42, 68, .42);
}

html.theme-bright .contact-form label,
html.theme-bright .apply-form label,
html.theme-bright .form-step label,
html.theme-bright .form-step .label,
html.theme-bright .contact-form .label,
html.theme-bright .apply-form .label,
html.theme-bright .choice-row label,
html.theme-bright .file-drop,
html.theme-bright .consent label {
  color: rgba(18, 26, 44, .86);
  text-shadow: none;
}

html.theme-bright .choice-row label,
html.theme-bright .file-drop {
  border-color: rgba(27, 39, 64, .12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(246, 251, 255, .62)),
    rgba(255, 255, 255, .72);
}

html.theme-bright .choice-row label:hover,
html.theme-bright .file-drop:hover {
  border-color: rgba(50, 157, 224, .3);
  background: rgba(255, 255, 255, .9);
}

html.theme-bright .form-step {
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(50, 157, 224, .13), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(240, 247, 255, .66));
}

html.theme-bright .form-step::before {
  background: linear-gradient(135deg, #2aa5ea, #2aa5ea 48%, #8b48f2);
  box-shadow: 0 0 20px rgba(50, 157, 224, .36);
}

html.theme-bright .apply-form form::before {
  background: linear-gradient(180deg, rgba(42, 165, 234, .82), rgba(139, 72, 242, .58), rgba(42, 165, 234, .68));
  box-shadow: 0 0 18px rgba(50, 157, 224, .26);
}

html.theme-bright details,
html.theme-bright .legal-list p {
  color: #121a2c;
  border-color: rgba(27, 39, 64, .1);
  background:
    radial-gradient(circle at 10% 0%, rgba(50, 157, 224, .1), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(244, 250, 255, .7));
}

html.theme-bright summary {
  color: #121a2c;
}

html.theme-bright .site-footer {
  border-color: rgba(27, 39, 64, .1);
  background:
    radial-gradient(circle at 10% 0%, rgba(50, 157, 224, .18), transparent 25rem),
    radial-gradient(circle at 86% 12%, rgba(126, 79, 223, .16), transparent 28rem),
    linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(239, 247, 255, .72)),
    rgba(255, 255, 255, .76);
  box-shadow:
    0 30px 90px rgba(36, 55, 91, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .site-footer::before {
  opacity: .9;
}

html.theme-bright .footer-glow {
  background: radial-gradient(circle, rgba(50, 157, 224, .18), transparent 70%);
}

html.theme-bright .footer-brand {
  border-bottom-color: rgba(27, 39, 64, .1);
}

html.theme-bright .footer-brand img {
  padding: 11px 15px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 15% 0%, rgba(50, 157, 224, .28), transparent 11rem),
    linear-gradient(135deg, rgba(17, 24, 44, .98), rgba(6, 10, 24, .96));
  box-shadow:
    0 18px 44px rgba(21, 35, 62, .16),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

html.theme-bright .footer-brand p,
html.theme-bright .site-footer p,
html.theme-bright .footer-bottom,
html.theme-bright .footer-bottom span,
html.theme-bright .footer-bottom a {
  color: rgba(28, 42, 68, .76);
}

html.theme-bright .footer-links a {
  color: #172238;
  border-color: rgba(27, 39, 64, .12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .76), rgba(246, 251, 255, .6)),
    rgba(255, 255, 255, .74);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    0 10px 24px rgba(36, 55, 91, .055);
}

html.theme-bright .footer-links a:hover {
  color: #121a2c;
  border-color: rgba(50, 157, 224, .28);
  background: rgba(255, 255, 255, .92);
}

/* All-white logo + apply animation finish */
html.theme-bright .apply-portal {
  border-color: rgba(27, 39, 64, .1);
  background:
    radial-gradient(circle at var(--portal-focus-x, 28%) 18%, rgba(42, 165, 234, .18), transparent 29%),
    radial-gradient(circle at 72% 76%, rgba(139, 72, 242, .14), transparent 39%),
    linear-gradient(160deg, rgba(255, 255, 255, .78), rgba(239, 248, 255, .58)),
    rgba(255, 255, 255, .76);
  box-shadow:
    inset 0 0 82px rgba(42, 165, 234, .08),
    0 24px 76px rgba(36, 55, 91, .1);
}

html.theme-bright .apply-portal::before {
  opacity: .44;
}

html.theme-bright .portal-aura {
  opacity: var(--portal-aura-opacity, .18);
  background:
    conic-gradient(from 220deg at 50% 50%, transparent 0 18%, rgba(42, 165, 234, .2), transparent 42% 68%, rgba(139, 72, 242, .14), transparent 86% 100%);
}

html.theme-bright .portal-orbit {
  border-color: rgba(27, 39, 64, .1);
}

html.theme-bright .orbit-one {
  border-top-color: rgba(42, 165, 234, .46);
  border-right-color: rgba(139, 72, 242, .26);
}

html.theme-bright .orbit-two {
  border-bottom-color: rgba(42, 165, 234, .38);
  border-left-color: rgba(139, 72, 242, .28);
}

html.theme-bright .portal-beam,
html.theme-bright .portal-path {
  filter: drop-shadow(0 0 16px rgba(42, 165, 234, .22));
}

html.theme-bright .candidate-card {
  border-color: rgba(27, 39, 64, .12);
  background:
    radial-gradient(circle at 50% 18%, rgba(42, 165, 234, .13), transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(243, 249, 255, .7)),
    rgba(255, 255, 255, .78);
  box-shadow:
    0 22px 58px rgba(36, 55, 91, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .candidate-card i {
  background: linear-gradient(135deg, #fff, rgba(95, 126, 234, .52));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), 0 12px 24px rgba(42, 165, 234, .12);
}

html.theme-bright .candidate-card b {
  background: rgba(42, 165, 234, .78);
  box-shadow: 0 24px 0 rgba(36, 55, 91, .12), 0 48px 0 rgba(139, 72, 242, .36);
}

html.theme-bright .candidate-card::before {
  background: rgba(36, 55, 91, .14);
}

html.theme-bright .candidate-card::after {
  background: rgba(139, 72, 242, .38);
}

html.theme-bright .apply-laptop {
  border-color: rgba(27, 39, 64, .12);
  background:
    radial-gradient(circle at 28% 28%, rgba(42, 165, 234, .14), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(236, 246, 255, .72)),
    rgba(255, 255, 255, .8);
  box-shadow:
    0 24px 60px rgba(36, 55, 91, .12),
    0 0 var(--laptop-glow, 24px) rgba(42, 165, 234, .14),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .apply-laptop i {
  background:
    radial-gradient(circle at var(--form-progress-pos, 18%) 38%, rgba(42, 165, 234, .42), transparent 28%),
    linear-gradient(90deg, rgba(42, 165, 234, .72) var(--form-progress-pct, 0%), rgba(36, 55, 91, .1) 0),
    rgba(255, 255, 255, .62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

html.theme-bright .apply-laptop b {
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(27, 39, 64, .08);
  box-shadow: 0 12px 24px rgba(36, 55, 91, .08);
}

html.theme-bright .apply-laptop::before {
  background:
    linear-gradient(90deg, rgba(42, 165, 234, .78) var(--form-progress-pct, 0%), rgba(36, 55, 91, .1) 0);
  box-shadow: 0 18px 0 rgba(36, 55, 91, .1), 0 36px 0 rgba(139, 72, 242, .24);
}

html.theme-bright .apply-laptop::after {
  background: rgba(36, 55, 91, .32);
  box-shadow: -22px 20px 0 rgba(42, 165, 234, .68), -5px 42px 0 rgba(139, 72, 242, .52);
}

html.theme-bright .portal-avatar {
  border-color: rgba(27, 39, 64, .1);
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .92) 0 11px, transparent 12px),
    linear-gradient(180deg, rgba(235, 240, 255, .82), rgba(218, 243, 255, .62));
  box-shadow: 0 14px 32px rgba(36, 55, 91, .1);
}

html.theme-bright .portal-accept {
  border-color: rgba(255, 255, 255, .5);
  background: linear-gradient(135deg, rgba(42, 165, 234, .88), rgba(139, 72, 242, .82));
  box-shadow: 0 0 24px rgba(42, 165, 234, .32);
}

/* Official FLINE light logo: original artwork, no typed replacement */
.official-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.official-logo img {
  display: block;
  object-fit: contain;
}

html.theme-bright .brand.official-logo {
  width: auto;
  max-width: none;
  padding: 7px 16px;
  border-color: rgba(27, 39, 64, .1);
  background:
    radial-gradient(circle at 6% 0%, rgba(42, 165, 234, .12), transparent 10rem),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(244, 250, 255, .76)),
    rgba(255, 255, 255, .84);
  box-shadow:
    0 16px 40px rgba(36, 55, 91, .11),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

html.theme-bright .brand.official-logo img {
  width: clamp(160px, 15vw, 196px);
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 10px 22px rgba(42, 165, 234, .14));
}

html.theme-bright .footer-logo.official-logo {
  width: max-content;
  max-width: 100%;
  padding: clamp(13px, 2vw, 18px) clamp(18px, 3vw, 28px);
  border: 1px solid rgba(27, 39, 64, .1);
  border-radius: clamp(24px, 3.4vw, 34px);
  background:
    radial-gradient(circle at 5% 0%, rgba(42, 165, 234, .14), transparent 15rem),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(246, 251, 255, .76)),
    rgba(255, 255, 255, .84);
  box-shadow:
    0 24px 58px rgba(36, 55, 91, .1),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

html.theme-bright .footer-logo.official-logo img {
  width: clamp(260px, 28vw, 430px);
  max-width: 100%;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 14px 28px rgba(42, 165, 234, .14));
}

@media (max-width: 980px) {
  html.theme-bright .site-header {
    grid-template-columns: auto 1fr auto auto;
  }

  html.theme-bright .site-nav {
    border-color: rgba(27, 39, 64, .1);
    background:
      radial-gradient(circle at 80% 0%, rgba(50, 157, 224, .15), transparent 18rem),
      linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(244, 249, 255, .88));
    box-shadow: 0 24px 70px rgba(36, 55, 91, .14);
  }

  html.theme-bright .site-nav a {
    color: rgba(18, 26, 44, .76);
    background: rgba(255, 255, 255, .54);
  }
}

@media (max-width: 680px) {
  html.theme-bright .site-header {
    gap: 8px;
    padding: 9px 10px;
  }

  html.theme-bright .brand {
    flex: 0 1 auto;
    max-width: min(186px, 46vw);
    padding: 7px 12px 7px 8px;
  }

  html.theme-bright .language-switch button {
    min-width: 30px;
  }

  html.theme-bright .nav-toggle {
    width: 42px;
    height: 42px;
  }

  html.theme-bright .brand.official-logo {
    max-width: min(228px, 47vw);
    padding: 7px 10px;
  }

  html.theme-bright .brand.official-logo img {
    width: clamp(136px, 34vw, 176px);
  }

  html.theme-bright .footer-logo.official-logo {
    width: 100%;
    justify-content: flex-start;
    padding: 14px 16px;
  }

  html.theme-bright .footer-logo.official-logo img {
    width: min(330px, 100%);
  }
}

/* White premium module depth + restored signal strips */
html.theme-bright .page-hero,
html.theme-bright .assurance,
html.theme-bright .copy-block,
html.theme-bright .glass,
html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .services-board,
html.theme-bright .service-cloud,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .contact-intro,
html.theme-bright .contact-form,
html.theme-bright .apply-intro,
html.theme-bright .apply-form,
html.theme-bright .legal-card,
html.theme-bright .legal-list p,
html.theme-bright details {
  border-color: rgba(28, 55, 90, .11);
  outline: 1px solid rgba(255, 255, 255, .62);
  outline-offset: -2px;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(42, 165, 234, .13), transparent 36%),
    radial-gradient(circle at 86% 92%, rgba(139, 72, 242, .075), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(244, 250, 255, .72)),
    rgba(255, 255, 255, .8);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .98),
    inset 0 -1px 0 rgba(28, 55, 90, .035),
    0 14px 28px rgba(19, 36, 61, .055),
    0 34px 76px rgba(38, 88, 132, .12),
    0 72px 140px rgba(38, 88, 132, .09),
    0 0 0 1px rgba(42, 165, 234, .045);
  transition:
    transform 260ms var(--ease),
    border-color 260ms ease,
    box-shadow 260ms ease,
    background 260ms ease;
}

html.theme-bright .service-card:hover,
html.theme-bright .service-strip:hover,
html.theme-bright .proof-node:hover,
html.theme-bright .office:hover,
html.theme-bright .office.is-active,
html.theme-bright .form-step.is-active,
html.theme-bright details[open] {
  border-color: rgba(42, 165, 234, .24);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .98),
    inset 0 -1px 0 rgba(28, 55, 90, .04),
    0 18px 34px rgba(19, 36, 61, .065),
    0 42px 92px rgba(38, 88, 132, .15),
    0 86px 150px rgba(38, 88, 132, .1),
    0 0 0 1px rgba(42, 165, 234, .09),
    0 0 42px rgba(42, 165, 234, .09);
}

html.theme-bright .service-card::after,
html.theme-bright .service-strip::after {
  opacity: .82;
  transform: scaleX(.82);
  background:
    linear-gradient(90deg, rgba(42, 165, 234, .96), rgba(42, 165, 234, .2) 36%, rgba(139, 72, 242, .78) 100%);
  box-shadow:
    0 0 16px rgba(42, 165, 234, .2),
    0 0 24px rgba(139, 72, 242, .11);
}

html.theme-bright .service-card:hover::after,
html.theme-bright .service-strip:hover::after,
html.theme-bright .service-card.is-signal::after,
html.theme-bright .service-strip.is-signal::after {
  opacity: 1;
  transform: scaleX(1);
}

html.theme-bright .process-line {
  gap: clamp(16px, 2vw, 22px);
}

html.theme-bright .process-line::before {
  top: 44px;
  height: 4px;
  background:
    linear-gradient(90deg, rgba(42, 165, 234, .12), rgba(42, 165, 234, .82), rgba(139, 72, 242, .58), rgba(42, 165, 234, .12));
  box-shadow:
    0 0 16px rgba(42, 165, 234, .18),
    0 0 30px rgba(139, 72, 242, .1);
  opacity: .82;
}

html.theme-bright .process-line article {
  overflow: hidden;
  padding-bottom: 66px;
}

html.theme-bright .process-line article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 28px;
  bottom: 28px;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background:
    linear-gradient(180deg, rgba(42, 165, 234, .2), rgba(42, 165, 234, .88), rgba(139, 72, 242, .55), rgba(42, 165, 234, .16));
  box-shadow:
    0 0 18px rgba(42, 165, 234, .24),
    0 0 34px rgba(139, 72, 242, .1);
  opacity: .78;
}

html.theme-bright .process-line article::after {
  content: "";
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 30px;
  height: 4px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(42, 165, 234, .96), rgba(42, 165, 234, .26) 34%, rgba(139, 72, 242, .72), rgba(42, 165, 234, .18));
  box-shadow:
    0 0 16px rgba(42, 165, 234, .22),
    0 0 30px rgba(139, 72, 242, .12);
  opacity: .9;
  transform: scaleX(.74);
  transform-origin: left center;
  animation: flineProcessSignal 3.2s ease-in-out infinite;
}

html.theme-bright .process-line article:nth-child(2)::after { animation-delay: .18s; }
html.theme-bright .process-line article:nth-child(3)::after { animation-delay: .36s; }

html.theme-bright .process-line span {
  color: transparent;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 48%, #8b48f2 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 10px 24px rgba(42, 165, 234, .22));
}

html.theme-bright .journey-loop.is-journey-active .process-line article::after,
html.theme-bright .process-line article:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

@keyframes flineProcessSignal {
  0%, 100% {
    opacity: .72;
    transform: scaleX(.62);
    filter: saturate(1);
  }
  48% {
    opacity: 1;
    transform: scaleX(1);
    filter: saturate(1.22) brightness(1.04);
  }
}

@media (max-width: 680px) {
  html.theme-bright .process-line::before {
    left: 36px;
    top: 0;
    bottom: 0;
    width: 4px;
    height: auto;
  }

  html.theme-bright .process-line article {
    padding-bottom: 60px;
  }

  html.theme-bright .process-line article::after {
    left: 34px;
    right: 34px;
    bottom: 28px;
  }
}

/* Final headset placement: visible headphones sitting outside the FLINE mark */
.fline-character {
  overflow: visible;
}

.live-headset {
  inset: -18px -30px -6px;
  z-index: 8;
}

.headset-arc {
  left: 0;
  right: 4px;
  top: -4px;
  height: 154px;
  border-width: 8px;
  border-top-color: rgba(42, 165, 234, .98);
  border-left-color: rgba(42, 165, 234, .66);
  border-right-color: rgba(139, 72, 242, .9);
  border-radius: 148px 148px 0 0;
  filter:
    drop-shadow(0 0 16px rgba(42, 165, 234, .42))
    drop-shadow(0 0 28px rgba(139, 72, 242, .18));
  clip-path: inset(0 0 27% 0);
}

.ear-pad {
  top: 108px;
  width: 48px;
  height: 88px;
  border: 2px solid rgba(255, 255, 255, .38);
  border-radius: 30px;
  background:
    radial-gradient(circle at 34% 20%, rgba(255, 255, 255, .56), transparent 36%),
    linear-gradient(180deg, rgba(42, 165, 234, .28), rgba(139, 72, 242, .22)),
    rgba(255, 255, 255, .12);
  backdrop-filter: blur(10px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .46),
    inset 0 -18px 28px rgba(16, 24, 39, .08),
    0 16px 34px rgba(20, 40, 70, .14),
    0 0 26px rgba(42, 165, 234, .22);
}

.ear-pad::after {
  content: "";
  position: absolute;
  inset: 12px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .24), rgba(42, 165, 234, .12)),
    rgba(255, 255, 255, .06);
  box-shadow: inset 0 0 18px rgba(42, 165, 234, .12);
}

.ear-pad.left {
  left: -10px;
}

.ear-pad.right {
  right: -4px;
}

.mic-arm {
  right: 1px;
  bottom: 42px;
  width: 104px;
  height: 52px;
}

.mic-dot {
  right: -5px;
  bottom: 35px;
  width: 20px;
  height: 20px;
}

html.theme-bright .ear-pad {
  border-color: rgba(28, 55, 90, .12);
  background:
    radial-gradient(circle at 34% 20%, rgba(255, 255, 255, .8), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, .66), rgba(224, 244, 255, .42)),
    rgba(255, 255, 255, .34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .74),
    inset 0 -18px 28px rgba(28, 55, 90, .05),
    0 18px 34px rgba(38, 88, 132, .12),
    0 0 28px rgba(42, 165, 234, .18);
}

html.theme-bright .headset-arc {
  filter:
    drop-shadow(0 0 14px rgba(42, 165, 234, .36))
    drop-shadow(0 0 26px rgba(139, 72, 242, .16));
}

@media (max-width: 680px) {
  .live-headset {
    inset: -14px -24px -4px;
  }

  .headset-arc {
    left: 0;
    right: 2px;
    top: -2px;
    height: 132px;
    border-width: 7px;
    clip-path: inset(0 0 27% 0);
  }

  .ear-pad {
    top: 94px;
    width: 42px;
    height: 78px;
  }

  .ear-pad.left {
    left: -7px;
  }

  .ear-pad.right {
    right: -3px;
  }

  .mic-arm {
    right: -2px;
    bottom: 38px;
    width: 86px;
    height: 42px;
  }

  .mic-dot {
    right: -7px;
    bottom: 32px;
    width: 17px;
    height: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  .fline-journey-shell,
  .journey-beacon {
    display: none !important;
  }
}

/* Final interaction pass: keep real links above decorative motion layers */
.language-switch,
.nav-toggle,
.button-row,
.footer-links,
.footer-bottom,
.contact-details,
.apply-form,
.contact-form,
.legal-page,
.footer-logo,
.official-logo {
  position: relative;
}

.site-header a,
.site-header button,
.site-nav a,
.button-row a,
.footer-links a,
.footer-bottom a,
.contact-details a,
.apply-form a,
.contact-form a,
.legal-page a,
.official-logo {
  z-index: 30;
  pointer-events: auto;
  touch-action: manipulation;
  cursor: pointer;
}

.site-header,
.site-nav {
  z-index: 120;
}

.site-footer,
.footer-links,
.footer-bottom {
  z-index: 12;
}

a[aria-disabled="true"] {
  pointer-events: none;
  cursor: default;
}

/* Restore header layout after interaction pass */
.site-header {
  position: fixed;
}

.site-nav {
  position: static;
}

@media (max-width: 980px) {
  .site-nav {
    position: absolute;
  }
}

/* HorizonX-inspired FLINE Signal Journey: brand-native motion, light and mobile-safe */
.signal-enhanced {
  --signal-progress: 0;
  --pointer-x: 50vw;
  --pointer-y: 50vh;
}

.signal-enhanced main > section {
  position: relative;
  isolation: isolate;
}

.signal-enhanced main > section::before {
  content: "";
  position: absolute;
  inset: clamp(16px, 4vw, 42px);
  z-index: -1;
  pointer-events: none;
  border-radius: clamp(32px, 5vw, 58px);
  opacity: 0;
  transform: translate3d(0, 18px, 0) scale(.985);
  background:
    radial-gradient(circle at 18% 18%, rgba(42, 165, 234, .18), transparent 28rem),
    radial-gradient(circle at 84% 20%, rgba(139, 72, 242, .13), transparent 24rem),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0));
  filter: blur(.2px);
  transition:
    opacity 700ms cubic-bezier(.22, 1, .36, 1),
    transform 700ms cubic-bezier(.22, 1, .36, 1);
}

.signal-enhanced main > section.is-signal-active::before {
  opacity: .95;
  transform: translate3d(0, 0, 0) scale(1);
}

.fline-signal-journey {
  position: fixed;
  top: 138px;
  bottom: 94px;
  left: max(18px, calc((100vw - 1220px) / 2 - 82px));
  z-index: 16;
  width: 76px;
  pointer-events: none;
  opacity: .92;
}

.signal-rail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 31px;
  width: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(23,47,78,.08), rgba(49,183,228,.16), rgba(139,72,242,.12));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.46);
}

.signal-rail i {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: calc(var(--signal-progress, 0) * 100%);
  border-radius: inherit;
  background: linear-gradient(180deg, #2aa5ea, #2aa5ea 58%, #8b48f2);
  box-shadow: 0 0 18px rgba(49,183,228,.55), 0 0 34px rgba(139,72,242,.22);
}

.signal-orb {
  position: absolute;
  top: 0;
  left: 14px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  transform: translate3d(0, calc(var(--signal-progress, 0) * (100vh - 270px)), 0);
  background:
    radial-gradient(circle at 38% 32%, #fff 0 12%, transparent 13%),
    linear-gradient(135deg, #2aa5ea, #7c5be8);
  box-shadow:
    0 0 0 8px rgba(49,183,228,.11),
    0 0 36px rgba(49,183,228,.34),
    0 18px 36px rgba(38,88,132,.16);
}

.signal-orb i,
.signal-orb b {
  position: absolute;
  inset: -9px;
  border: 1px solid rgba(49,183,228,.24);
  border-radius: inherit;
  animation: signalOrbPulse 2.7s ease-in-out infinite;
}

.signal-orb b {
  inset: -18px;
  border-color: rgba(139,72,242,.18);
  animation-delay: .9s;
}

.signal-caption {
  position: absolute;
  top: clamp(0px, calc(var(--signal-progress, 0) * (100vh - 300px)), calc(100% - 58px));
  left: 58px;
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid rgba(39,72,110,.12);
  border-radius: 18px;
  color: #11213d;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 44px rgba(38,88,132,.13), inset 0 1px 0 rgba(255,255,255,.76);
}

.signal-caption b {
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .22em;
}

.signal-caption i {
  color: #2aa5ea;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .14em;
}

.signal-packet {
  position: absolute;
  left: 26px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  opacity: 0;
  background: #2aa5ea;
  box-shadow: 0 0 18px rgba(49,183,228,.62);
  animation: signalPacket 4.8s linear infinite;
}

.signal-packet.packet-b {
  background: #7b5be8;
  animation-delay: 1.55s;
}

.signal-packet.packet-c {
  width: 9px;
  height: 9px;
  animation-delay: 3.1s;
}

.signal-cursor-glow {
  position: fixed;
  top: var(--pointer-y);
  left: var(--pointer-x);
  z-index: 1;
  width: 320px;
  height: 320px;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(49,183,228,.11), rgba(139,72,242,.06) 34%, transparent 70%);
  mix-blend-mode: multiply;
  transition: opacity 240ms ease;
}

.has-pointer-signal .signal-cursor-glow {
  opacity: 1;
}

.signal-enhanced .service-strip,
.signal-enhanced .service-card,
.signal-enhanced .proof-node,
.signal-enhanced .process-line article,
.signal-enhanced .office,
.signal-enhanced .glass,
.signal-enhanced .assurance,
.signal-enhanced .apply-form,
.signal-enhanced .contact-form,
.signal-enhanced .legal-card,
.signal-enhanced .footer-links a {
  transition:
    transform 520ms cubic-bezier(.22,1,.36,1),
    box-shadow 520ms cubic-bezier(.22,1,.36,1),
    border-color 360ms ease,
    background 360ms ease,
    opacity 360ms ease;
}

.signal-enhanced .is-signal-active .glass,
.signal-enhanced .is-signal-active .service-strip,
.signal-enhanced .is-signal-active .proof-node,
.signal-enhanced .is-signal-active .process-line article,
.signal-enhanced .is-signal-active .office,
.signal-enhanced .is-signal-active.assurance,
.signal-enhanced .is-signal-active.apply-page .apply-form,
.signal-enhanced .is-signal-active.contact-page .contact-form,
.signal-enhanced .is-signal-active.legal-page .legal-card {
  border-color: rgba(49,183,228,.24);
  box-shadow:
    0 24px 72px rgba(38,88,132,.14),
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 0 34px rgba(49,183,228,.12);
}

.signal-enhanced .is-signal-active .title-animated::after,
.signal-enhanced .is-signal-active .section-heading h2::after,
.signal-enhanced .is-signal-active .hero-title::after {
  filter: saturate(1.18) brightness(1.06);
  box-shadow: 0 0 22px rgba(49,183,228,.28), 0 0 34px rgba(139,72,242,.12);
}

.signal-enhanced .service-strip::before,
.signal-enhanced .service-card::before,
.signal-enhanced .proof-node::before,
.signal-enhanced .process-line article::before,
.signal-enhanced .office::before {
  transition:
    opacity 420ms ease,
    transform 520ms cubic-bezier(.22,1,.36,1);
}

@media (hover: hover) and (pointer: fine) {
  .signal-enhanced .service-strip:hover,
  .signal-enhanced .service-card:hover,
  .signal-enhanced .process-line article:hover,
  .signal-enhanced .proof-node:hover,
  .signal-enhanced .office:hover,
  .signal-enhanced .footer-links a:hover {
    transform: translate3d(0, -6px, 0) scale(1.01);
    border-color: rgba(49,183,228,.28);
    box-shadow:
      0 28px 80px rgba(38,88,132,.16),
      0 0 38px rgba(49,183,228,.16);
  }
}

@keyframes signalOrbPulse {
  0%,
  100% {
    opacity: .18;
    transform: scale(.9);
  }
  45% {
    opacity: .42;
    transform: scale(1.18);
  }
}

@keyframes signalPacket {
  0% {
    top: 0;
    opacity: 0;
    transform: scale(.7);
  }
  10%,
  78% {
    opacity: .72;
  }
  100% {
    top: 100%;
    opacity: 0;
    transform: scale(1.25);
  }
}

@media (max-width: 980px) {
  .signal-cursor-glow {
    display: none;
  }

  .fline-signal-journey {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 92px);
    right: 22px;
    bottom: auto;
    left: 22px;
    z-index: 116;
    display: block;
    width: auto;
    height: 34px;
    opacity: .98;
    transform: translateZ(0);
  }

  .signal-rail {
    top: 11px;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,.64);
    box-shadow:
      0 10px 28px rgba(38,88,132,.12),
      inset 0 0 0 1px rgba(31,55,86,.08);
  }

  .signal-rail i {
    width: calc(var(--signal-progress, 0) * 100%);
    height: 100%;
    background: linear-gradient(90deg, #2aa5ea, #2aa5ea 56%, #8b48f2);
    box-shadow:
      0 0 18px rgba(49,183,228,.5),
      0 0 28px rgba(139,72,242,.22);
  }

  .signal-orb {
    top: 3px;
    left: 0;
    width: 20px;
    height: 20px;
    transform: translate3d(calc(var(--signal-progress, 0) * (100vw - 88px)), 0, 0);
    box-shadow:
      0 0 0 7px rgba(49,183,228,.12),
      0 0 26px rgba(49,183,228,.38),
      0 10px 24px rgba(38,88,132,.18);
  }

  .signal-orb i {
    inset: -6px;
  }

  .signal-orb b {
    display: none;
  }

  .signal-caption {
    top: 18px;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: 999px;
    transform: translateX(-50%);
    background: rgba(255,255,255,.78);
    box-shadow:
      0 12px 32px rgba(38,88,132,.12),
      inset 0 1px 0 rgba(255,255,255,.8);
  }

  .signal-caption b {
    font-size: 8px;
  }

  .signal-caption i {
    font-size: 10px;
  }

  .signal-packet {
    display: none;
  }

  .signal-enhanced main > section::before {
    inset: 8px;
    border-radius: 34px;
    opacity: 0;
    background:
      radial-gradient(circle at 16% 22%, rgba(42, 165, 234, .23), transparent 18rem),
      radial-gradient(circle at 88% 18%, rgba(139, 72, 242, .18), transparent 17rem),
      linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.02));
  }

  .signal-enhanced main > section.is-signal-active::before {
    opacity: .82;
  }

  .signal-enhanced .is-signal-active .glass,
  .signal-enhanced .is-signal-active .service-strip,
  .signal-enhanced .is-signal-active .process-line article,
  .signal-enhanced .is-signal-active.assurance {
    box-shadow:
      0 22px 64px rgba(38,88,132,.16),
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 0 30px rgba(49,183,228,.15);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fline-signal-journey,
  .signal-cursor-glow {
    display: none !important;
  }

  .signal-enhanced main > section::before {
    transition: none;
  }
}

/* Requested cleanup: remove visible 01/02/03 labels from locations and process cards */
.office em,
.process-line article > span {
  display: none !important;
}

.process-line article {
  padding-top: 64px;
}

@media (max-width: 680px) {
  .process-line article {
    padding-top: 58px;
  }
}

/* Brand typography final pass: designer fonts with safe responsive spacing */
h1,
h2,
.hero-title,
.page-hero h1,
.legal-card h1 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -.038em;
}

h1,
.hero-title,
.page-hero h1 {
  line-height: .94;
}

h2 {
  line-height: .98;
}

h3,
p,
li,
a,
button,
input,
textarea,
select,
label {
  font-family: var(--font-body);
}

@media (max-width: 680px) {
  h1,
  .hero-title,
  .page-hero h1,
  .legal-card h1 {
    letter-spacing: -.03em;
    line-height: .98;
  }

  h2 {
    letter-spacing: -.028em;
    line-height: 1;
  }
}

/* Services icon system: official designer SVGs, mapped to existing CMS icon classes */
.service-icon {
  --service-svg: url("assets/services/customer-care.svg");
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(42, 165, 234, .2);
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .34), transparent 28%),
    linear-gradient(145deg, rgba(42, 165, 234, .16), rgba(139, 72, 242, .14));
  box-shadow:
    0 18px 42px rgba(38, 169, 224, .16),
    inset 0 1px 0 rgba(255, 255, 255, .16);
}

.service-icon::before,
.service-icon::after {
  content: "";
  position: absolute;
  pointer-events: none;
  box-sizing: border-box;
}

.service-icon::before {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 68% !important;
  height: 68% !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 46%, #8b48f2 100%) !important;
  -webkit-mask-image: var(--service-svg);
  mask-image: var(--service-svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transform: translate3d(-50%, -50%, 0) scale(.96) !important;
  opacity: .98;
  z-index: 2;
  filter: drop-shadow(0 10px 16px rgba(42, 165, 234, .22));
}

.service-icon::after {
  inset: 8px !important;
  left: 8px !important;
  top: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  transform: none !important;
  background:
    radial-gradient(circle at 72% 26%, rgba(255, 255, 255, .34), transparent 18%),
    radial-gradient(circle at 26% 76%, rgba(139, 72, 242, .2), transparent 42%),
    linear-gradient(135deg, rgba(42, 165, 234, .12), rgba(139, 72, 242, .08)) !important;
  opacity: .64;
  z-index: 1;
}

.icon-care { --service-svg: url("assets/services/customer-care.svg"); }
.icon-tech { --service-svg: url("assets/services/technical-support.svg"); }
.icon-back { --service-svg: url("assets/services/back-office.svg"); }
.icon-live { --service-svg: url("assets/services/live-chat.svg"); }
.icon-inbound { --service-svg: url("assets/services/inbound-outbound.svg"); }
.icon-outbound { --service-svg: url("assets/services/inbound-outbound.svg"); }
.icon-sales { --service-svg: url("assets/services/sales.svg"); }
.icon-research { --service-svg: url("assets/services/market-research.svg"); }
.icon-phone,
.icon-mail { --service-svg: url("assets/services/telephone-email.svg"); }
.icon-help { --service-svg: url("assets/services/help-desk.svg"); }
.icon-web { --service-svg: url("assets/services/web-design.svg"); }
.icon-lead,
.icon-star { --service-svg: url("assets/services/lead-generation.svg"); }
.icon-b2b { --service-svg: url("assets/services/b2b.svg"); }
.icon-b2c { --service-svg: url("assets/services/b2c.svg"); }
.icon-design { --service-svg: url("assets/services/graphic-design.svg"); }
.icon-complaint { --service-svg: url("assets/services/complaint-management.svg"); }
.icon-orders { --service-svg: url("assets/services/order-acceptance.svg"); }
.icon-secretary { --service-svg: url("assets/services/secretarial-service.svg"); }
.icon-after { --service-svg: url("assets/services/after-sale-service.svg"); }
.icon-recovery { --service-svg: url("assets/services/customer-recovery.svg"); }
.icon-upsell { --service-svg: url("assets/services/upselling-cross-selling.svg"); }
.icon-retention { --service-svg: url("assets/services/prevention-retention.svg"); }
.icon-salesflow,
.icon-flow { --service-svg: url("assets/services/inbound-outbound.svg"); }

html.theme-bright .service-icon {
  border-color: rgba(38, 169, 224, .2);
  background:
    radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .95), transparent 30%),
    linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(227, 245, 255, .76) 52%, rgba(238, 231, 255, .66));
  box-shadow:
    0 18px 44px rgba(35, 82, 118, .13),
    0 8px 22px rgba(38, 169, 224, .12),
    inset 0 1px 0 rgba(255, 255, 255, .98);
}

html.theme-bright .service-icon::before {
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 42%, #8b48f2 100%) !important;
  filter: drop-shadow(0 10px 14px rgba(38, 169, 224, .2));
}

html.theme-bright .service-icon::after {
  background:
    radial-gradient(circle at 70% 24%, rgba(255, 255, 255, .88), transparent 20%),
    radial-gradient(circle at 28% 80%, rgba(139, 72, 242, .12), transparent 42%),
    linear-gradient(135deg, rgba(38, 169, 224, .1), rgba(139, 72, 242, .08)) !important;
  opacity: .86;
}

@media (hover: hover) and (pointer: fine) {
  .service-card:hover .service-icon::before,
  .service-strip:hover .service-icon::before {
    transform: translate3d(-50%, -54%, 0) scale(1.06) !important;
    filter:
      drop-shadow(0 12px 18px rgba(42, 165, 234, .28))
      drop-shadow(0 0 18px rgba(139, 72, 242, .16));
  }

  .service-card:hover .service-icon::after,
  .service-strip:hover .service-icon::after {
    opacity: 1;
  }
}

.service-card.is-signal .service-icon::before,
.service-strip.is-signal .service-icon::before {
  transform: translate3d(-50%, -53%, 0) scale(1.06) !important;
  filter:
    drop-shadow(0 12px 18px rgba(42, 165, 234, .28))
    drop-shadow(0 0 20px rgba(139, 72, 242, .2));
}

@media (prefers-reduced-motion: no-preference) {
  .service-icon::before {
    transition:
      transform 360ms cubic-bezier(.22, 1, .36, 1),
      filter 360ms cubic-bezier(.22, 1, .36, 1),
      opacity 220ms ease;
  }

  .service-icon::after {
    transition: opacity 300ms ease;
  }
}

/* Real team placement: staff photo integrated as the human proof for the About section */
.people-visual {
  min-height: 560px;
  padding: 0;
  display: grid;
  place-items: end center;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 24%, rgba(42, 165, 234, .18), transparent 24rem),
    radial-gradient(circle at 84% 14%, rgba(139, 72, 242, .14), transparent 22rem),
    linear-gradient(145deg, rgba(8, 15, 31, .72), rgba(13, 27, 48, .5)),
    rgba(245, 246, 255, .05);
}

.people-visual::before {
  z-index: 1;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 38%),
    linear-gradient(180deg, transparent 58%, rgba(3, 8, 18, .26));
}

.people-glow,
.people-grid,
.people-signal,
.people-badge,
.people-cutout {
  position: absolute;
}

.people-glow {
  inset: 10% 6% 4%;
  z-index: 0;
  border-radius: 44px;
  background:
    radial-gradient(circle at 50% 60%, rgba(42, 165, 234, .28), transparent 38%),
    radial-gradient(circle at 74% 38%, rgba(139, 72, 242, .2), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .08), transparent);
  filter: blur(6px);
  opacity: .92;
}

.people-grid {
  inset: 12% 10% 8%;
  z-index: 0;
  border-radius: 38px;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 50% 58%, #000 0 44%, transparent 74%);
  opacity: .48;
}

.people-cutout {
  right: clamp(-72px, -5vw, -24px);
  bottom: -2px;
  z-index: 3;
  width: min(112%, 720px);
  max-width: none;
  filter:
    drop-shadow(0 30px 46px rgba(3, 8, 18, .32))
    drop-shadow(0 0 28px rgba(42, 165, 234, .16));
  transform: translate3d(0, 0, 0);
}

.people-badge {
  left: clamp(22px, 3vw, 34px);
  top: clamp(22px, 3vw, 34px);
  z-index: 4;
  display: grid;
  gap: 5px;
  max-width: 260px;
  padding: 15px 17px;
  border: 1px solid rgba(245, 246, 255, .14);
  border-radius: 22px;
  color: #fff;
  background: rgba(3, 8, 18, .5);
  backdrop-filter: blur(18px);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, .2),
    inset 0 1px 0 rgba(255, 255, 255, .1);
}

.people-badge span {
  color: #52c9ff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.people-badge strong {
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.people-signal {
  left: 8%;
  right: 8%;
  bottom: 28px;
  z-index: 2;
  height: 42%;
  pointer-events: none;
  opacity: .84;
}

.people-signal span {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(42, 165, 234, .86), rgba(139, 72, 242, .62), transparent);
  transform-origin: center;
  filter: drop-shadow(0 0 14px rgba(42, 165, 234, .28));
  animation: peopleSignalLine 4.2s ease-in-out infinite;
}

.people-signal span:nth-child(1) {
  top: 22%;
  transform: rotate(-9deg);
}

.people-signal span:nth-child(2) {
  top: 48%;
  transform: rotate(5deg);
  animation-delay: .65s;
}

.people-signal span:nth-child(3) {
  top: 72%;
  transform: rotate(-4deg);
  animation-delay: 1.2s;
}

html.theme-bright .people-visual {
  border-color: rgba(15, 23, 42, .08);
  background:
    radial-gradient(circle at 50% 24%, rgba(42, 165, 234, .16), transparent 24rem),
    radial-gradient(circle at 86% 12%, rgba(139, 72, 242, .11), transparent 21rem),
    linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(232, 246, 255, .72) 52%, rgba(240, 234, 255, .62)),
    rgba(255, 255, 255, .84);
  box-shadow:
    0 30px 90px rgba(41, 62, 101, .11),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

html.theme-bright .people-visual::before {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .74), transparent 38%),
    linear-gradient(180deg, transparent 56%, rgba(225, 241, 255, .5));
}

html.theme-bright .people-glow {
  background:
    radial-gradient(circle at 50% 60%, rgba(42, 165, 234, .18), transparent 40%),
    radial-gradient(circle at 74% 38%, rgba(139, 72, 242, .12), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .92), transparent);
}

html.theme-bright .people-grid {
  background:
    linear-gradient(rgba(38,88,132,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38,88,132,.055) 1px, transparent 1px);
}

html.theme-bright .people-cutout {
  filter:
    drop-shadow(0 30px 42px rgba(35, 82, 118, .18))
    drop-shadow(0 0 24px rgba(42, 165, 234, .16));
}

html.theme-bright .people-badge {
  color: #111a2e;
  border-color: rgba(38, 88, 132, .11);
  background: rgba(255, 255, 255, .72);
  box-shadow:
    0 18px 48px rgba(35, 82, 118, .11),
    inset 0 1px 0 rgba(255, 255, 255, .86);
}

html.theme-bright .people-badge span {
  color: #2aa5ea;
}

html.theme-bright .people-signal span {
  background: linear-gradient(90deg, transparent, rgba(42, 165, 234, .72), rgba(139, 72, 242, .46), transparent);
}

@keyframes peopleSignalLine {
  0%,
  100% {
    opacity: .18;
    background-position: -120px 0;
  }
  48% {
    opacity: .84;
  }
}

@media (hover: hover) and (pointer: fine) {
  .people-visual:hover .people-cutout {
    transform: translate3d(0, -8px, 0);
    filter:
      drop-shadow(0 36px 48px rgba(35, 82, 118, .2))
      drop-shadow(0 0 34px rgba(42, 165, 234, .2));
  }
}

@media (prefers-reduced-motion: no-preference) {
  .people-cutout {
    transition:
      transform 520ms cubic-bezier(.22, 1, .36, 1),
      filter 520ms cubic-bezier(.22, 1, .36, 1);
  }
}

@media (max-width: 980px) {
  .people-visual {
    min-height: 500px;
  }

  .people-cutout {
    right: -48px;
    width: min(120%, 680px);
  }
}

@media (max-width: 680px) {
  .people-visual {
    min-height: 430px;
    border-radius: 36px;
  }

  .people-cutout {
    right: -66px;
    bottom: 0;
    width: 132%;
  }

  .people-badge {
    left: 18px;
    top: 18px;
    max-width: min(240px, calc(100% - 36px));
    padding: 13px 15px;
    border-radius: 20px;
  }

  .people-badge strong {
    font-size: 21px;
  }

  .people-signal {
    left: 4%;
    right: 4%;
    bottom: 20px;
  }
}

/* Location building renders: integrated into the existing Kosovo location cards */
.office {
  width: min(342px, calc(100% - 44px));
  min-height: 130px;
  padding: 22px 20px 20px 134px;
  overflow: visible;
}

.office-render {
  position: absolute;
  left: 8px;
  bottom: 6px;
  z-index: 1;
  width: 120px;
  height: 112px;
  object-fit: contain;
  pointer-events: none;
  transform: translate3d(0, 0, 0) scale(.98);
  filter:
    drop-shadow(0 18px 20px rgba(0, 0, 0, .24))
    drop-shadow(0 0 18px rgba(50, 157, 224, .12));
}

.office::before {
  left: 108px;
  top: 24px;
  z-index: 3;
  width: 18px;
  height: 18px;
}

.office::after {
  left: 116px;
  top: 43px;
  bottom: 18px;
  z-index: 0;
  opacity: .34;
}

.office strong,
.office span {
  position: relative;
  z-index: 2;
}

.office strong {
  font-size: 16px;
  line-height: 1.14;
}

.office span {
  line-height: 1.35;
}

.office:hover .office-render,
.office.is-active .office-render {
  transform: translate3d(-3px, -5px, 0) scale(1.04);
  filter:
    drop-shadow(0 22px 24px rgba(0, 0, 0, .28))
    drop-shadow(0 0 24px rgba(50, 157, 224, .22))
    drop-shadow(0 0 16px rgba(126, 79, 223, .14));
}

.office.pr {
  left: 7%;
  top: 11%;
}

.office.li {
  right: 5%;
  top: 45%;
}

.office.vu {
  left: 8%;
  bottom: 8%;
}

html.theme-bright .office-render {
  filter:
    drop-shadow(0 18px 22px rgba(35, 82, 118, .18))
    drop-shadow(0 0 16px rgba(42, 165, 234, .12));
}

html.theme-bright .office:hover .office-render,
html.theme-bright .office.is-active .office-render {
  filter:
    drop-shadow(0 22px 24px rgba(35, 82, 118, .2))
    drop-shadow(0 0 24px rgba(42, 165, 234, .18))
    drop-shadow(0 0 18px rgba(139, 72, 242, .1));
}

@media (prefers-reduced-motion: no-preference) {
  .office-render {
    transition:
      transform 420ms cubic-bezier(.22, 1, .36, 1),
      filter 420ms cubic-bezier(.22, 1, .36, 1);
  }
}

@media (max-width: 980px) {
  .map-panel {
    min-height: 760px;
  }

  .office {
    width: min(360px, calc(100% - 44px));
  }

  .office.pr {
    left: 22px;
    top: 42px;
  }

  .office.li {
    right: 22px;
    top: 310px;
  }

  .office.vu {
    left: 22px;
    bottom: 42px;
  }
}

@media (max-width: 680px) {
  .map-panel {
    min-height: 860px;
    padding: 20px;
  }

  .kosovo-map {
    top: 49%;
    width: min(440px, 90%);
    opacity: .36;
  }

  .office {
    left: 20px !important;
    right: auto !important;
    width: calc(100% - 40px);
    min-height: 118px;
    padding: 18px 16px 17px 122px;
    border-radius: 24px;
  }

  .office-render {
    left: 6px;
    bottom: 5px;
    width: 110px;
    height: 102px;
  }

  .office::before {
    left: 98px;
    top: 22px;
  }

  .office::after {
    left: 106px;
    top: 42px;
    bottom: 18px;
  }

  .office.pr {
    top: 52px;
  }

  .office.li {
    top: 312px;
  }

  .office.vu {
    top: auto;
    bottom: 44px;
  }
}

/* Partnership CTA with hand assets */
.partnership-cta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr);
  align-items: center;
  min-height: 410px;
  padding: clamp(34px, 5vw, 58px);
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 76% 45%, rgba(42, 165, 234, .18), transparent 24rem),
    radial-gradient(circle at 42% 100%, rgba(139, 72, 242, .15), transparent 26rem),
    linear-gradient(135deg, rgba(245, 246, 255, .07), rgba(245, 246, 255, .035));
}

.partnership-cta::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .13), transparent 34%, rgba(42, 165, 234, .09)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 76px);
  pointer-events: none;
}

.partnership-copy {
  position: relative;
  z-index: 4;
  max-width: 620px;
}

.partnership-copy h2 {
  max-width: 760px;
}

.partnership-copy .button {
  margin-top: 26px;
}

.partnership-visual {
  position: relative;
  z-index: 2;
  min-height: 320px;
  width: 100%;
  pointer-events: none;
}

.partnership-orbit,
.partnership-core,
.partnership-beam,
.partnership-hand {
  position: absolute;
}

.partnership-orbit {
  left: 50%;
  top: 50%;
  width: min(330px, 62vw);
  aspect-ratio: 1;
  border: 1px solid rgba(245, 246, 255, .13);
  border-radius: 999px;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle, rgba(255, 255, 255, .1), rgba(42, 165, 234, .08) 34%, rgba(139, 72, 242, .055) 55%, transparent 72%);
  box-shadow:
    0 0 42px rgba(42, 165, 234, .11),
    inset 0 0 46px rgba(139, 72, 242, .08);
}

.partnership-orbit::before,
.partnership-orbit::after {
  content: "";
  position: absolute;
  inset: 24px;
  border-radius: inherit;
  border: 1px solid rgba(42, 165, 234, .12);
}

.partnership-orbit::after {
  inset: 58px;
  border-color: rgba(139, 72, 242, .12);
}

.partnership-core {
  left: 50%;
  top: 50%;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(245, 246, 255, .18);
  border-radius: 36px;
  color: #fff;
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .26), transparent 24%),
    linear-gradient(135deg, rgba(42, 165, 234, .9), rgba(139, 72, 242, .88));
  box-shadow:
    0 22px 70px rgba(42, 165, 234, .28),
    0 0 46px rgba(139, 72, 242, .2),
    inset 0 1px 0 rgba(255, 255, 255, .22);
  transform: translate(-50%, -50%) rotate(-5deg);
}

.partnership-core span {
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .18em;
}

.partnership-core::before,
.partnership-core::after {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(245, 246, 255, .18);
  border-radius: inherit;
  animation: partnershipPulse 2.8s ease-out infinite;
}

.partnership-core::after {
  inset: -22px;
  border-color: rgba(42, 165, 234, .14);
  animation-delay: .9s;
}

.partnership-beam {
  top: 50%;
  z-index: 2;
  width: 42%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .82), rgba(42, 165, 234, .74), rgba(139, 72, 242, .46), transparent);
  filter: drop-shadow(0 0 18px rgba(42, 165, 234, .38));
  opacity: .74;
  transform-origin: center;
}

.beam-a {
  left: 8%;
  transform: translateY(-50%) rotate(2deg);
}

.beam-b {
  right: 8%;
  transform: translateY(-50%) rotate(-2deg);
}

.partnership-hand {
  z-index: 3;
  width: min(52vw, 430px);
  max-width: none;
  filter:
    drop-shadow(0 24px 30px rgba(0, 0, 0, .28))
    drop-shadow(0 0 26px rgba(42, 165, 234, .18));
}

.hand-left {
  left: -15%;
  top: 33%;
  transform: translate3d(0, -50%, 0) rotate(1deg);
}

.hand-right {
  right: -16%;
  top: 56%;
  transform: translate3d(0, -50%, 0) rotate(-3deg);
}

html.theme-bright .partnership-cta {
  border-color: rgba(15, 23, 42, .08);
  background:
    radial-gradient(circle at 76% 45%, rgba(42, 165, 234, .16), transparent 24rem),
    radial-gradient(circle at 42% 100%, rgba(139, 72, 242, .11), transparent 26rem),
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(232, 246, 255, .72) 52%, rgba(240, 234, 255, .62)),
    rgba(255, 255, 255, .82);
}

html.theme-bright .partnership-cta::before {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .72), transparent 34%, rgba(42, 165, 234, .08)),
    repeating-linear-gradient(90deg, rgba(38,88,132,.045) 0 1px, transparent 1px 76px);
}

html.theme-bright .partnership-orbit {
  border-color: rgba(38, 88, 132, .08);
  background:
    radial-gradient(circle, rgba(255, 255, 255, .76), rgba(42, 165, 234, .1) 34%, rgba(139, 72, 242, .07) 55%, transparent 72%);
  box-shadow:
    0 0 42px rgba(42, 165, 234, .13),
    inset 0 0 46px rgba(255, 255, 255, .64);
}

html.theme-bright .partnership-hand {
  filter:
    drop-shadow(0 24px 30px rgba(35, 82, 118, .17))
    drop-shadow(0 0 24px rgba(42, 165, 234, .17));
}

html.theme-bright .partnership-beam {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .88), rgba(42, 165, 234, .72), rgba(139, 72, 242, .42), transparent);
}

@media (prefers-reduced-motion: no-preference) {
  .partnership-orbit {
    animation: partnershipOrbit 7s ease-in-out infinite alternate;
  }

  .hand-left {
    animation: partnershipHandLeft 4.8s cubic-bezier(.22, 1, .36, 1) infinite;
  }

  .hand-right {
    animation: partnershipHandRight 5.2s cubic-bezier(.22, 1, .36, 1) infinite;
  }

  .partnership-beam {
    animation: partnershipBeam 3.6s ease-in-out infinite;
  }

  .beam-b {
    animation-delay: .55s;
  }
}

@keyframes partnershipPulse {
  from {
    opacity: .62;
    transform: scale(.78);
  }
  to {
    opacity: 0;
    transform: scale(1.35);
  }
}

@keyframes partnershipOrbit {
  from {
    opacity: .74;
    transform: translate(-50%, -50%) scale(.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.04);
  }
}

@keyframes partnershipHandLeft {
  0%,
  100% {
    transform: translate3d(-6px, -50%, 0) rotate(1deg);
  }
  50% {
    transform: translate3d(12px, -53%, 0) rotate(-1deg);
  }
}

@keyframes partnershipHandRight {
  0%,
  100% {
    transform: translate3d(8px, -50%, 0) rotate(-3deg);
  }
  50% {
    transform: translate3d(-12px, -48%, 0) rotate(-1deg);
  }
}

@keyframes partnershipBeam {
  0%,
  100% {
    opacity: .24;
    filter: blur(1px) drop-shadow(0 0 12px rgba(42, 165, 234, .22));
  }
  50% {
    opacity: .92;
    filter: blur(0) drop-shadow(0 0 22px rgba(42, 165, 234, .44));
  }
}

@media (max-width: 980px) {
  .partnership-cta {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: auto;
  }

  .partnership-visual {
    min-height: 280px;
  }

  .partnership-hand {
    width: min(65vw, 360px);
  }

  .hand-left {
    left: -18%;
    top: 42%;
  }

  .hand-right {
    right: -18%;
    top: 58%;
  }
}

@media (max-width: 680px) {
  .partnership-cta {
    padding: 30px 24px 24px;
    border-radius: 36px;
  }

  .partnership-visual {
    min-height: 250px;
    margin-top: 4px;
  }

  .partnership-copy .button {
    width: 100%;
  }

  .partnership-core {
    width: 92px;
    height: 92px;
    border-radius: 28px;
  }

  .partnership-core span {
    font-size: 11px;
  }

  .partnership-hand {
    width: min(82vw, 310px);
  }

  .hand-left {
    left: -38%;
    top: 42%;
  }

  .hand-right {
    right: -40%;
    top: 60%;
  }

  .partnership-orbit {
    width: 230px;
  }

  .partnership-beam {
    width: 46%;
  }
}

/* Confirmed ISO certification badges */
.certification-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.certification-badge {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 10px;
  min-width: 148px;
  padding: 10px 14px 10px 10px;
  border: 1px solid rgba(245, 246, 255, .13);
  border-radius: 20px;
  background:
    radial-gradient(circle at 22% 24%, rgba(42, 165, 234, .14), transparent 38%),
    rgba(3, 8, 18, .28);
  box-shadow:
    0 16px 38px rgba(0, 0, 0, .16),
    inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.certification-badge::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0 38%, rgba(255, 255, 255, .18), transparent 66%);
  transform: translateX(-120%);
  pointer-events: none;
  opacity: .8;
}

.certification-badge img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 8px 22px rgba(42, 165, 234, .13);
}

.certification-badge span {
  position: relative;
  z-index: 1;
  color: rgba(245, 246, 255, .88);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.certification-badge:hover {
  border-color: rgba(42, 165, 234, .32);
  transform: translateY(-3px);
  box-shadow:
    0 20px 44px rgba(42, 165, 234, .12),
    inset 0 1px 0 rgba(255, 255, 255, .1);
}

html.theme-bright .certification-badge {
  border-color: rgba(38, 88, 132, .1);
  background:
    radial-gradient(circle at 22% 24%, rgba(42, 165, 234, .1), transparent 38%),
    rgba(255, 255, 255, .68);
  box-shadow:
    0 16px 38px rgba(35, 82, 118, .1),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

html.theme-bright .certification-badge span {
  color: rgba(17, 26, 46, .82);
}

html.theme-bright .certification-badge img {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 20px rgba(35, 82, 118, .1);
}

html.theme-bright .certification-badge:hover {
  border-color: rgba(42, 165, 234, .28);
  box-shadow:
    0 20px 44px rgba(35, 82, 118, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94);
}

@media (prefers-reduced-motion: no-preference) {
  .certification-badge {
    transition:
      transform 260ms cubic-bezier(.22, 1, .36, 1),
      border-color 260ms ease,
      box-shadow 260ms ease;
  }

  .certification-badge:hover::after {
    animation: certificationSweep 720ms cubic-bezier(.22, 1, .36, 1) both;
  }
}

@keyframes certificationSweep {
  to {
    transform: translateX(120%);
  }
}

@media (max-width: 680px) {
  .certification-badges {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 20px;
  }

  .certification-badge {
    min-width: 0;
    grid-template-columns: 44px 1fr;
    padding: 9px 12px 9px 9px;
  }

  .certification-badge img {
    width: 44px;
    height: 44px;
  }
}

/* Final mobile correction: keep all location cards compact like Prishtina */
@media (max-width: 680px) {
  .map-panel {
    min-height: 650px !important;
    padding: 20px !important;
  }

  .map-panel .radar-grid {
    inset: 16px !important;
  }

  .map-panel .radar-ring,
  .map-panel .radar-sweep {
    top: 52% !important;
  }

  .map-panel .kosovo-map {
    top: 52% !important;
    width: min(390px, 86%) !important;
    opacity: .3 !important;
  }

  .map-panel .office {
    left: 20px !important;
    right: auto !important;
    bottom: auto !important;
    width: calc(100% - 40px) !important;
    height: auto !important;
    min-height: 120px !important;
    max-height: 138px !important;
    padding: 18px 16px 17px 122px !important;
    border-radius: 24px !important;
  }

  .map-panel .office.pr {
    top: 42px !important;
  }

  .map-panel .office.li {
    top: 244px !important;
  }

  .map-panel .office.vu {
    top: 446px !important;
  }

  .map-panel .office-render {
    left: 6px !important;
    bottom: 5px !important;
    width: 110px !important;
    height: 102px !important;
  }

  .map-panel .office::before {
    left: 98px !important;
    top: 22px !important;
  }

  .map-panel .office::after {
    left: 106px !important;
    top: 42px !important;
    bottom: 18px !important;
  }
}

@media (min-width: 681px) and (max-width: 980px) {
  .map-panel .office.pr,
  .map-panel .office.li,
  .map-panel .office.vu {
    bottom: auto !important;
  }

  .map-panel .office.pr {
    top: 42px !important;
  }

  .map-panel .office.li {
    top: 300px !important;
  }

  .map-panel .office.vu {
    top: 558px !important;
  }
}

/* Final mobile correction: people and hand visuals must not crop awkwardly */
@media (max-width: 680px) {
  .people-visual {
    min-height: 460px !important;
    place-items: end center !important;
  }

  .people-cutout {
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(104%, 520px) !important;
    max-width: 104% !important;
    transform: translate3d(-50%, 0, 0) !important;
  }

  .people-badge {
    max-width: calc(100% - 44px) !important;
  }

  .people-visual:hover .people-cutout {
    transform: translate3d(-50%, -4px, 0) !important;
  }

  .partnership-visual {
    min-height: 260px !important;
    overflow: visible !important;
  }

  .partnership-core {
    z-index: 5 !important;
  }

  .partnership-hand {
    width: min(62vw, 250px) !important;
    filter:
      drop-shadow(0 18px 24px rgba(35, 82, 118, .16))
      drop-shadow(0 0 18px rgba(42, 165, 234, .14)) !important;
  }

  .hand-left {
    left: -18% !important;
    top: 55% !important;
    transform: translate3d(0, -50%, 0) rotate(2deg) !important;
  }

  .hand-right {
    right: -18% !important;
    top: 58% !important;
    transform: translate3d(0, -50%, 0) rotate(-2deg) !important;
  }

  .beam-a {
    left: 14% !important;
  }

  .beam-b {
    right: 14% !important;
  }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 680px) {
  .hand-left {
    animation: partnershipHandLeftMobile 4.8s cubic-bezier(.22, 1, .36, 1) infinite !important;
  }

  .hand-right {
    animation: partnershipHandRightMobile 5.2s cubic-bezier(.22, 1, .36, 1) infinite !important;
  }
}

@keyframes partnershipHandLeftMobile {
  0%,
  100% {
    transform: translate3d(-4px, -50%, 0) rotate(2deg);
  }
  50% {
    transform: translate3d(8px, -52%, 0) rotate(0deg);
  }
}

@keyframes partnershipHandRightMobile {
  0%,
  100% {
    transform: translate3d(4px, -50%, 0) rotate(-2deg);
  }
  50% {
    transform: translate3d(-8px, -48%, 0) rotate(0deg);
  }
}

/* Performance pass: mobile/touch devices keep the premium layout, but remove
   scroll-linked decorative motion that causes Safari/iPhone jank. */
html.motion-lite {
  scroll-behavior: auto !important;
}

html.motion-lite .scroll-light,
html.motion-lite .fline-journey-shell,
html.motion-lite .journey-rail,
html.motion-lite .journey-packet,
html.motion-lite .journey-bloom,
html.motion-lite .journey-beacon,
html.motion-lite .fline-signal-journey,
html.motion-lite .signal-cursor-glow,
html.motion-lite .signal-packet,
html.motion-lite .signal-caption,
html.motion-lite .signal-orb,
html.motion-lite .signal-rail {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

html.motion-lite body.signal-enhanced main > section::before,
html.motion-lite .journey-step::before,
html.motion-lite .journey-step::after {
  content: none !important;
  display: none !important;
}

html.motion-lite .journey-step,
html.motion-lite .signal-enhanced .service-strip,
html.motion-lite .signal-enhanced .service-card,
html.motion-lite .signal-enhanced .proof-node,
html.motion-lite .signal-enhanced .process-line article,
html.motion-lite .signal-enhanced .office,
html.motion-lite .signal-enhanced .glass,
html.motion-lite .signal-enhanced .assurance,
html.motion-lite .signal-enhanced .apply-form,
html.motion-lite .signal-enhanced .contact-form,
html.motion-lite .signal-enhanced .legal-card,
html.motion-lite .signal-enhanced .footer-links a {
  transform: none !important;
  filter: none !important;
}

html.motion-lite .radar-ring,
html.motion-lite .radar-sweep,
html.motion-lite .map-route,
html.motion-lite .map-packet,
html.motion-lite .map-beam,
html.motion-lite .certification-badge::after {
  animation: none !important;
}

html.motion-lite .hero-stage,
html.motion-lite .live-desk,
html.motion-lite .fline-character,
html.motion-lite .message-core,
html.motion-lite .operator-card,
html.motion-lite .people-cutout,
html.motion-lite .partnership-hand,
html.motion-lite .office-render,
html.motion-lite .kosovo-map,
html.motion-lite .service-card,
html.motion-lite .service-strip,
html.motion-lite .proof-node,
html.motion-lite .process-line article,
html.motion-lite .form-step,
html.motion-lite .glass {
  will-change: auto !important;
}

@media (max-width: 780px), (hover: none) and (pointer: coarse) {
  html.motion-lite .site-header,
  html.motion-lite .glass,
  html.motion-lite .service-card,
  html.motion-lite .service-strip,
  html.motion-lite .proof-node,
  html.motion-lite .process-line article,
  html.motion-lite .office,
  html.motion-lite .apply-form,
  html.motion-lite .contact-form,
  html.motion-lite .legal-card,
  html.motion-lite .site-footer {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html.motion-lite .people-visual:hover .people-cutout,
  html.motion-lite .service-card:hover,
  html.motion-lite .service-strip:hover,
  html.motion-lite .certification-badge:hover {
    transform: none !important;
  }

  html.motion-lite .fline-character {
    animation-duration: 6.4s !important;
  }

  html.motion-lite .hero-mark-body {
    animation-duration: 7.2s !important;
  }

  html.motion-lite .hero-mark-eye {
    animation-duration: 5.8s !important;
  }

  html.motion-lite .live-headset {
    animation-duration: 7.2s !important;
  }

  html.motion-lite .headset-arc {
    animation: headsetPulse 4.8s ease-in-out infinite, headsetFloat 7.4s ease-in-out infinite !important;
    filter: drop-shadow(0 0 14px rgba(50, 157, 224, .34)) !important;
  }

  html.motion-lite .ear-pad {
    animation-duration: 4.4s !important;
  }

  html.motion-lite .mic-arm,
  html.motion-lite .mic-dot {
    animation-duration: 3.8s !important;
  }

  html.motion-lite .message-core {
    animation-duration: 6.4s !important;
  }

  html.motion-lite .message-aura {
    animation: messageAuraPower 5.2s ease-in-out infinite !important;
    filter: blur(10px) !important;
    opacity: .42 !important;
  }

  html.motion-lite .message-lift {
    animation: messageLiftPower 5.4s ease-in-out infinite !important;
    filter: none !important;
    opacity: .42 !important;
  }

  html.motion-lite .message-envelope::before,
  html.motion-lite .message-line {
    animation-duration: 3.8s !important;
  }

  html.motion-lite .operator-signal::before,
  html.motion-lite .operator-signal::after {
    animation-duration: 4.2s !important;
  }

  html.motion-lite .operator-person,
  html.motion-lite .operator-arm,
  html.motion-lite .operator-laptop {
    animation-duration: 4.8s !important;
  }

  html.motion-lite .people-signal span {
    animation-duration: 7.2s !important;
    filter: none !important;
    opacity: .26 !important;
  }

  html.motion-lite .partnership-orbit,
  html.motion-lite .partnership-beam,
  html.motion-lite .partnership-hand {
    animation-duration: 7s !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html *,
  html *::before,
  html *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

@media (max-width: 780px), (hover: none) and (pointer: coarse) {
  .scroll-light,
  .fline-signal-journey,
  .signal-cursor-glow,
  .fline-journey-shell,
  .journey-rail,
  .journey-packet,
  .journey-bloom,
  .journey-beacon {
    display: none !important;
  }

  .radar-ring,
  .radar-sweep,
  .map-route,
  .map-packet,
  .map-beam,
  .apply-portal::before,
  .portal-aura,
  .portal-orbit,
  .portal-beam,
  .portal-step,
  .portal-avatar,
  .candidate-card,
  .apply-screen,
  .apply-spark {
    animation: none !important;
  }
}

/* Final QA polish: clearer interaction, stable media boxes, lighter mobile painting. */
:root {
  --focus-ring: rgba(50, 157, 224, .42);
}

body {
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea,
select {
  font: inherit;
}

a,
button,
.button,
input,
textarea,
select {
  touch-action: manipulation;
}

img {
  height: auto;
}

.brand img,
.footer-logo img {
  aspect-ratio: 500 / 172;
}

.people-cutout,
.office-render,
.partnership-hand,
.certification-badge img,
.kosovo-map,
.fline-character,
.message-core,
.operator-card {
  backface-visibility: hidden;
}

.button:focus-visible,
.site-nav a:focus-visible,
.footer-links a:focus-visible,
.language-switch button:focus-visible,
.nav-toggle:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}

@media (max-width: 680px) {
  .button,
  .language-switch button,
  .nav-toggle {
    min-height: 44px;
  }

  .service-card,
  .service-strip,
  .proof-node,
  .office,
  .form-step,
  .legal-card,
  .contact-form,
  .apply-form {
    background-clip: padding-box;
  }
}

/* Desktop/laptop width correction: use the monitor, not a tablet-sized shell. */
@media (min-width: 1100px) {
  :root {
    --desktop-shell: min(calc(100vw - 96px), 1640px);
  }

  .site-header,
  main > section,
  .page-band,
  .split-section,
  .services-home,
  .services-board,
  .services-board.services-uniform,
  .kosovo-section,
  .proof-section,
  .process-section,
  .assurance,
  .contact-page,
  .apply-page,
  .legal-page,
  .site-footer {
    width: var(--desktop-shell) !important;
    max-width: none !important;
  }

  .site-header {
    min-height: 78px;
    padding-inline: clamp(22px, 2.2vw, 34px);
  }

  .hero.page-band {
    min-height: min(860px, calc(100svh - 90px)) !important;
    grid-template-columns: minmax(520px, .95fr) minmax(540px, 1.05fr) !important;
    gap: clamp(48px, 5vw, 104px) !important;
    align-items: center !important;
    padding-top: clamp(138px, 10vh, 172px) !important;
    padding-bottom: clamp(72px, 8vh, 112px) !important;
  }

  .hero-copy {
    max-width: 780px !important;
  }

  .hero-copy h1 {
    max-width: 780px !important;
    font-size: clamp(72px, 5.7vw, 132px) !important;
    line-height: .84 !important;
  }

  .hero-copy .lede {
    max-width: 690px !important;
    font-size: clamp(18px, 1.15vw, 24px) !important;
  }

  .hero-stage {
    min-height: 660px !important;
    justify-self: stretch !important;
  }

  .live-desk {
    width: min(760px, 46vw) !important;
    min-height: 660px !important;
    justify-self: end !important;
  }

  .split-section,
  .kosovo-section {
    grid-template-columns: minmax(500px, .9fr) minmax(620px, 1.1fr) !important;
    gap: clamp(48px, 4.8vw, 96px) !important;
  }

  .copy-block {
    min-height: 620px;
  }

  .copy-block h2,
  .section-heading h2,
  .partnership-copy h2 {
    font-size: clamp(58px, 4.8vw, 104px) !important;
    line-height: .92 !important;
    max-width: 900px !important;
  }

  .copy-block p,
  .section-heading p,
  .partnership-copy p {
    font-size: clamp(16px, 1.02vw, 20px);
  }

  .people-visual {
    min-height: 650px !important;
  }

  .people-badge {
    left: clamp(34px, 3vw, 54px);
    top: clamp(34px, 3vw, 54px);
    max-width: 430px !important;
  }

  .people-cutout {
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(112%, 940px) !important;
    transform: translate3d(-50%, 0, 0) !important;
  }

  .services-home {
    display: grid !important;
    grid-template-columns: minmax(430px, .58fr) minmax(720px, 1fr) !important;
    gap: clamp(44px, 4.5vw, 86px) !important;
    align-items: start !important;
  }

  .services-home .section-heading {
    max-width: 620px !important;
    margin-bottom: 0 !important;
    position: sticky;
    top: 132px;
  }

  .services-home .button-row {
    grid-column: 2;
  }

  .service-stack {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin: 0 !important;
  }

  .service-strip {
    min-height: 180px;
    align-items: start;
  }

  .services-board,
  .services-board.services-uniform {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    padding: clamp(20px, 2vw, 30px) !important;
  }

  .services-uniform .service-card,
  .service-card {
    min-height: 280px !important;
  }

  .proof-section {
    grid-template-columns: minmax(500px, .88fr) minmax(620px, 1.12fr) !important;
    gap: clamp(48px, 4.8vw, 96px) !important;
  }

  .process-line {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .process-line article {
    min-height: 320px !important;
  }

  .map-panel {
    min-height: 760px !important;
  }

  .office {
    width: min(410px, calc(100% - 56px)) !important;
    min-height: 150px !important;
  }

  .assurance.partnership-cta,
  .assurance {
    grid-template-columns: minmax(540px, .9fr) minmax(700px, 1.1fr) !important;
    gap: clamp(48px, 4.8vw, 96px) !important;
    align-items: center !important;
  }

  .partnership-visual {
    min-height: 500px !important;
  }

  .partnership-hand {
    width: min(44vw, 620px) !important;
  }

  .site-footer {
    display: grid;
    grid-template-columns: minmax(340px, .8fr) minmax(460px, 1fr);
    gap: clamp(28px, 3vw, 52px);
    align-items: start;
  }

  .footer-links {
    grid-template-columns: repeat(5, minmax(120px, 1fr));
  }

  .footer-bottom {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1600px) {
  :root {
    --desktop-shell: min(calc(100vw - 128px), 1840px);
  }

  .hero-copy h1 {
    font-size: clamp(92px, 5.5vw, 150px) !important;
  }

  .live-desk {
    width: min(820px, 43vw) !important;
  }

  .services-board,
  .services-board.services-uniform {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1100px) and (prefers-reduced-motion: no-preference) {
  .motion-ready .hero-copy.reveal {
    animation: desktopHeroCopySafeIn 900ms cubic-bezier(.16, 1, .3, 1) .12s both;
  }
}

@keyframes desktopHeroCopySafeIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@media (min-width: 1100px) {
  .motion-ready .hero-copy.reveal,
  .motion-ready .hero-copy.reveal.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: blur(0) !important;
  }

  .motion-ready .hero-copy.reveal:not(.is-visible) {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: blur(0) !important;
  }

  .motion-ready .hero-copy.reveal:not(.is-visible) .eyebrow,
  .motion-ready .hero-copy.reveal:not(.is-visible) .hero-title,
  .motion-ready .hero-copy.reveal:not(.is-visible) .lede,
  .motion-ready .hero-copy.reveal:not(.is-visible) .button-row {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: blur(0) !important;
    clip-path: none !important;
  }
}

/* Signal rail disabled: keeps the page clean without the side signal/orb system. */
.fline-signal-journey,
.signal-cursor-glow {
  display: none !important;
}

body.signal-enhanced {
  --signal-progress: 0;
}

/* Final responsive/content polish pass: stable readable layout at every viewport. */
.motion-ready .reveal,
.motion-ready .reveal.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  filter: none !important;
}

.motion-ready .title-host.reveal.is-visible .eyebrow,
.motion-ready .title-host.reveal.is-visible .title-animated,
.motion-ready .title-host.reveal.is-visible > p:not(.eyebrow),
.motion-ready .title-host.reveal.is-visible .lede,
.motion-ready .page-hero .eyebrow.reveal,
.motion-ready .page-hero .eyebrow.reveal.is-visible,
.motion-ready .page-hero h1.reveal,
.motion-ready .page-hero h1.reveal.is-visible,
.motion-ready .page-hero .lede.reveal,
.motion-ready .page-hero .lede.reveal.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  filter: none !important;
  clip-path: none !important;
  animation: none !important;
}

.motion-ready .services-uniform.reveal.is-visible .service-card,
.motion-ready .service-stack.reveal.is-visible .service-strip,
.motion-ready .map-panel.reveal.is-visible .office,
.motion-ready .apply-form.reveal.is-visible .form-step {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  filter: none !important;
  animation: none !important;
}

@media (min-width: 1100px) {
  .motion-ready .hero-copy.reveal.is-visible .eyebrow,
  .motion-ready .hero-copy.reveal.is-visible .hero-title,
  .motion-ready .hero-copy.reveal.is-visible .lede,
  .motion-ready .hero-copy.reveal.is-visible .button-row {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: none !important;
    clip-path: none !important;
    animation: none !important;
  }

  .page-hero {
    padding-top: clamp(148px, 12vh, 190px) !important;
    padding-bottom: clamp(70px, 7vh, 110px) !important;
  }

  .page-hero h1 {
    max-width: min(1180px, 86%) !important;
    font-size: clamp(68px, 5vw, 118px) !important;
    line-height: .9 !important;
  }

  .page-hero .lede {
    max-width: 840px !important;
    font-size: clamp(18px, 1.15vw, 23px) !important;
  }

  .contact-form form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-form label.full,
  .contact-form button {
    grid-column: 1 / -1;
  }

  .apply-form .choice-row {
    gap: 10px;
  }
}

@media (min-width: 1280px) and (max-width: 1399px) {
  .services-home {
    grid-template-columns: minmax(340px, .52fr) minmax(600px, 1fr) !important;
    gap: 34px !important;
  }

  .services-home .section-heading {
    max-width: 520px !important;
  }
}

@media (min-width: 1100px) and (max-width: 1279px) {
  :root {
    --desktop-shell: min(calc(100vw - 56px), 1180px);
  }

  .hero.page-band {
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr) !important;
    gap: 32px !important;
    min-height: auto !important;
    padding-top: 132px !important;
    padding-bottom: 72px !important;
  }

  .hero-copy h1 {
    max-width: 560px !important;
    font-size: clamp(62px, 6.4vw, 84px) !important;
    line-height: .9 !important;
  }

  .hero-copy .lede {
    max-width: 560px !important;
    font-size: 18px !important;
  }

  .hero-stage,
  .live-desk {
    min-height: 540px !important;
  }

  .live-desk {
    width: min(520px, 44vw) !important;
  }

  .split-section,
  .kosovo-section,
  .proof-section,
  .assurance.partnership-cta,
  .assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px !important;
  }

  .copy-block,
  .people-visual {
    min-height: 560px !important;
  }

  .copy-block h2,
  .section-heading h2,
  .partnership-copy h2 {
    font-size: clamp(48px, 4.7vw, 68px) !important;
  }

  .services-home {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .services-home .section-heading {
    position: relative !important;
    top: auto !important;
    max-width: 760px !important;
  }

  .services-home .button-row {
    grid-column: auto !important;
  }

  .services-board,
  .services-board.services-uniform {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .services-uniform .service-card,
  .service-card {
    min-height: 250px !important;
  }

  .partnership-visual {
    min-height: 390px !important;
  }

  .partnership-hand {
    width: min(42vw, 460px) !important;
  }
}

@media (min-width: 981px) and (max-width: 1099px) {
  .site-header,
  main > section,
  .site-footer {
    width: min(calc(100% - 48px), 1020px) !important;
    max-width: none !important;
  }

  .hero,
  .split-section,
  .kosovo-section,
  .proof-section,
  .contact-page,
  .apply-page,
  .assurance.partnership-cta,
  .assurance {
    grid-template-columns: 1fr !important;
  }

  .hero {
    min-height: auto !important;
    gap: 34px !important;
    padding-top: 132px !important;
    padding-bottom: 72px !important;
  }

  .hero-copy {
    max-width: 760px !important;
  }

  .hero-copy h1 {
    max-width: 760px !important;
    font-size: clamp(64px, 8vw, 88px) !important;
    line-height: .9 !important;
  }

  .hero-stage,
  .live-desk {
    min-height: 560px !important;
  }

  .live-desk {
    width: min(620px, 100%) !important;
    justify-self: center !important;
  }

  .services-home {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .services-home .section-heading {
    position: relative !important;
    top: auto !important;
    max-width: 760px !important;
  }

  .services-home .button-row {
    grid-column: auto !important;
  }

  .service-stack,
  .services-board,
  .services-board.services-uniform {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .people-visual,
  .map-panel {
    min-height: 620px !important;
  }

  .apply-intro {
    position: relative !important;
    top: auto !important;
    min-height: auto !important;
  }
}

@media (max-width: 680px) {
  html,
  body,
  main {
    overflow-x: hidden !important;
  }

  .site-header {
    left: 10px !important;
    width: calc(100% - 20px) !important;
    transform: none !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
    min-height: 62px !important;
    padding: 9px 10px 9px 12px !important;
  }

  .site-nav {
    grid-column: 1 / -1 !important;
  }

  .brand {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .brand img,
  html.theme-bright .brand.official-logo img {
    width: min(158px, 42vw) !important;
  }

  .brand,
  html.theme-bright .brand.official-logo {
    width: auto !important;
    max-width: min(170px, 44vw) !important;
    min-width: 0 !important;
  }

  .language-switch {
    position: absolute !important;
    left: clamp(190px, calc(100vw - 132px), 246px) !important;
    right: auto !important;
    top: 50% !important;
    grid-column: 2 !important;
    justify-self: end !important;
    margin-right: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }

  .language-switch button {
    min-width: 38px !important;
    padding-inline: 10px !important;
  }

  .nav-toggle {
    position: absolute !important;
    left: clamp(272px, calc(100vw - 58px), 330px) !important;
    right: auto !important;
    top: 50% !important;
    grid-column: 3 !important;
    justify-self: end !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    display: grid !important;
    place-items: center !important;
    transform: translateY(-50%) !important;
    z-index: 4 !important;
  }

  .nav-toggle span {
    margin: 2px auto !important;
  }

  .hero,
  .page-band,
  main > section {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    overflow-x: clip;
  }

  .hero {
    padding-top: 112px !important;
    gap: 24px !important;
  }

  .hero-copy,
  .page-hero,
  .copy-block,
  .section-heading,
  .contact-intro,
  .apply-intro,
  .legal-card {
    text-wrap: balance;
  }

  .hero-copy {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(42px, 11.6vw, 50px) !important;
    line-height: .98 !important;
    letter-spacing: -.042em !important;
  }

  .hero-copy .lede {
    width: min(100%, 34ch) !important;
    max-width: min(100%, 34ch) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .hero-copy .lede,
  .page-hero .lede,
  .copy-block p,
  .section-heading p,
  .contact-intro p,
  .apply-intro p,
  .legal-card p {
    text-wrap: pretty;
  }

  .button-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .button-row .button,
  .contact-form button,
  .apply-form button {
    width: 100%;
  }

  .contact-form form,
  .apply-form form,
  .form-step,
  .choice-row {
    grid-template-columns: 1fr !important;
  }

  .choice-row label,
  .file-drop,
  input,
  textarea,
  select {
    width: 100%;
  }

  .page-hero h1,
  .legal-card h1 {
    overflow-wrap: anywhere;
  }

  .footer-links {
    grid-template-columns: 1fr !important;
  }

  .footer-bottom {
    align-items: stretch;
  }
}

@media (max-width: 380px) {
  .brand img,
  html.theme-bright .brand.official-logo img {
    width: 142px !important;
  }

  .language-switch button {
    min-width: 34px !important;
    padding-inline: 8px !important;
  }

  .hero-copy h1 {
    font-size: clamp(39px, 11.2vw, 45px) !important;
  }
}

/* Final Apply Now cockpit polish */
.apply-page {
  --apply-cta-glow: rgba(42, 165, 234, .22);
}

@media (min-width: 1100px) {
  .apply-page {
    grid-template-columns: minmax(420px, .82fr) minmax(720px, 1.18fr) !important;
    gap: clamp(36px, 4vw, 70px) !important;
    align-items: start;
  }

  .apply-intro,
  .apply-form {
    padding: clamp(34px, 3.2vw, 54px) !important;
  }

  .apply-portal {
    min-height: clamp(420px, 36vw, 560px) !important;
  }
}

.apply-command {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 76px;
  margin: 0 0 4px 42px;
  padding: 18px 20px 25px;
  border: 1px solid rgba(27, 39, 64, .1);
  border-radius: 26px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 12% 0%, rgba(42, 165, 234, .18), transparent 14rem),
    radial-gradient(circle at 94% 30%, rgba(139, 72, 242, .14), transparent 15rem),
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(241, 249, 255, .68)),
    rgba(255, 255, 255, .78);
  box-shadow:
    0 22px 62px rgba(36, 55, 91, .09),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

.apply-command::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background:
    linear-gradient(112deg, transparent 0 22%, rgba(42, 165, 234, .22), rgba(139, 72, 242, .16), transparent 66% 100%);
  opacity: .56;
  transform: translateX(calc(-28% + (var(--form-progress, 0) * 34%)));
  transition: transform 480ms var(--ease), opacity 260ms ease;
  pointer-events: none;
  z-index: -1;
}

.apply-command::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 13px;
  height: 4px;
  border-radius: 999px;
  background: rgba(27, 39, 64, .09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

.apply-command span {
  color: rgba(18, 26, 44, .76);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.apply-command strong {
  color: transparent;
  background: linear-gradient(135deg, #2aa5ea, #2aa5ea 48%, #8b48f2);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 950;
  letter-spacing: -.05em;
  filter: drop-shadow(0 10px 20px rgba(42, 165, 234, .18));
}

.apply-command i {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 13px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2aa5ea, #2aa5ea 52%, #8b48f2);
  transform: scaleX(var(--form-progress, 0));
  transform-origin: left center;
  transition: transform 520ms var(--ease);
  z-index: 1;
  box-shadow: 0 0 18px rgba(42, 165, 234, .28);
}

.apply-command i::after {
  content: "";
  position: absolute;
  right: -7px;
  top: 50%;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: radial-gradient(circle, #fff 0 20%, #2aa5ea 21% 58%, #8b48f2 100%);
  box-shadow:
    0 0 18px rgba(42, 165, 234, .54),
    0 0 34px rgba(139, 72, 242, .25);
  animation: applyProgressNode 2.4s ease-in-out infinite;
}

.apply-cv-step {
  min-height: 104px;
  border-color: rgba(42, 165, 234, .2) !important;
  background:
    radial-gradient(circle at 12% 14%, rgba(42, 165, 234, .18), transparent 22rem),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(239, 248, 255, .72)) !important;
  box-shadow:
    0 26px 74px rgba(36, 55, 91, .1),
    0 0 0 1px rgba(42, 165, 234, .08) inset,
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

.file-drop {
  min-height: 86px;
  justify-content: flex-start;
  gap: 14px;
  padding-inline: 16px;
  overflow: hidden;
}

.file-drop::before {
  content: "";
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% 38%, #fff 0 8%, transparent 9%),
    linear-gradient(135deg, #2aa5ea, #2aa5ea 50%, #8b48f2);
  box-shadow:
    0 16px 34px rgba(42, 165, 234, .18),
    inset 0 1px 0 rgba(255, 255, 255, .58);
}

.file-drop::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(105deg, transparent 0 22%, rgba(42, 165, 234, .18), rgba(255, 255, 255, .7), rgba(139, 72, 242, .12), transparent 72% 100%);
  opacity: .55;
  transform: translateX(-115%);
  animation: fileDropSweep 4.8s var(--ease) infinite;
  pointer-events: none;
}

.file-drop span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-drop.has-file {
  border-color: rgba(42, 165, 234, .42) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(42, 165, 234, .18), transparent 12rem),
    rgba(255, 255, 255, .92) !important;
}

.file-drop.has-file::before {
  background:
    linear-gradient(135deg, #2aa5ea, #8b48f2);
}

.apply-submit {
  position: relative;
  min-height: 66px;
  border: 0;
  overflow: hidden;
  background:
    linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 48%, #8b48f2 100%) !important;
  color: #fff !important;
  box-shadow:
    0 24px 58px var(--apply-cta-glow),
    0 0 0 1px rgba(255, 255, 255, .28) inset;
}

.apply-submit::before {
  content: "";
  position: absolute;
  inset: -2px;
  background:
    linear-gradient(112deg, transparent 0 22%, rgba(255, 255, 255, .68), transparent 58% 100%);
  transform: translateX(-120%);
  animation: applySubmitSweep 4s var(--ease) infinite;
  pointer-events: none;
}

.apply-submit::after {
  content: "";
  width: 10px;
  height: 10px;
  margin-left: 10px;
  border-top: 3px solid currentColor;
  border-right: 3px solid currentColor;
  transform: rotate(45deg);
  transition: transform 220ms var(--ease);
}

.apply-submit:hover::after,
.apply-submit:focus-visible::after {
  transform: translateX(4px) rotate(45deg);
}

html.theme-bright .apply-portal {
  border-color: rgba(42, 165, 234, .16);
  background:
    radial-gradient(circle at var(--portal-focus-x, 28%) 18%, rgba(42, 165, 234, .24), transparent 30%),
    radial-gradient(circle at 74% 74%, rgba(139, 72, 242, .2), transparent 40%),
    linear-gradient(160deg, rgba(255, 255, 255, .86), rgba(234, 247, 255, .66)),
    rgba(255, 255, 255, .78);
  box-shadow:
    inset 0 0 96px rgba(42, 165, 234, .1),
    0 30px 86px rgba(36, 55, 91, .12);
}

html.theme-bright .apply-portal::after {
  right: 18px;
  left: auto;
  top: 18px;
  bottom: auto;
  transform: none;
  color: #10182a;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(240, 248, 255, .72));
  border-color: rgba(42, 165, 234, .2);
}

html.theme-bright .portal-beam,
html.theme-bright .portal-path {
  opacity: .82;
  background: linear-gradient(90deg, transparent, rgba(42, 165, 234, .92), rgba(255, 255, 255, .9), rgba(139, 72, 242, .72), transparent);
  filter: drop-shadow(0 0 18px rgba(42, 165, 234, .34));
}

html.theme-bright .portal-step {
  box-shadow:
    0 0 18px rgba(42, 165, 234, .7),
    0 0 34px rgba(139, 72, 242, .24);
}

html.theme-bright .candidate-card,
html.theme-bright .apply-laptop {
  backdrop-filter: blur(14px);
}

.apply-page.is-apply-active {
  --apply-cta-glow: rgba(42, 165, 234, .34);
}

.apply-page.is-apply-focused .apply-command {
  border-color: rgba(42, 165, 234, .28);
  box-shadow:
    0 28px 74px rgba(36, 55, 91, .12),
    0 0 0 1px rgba(42, 165, 234, .08) inset,
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

.apply-page.is-apply-focused .portal-beam {
  opacity: .92;
  transform: rotate(-8deg) scaleX(var(--portal-beam-scale, .92));
}

@keyframes applyProgressNode {
  50% {
    transform: translateY(-50%) scale(1.18);
    filter: saturate(1.18) brightness(1.08);
  }
}

@keyframes fileDropSweep {
  0%, 42% { transform: translateX(-115%); opacity: 0; }
  52% { opacity: .58; }
  72%, 100% { transform: translateX(115%); opacity: 0; }
}

@keyframes applySubmitSweep {
  0%, 46% { transform: translateX(-120%); opacity: 0; }
  54% { opacity: .7; }
  74%, 100% { transform: translateX(120%); opacity: 0; }
}

@media (max-width: 980px) {
  .apply-command {
    margin-left: 38px;
  }
}

@media (max-width: 680px) {
  .apply-command {
    min-height: 68px;
    margin-left: 38px;
    padding: 15px 16px 22px;
    border-radius: 22px;
  }

  .apply-command span {
    font-size: 10px;
    letter-spacing: .16em;
  }

  .apply-command strong {
    font-size: 24px;
  }

  .apply-cv-step {
    min-height: 96px;
  }

  .file-drop {
    min-height: 78px;
  }

  .apply-submit {
    min-height: 60px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .apply-command i::after,
  .file-drop::after,
  .apply-submit::before {
    animation: none !important;
  }
}

html.motion-lite .apply-command i::after,
html.motion-lite .file-drop::after,
html.motion-lite .apply-submit::before {
  animation: none !important;
}

@media (max-width: 680px) {
  .apply-intro h1 {
    max-width: 10.8ch !important;
    font-size: clamp(35px, 9.2vw, 38px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: balance;
  }

  .apply-tags {
    display: grid !important;
    grid-template-columns: repeat(2, max-content);
    max-width: 100%;
    overflow: visible;
  }

  .apply-tags span {
    min-width: 0 !important;
    white-space: nowrap;
  }

  .apply-portal::after {
    right: 12px !important;
    top: 14px !important;
  }

  .apply-portal {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  .apply-laptop {
    right: 5% !important;
    width: 112px !important;
    height: 82px !important;
  }

  .candidate-card {
    left: 9% !important;
    width: 88px !important;
    height: 118px !important;
  }
}

/* Final hero intake upgrade: dark FLINE-blue entry with safe, non-blocking motion */
.hero.page-band {
  position: relative;
  isolation: isolate;
  overflow: hidden !important;
}

.hero.page-band > .hero-copy,
.hero.page-band > .hero-stage {
  position: relative;
  z-index: 2;
}

html.theme-bright .hero.page-band {
  --hero-navy: #06182c;
  --hero-navy-2: #0a2542;
  --hero-cyan: #2aa5ea;
  --hero-purple: #8b48f2;
  color: #f8fbff;
  border: 1px solid rgba(111, 211, 255, .2);
  background:
    radial-gradient(circle at 82% 18%, rgba(42, 165, 234, .22), transparent 28rem),
    radial-gradient(circle at 54% 82%, rgba(139, 72, 242, .2), transparent 34rem),
    linear-gradient(135deg, #061525 0%, #0b2746 48%, #071322 100%) !important;
  box-shadow:
    0 34px 110px rgba(7, 24, 44, .28),
    inset 0 1px 0 rgba(255, 255, 255, .1),
    inset 0 -80px 150px rgba(42, 165, 234, .08);
}

html.theme-bright .hero.page-band::before,
html.theme-bright .hero.page-band::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

html.theme-bright .hero.page-band::before {
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: 82px 82px;
  mask-image: radial-gradient(circle at 63% 42%, #000 0 28%, transparent 76%);
  opacity: .34;
}

html.theme-bright .hero.page-band::after {
  background:
    linear-gradient(90deg, transparent 0 6%, rgba(42, 165, 234, .14) 49%, rgba(255, 255, 255, .07) 50%, transparent 94%),
    radial-gradient(circle at 74% 45%, rgba(255, 255, 255, .13), transparent 18rem);
  opacity: .8;
}

html.theme-bright .hero.page-band .eyebrow {
  color: #68b8e1 !important;
  text-shadow: 0 0 24px rgba(42, 165, 234, .34);
}

html.theme-bright .hero.page-band h1,
html.theme-bright .hero.page-band .hero-title {
  color: #ffffff !important;
  text-shadow:
    0 16px 42px rgba(0, 0, 0, .3),
    0 0 34px rgba(42, 165, 234, .18);
}

html.theme-bright .hero.page-band .hero-title::after,
html.theme-bright .hero.page-band .title-animated::after {
  background: linear-gradient(90deg, rgba(42, 165, 234, 0), rgba(42, 165, 234, 1), rgba(139, 72, 242, .9), rgba(139, 72, 242, 0));
  box-shadow: 0 0 28px rgba(42, 165, 234, .36);
}

html.theme-bright .hero.page-band .lede {
  color: rgba(232, 244, 255, .82) !important;
}

html.theme-bright .hero.page-band .button:not(.secondary) {
  box-shadow:
    0 22px 58px rgba(42, 165, 234, .28),
    0 0 0 1px rgba(255, 255, 255, .22) inset;
}

html.theme-bright .hero.page-band .button.secondary {
  color: #f8fbff;
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  box-shadow:
    0 18px 44px rgba(2, 9, 20, .2),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}

html.theme-bright .hero .hero-stage {
  perspective: 1000px;
}

html.theme-bright .hero .live-desk {
  filter:
    drop-shadow(0 40px 100px rgba(2, 9, 20, .28))
    drop-shadow(0 0 40px rgba(42, 165, 234, .08));
}

html.theme-bright .hero .live-desk::before {
  inset: 5% 0 0;
  border-color: rgba(111, 211, 255, .22);
  background:
    radial-gradient(circle at 50% 16%, rgba(42, 165, 234, .22), transparent 22rem),
    radial-gradient(circle at 74% 70%, rgba(139, 72, 242, .18), transparent 24rem),
    linear-gradient(145deg, rgba(9, 30, 54, .88), rgba(6, 18, 34, .72)),
    rgba(6, 18, 34, .74);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    inset 0 0 90px rgba(42, 165, 234, .1),
    0 30px 110px rgba(0, 0, 0, .28);
  animation: heroDeskSoftBreathe 9s ease-in-out infinite;
}

html.theme-bright .hero .live-desk::after {
  top: 20%;
  left: 8%;
  right: 8%;
  height: 58%;
  background:
    radial-gradient(ellipse at center, rgba(42, 165, 234, .18), transparent 58%),
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .1), rgba(42, 165, 234, .12), transparent);
  filter: blur(14px);
  opacity: .78;
  animation: heroDeskAuraSafe 7.5s ease-in-out infinite;
}

.intake-node,
.intake-path {
  position: absolute;
  pointer-events: none;
}

.intake-node {
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .96) 0 10%, transparent 11%),
    radial-gradient(circle at 50% 50%, rgba(42, 165, 234, .94) 0 33%, transparent 34%),
    linear-gradient(135deg, rgba(42, 165, 234, .16), rgba(139, 72, 242, .12)),
    rgba(7, 20, 37, .62);
  box-shadow:
    0 0 22px rgba(42, 165, 234, .32),
    inset 0 1px 0 rgba(255, 255, 255, .18);
  animation: intakeNodeFloat 4.8s ease-in-out infinite;
}

.intake-node::after {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: 22px;
  border: 1px solid rgba(42, 165, 234, .24);
  opacity: .54;
  animation: intakeNodeRing 3.4s ease-in-out infinite;
}

.node-call {
  left: 6%;
  top: 23%;
}

.node-chat {
  right: 6%;
  top: 30%;
  animation-delay: .7s;
}

.node-mail {
  left: 9%;
  bottom: 28%;
  animation-delay: 1.15s;
}

.intake-path {
  z-index: 2;
  height: 2px;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(90deg, transparent, rgba(42, 165, 234, .52), rgba(255, 255, 255, .32), transparent);
  box-shadow: 0 0 18px rgba(42, 165, 234, .22);
  opacity: .68;
  transform-origin: left center;
}

.intake-path::after {
  content: "";
  position: absolute;
  inset: -1px auto -1px 0;
  width: 44%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .96), rgba(42, 165, 234, .86), transparent);
  transform: translateX(-120%);
  animation: intakePacketTravel 3.4s cubic-bezier(.16, 1, .3, 1) infinite;
}

.path-call {
  left: 14%;
  top: 32%;
  width: 34%;
  transform: rotate(15deg);
}

.path-chat {
  left: 56%;
  top: 38%;
  width: 31%;
  transform: rotate(-15deg);
}

.path-chat::after {
  animation-delay: .56s;
}

.path-mail {
  left: 17%;
  bottom: 34%;
  width: 33%;
  transform: rotate(-12deg);
}

.path-mail::after {
  animation-delay: 1.05s;
}

html.theme-bright .hero .fline-character {
  z-index: 8;
  animation-duration: 5.2s;
}

html.theme-bright .hero .fline-face {
  filter:
    drop-shadow(0 28px 62px rgba(42, 165, 234, .24))
    drop-shadow(0 0 34px rgba(139, 72, 242, .18));
}

html.theme-bright .hero .hero-mark-eye {
  animation-duration: 4.8s;
}

html.theme-bright .hero .live-headset {
  animation-duration: 5.8s;
}

html.theme-bright .hero .headset-arc {
  border-top-color: rgba(42, 165, 234, 1);
  border-left-color: rgba(42, 165, 234, .78);
  border-right-color: rgba(139, 72, 242, .94);
  filter:
    drop-shadow(0 0 16px rgba(42, 165, 234, .5))
    drop-shadow(0 0 26px rgba(139, 72, 242, .26));
}

html.theme-bright .hero .ear-pad {
  border-color: rgba(255, 255, 255, .24);
  background:
    radial-gradient(circle at 34% 20%, rgba(255, 255, 255, .58), transparent 36%),
    linear-gradient(180deg, rgba(42, 165, 234, .28), rgba(139, 72, 242, .22)),
    rgba(8, 27, 48, .42);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .42),
    0 18px 34px rgba(0, 0, 0, .18),
    0 0 28px rgba(42, 165, 234, .24);
}

html.theme-bright .hero .mic-arm {
  border-right-color: rgba(42, 165, 234, .95);
  border-bottom-color: rgba(42, 165, 234, .95);
}

html.theme-bright .hero .mic-dot {
  background: #ffffff;
  box-shadow:
    0 0 18px rgba(255, 255, 255, .86),
    0 0 34px rgba(42, 165, 234, .72),
    0 0 56px rgba(139, 72, 242, .34);
}

html.theme-bright .hero .message-core {
  animation-duration: 4.8s;
  filter:
    saturate(1.14)
    drop-shadow(0 22px 44px rgba(0, 0, 0, .16))
    drop-shadow(0 0 22px rgba(42, 165, 234, .16));
}

html.theme-bright .hero .message-aura {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .34), transparent 28%),
    linear-gradient(135deg, rgba(42, 165, 234, .48), transparent 52%),
    linear-gradient(315deg, rgba(139, 72, 242, .42), transparent 58%);
  filter: blur(16px);
  animation: heroMessageCoreGlow 3.6s ease-in-out infinite;
}

html.theme-bright .hero .message-envelope {
  border-color: rgba(255, 255, 255, .18);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .2), rgba(42, 165, 234, .12), rgba(139, 72, 242, .14)),
    rgba(5, 16, 31, .82);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .2),
    0 16px 48px rgba(0, 0, 0, .2),
    0 0 48px rgba(42, 165, 234, .22);
}

html.theme-bright .hero .message-fold {
  background: rgba(255, 255, 255, .22);
}

html.theme-bright .hero .message-line {
  background: linear-gradient(90deg, rgba(42, 165, 234, .96), rgba(255, 255, 255, .42));
}

html.theme-bright .hero .message-lift {
  background: linear-gradient(180deg, transparent, rgba(42, 165, 234, .2), rgba(255, 255, 255, .74), rgba(139, 72, 242, .5), transparent);
  filter: drop-shadow(0 0 18px rgba(42, 165, 234, .48));
  opacity: .78;
}

html.theme-bright .hero .operator-signal {
  height: 2px;
  opacity: .78;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0) 0 12px, rgba(255, 255, 255, .7) 12px 15px, rgba(255, 255, 255, 0) 15px 28px),
    linear-gradient(90deg, transparent, rgba(42, 165, 234, .78), rgba(255, 255, 255, .74), rgba(139, 72, 242, .58), transparent);
  box-shadow:
    0 0 12px rgba(255, 255, 255, .14),
    0 0 22px rgba(42, 165, 234, .26);
  filter: none;
}

html.theme-bright .hero .operator-signal::before {
  background: radial-gradient(circle, #fff 0 36%, rgba(42, 165, 234, .94) 38% 65%, rgba(139, 72, 242, .24) 80%, transparent);
}

html.theme-bright .hero .operator-card {
  opacity: .96;
  animation-duration: 4.9s;
}

@keyframes heroDeskSoftBreathe {
  0%, 100% {
    opacity: .9;
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    opacity: 1;
    transform: translate3d(0, -3px, 0) scale(1.006);
  }
}

@keyframes heroDeskAuraSafe {
  0%, 100% {
    opacity: .58;
    transform: translate3d(0, 4px, 0) skewY(-3deg);
  }
  50% {
    opacity: .82;
    transform: translate3d(0, -4px, 0) skewY(-3deg);
  }
}

@keyframes intakeNodeFloat {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(0, -6px, 0) scale(1.035);
  }
}

@keyframes intakeNodeRing {
  0%, 100% {
    opacity: .22;
    transform: scale(.88);
  }
  50% {
    opacity: .64;
    transform: scale(1.08);
  }
}

@keyframes intakePacketTravel {
  0%, 38% {
    opacity: 0;
    transform: translateX(-120%);
  }
  50% {
    opacity: .95;
  }
  82%, 100% {
    opacity: 0;
    transform: translateX(230%);
  }
}

@keyframes heroMessageCoreGlow {
  0%, 100% {
    opacity: .38;
    transform: scale(.96);
  }
  48% {
    opacity: .86;
    transform: scale(1.05);
  }
}

@media (max-width: 980px) {
  html.theme-bright .hero.page-band {
    background:
      radial-gradient(circle at 72% 18%, rgba(42, 165, 234, .24), transparent 21rem),
      radial-gradient(circle at 52% 82%, rgba(139, 72, 242, .18), transparent 26rem),
      linear-gradient(145deg, #061525 0%, #0b2746 52%, #071322 100%) !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band {
    padding-top: 116px !important;
    border-radius: 34px;
  }

  html.theme-bright .hero.page-band::before {
    background-size: 58px 58px;
    opacity: .24;
  }

  html.theme-bright .hero .live-desk::before {
    inset: 3% 0 0;
    border-radius: 38px;
  }

  html.theme-bright .hero .live-desk::after {
    filter: blur(10px);
    opacity: .54;
  }

  .intake-node {
    width: 32px;
    height: 32px;
    border-radius: 13px;
  }

  .intake-node::after {
    inset: -6px;
    border-radius: 18px;
  }

  .node-call {
    left: 3%;
    top: 25%;
  }

  .node-chat {
    right: 3%;
    top: 30%;
  }

  .node-mail {
    left: 6%;
    bottom: 32%;
  }

  .path-call {
    left: 12%;
    top: 32%;
    width: 34%;
  }

  .path-chat {
    left: 58%;
    top: 38%;
    width: 30%;
  }

  .path-mail {
    left: 15%;
    bottom: 37%;
    width: 31%;
  }

  html.theme-bright .hero .operator-signal {
    opacity: .58;
  }

  html.theme-bright .hero .message-aura {
    filter: blur(10px);
    opacity: .48;
  }
}

html.motion-lite .hero .live-desk::before,
html.motion-lite .hero .live-desk::after {
  animation: none !important;
}

html.motion-lite .hero .intake-node,
html.motion-lite .hero .fline-character,
html.motion-lite .hero .message-core,
html.motion-lite .hero .operator-card {
  will-change: transform;
}

html.motion-lite .hero .intake-path::after,
html.motion-lite .hero .operator-signal::before,
html.motion-lite .hero .operator-signal::after,
html.motion-lite .hero .message-line,
html.motion-lite .hero .mic-arm,
html.motion-lite .hero .mic-dot {
  animation-duration: 4.8s !important;
}

html.motion-lite .hero .message-aura {
  filter: blur(8px) !important;
  opacity: .46 !important;
}

@media (prefers-reduced-motion: reduce) {
  .intake-node,
  .intake-node::after,
  .intake-path::after,
  html.theme-bright .hero .live-desk::before,
  html.theme-bright .hero .live-desk::after,
  html.theme-bright .hero .message-aura {
    animation: none !important;
  }
}

/* Hero repair pass: keep the dark concept, fix desktop width and mobile rhythm */
@media (min-width: 1100px) {
  :root {
    --desktop-shell: min(calc(100vw - 72px), 2280px);
  }

  html.theme-bright .hero.page-band {
    min-height: min(780px, calc(100svh - 82px)) !important;
    grid-template-columns: minmax(0, .94fr) minmax(520px, 1.06fr) !important;
    gap: clamp(38px, 4vw, 82px) !important;
    align-items: center !important;
    padding: clamp(118px, 8vh, 142px) clamp(38px, 4vw, 84px) clamp(56px, 6vh, 82px) !important;
    border-radius: 46px !important;
  }

  html.theme-bright .hero-copy {
    max-width: 900px !important;
    align-self: center;
  }

  html.theme-bright .hero-copy h1 {
    max-width: 10.8ch !important;
    font-size: clamp(58px, 4.6vw, 112px) !important;
    line-height: .92 !important;
    letter-spacing: -.048em !important;
  }

  html.theme-bright .hero-copy .lede {
    max-width: 65ch !important;
    font-size: clamp(16px, 1vw, 20px) !important;
    line-height: 1.5 !important;
  }

  html.theme-bright .hero-stage {
    min-height: 580px !important;
    align-self: center;
  }

  html.theme-bright .hero .live-desk {
    width: min(740px, 44vw) !important;
    min-height: 600px !important;
    justify-self: end !important;
  }
}

@media (min-width: 1600px) {
  :root {
    --desktop-shell: min(calc(100vw - 88px), 2480px);
  }

  html.theme-bright .hero.page-band {
    grid-template-columns: minmax(680px, .95fr) minmax(760px, 1.05fr) !important;
    min-height: min(820px, calc(100svh - 88px)) !important;
  }

  html.theme-bright .hero-copy h1 {
    font-size: clamp(78px, 4vw, 118px) !important;
  }

  html.theme-bright .hero .live-desk {
    width: min(860px, 40vw) !important;
    min-height: 640px !important;
  }
}

@media (min-width: 2200px) {
  :root {
    --desktop-shell: min(calc(100vw - 120px), 3000px);
  }

  html.theme-bright .hero.page-band {
    grid-template-columns: minmax(760px, .92fr) minmax(860px, 1.08fr) !important;
  }

  html.theme-bright .hero-copy h1 {
    font-size: clamp(86px, 3.35vw, 122px) !important;
  }
}

@media (min-width: 1100px) and (max-width: 1279px) {
  html.theme-bright .hero.page-band {
    min-height: auto !important;
    grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr) !important;
    gap: 30px !important;
    padding-top: 118px !important;
    padding-bottom: 56px !important;
  }

  html.theme-bright .hero-copy h1 {
    max-width: 10.5ch !important;
    font-size: clamp(50px, 4.9vw, 62px) !important;
    line-height: .96 !important;
  }

  html.theme-bright .hero-copy .lede {
    max-width: 56ch !important;
    font-size: 16px !important;
    line-height: 1.46 !important;
  }

  html.theme-bright .hero-stage,
  html.theme-bright .hero .live-desk {
    min-height: 500px !important;
  }

  html.theme-bright .hero .live-desk {
    width: min(500px, 43vw) !important;
  }
}

@media (min-width: 981px) and (max-width: 1099px) {
  html.theme-bright .hero.page-band {
    padding-top: 118px !important;
    padding-bottom: 58px !important;
    gap: 28px !important;
  }

  html.theme-bright .hero-copy h1 {
    max-width: 11ch !important;
    font-size: clamp(56px, 7vw, 74px) !important;
    line-height: .96 !important;
  }

  html.theme-bright .hero-stage,
  html.theme-bright .hero .live-desk {
    min-height: 500px !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band {
    padding-top: 100px !important;
    padding-bottom: 24px !important;
    gap: 14px !important;
    min-height: auto !important;
    border-radius: 30px !important;
  }

  html.theme-bright .hero-copy h1 {
    max-width: 10.8ch !important;
    font-size: clamp(37px, 10.4vw, 44px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.048em !important;
  }

  html.theme-bright .hero-copy .lede {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
  }

  html.theme-bright .hero.page-band .button-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  html.theme-bright .hero.page-band .button {
    min-height: 50px !important;
    padding: 13px 12px !important;
    font-size: 14px !important;
  }

  html.theme-bright .hero-stage {
    min-height: 438px !important;
    margin-top: -4px;
  }

  html.theme-bright .hero .live-desk {
    min-height: 430px !important;
    width: 100% !important;
  }

  html.theme-bright .hero .fline-character {
    top: -6px !important;
    width: 202px !important;
    height: 214px !important;
  }

  html.theme-bright .hero .team-command {
    height: 250px !important;
    bottom: 0 !important;
  }

  html.theme-bright .hero .message-core {
    top: 2px !important;
    width: 126px !important;
    height: 86px !important;
  }

  html.theme-bright .hero .operator-card {
    width: 116px !important;
    height: 158px !important;
  }

  html.theme-bright .hero .operator-a {
    left: 12px !important;
  }

  html.theme-bright .hero .operator-c {
    right: 12px !important;
  }
}

@media (max-width: 380px) {
  html.theme-bright .hero-copy h1 {
    font-size: clamp(35px, 10vw, 40px) !important;
  }

  html.theme-bright .hero.page-band .button {
    font-size: 13px !important;
  }
}

.hero.page-band:not(.is-live-visible)::before,
.hero.page-band:not(.is-live-visible)::after,
.hero.page-band:not(.is-live-visible) .live-desk::before,
.hero.page-band:not(.is-live-visible) .live-desk::after,
.hero.page-band:not(.is-live-visible) .intake-node,
.hero.page-band:not(.is-live-visible) .intake-node::after,
.hero.page-band:not(.is-live-visible) .intake-path::after,
.hero.page-band:not(.is-live-visible) .fline-character,
.hero.page-band:not(.is-live-visible) .hero-mark-body,
.hero.page-band:not(.is-live-visible) .hero-mark-eye,
.hero.page-band:not(.is-live-visible) .live-headset,
.hero.page-band:not(.is-live-visible) .headset-arc,
.hero.page-band:not(.is-live-visible) .ear-pad,
.hero.page-band:not(.is-live-visible) .mic-arm,
.hero.page-band:not(.is-live-visible) .mic-dot,
.hero.page-band:not(.is-live-visible) .message-core,
.hero.page-band:not(.is-live-visible) .message-aura,
.hero.page-band:not(.is-live-visible) .message-lift,
.hero.page-band:not(.is-live-visible) .message-envelope::before,
.hero.page-band:not(.is-live-visible) .message-line,
.hero.page-band:not(.is-live-visible) .operator-signal::before,
.hero.page-band:not(.is-live-visible) .operator-signal::after,
.hero.page-band:not(.is-live-visible) .operator-card,
.hero.page-band:not(.is-live-visible) .operator-person,
.hero.page-band:not(.is-live-visible) .operator-arm,
.hero.page-band:not(.is-live-visible) .laptop-screen,
.hero.page-band:not(.is-live-visible) .laptop-screen::after {
  animation-play-state: paused !important;
}

/* Hero color rollback: restore the premium white opening section */
html.theme-bright .hero.page-band {
  color: #121a2c;
  border-color: rgba(27, 39, 64, .1) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .98), transparent 22rem),
    radial-gradient(circle at 82% 16%, rgba(42, 165, 234, .18), transparent 28rem),
    radial-gradient(circle at 52% 74%, rgba(139, 72, 242, .1), transparent 30rem),
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(239, 248, 255, .72)),
    rgba(255, 255, 255, .78) !important;
  box-shadow:
    0 30px 90px rgba(36, 55, 91, .11),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

html.theme-bright .hero.page-band::before {
  background:
    linear-gradient(rgba(20, 34, 57, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 34, 57, .03) 1px, transparent 1px) !important;
  background-size: 88px 88px !important;
  mask-image: radial-gradient(circle at 58% 38%, #000 0 32%, transparent 78%);
  opacity: .46 !important;
}

html.theme-bright .hero.page-band::after {
  background:
    linear-gradient(90deg, transparent 0 10%, rgba(255, 255, 255, .52) 48%, rgba(42, 165, 234, .12) 52%, transparent 90%),
    radial-gradient(circle at 76% 42%, rgba(42, 165, 234, .13), transparent 18rem) !important;
  opacity: .72 !important;
}

html.theme-bright .hero.page-band .eyebrow {
  color: #315481 !important;
  text-shadow: none !important;
}

html.theme-bright .hero.page-band h1,
html.theme-bright .hero.page-band .hero-title {
  color: #121a2c !important;
  text-shadow: 0 14px 34px rgba(36, 55, 91, .08) !important;
}

html.theme-bright .hero.page-band .hero-title::after,
html.theme-bright .hero.page-band .title-animated::after {
  background: linear-gradient(90deg, rgba(42, 165, 234, 0), rgba(42, 165, 234, .96), rgba(139, 72, 242, .72), rgba(139, 72, 242, 0)) !important;
  box-shadow: 0 0 20px rgba(42, 165, 234, .2) !important;
}

html.theme-bright .hero.page-band .lede {
  color: rgba(28, 42, 68, .76) !important;
}

html.theme-bright .hero.page-band .button.secondary {
  color: #172238 !important;
  border-color: rgba(27, 39, 64, .12) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(246, 251, 255, .62)),
    rgba(255, 255, 255, .72) !important;
  box-shadow:
    0 12px 30px rgba(36, 55, 91, .08),
    inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

html.theme-bright .hero .live-desk {
  filter: drop-shadow(0 30px 70px rgba(30, 74, 120, .08)) !important;
}

html.theme-bright .hero .live-desk::before {
  inset: 8% 1% 2% !important;
  border-color: rgba(15, 23, 42, .08) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(228, 242, 255, .6)),
    radial-gradient(circle at 44% 48%, rgba(42, 165, 234, .12), transparent 26rem) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .88),
    0 28px 90px rgba(41, 62, 101, .1) !important;
}

html.theme-bright .hero .live-desk::after {
  left: 10% !important;
  right: 10% !important;
  top: 43% !important;
  height: 36% !important;
  background:
    linear-gradient(90deg, transparent, rgba(30, 47, 77, .08), rgba(42, 165, 234, .1), transparent),
    linear-gradient(180deg, rgba(255, 255, 255, .4), transparent) !important;
  filter: blur(14px) !important;
  opacity: .74 !important;
}

html.theme-bright .hero .message-envelope {
  border-color: rgba(27, 39, 64, .1) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(228, 243, 255, .66) 48%, rgba(239, 231, 255, .62)),
    rgba(255, 255, 255, .86) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .94),
    0 18px 48px rgba(36, 55, 91, .13),
    0 0 40px rgba(42, 165, 234, .16) !important;
}

html.theme-bright .hero .message-fold {
  background: rgba(27, 39, 64, .2) !important;
}

html.theme-bright .hero .message-line {
  background: linear-gradient(90deg, #2aa5ea, rgba(22, 32, 53, .32)) !important;
}

html.theme-bright .hero .message-aura {
  background:
    linear-gradient(135deg, rgba(42, 165, 234, .28), transparent 52%),
    linear-gradient(315deg, rgba(139, 72, 242, .2), transparent 58%),
    rgba(255, 255, 255, .18) !important;
  filter: blur(14px) !important;
}

html.theme-bright .hero .message-lift {
  background: linear-gradient(180deg, transparent, rgba(15, 23, 42, .08), rgba(42, 165, 234, .58), rgba(91, 115, 223, .38), transparent) !important;
  filter: drop-shadow(0 0 14px rgba(42, 165, 234, .32)) !important;
}

html.theme-bright .hero .operator-signal {
  background:
    repeating-linear-gradient(90deg, rgba(22, 32, 53, 0) 0 10px, rgba(22, 32, 53, .38) 10px 13px, rgba(22, 32, 53, 0) 13px 27px),
    linear-gradient(90deg, rgba(22, 32, 53, .1), rgba(31, 52, 86, .5) 24%, rgba(42, 165, 234, .74) 52%, rgba(139, 72, 242, .46) 74%, transparent) !important;
  box-shadow:
    0 0 10px rgba(22, 32, 53, .08),
    0 0 20px rgba(42, 165, 234, .22) !important;
}

html.theme-bright .hero .intake-node {
  border-color: rgba(27, 39, 64, .1) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .98) 0 10%, transparent 11%),
    radial-gradient(circle at 50% 50%, rgba(42, 165, 234, .88) 0 33%, transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(229, 243, 255, .66)),
    rgba(255, 255, 255, .76) !important;
  box-shadow:
    0 14px 32px rgba(36, 55, 91, .08),
    0 0 18px rgba(42, 165, 234, .2),
    inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

html.theme-bright .hero .intake-path {
  background: linear-gradient(90deg, transparent, rgba(42, 165, 234, .42), rgba(22, 32, 53, .18), transparent) !important;
  box-shadow: 0 0 14px rgba(42, 165, 234, .14) !important;
}

/* Hero visual repair: crisp light cockpit instead of washed-out animation */
html.theme-bright .hero .live-desk {
  filter:
    drop-shadow(0 34px 82px rgba(35, 56, 92, .16))
    drop-shadow(0 10px 26px rgba(42, 165, 234, .08)) !important;
}

html.theme-bright .hero .live-desk::before {
  inset: 7% 0 1% !important;
  border: 1px solid rgba(42, 165, 234, .2) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .96), transparent 17rem),
    radial-gradient(circle at 36% 54%, rgba(42, 165, 234, .18), transparent 22rem),
    radial-gradient(circle at 78% 70%, rgba(139, 72, 242, .12), transparent 24rem),
    linear-gradient(145deg, rgba(246, 252, 255, .96), rgba(225, 240, 252, .82) 58%, rgba(238, 233, 255, .7)),
    rgba(255, 255, 255, .82) !important;
  box-shadow:
    0 30px 86px rgba(35, 56, 92, .13),
    0 0 0 1px rgba(255, 255, 255, .82) inset,
    inset 0 36px 86px rgba(255, 255, 255, .54),
    inset 0 -36px 80px rgba(42, 165, 234, .08) !important;
}

html.theme-bright .hero .live-desk::after {
  left: 12% !important;
  right: 12% !important;
  top: 34% !important;
  height: 42% !important;
  border-radius: 999px !important;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(42, 165, 234, .28), transparent 58%),
    radial-gradient(ellipse at 68% 58%, rgba(139, 72, 242, .18), transparent 56%) !important;
  filter: blur(22px) !important;
  opacity: .54 !important;
}

html.theme-bright .hero .fline-face {
  filter:
    drop-shadow(0 24px 46px rgba(37, 92, 140, .2))
    drop-shadow(0 0 22px rgba(42, 165, 234, .2)) !important;
}

html.theme-bright .hero .fline-mark-live {
  filter: saturate(1.08) contrast(1.02);
}

html.theme-bright .hero .headset-arc {
  filter:
    drop-shadow(0 0 14px rgba(42, 165, 234, .42))
    drop-shadow(0 10px 22px rgba(38, 70, 120, .14)) !important;
}

html.theme-bright .hero .ear-pad {
  border-color: rgba(47, 93, 139, .2) !important;
  background:
    radial-gradient(circle at 34% 20%, rgba(255, 255, 255, .88), transparent 36%),
    linear-gradient(180deg, rgba(230, 244, 255, .92), rgba(183, 219, 248, .62) 60%, rgba(137, 111, 220, .26)),
    rgba(255, 255, 255, .72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .82),
    inset 0 -16px 24px rgba(30, 68, 114, .08),
    0 14px 28px rgba(38, 88, 132, .14),
    0 0 20px rgba(42, 165, 234, .2) !important;
}

html.theme-bright .hero .message-core {
  filter:
    saturate(1.16)
    contrast(1.08)
    drop-shadow(0 18px 32px rgba(35, 56, 92, .12))
    drop-shadow(0 0 18px rgba(42, 165, 234, .14)) !important;
}

html.theme-bright .hero .message-envelope {
  border-color: rgba(42, 165, 234, .18) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(225, 244, 255, .82) 48%, rgba(237, 230, 255, .72)),
    rgba(255, 255, 255, .92) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .96),
    0 18px 40px rgba(35, 56, 92, .12),
    0 0 28px rgba(42, 165, 234, .16) !important;
}

html.theme-bright .hero .message-line {
  opacity: .9 !important;
  background: linear-gradient(90deg, #2aa5ea, rgba(22, 32, 53, .36)) !important;
}

html.theme-bright .hero .operator-card {
  opacity: 1 !important;
  filter:
    saturate(1.22)
    contrast(1.08)
    drop-shadow(0 18px 28px rgba(35, 56, 92, .14)) !important;
}

html.theme-bright .hero .operator-head {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(79, 188, 232, .7) 52%, rgba(139, 72, 242, .42)) !important;
}

html.theme-bright .hero .operator-body {
  border-color: rgba(42, 165, 234, .2) !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .18), transparent 28% 70%, rgba(255, 255, 255, .16)),
    linear-gradient(180deg, rgba(42, 165, 234, .48), rgba(139, 72, 242, .26)) !important;
}

html.theme-bright .hero .operator-chair,
html.theme-bright .hero .operator-desk {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .46), rgba(206, 228, 248, .32)),
    rgba(255, 255, 255, .46) !important;
  border-color: rgba(47, 93, 139, .14) !important;
}

html.theme-bright .hero .operator-signal {
  opacity: .74 !important;
  background:
    linear-gradient(90deg, transparent, rgba(25, 82, 130, .28), rgba(42, 165, 234, .78), rgba(139, 72, 242, .46), transparent) !important;
  box-shadow: 0 0 16px rgba(42, 165, 234, .2) !important;
}

html.theme-bright .hero .intake-node {
  transform: translateZ(0);
  border-color: rgba(42, 165, 234, .18) !important;
  box-shadow:
    0 16px 32px rgba(35, 56, 92, .1),
    0 0 22px rgba(42, 165, 234, .24),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

@media (min-width: 1100px) {
  html.theme-bright .hero .fline-character {
    top: 0 !important;
  }

  html.theme-bright .hero .message-core {
    top: 34px !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero .live-desk::before {
    inset: 6% 0 0 !important;
    border-radius: 34px !important;
  }

  html.theme-bright .hero .live-desk::after {
    filter: blur(14px) !important;
    opacity: .44 !important;
  }

html.theme-bright .hero .operator-card {
    filter: saturate(1.16) contrast(1.05) !important;
  }
}

/* Header collision fix: hero animation must stay below the menu lane */
.site-header,
.site-nav,
html.theme-bright .site-header,
html.theme-bright .site-nav {
  z-index: 1000 !important;
}

html.theme-bright .site-header {
  background:
    radial-gradient(circle at 8% 0%, rgba(42, 165, 234, .1), transparent 17rem),
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(244, 249, 255, .9)),
    rgba(255, 255, 255, .94) !important;
}

html.theme-bright .site-header.is-scrolled {
  background:
    radial-gradient(circle at 8% 0%, rgba(42, 165, 234, .1), transparent 17rem),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(241, 248, 255, .94)),
    rgba(255, 255, 255, .96) !important;
}

@media (min-width: 981px) {
  html.theme-bright .hero.page-band {
    min-height: min(840px, calc(100svh - 40px)) !important;
  }

  html.theme-bright .hero-stage {
    align-items: start !important;
  }

  html.theme-bright .hero .live-desk {
    margin-top: clamp(78px, 7vh, 96px) !important;
  }
}

@media (min-width: 1600px) {
  html.theme-bright .hero.page-band {
    min-height: min(900px, calc(100svh - 36px)) !important;
  }

  html.theme-bright .hero .live-desk {
    margin-top: clamp(86px, 7.4vh, 108px) !important;
  }
}

/* Final premium navigation + footer pass */
html.theme-bright .site-header {
  --dock-line: rgba(30, 54, 86, .12);
  --dock-ink: #101a2c;
  top: clamp(14px, 1.7vw, 22px) !important;
  width: min(calc(100% - 48px), 1480px) !important;
  min-height: 76px !important;
  grid-template-columns: auto 1fr auto auto !important;
  gap: clamp(14px, 2vw, 24px) !important;
  padding: 10px 12px 10px 14px !important;
  border: 1px solid var(--dock-line) !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 9% -20%, rgba(42, 165, 234, .2), transparent 18rem),
    radial-gradient(circle at 82% 0%, rgba(139, 72, 242, .12), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(244, 250, 255, .91)),
    rgba(255, 255, 255, .94) !important;
  box-shadow:
    0 22px 70px rgba(38, 61, 101, .16),
    0 10px 26px rgba(42, 165, 234, .07),
    inset 0 1px 0 rgba(255, 255, 255, .98) !important;
  overflow: visible !important;
  isolation: isolate;
}

html.theme-bright .site-header::before,
html.theme-bright .site-header::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
}

html.theme-bright .site-header::before {
  inset: 8px;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: inset 0 -18px 42px rgba(42, 165, 234, .045);
}

html.theme-bright .site-header::after {
  left: clamp(32px, 13vw, 240px);
  right: clamp(32px, 13vw, 240px);
  bottom: -2px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #2aa5ea 18%, #8b48f2 72%, transparent);
  opacity: .72;
  filter: blur(.15px);
}

html.theme-bright .site-header.is-scrolled {
  transform: translateX(-50%) translateY(-2px) !important;
  background:
    radial-gradient(circle at 9% -20%, rgba(42, 165, 234, .17), transparent 17rem),
    linear-gradient(180deg, rgba(255, 255, 255, .985), rgba(244, 250, 255, .94)),
    rgba(255, 255, 255, .96) !important;
  box-shadow:
    0 18px 56px rgba(38, 61, 101, .17),
    inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

html.theme-bright .brand.official-logo {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 8px 18px 8px 16px !important;
  border: 1px solid rgba(30, 54, 86, .1);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(243, 249, 255, .86)),
    rgba(255, 255, 255, .94);
  box-shadow:
    0 14px 34px rgba(38, 61, 101, .11),
    inset 0 1px 0 rgba(255, 255, 255, .98);
}

html.theme-bright .brand.official-logo img {
  width: clamp(148px, 10vw, 176px) !important;
  height: auto !important;
  display: block;
  filter: drop-shadow(0 6px 14px rgba(18, 28, 47, .08));
}

html.theme-bright .site-nav {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 6px !important;
  border: 1px solid rgba(30, 54, 86, .09);
  border-radius: 999px;
  color: var(--dock-ink) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(239, 247, 255, .52)),
    rgba(255, 255, 255, .58);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 10px 26px rgba(38, 61, 101, .055);
}

html.theme-bright .site-nav a {
  position: relative;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border-radius: 999px;
  color: rgba(16, 26, 44, .72) !important;
  font-size: 13px;
  letter-spacing: -.01em;
  text-decoration: none;
  overflow: hidden;
  transform: translateZ(0);
}

html.theme-bright .site-nav a::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 28% 0%, rgba(42, 165, 234, .22), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(240, 247, 255, .72));
  opacity: 0;
  transition: opacity 180ms ease;
  z-index: -1;
}

html.theme-bright .site-nav a::after {
  height: 2px !important;
  bottom: 4px !important;
  left: 22% !important;
  right: 22% !important;
  border-radius: 999px;
  background: linear-gradient(90deg, #2aa5ea, #8b48f2) !important;
  box-shadow: 0 0 12px rgba(42, 165, 234, .28);
}

html.theme-bright .site-nav a:hover,
html.theme-bright .site-nav a[aria-current="page"] {
  color: #101a2c !important;
  transform: translateY(-1px) !important;
}

html.theme-bright .site-nav a:hover::before,
html.theme-bright .site-nav a[aria-current="page"]::before {
  opacity: 1;
}

html.theme-bright .site-nav a[href="apply.html"] {
  color: #0f2036 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(236, 246, 255, .58)),
    rgba(255, 255, 255, .56);
  box-shadow: inset 0 0 0 1px rgba(42, 165, 234, .12);
}

html.theme-bright .site-nav a[href="apply.html"]:hover,
html.theme-bright .site-nav a[href="apply.html"][aria-current="page"] {
  color: #fff !important;
  background: linear-gradient(135deg, #2aa5ea, #8b48f2);
  box-shadow:
    0 12px 28px rgba(42, 165, 234, .22),
    inset 0 1px 0 rgba(255, 255, 255, .25);
}

html.theme-bright .site-nav a[href="apply.html"]:hover::after,
html.theme-bright .site-nav a[href="apply.html"][aria-current="page"]::after {
  opacity: 0 !important;
}

html.theme-bright .language-switch {
  min-height: 48px;
  padding: 5px !important;
  border: 1px solid rgba(30, 54, 86, .1) !important;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(239, 247, 255, .64)),
    rgba(255, 255, 255, .74) !important;
  box-shadow:
    0 10px 26px rgba(38, 61, 101, .08),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

html.theme-bright .language-switch button {
  min-width: 40px !important;
  height: 38px !important;
  color: rgba(16, 26, 44, .62) !important;
  font-size: 13px !important;
}

html.theme-bright .language-switch button.is-active {
  color: #fff !important;
  background: linear-gradient(135deg, #2aa5ea, #8b48f2) !important;
  box-shadow:
    0 11px 24px rgba(42, 165, 234, .2),
    inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

html.theme-bright .nav-toggle {
  width: 50px !important;
  height: 50px !important;
  border: 1px solid rgba(30, 54, 86, .1) !important;
  color: #101a2c !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(239, 247, 255, .68)),
    rgba(255, 255, 255, .76) !important;
  box-shadow:
    0 12px 28px rgba(38, 61, 101, .1),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

html.theme-bright .nav-toggle {
  position: relative;
}

html.theme-bright .nav-toggle:hover,
html.theme-bright .nav-toggle.is-open {
  color: #fff !important;
  background: linear-gradient(135deg, #13233b, #1d385e) !important;
  box-shadow:
    0 16px 34px rgba(32, 55, 91, .18),
    0 0 0 1px rgba(255, 255, 255, .14) inset !important;
}

html.theme-bright .nav-toggle span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 18px !important;
  height: 2px !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  transition: transform 180ms var(--ease), opacity 150ms ease !important;
}

html.theme-bright .nav-toggle span:nth-child(1) {
  transform: translate(-50%, calc(-50% - 6px)) !important;
}

html.theme-bright .nav-toggle span:nth-child(3) {
  transform: translate(-50%, calc(-50% + 6px)) !important;
}

html.theme-bright .site-footer {
  width: min(calc(100% - 56px), 1480px) !important;
  margin: clamp(76px, 7vw, 120px) auto 30px !important;
  padding: clamp(26px, 3.6vw, 54px) !important;
  border: 1px solid rgba(30, 54, 86, .11) !important;
  border-radius: clamp(30px, 4vw, 56px) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(42, 165, 234, .2), transparent 24rem),
    radial-gradient(circle at 92% 18%, rgba(139, 72, 242, .16), transparent 27rem),
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(236, 247, 255, .76) 58%, rgba(244, 238, 255, .68)),
    rgba(255, 255, 255, .9) !important;
  box-shadow:
    0 34px 100px rgba(38, 61, 101, .13),
    0 12px 32px rgba(42, 165, 234, .06),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
  isolation: isolate;
}

html.theme-bright .site-footer::before {
  left: clamp(28px, 5vw, 80px) !important;
  right: clamp(28px, 5vw, 80px) !important;
  top: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #2aa5ea 20%, #8b48f2 72%, transparent) !important;
  opacity: .82 !important;
  box-shadow: 0 0 24px rgba(42, 165, 234, .22);
}

html.theme-bright .site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(rgba(20, 34, 57, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 34, 57, .03) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: radial-gradient(circle at 72% 28%, #000 0 22%, transparent 72%);
  opacity: .42;
  z-index: -1;
}

html.theme-bright .footer-glow {
  inset: auto 8% -92px !important;
  height: 190px !important;
  background:
    radial-gradient(circle, rgba(42, 165, 234, .22), transparent 66%),
    radial-gradient(circle at 70% 40%, rgba(139, 72, 242, .16), transparent 70%) !important;
  animation-duration: 8s !important;
  opacity: .86;
}

html.theme-bright .footer-brand {
  display: grid !important;
  grid-template-columns: minmax(220px, 330px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(22px, 5vw, 70px) !important;
  padding: clamp(10px, 1vw, 18px) 0 clamp(24px, 3vw, 34px) !important;
  border-bottom: 1px solid rgba(30, 54, 86, .1) !important;
}

html.theme-bright .footer-logo.official-logo {
  width: min(100%, 310px) !important;
  min-height: 106px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 18px 22px !important;
  border: 1px solid rgba(30, 54, 86, .1) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(42, 165, 234, .18), transparent 12rem),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(244, 250, 255, .86)),
    rgba(255, 255, 255, .92) !important;
  box-shadow:
    0 18px 44px rgba(38, 61, 101, .11),
    inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

html.theme-bright .footer-logo.official-logo img,
html.theme-bright .footer-brand img {
  width: min(100%, 250px) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 8px 18px rgba(18, 28, 47, .08)) !important;
}

html.theme-bright .footer-brand p {
  max-width: 780px !important;
  color: rgba(25, 40, 66, .78) !important;
  font-size: clamp(18px, 1.45vw, 24px) !important;
  line-height: 1.6 !important;
  font-weight: 780;
  letter-spacing: -.02em;
}

html.theme-bright .footer-links {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.2vw, 16px) !important;
  margin-top: clamp(22px, 3vw, 34px) !important;
}

html.theme-bright .footer-links a {
  min-height: 58px !important;
  border: 1px solid rgba(30, 54, 86, .1) !important;
  border-radius: 22px !important;
  color: #121d31 !important;
  font-weight: 900 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(242, 249, 255, .74)),
    rgba(255, 255, 255, .78) !important;
  box-shadow:
    0 12px 30px rgba(38, 61, 101, .07),
    inset 0 1px 0 rgba(255, 255, 255, .95) !important;
  transition:
    transform 180ms var(--ease),
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease;
}

html.theme-bright .footer-links a::before {
  background:
    radial-gradient(circle at 24% 0%, rgba(42, 165, 234, .26), transparent 60%),
    linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(139, 72, 242, .1)) !important;
}

html.theme-bright .footer-links a:hover {
  transform: translateY(-2px);
  border-color: rgba(42, 165, 234, .28) !important;
  color: #0e1830 !important;
  box-shadow:
    0 18px 40px rgba(38, 61, 101, .1),
    0 0 0 1px rgba(42, 165, 234, .1) inset !important;
}

html.theme-bright .footer-links a[href="apply.html"] {
  color: #fff !important;
  border-color: rgba(42, 165, 234, .22) !important;
  background: linear-gradient(135deg, #2aa5ea, #8b48f2) !important;
  box-shadow:
    0 18px 44px rgba(42, 165, 234, .18),
    inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

html.theme-bright .footer-bottom {
  margin-top: clamp(20px, 2.4vw, 32px) !important;
  padding-top: clamp(18px, 2vw, 28px) !important;
  border-top: 1px solid rgba(30, 54, 86, .08);
  color: rgba(25, 40, 66, .62) !important;
  font-weight: 760;
}

html.theme-bright .footer-bottom a {
  min-height: 46px !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(42, 165, 234, .16) !important;
  color: #132238 !important;
  background:
    radial-gradient(circle at 26% 0%, rgba(42, 165, 234, .16), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(237, 248, 255, .72)),
    rgba(255, 255, 255, .76) !important;
  box-shadow:
    0 12px 28px rgba(38, 61, 101, .08),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

@media (min-width: 1180px) {
  html.theme-bright .site-header {
    padding-left: 16px !important;
    padding-right: 14px !important;
  }
}

@media (max-width: 980px) {
  html.theme-bright .site-header {
    width: calc(100% - 32px) !important;
    grid-template-columns: auto 1fr auto auto !important;
    gap: 10px !important;
  }

  html.theme-bright .site-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 0 !important;
    right: 0 !important;
    padding: 12px !important;
    border-radius: 28px !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) scale(.985) !important;
    transform-origin: top center;
    transition: opacity 190ms ease, transform 190ms var(--ease), visibility 190ms ease;
  }

  html.theme-bright .site-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1) !important;
  }

  html.theme-bright .site-nav a {
    justify-content: flex-start;
    min-height: 50px;
    padding: 0 18px;
    font-size: 15px;
  }

  html.theme-bright .site-nav.is-open a {
    opacity: 1 !important;
    color: #132238 !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(242, 249, 255, .7)),
      rgba(255, 255, 255, .72) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
  }

  html.theme-bright .site-nav.is-open a[href="apply.html"] {
    color: #fff !important;
    background:
      linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 48%, #8b48f2 100%) !important;
    box-shadow:
      0 14px 30px rgba(42, 165, 234, .22),
      inset 0 1px 0 rgba(255, 255, 255, .26) !important;
    text-shadow: 0 1px 10px rgba(8, 18, 35, .16);
  }

  html.theme-bright .site-nav.is-open a[href="apply.html"]::before {
    opacity: 0 !important;
  }

  html.theme-bright .nav-toggle {
    display: grid !important;
    place-items: center !important;
  }

  html.theme-bright .nav-toggle.is-open span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  html.theme-bright .nav-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
  }

  html.theme-bright .nav-toggle.is-open span:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .site-header {
    top: 14px !important;
    left: 14px !important;
    width: calc(100% - 28px) !important;
    transform: none !important;
    grid-template-columns: auto 1fr auto auto !important;
    min-height: 66px !important;
    padding: 8px 9px 8px 10px !important;
    gap: 7px !important;
  }

  html.theme-bright .site-header.is-scrolled {
    transform: translateY(-1px) !important;
  }

  html.theme-bright .brand,
  html.theme-bright .brand.official-logo {
    grid-column: 1 !important;
    max-width: none !important;
    min-height: 48px !important;
    padding: 7px 13px 7px 11px !important;
  }

  html.theme-bright .brand img,
  html.theme-bright .brand.official-logo img {
    width: clamp(126px, 35vw, 158px) !important;
  }

  html.theme-bright .language-switch {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    grid-column: 3 !important;
    min-height: 44px !important;
    margin: 0 !important;
    transform: none !important;
  }

  html.theme-bright .language-switch button {
    min-width: 34px !important;
    height: 34px !important;
    padding-inline: 8px !important;
  }

  html.theme-bright .nav-toggle {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    grid-column: 4 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    transform: none !important;
  }

  html.theme-bright .site-nav {
    grid-column: auto !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 10px) !important;
    max-height: calc(100svh - 112px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  html.theme-bright .site-footer {
    width: calc(100% - 28px) !important;
    margin-top: 64px !important;
    padding: 24px !important;
    border-radius: 34px !important;
  }

  html.theme-bright .footer-brand {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: left;
  }

  html.theme-bright .footer-logo.official-logo {
    width: 100% !important;
    min-height: 94px;
  }

  html.theme-bright .footer-logo.official-logo img {
    width: min(100%, 250px) !important;
  }

  html.theme-bright .footer-brand p {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  html.theme-bright .footer-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  html.theme-bright .footer-links a {
    min-height: 54px !important;
    border-radius: 18px !important;
    padding-inline: 10px !important;
  }

  html.theme-bright .footer-links a:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  html.theme-bright .footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }

  html.theme-bright .footer-bottom a {
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 390px) {
  html.theme-bright .site-header {
    width: calc(100% - 20px) !important;
    left: 10px !important;
    padding-inline: 8px !important;
  }

  html.theme-bright .brand.official-logo {
    padding-inline: 9px !important;
  }

  html.theme-bright .brand.official-logo img {
    width: clamp(112px, 32vw, 136px) !important;
  }

  html.theme-bright .language-switch button {
    min-width: 31px !important;
    padding-inline: 6px !important;
  }

  html.theme-bright .nav-toggle {
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
  }
}

html.motion-lite .site-header::after,
html.motion-lite .footer-glow {
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.theme-bright .site-header::after,
  html.theme-bright .footer-glow {
    animation: none !important;
  }
}

/* Desktop footer repair: compact brand bar instead of oversized empty card */
@media (min-width: 981px) {
  html.theme-bright .site-footer {
    display: grid !important;
    grid-template-columns: minmax(520px, 1fr) minmax(460px, .9fr) !important;
    grid-template-areas:
      "brand links"
      "bottom bottom" !important;
    align-items: center !important;
    column-gap: clamp(32px, 4vw, 72px) !important;
    row-gap: 22px !important;
    min-height: 0 !important;
    padding: clamp(26px, 2.4vw, 38px) clamp(28px, 3vw, 44px) !important;
    margin-top: clamp(64px, 6vw, 92px) !important;
    overflow: hidden !important;
  }

  html.theme-bright .site-footer::after {
    content: "FLINE" !important;
    position: absolute !important;
    right: clamp(22px, 3vw, 48px) !important;
    bottom: clamp(12px, 1.4vw, 22px) !important;
    inset: auto clamp(22px, 3vw, 48px) clamp(12px, 1.4vw, 22px) auto !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, rgba(42, 165, 234, .06), rgba(139, 72, 242, .055)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    font-family: var(--font-display) !important;
    font-size: clamp(86px, 8vw, 152px) !important;
    line-height: .8 !important;
    letter-spacing: -.08em !important;
    pointer-events: none !important;
    opacity: .72 !important;
    mask-image: none !important;
    z-index: 0 !important;
  }

  html.theme-bright .footer-glow {
    inset: auto -4% -120px 32% !important;
    height: 210px !important;
    opacity: .72 !important;
  }

  html.theme-bright .footer-brand {
    grid-area: brand !important;
    display: grid !important;
    grid-template-columns: minmax(180px, 240px) minmax(270px, 430px) !important;
    gap: clamp(22px, 2.4vw, 34px) !important;
    align-items: center !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  html.theme-bright .footer-logo.official-logo {
    width: 100% !important;
    min-height: 82px !important;
    padding: 14px 18px !important;
    border-radius: 24px !important;
  }

  html.theme-bright .footer-logo.official-logo img,
  html.theme-bright .footer-brand img {
    width: min(100%, 194px) !important;
  }

  html.theme-bright .footer-brand p {
    max-width: 430px !important;
    font-size: clamp(15px, 1vw, 17px) !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
    letter-spacing: -.018em !important;
  }

  html.theme-bright .footer-links {
    grid-area: links !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    align-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  html.theme-bright .footer-links a {
    min-height: 46px !important;
    min-width: 112px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
  }

  html.theme-bright .footer-links a[href="privacy.html"] {
    min-width: 132px !important;
  }

  html.theme-bright .footer-bottom {
    grid-area: bottom !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin: 0 !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(30, 54, 86, .1) !important;
    position: relative !important;
    z-index: 1 !important;
  }

  html.theme-bright .footer-bottom span {
    font-size: 14px !important;
  }

  html.theme-bright .footer-bottom a {
    min-height: 42px !important;
    padding: 9px 16px !important;
    font-size: 14px !important;
  }
}

@media (min-width: 981px) and (max-width: 1240px) {
  html.theme-bright .site-footer {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "links"
      "bottom" !important;
  }

  html.theme-bright .footer-links {
    justify-content: flex-start !important;
  }
}

/* Expanded footer with newsletter, social links and contact columns */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html.theme-bright .site-footer.footer-expanded {
  display: block !important;
  min-height: 0 !important;
  width: min(calc(100% - 56px), 1480px) !important;
  padding: clamp(22px, 2.4vw, 34px) !important;
  margin-top: clamp(64px, 6vw, 94px) !important;
}

html.theme-bright .site-footer.footer-expanded::after {
  content: "FLINE" !important;
  position: absolute !important;
  right: clamp(26px, 4vw, 70px) !important;
  bottom: clamp(18px, 2vw, 34px) !important;
  inset: auto clamp(26px, 4vw, 70px) clamp(18px, 2vw, 34px) auto !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(42, 165, 234, .055), rgba(139, 72, 242, .052)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  font-family: var(--font-display) !important;
  font-size: clamp(78px, 7vw, 136px) !important;
  line-height: .8 !important;
  letter-spacing: -.08em !important;
  pointer-events: none !important;
  opacity: .76 !important;
  mask-image: none !important;
  z-index: 0 !important;
}

html.theme-bright .footer-newsletter {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(420px, .86fr);
  align-items: center;
  gap: clamp(20px, 3vw, 56px);
  width: 100%;
  margin: 0;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    radial-gradient(circle at 18% 0%, rgba(42, 165, 234, .18), transparent 19rem),
    radial-gradient(circle at 88% 30%, rgba(139, 72, 242, .2), transparent 20rem),
    linear-gradient(135deg, #07182b 0%, #102b4d 48%, #070e1f 100%);
  box-shadow:
    0 22px 58px rgba(29, 58, 96, .18),
    inset 0 1px 0 rgba(255, 255, 255, .12);
  overflow: hidden;
}

html.theme-bright .footer-newsletter::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: radial-gradient(circle at 64% 48%, #000 0 18%, transparent 74%);
  pointer-events: none;
}

html.theme-bright .footer-newsletter-copy {
  position: relative;
  z-index: 1;
}

html.theme-bright .footer-newsletter .eyebrow {
  margin-bottom: 8px;
  color: #68b8e1 !important;
}

html.theme-bright .footer-newsletter h2 {
  max-width: 620px;
  color: #fff !important;
  font-family: var(--font-display);
  font-size: clamp(30px, 3.2vw, 54px);
  line-height: 1.02;
  letter-spacing: -.05em;
  text-shadow: 0 16px 42px rgba(0, 0, 0, .24);
}

html.theme-bright .footer-newsletter h2 span {
  color: #68b8e1;
  text-shadow: 0 0 24px rgba(42, 165, 234, .34);
}

html.theme-bright .footer-newsletter-form {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 7px;
  border: 1px solid rgba(104, 184, 225, .44);
  border-radius: 18px;
  background: rgba(255, 255, 255, .08);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .06) inset,
    0 0 26px rgba(42, 165, 234, .18);
}

html.theme-bright .footer-newsletter-form input {
  min-width: 0;
  min-height: 48px;
  border: 0;
  border-radius: 13px;
  padding: 0 16px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  font: inherit;
  font-weight: 760;
  outline: none;
}

html.theme-bright .footer-newsletter-form input::placeholder {
  color: rgba(218, 243, 255, .62);
}

html.theme-bright .footer-newsletter-form input:focus {
  box-shadow: 0 0 0 2px rgba(104, 184, 225, .44);
}

html.theme-bright .footer-newsletter-form button {
  min-height: 48px;
  border: 0;
  border-radius: 13px;
  padding: 0 22px;
  color: #05223a;
  background: linear-gradient(135deg, #68b8e1, #2aa5ea);
  font: inherit;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(42, 165, 234, .25);
}

html.theme-bright .footer-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(340px, 1.18fr) minmax(180px, .46fr) minmax(250px, .64fr);
  gap: clamp(26px, 4vw, 72px);
  align-items: start;
  padding: clamp(26px, 3vw, 42px) clamp(4px, .8vw, 10px) clamp(18px, 2vw, 26px);
}

html.theme-bright .footer-expanded .footer-brand,
html.theme-bright .footer-expanded .footer-site-links,
html.theme-bright .footer-expanded .footer-contact {
  grid-area: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

html.theme-bright .footer-expanded .footer-brand {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
}

html.theme-bright .footer-expanded .footer-logo.official-logo {
  width: min(100%, 260px) !important;
  min-height: 86px !important;
  margin-bottom: 18px;
  padding: 14px 18px !important;
  border-radius: 24px !important;
}

html.theme-bright .footer-expanded .footer-logo.official-logo img,
html.theme-bright .footer-expanded .footer-brand img {
  width: min(100%, 202px) !important;
}

html.theme-bright .footer-expanded .footer-brand p {
  max-width: 380px !important;
  color: rgba(25, 40, 66, .78) !important;
  font-size: clamp(15px, .98vw, 17px) !important;
  line-height: 1.6 !important;
  font-weight: 740 !important;
  letter-spacing: -.012em !important;
}

html.theme-bright .footer-socials,
html.theme-bright .footer-contact-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

html.theme-bright .social-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(42, 165, 234, .28);
  border-radius: 999px;
  color: #0f2036;
  text-decoration: none;
  background:
    radial-gradient(circle at 30% 0%, rgba(255, 255, 255, .96), transparent 46%),
    linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(231, 246, 255, .72));
  box-shadow:
    0 12px 28px rgba(38, 61, 101, .1),
    0 0 0 1px rgba(255, 255, 255, .86) inset,
    0 0 22px rgba(42, 165, 234, .13);
  transition: transform 180ms var(--ease), box-shadow 180ms ease, border-color 180ms ease;
}

html.theme-bright .social-icon::before {
  content: attr(data-icon);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #2aa5ea, #8b48f2);
  font-weight: 950;
  font-size: 16px;
  line-height: 1;
  text-transform: lowercase;
  box-shadow: 0 8px 18px rgba(42, 165, 234, .24);
}

html.theme-bright .social-linkedin::before {
  font-size: 13px;
  letter-spacing: -.08em;
  text-transform: none;
}

html.theme-bright .social-instagram::before,
html.theme-bright .social-email::before {
  font-size: 18px;
}

html.theme-bright .social-instagram::before {
  content: "";
  width: 31px;
  height: 31px;
  border-radius: 10px;
  background:
    radial-gradient(circle at 28% 100%, #ffd76a 0 16%, transparent 38%),
    radial-gradient(circle at 20% 18%, #ff7a59 0 13%, transparent 34%),
    linear-gradient(135deg, #8b48f2 0%, #e044a8 48%, #2aa5ea 100%);
  box-shadow:
    inset 0 0 0 2px rgba(255, 255, 255, .88),
    0 8px 18px rgba(139, 72, 242, .24);
}

html.theme-bright .social-instagram::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  box-shadow: 8px -8px 0 -5px #fff;
  pointer-events: none;
}

html.theme-bright .social-messenger::before {
  font-style: italic;
}

html.theme-bright .social-facebook::before {
  content: "f";
  width: 31px;
  height: 31px;
  border-radius: 999px;
  background: linear-gradient(135deg, #1877f2, #0a58d0);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 25px;
  font-weight: 900;
  line-height: 36px;
  text-transform: none;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .24),
    0 8px 18px rgba(24, 119, 242, .28);
}

html.theme-bright .social-linkedin::before {
  content: "in";
  width: 31px;
  height: 31px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0a66c2, #074b92);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -.09em;
  line-height: 31px;
  text-transform: none;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 8px 18px rgba(10, 102, 194, .25);
}

html.theme-bright .social-messenger::before {
  content: "";
  width: 31px;
  height: 31px;
  border-radius: 999px;
  background: linear-gradient(135deg, #00b2ff 0%, #006aff 44%, #8b48f2 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .24),
    0 8px 18px rgba(0, 106, 255, .25);
}

html.theme-bright .social-messenger::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 13px;
  background: #fff;
  clip-path: polygon(0 62%, 37% 25%, 50% 52%, 100% 16%, 61% 62%, 48% 36%, 0 84%);
  transform: translate(-50%, -47%);
  pointer-events: none;
}

html.theme-bright .social-email::before {
  content: "";
  width: 31px;
  height: 24px;
  border-radius: 7px;
  background: linear-gradient(135deg, #2aa5ea, #8b48f2);
  box-shadow:
    inset 0 0 0 2px rgba(255, 255, 255, .9),
    0 8px 18px rgba(42, 165, 234, .23);
}

html.theme-bright .social-email::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 17px;
  height: 17px;
  border-left: 2px solid rgba(255, 255, 255, .96);
  border-bottom: 2px solid rgba(255, 255, 255, .96);
  transform: translate(-50%, -66%) rotate(-45deg);
  border-radius: 0 0 0 3px;
  pointer-events: none;
}

html.theme-bright .social-icon span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

html.theme-bright .footer-column a.social-icon,
html.theme-bright .footer-contact-actions .social-icon {
  width: 48px;
  height: 48px;
  max-width: none;
  padding: 0;
}

html.theme-bright .social-icon:hover {
  transform: translateY(-2px);
  border-color: rgba(42, 165, 234, .52);
  box-shadow:
    0 18px 36px rgba(38, 61, 101, .14),
    0 0 32px rgba(42, 165, 234, .18);
}

html.theme-bright .footer-column {
  display: grid;
  gap: 10px;
}

html.theme-bright .footer-column h3 {
  margin: 0 0 10px;
  color: #1caee8 !important;
  font-family: var(--font-body);
  font-size: clamp(18px, 1.2vw, 22px);
  line-height: 1.1;
  letter-spacing: -.03em;
  text-shadow: none !important;
}

html.theme-bright .footer-column a {
  width: max-content;
  max-width: 100%;
  color: rgba(17, 29, 49, .78);
  text-decoration: none;
  font-weight: 850;
  line-height: 1.35;
  transition: color 160ms ease, transform 160ms var(--ease);
}

html.theme-bright .footer-column a:hover {
  color: #101a2c;
  transform: translateX(2px);
}

html.theme-bright .footer-contact {
  justify-items: start;
}

html.theme-bright .footer-contact > a {
  padding: 7px 0;
}

html.theme-bright .footer-expanded .footer-bottom {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 18px 4px 0 !important;
  border-top: 1px solid rgba(30, 54, 86, .1) !important;
}

html.theme-bright .footer-expanded .footer-bottom span,
html.theme-bright .footer-expanded .footer-bottom a {
  font-size: 14px !important;
}

@media (max-width: 1100px) {
  html.theme-bright .footer-main {
    grid-template-columns: 1fr 1fr;
  }

  html.theme-bright .footer-expanded .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 780px) {
  html.theme-bright .site-footer.footer-expanded {
    width: calc(100% - 28px) !important;
    padding: 18px !important;
    border-radius: 34px !important;
  }

  html.theme-bright .footer-newsletter {
    grid-template-columns: 1fr;
    padding: 22px;
    border-radius: 26px;
  }

  html.theme-bright .footer-newsletter h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  html.theme-bright .footer-newsletter-form {
    grid-template-columns: 1fr;
  }

  html.theme-bright .footer-newsletter-form button {
    width: 100%;
  }

  html.theme-bright .footer-main {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 28px 2px 20px;
  }

  html.theme-bright .footer-expanded .footer-logo.official-logo {
    width: 100% !important;
  }

  html.theme-bright .footer-expanded .footer-brand p {
    max-width: 100% !important;
  }

  html.theme-bright .footer-site-links {
    grid-template-columns: 1fr 1fr;
    column-gap: 18px;
  }

  html.theme-bright .footer-site-links h3 {
    grid-column: 1 / -1;
  }

  html.theme-bright .footer-expanded .footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }
}

/* Homepage blue service break: one controlled contrast band */
html.theme-bright .service-signal-break {
  position: relative;
  width: min(calc(100% - 56px), 1480px) !important;
  margin: clamp(34px, 4vw, 64px) auto clamp(70px, 7vw, 112px) !important;
  padding: clamp(28px, 3.2vw, 52px) !important;
  display: grid;
  grid-template-columns: minmax(250px, .66fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 4vw, 72px);
  min-height: clamp(330px, 30vw, 430px);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: clamp(30px, 3.4vw, 48px);
  color: #f8fbff;
  background:
    radial-gradient(circle at 9% 14%, rgba(104, 184, 225, .3), transparent 19rem),
    radial-gradient(circle at 72% 0%, rgba(139, 72, 242, .28), transparent 24rem),
    linear-gradient(135deg, #061522 0%, #0b2a43 46%, #06101f 100%);
  box-shadow:
    0 34px 90px rgba(29, 58, 96, .22),
    0 0 0 1px rgba(255, 255, 255, .42) inset,
    0 1px 0 rgba(255, 255, 255, .18) inset;
  overflow: hidden;
  isolation: isolate;
  contain: paint;
}

html.theme-bright .service-signal-break::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, transparent, rgba(104, 184, 225, .22), rgba(139, 72, 242, .22), transparent);
  background-size: 64px 64px, 64px 64px, 220% 100%;
  mask-image: radial-gradient(circle at 53% 50%, #000 0 16%, transparent 72%);
  opacity: .74;
  pointer-events: none;
}

html.theme-bright .service-signal-break::after {
  content: "";
  position: absolute;
  inset: auto clamp(22px, 3vw, 46px) 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #68b8e1, #8b48f2, transparent);
  opacity: .78;
  pointer-events: none;
}

html.theme-bright .service-signal-visual {
  position: relative;
  min-height: clamp(250px, 26vw, 350px);
  display: grid;
  place-items: center;
}

html.theme-bright .service-signal-visual::before {
  content: "";
  position: absolute;
  width: clamp(230px, 24vw, 360px);
  aspect-ratio: 1;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(104, 184, 225, .18), transparent 54%),
    conic-gradient(from 170deg, rgba(104, 184, 225, .28), rgba(139, 72, 242, .18), transparent 68%);
  filter: blur(.2px);
  opacity: .9;
}

html.theme-bright .service-signal-orb {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: radial-gradient(circle at 36% 34%, #fff 0 18%, #68b8e1 20% 60%, #8b48f2 100%);
  box-shadow: 0 0 28px rgba(104, 184, 225, .72);
}

html.theme-bright .service-signal-orb.orb-one {
  left: 11%;
  top: 18%;
}

html.theme-bright .service-signal-orb.orb-two {
  right: 13%;
  bottom: 15%;
  width: 10px;
  height: 10px;
  opacity: .78;
}

html.theme-bright .service-signal-headphones {
  position: relative;
  width: clamp(230px, 24vw, 360px);
  aspect-ratio: .94;
  transform: translateX(-5%);
  filter:
    drop-shadow(0 28px 46px rgba(0, 0, 0, .32))
    drop-shadow(0 0 34px rgba(104, 184, 225, .22));
}

html.theme-bright .signal-headset-arc {
  position: absolute;
  left: 12%;
  right: 12%;
  top: 3%;
  height: 54%;
  border: clamp(12px, 1.25vw, 18px) solid transparent;
  border-top-color: #68b8e1;
  border-left-color: rgba(104, 184, 225, .9);
  border-right-color: rgba(139, 72, 242, .92);
  border-bottom: 0;
  border-radius: 52% 52% 0 0;
  filter: drop-shadow(0 0 18px rgba(104, 184, 225, .5));
}

html.theme-bright .signal-headset-cup {
  position: absolute;
  top: 44%;
  width: 34%;
  height: 45%;
  border-radius: 38% 38% 44% 44%;
  background:
    radial-gradient(circle at 32% 18%, rgba(255, 255, 255, .8), transparent 16%),
    linear-gradient(145deg, rgba(102, 226, 255, .95), rgba(61, 117, 238, .82) 54%, rgba(139, 72, 242, .84));
  box-shadow:
    inset 14px 12px 28px rgba(255, 255, 255, .18),
    inset -16px -22px 32px rgba(12, 21, 42, .35),
    0 18px 34px rgba(0, 0, 0, .28);
}

html.theme-bright .signal-headset-cup::after {
  content: "";
  position: absolute;
  inset: 18% 20%;
  border-radius: inherit;
  background: linear-gradient(145deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, .04));
  box-shadow: inset 0 0 22px rgba(255, 255, 255, .18);
}

html.theme-bright .signal-headset-cup.cup-left {
  left: 5%;
  transform: rotate(-8deg);
}

html.theme-bright .signal-headset-cup.cup-right {
  right: 5%;
  transform: rotate(8deg);
}

html.theme-bright .signal-headset-core {
  position: absolute;
  left: 29%;
  right: 29%;
  bottom: 9%;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(104, 184, 225, .88), rgba(139, 72, 242, .9));
  box-shadow: 0 0 26px rgba(104, 184, 225, .44);
}

html.theme-bright .signal-headset-wave {
  position: absolute;
  right: -5%;
  top: 38%;
  width: 26%;
  height: 38%;
  border: 2px solid rgba(104, 184, 225, .36);
  border-left: 0;
  border-radius: 0 999px 999px 0;
  opacity: .74;
}

html.theme-bright .signal-headset-wave.wave-two {
  right: -12%;
  top: 32%;
  width: 37%;
  height: 50%;
  opacity: .36;
}

html.theme-bright .service-signal-copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

html.theme-bright .service-signal-copy .eyebrow {
  color: #68b8e1 !important;
}

html.theme-bright .service-signal-copy h2 {
  max-width: 760px;
  color: #fff !important;
  font-size: clamp(42px, 5vw, 88px);
  line-height: .94;
  letter-spacing: -.07em;
  text-shadow: 0 16px 42px rgba(0, 0, 0, .24);
}

html.theme-bright .service-signal-copy h2::after {
  opacity: .92;
}

html.theme-bright .service-signal-copy p:not(.eyebrow) {
  max-width: 690px;
  margin: clamp(14px, 1.6vw, 22px) 0 0;
  color: rgba(236, 248, 255, .82);
  font-size: clamp(17px, 1.18vw, 21px);
  line-height: 1.56;
  font-weight: 720;
}

html.theme-bright .service-signal-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(18px, 2vw, 28px);
}

html.theme-bright .service-signal-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 14px;
  border: 1px solid rgba(104, 184, 225, .26);
  border-radius: 999px;
  color: #f8fbff;
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .06) inset;
  font-size: 13px;
  font-weight: 930;
  letter-spacing: .02em;
}

html.theme-bright .service-signal-action {
  position: relative;
  z-index: 1;
  justify-self: end;
}

html.theme-bright .service-signal-action .button {
  min-width: 190px;
  color: #061522;
  background: linear-gradient(135deg, #f8fbff, #bfefff 50%, #ffffff);
  box-shadow:
    0 18px 46px rgba(104, 184, 225, .2),
    0 0 0 1px rgba(255, 255, 255, .6) inset;
}

html.theme-bright .service-signal-action .button::after {
  background: linear-gradient(90deg, transparent, rgba(104, 184, 225, .45), transparent);
}

@media (min-width: 981px) {
  html.theme-bright.motion-ready .service-signal-break.reveal.is-visible::before {
    animation: serviceSignalScan 7s ease-in-out infinite;
  }

  html.theme-bright.motion-ready .service-signal-break.reveal.is-visible .service-signal-headphones {
    animation: serviceHeadphonesFloat 5.8s ease-in-out infinite;
  }

  html.theme-bright.motion-ready .service-signal-break.reveal.is-visible .signal-headset-wave {
    animation: serviceWavePulse 2.8s ease-in-out infinite;
  }

  html.theme-bright.motion-ready .service-signal-break.reveal.is-visible .service-signal-orb {
    animation: serviceOrbPulse 3.6s ease-in-out infinite;
  }
}

@keyframes serviceSignalScan {
  0%, 100% { background-position: 0 0, 0 0, 0% 0; }
  50% { background-position: 0 0, 0 0, 100% 0; }
}

@keyframes serviceHeadphonesFloat {
  0%, 100% { transform: translateX(-5%) translateY(0) rotate(-1deg); }
  50% { transform: translateX(-5%) translateY(-8px) rotate(1deg); }
}

@keyframes serviceWavePulse {
  0%, 100% { transform: scaleX(.92); opacity: .38; }
  50% { transform: scaleX(1.08); opacity: .82; }
}

@keyframes serviceOrbPulse {
  0%, 100% { transform: scale(.9); opacity: .62; }
  50% { transform: scale(1.12); opacity: 1; }
}

@media (max-width: 1180px) {
  html.theme-bright .service-signal-break {
    grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr);
  }

  html.theme-bright .service-signal-action {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 780px) {
  html.theme-bright .service-signal-break {
    width: calc(100% - 28px) !important;
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    margin-top: 40px !important;
    margin-bottom: 72px !important;
    padding: 22px !important;
    border-radius: 34px;
  }

  html.theme-bright .service-signal-visual {
    min-height: 210px;
  }

  html.theme-bright .service-signal-headphones {
    width: min(248px, 76vw);
    transform: translateX(0);
  }

  html.theme-bright .service-signal-copy h2 {
    font-size: clamp(36px, 11vw, 54px);
  }

  html.theme-bright .service-signal-copy p:not(.eyebrow) {
    font-size: 16px;
  }

  html.theme-bright .service-signal-action {
    grid-column: auto;
    justify-self: stretch;
  }

  html.theme-bright .service-signal-action .button {
    width: 100%;
  }
}

html.motion-lite .service-signal-break::before,
html.motion-lite .service-signal-headphones,
html.motion-lite .signal-headset-wave,
html.motion-lite .service-signal-orb {
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.theme-bright .service-signal-break::before,
  html.theme-bright .service-signal-headphones,
  html.theme-bright .signal-headset-wave,
  html.theme-bright .service-signal-orb {
    animation: none !important;
  }
}

/* Use the real designer headphone asset in the blue service band */
html.theme-bright .service-signal-headphones {
  width: clamp(280px, 27vw, 430px);
  aspect-ratio: 1040 / 1315;
  transform: translateX(0) rotate(-3deg);
  filter:
    drop-shadow(0 34px 48px rgba(0, 0, 0, .34))
    drop-shadow(0 0 42px rgba(104, 184, 225, .26))
    drop-shadow(0 0 26px rgba(139, 72, 242, .2));
}

html.theme-bright .service-signal-headphones::before,
html.theme-bright .service-signal-headphones::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
}

html.theme-bright .service-signal-headphones::before {
  inset: 22% 4% 18%;
  z-index: 0;
  background: radial-gradient(circle, rgba(104, 184, 225, .34), rgba(139, 72, 242, .14) 44%, transparent 70%);
  filter: blur(18px);
}

html.theme-bright .service-signal-headphones::after {
  left: 9%;
  right: 9%;
  bottom: 1%;
  height: 14%;
  z-index: 1;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .34), transparent 70%);
  filter: blur(8px);
  opacity: .64;
}

html.theme-bright .service-headphones-photo {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

html.theme-bright .service-signal-break {
  transition: border-color 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

html.theme-bright .service-signal-break.is-pressed {
  border-color: rgba(114, 216, 255, .46);
  filter: brightness(1.035) saturate(1.06);
  box-shadow:
    0 34px 90px rgba(29, 58, 96, .22),
    0 0 0 1px rgba(255, 255, 255, .42) inset,
    0 0 58px rgba(104, 184, 225, .26),
    0 0 88px rgba(139, 72, 242, .16);
}

html.theme-bright .service-signal-break .touch-ripple {
  width: 34px;
  height: 34px;
  background:
    radial-gradient(circle, rgba(255, 255, 255, .92) 0 12%, rgba(114, 216, 255, .52) 30%, rgba(139, 72, 242, .28) 48%, transparent 72%);
  animation: serviceSignalTouchRipple 820ms var(--ease) forwards;
  mix-blend-mode: screen;
}

@keyframes serviceSignalTouchRipple {
  to { transform: translate(-50%, -50%) scale(18); opacity: 0; }
}

html.theme-bright.motion-ready .service-signal-break.reveal.is-visible .service-signal-headphones {
  animation: none !important;
}

html.theme-bright .signal-headset-arc,
html.theme-bright .signal-headset-cup,
html.theme-bright .signal-headset-core,
html.theme-bright .signal-headset-wave {
  display: none !important;
}

@media (max-width: 780px) {
  html.theme-bright .service-signal-visual {
    min-height: 286px;
  }

  html.theme-bright .service-signal-headphones {
    width: min(282px, 76vw);
    transform: translateX(0) rotate(-2deg);
  }
}

/* Hero signature test: tele-style accent only on the final word */
html.theme-bright .hero.page-band .hero-signature-title {
  overflow: visible;
}

html.theme-bright .hero.page-band .hero-script-word {
  position: relative;
  display: inline-block;
  margin-left: .05em;
  padding: 0 .04em .02em .01em;
  font-family: "Segoe Script", "Snell Roundhand", "Apple Chancery", "Brush Script MT", cursive;
  font-size: .9em;
  font-weight: 700;
  line-height: .78;
  letter-spacing: -.07em !important;
  white-space: nowrap;
  vertical-align: -.02em;
  color: transparent !important;
  background: linear-gradient(118deg, #2aa5ea 6%, #2aa5ea 42%, #8b48f2 86%);
  background-size: 160% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter:
    drop-shadow(0 12px 24px rgba(42, 165, 234, .22))
    drop-shadow(0 4px 14px rgba(139, 72, 242, .12));
  transform: rotate(-3.5deg) translateY(.025em);
  isolation: isolate;
}

html.theme-bright .hero.page-band .hero-script-word::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -.1em;
  right: -.14em;
  top: 48%;
  height: .72em;
  border-radius: 999px;
  background: radial-gradient(ellipse, rgba(42, 165, 234, .18), rgba(139, 72, 242, .1) 44%, transparent 72%);
  filter: blur(10px);
  opacity: .82;
  transform: rotate(2deg);
}

html.theme-bright .hero.page-band .hero-script-word::after {
  content: "";
  position: absolute;
  left: .03em;
  right: -.08em;
  bottom: -.05em;
  height: .075em;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(42, 165, 234, .1), rgba(42, 165, 234, .94), rgba(139, 72, 242, .82), rgba(139, 72, 242, 0));
  box-shadow: 0 0 18px rgba(42, 165, 234, .28);
  transform: rotate(-2.5deg);
}

.motion-ready .hero-copy.reveal.is-visible .hero-script-word {
  animation: heroScriptWordInk 760ms cubic-bezier(.16, 1, .3, 1) 680ms both;
}

@keyframes heroScriptWordInk {
  from {
    opacity: 0;
    background-position: 100% 0;
    transform: rotate(-6deg) translate3d(0, .14em, 0) scale(.94);
    filter:
      drop-shadow(0 6px 16px rgba(42, 165, 234, .08))
      drop-shadow(0 2px 10px rgba(139, 72, 242, .08));
  }
  to {
    opacity: 1;
    background-position: 0 0;
    transform: rotate(-3.5deg) translate3d(0, .025em, 0) scale(1);
    filter:
      drop-shadow(0 12px 24px rgba(42, 165, 234, .22))
      drop-shadow(0 4px 14px rgba(139, 72, 242, .12));
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band .hero-script-word {
    font-size: .92em;
    letter-spacing: -.055em !important;
    transform: rotate(-3deg) translateY(.02em);
  }
}

@media (max-width: 380px) {
  html.theme-bright .hero.page-band .hero-script-word {
    font-size: .88em;
    letter-spacing: -.048em !important;
  }
}

/* Final readability pass for the hero accent and nav hover */
html.theme-bright .hero.page-band .hero-script-word {
  font-family: var(--font-body);
  font-size: .78em;
  font-weight: 750;
  font-style: italic;
  line-height: .88;
  letter-spacing: -.038em !important;
  vertical-align: .01em;
  transform: skewX(-6deg) rotate(-.8deg) translateY(.015em);
  filter:
    drop-shadow(0 10px 20px rgba(42, 165, 234, .16))
    drop-shadow(0 3px 12px rgba(139, 72, 242, .1));
}

html.theme-bright .hero.page-band .hero-script-word::before {
  left: -.06em;
  right: -.08em;
  top: 54%;
  height: .42em;
  opacity: .5;
  filter: blur(9px);
  transform: rotate(.5deg);
}

html.theme-bright .hero.page-band .hero-script-word::after {
  left: .02em;
  right: -.05em;
  bottom: -.08em;
  height: .06em;
  transform: rotate(-.6deg);
}

.motion-ready .hero-copy.reveal.is-visible .hero-script-word {
  animation-name: heroScriptWordClear;
}

@keyframes heroScriptWordClear {
  from {
    opacity: 0;
    background-position: 100% 0;
    transform: skewX(-6deg) rotate(-1.8deg) translate3d(0, .08em, 0) scale(.975);
    filter:
      drop-shadow(0 4px 12px rgba(42, 165, 234, .08))
      drop-shadow(0 2px 8px rgba(139, 72, 242, .06));
  }
  to {
    opacity: 1;
    background-position: 0 0;
    transform: skewX(-6deg) rotate(-.8deg) translate3d(0, .015em, 0) scale(1);
    filter:
      drop-shadow(0 10px 20px rgba(42, 165, 234, .16))
      drop-shadow(0 3px 12px rgba(139, 72, 242, .1));
  }
}

html.theme-bright .site-nav a,
html.theme-bright .site-nav a:visited,
html.theme-bright .site-nav a:hover,
html.theme-bright .site-nav a:focus-visible,
html.theme-bright .site-nav a[aria-current="page"] {
  color: #101a2c !important;
  -webkit-text-fill-color: #101a2c !important;
}

html.theme-bright .site-nav a[href="apply.html"],
html.theme-bright .site-nav a[href="apply.html"]:visited,
html.theme-bright .site-nav a[href="apply.html"]:hover,
html.theme-bright .site-nav a[href="apply.html"]:focus-visible,
html.theme-bright .site-nav a[href="apply.html"][aria-current="page"] {
  color: #101a2c !important;
  -webkit-text-fill-color: #101a2c !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(236, 246, 255, .68)),
    rgba(255, 255, 255, .62) !important;
  box-shadow:
    inset 0 0 0 1px rgba(42, 165, 234, .14),
    0 10px 24px rgba(38, 61, 101, .07) !important;
}

html.theme-bright .site-nav a[href="apply.html"]:hover::before,
html.theme-bright .site-nav a[href="apply.html"]:focus-visible::before,
html.theme-bright .site-nav a[href="apply.html"][aria-current="page"]::before {
  opacity: .78 !important;
}

html.theme-bright .site-nav a[href="apply.html"]:hover::after,
html.theme-bright .site-nav a[href="apply.html"]:focus-visible::after,
html.theme-bright .site-nav a[href="apply.html"][aria-current="page"]::after {
  opacity: 1 !important;
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band .hero-script-word {
    font-size: .8em;
    letter-spacing: -.032em !important;
    transform: skewX(-5deg) rotate(-.5deg) translateY(.01em);
  }
}

/* iPhone/Safari stability: keep the design, remove the GPU-heavy scroll effects */
@media (max-width: 780px) {
  html.mobile-webkit-safe,
  html.mobile-webkit-safe body {
    scroll-behavior: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  html.mobile-webkit-safe .scroll-light,
  html.mobile-webkit-safe .fline-journey-shell,
  html.mobile-webkit-safe .fline-signal-journey,
  html.mobile-webkit-safe .signal-cursor-glow,
  html.mobile-webkit-safe .signal-packet,
  html.mobile-webkit-safe .click-spark,
  html.mobile-webkit-safe .touch-ripple {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html.mobile-webkit-safe body::before,
  html.mobile-webkit-safe body::after,
  html.mobile-webkit-safe .hero.page-band::before,
  html.mobile-webkit-safe .service-signal-break::before,
  html.mobile-webkit-safe .service-signal-break::after {
    animation: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  html.mobile-webkit-safe .site-header,
  html.mobile-webkit-safe .glass,
  html.mobile-webkit-safe .service-card,
  html.mobile-webkit-safe .service-strip,
  html.mobile-webkit-safe .proof-node,
  html.mobile-webkit-safe .office,
  html.mobile-webkit-safe .process-line article,
  html.mobile-webkit-safe .apply-form,
  html.mobile-webkit-safe .contact-form,
  html.mobile-webkit-safe .legal-card,
  html.mobile-webkit-safe .site-footer,
  html.mobile-webkit-safe .ear-pad {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html.mobile-webkit-safe .hero-stage {
    min-height: 462px !important;
    margin-top: 8px !important;
    overflow: hidden !important;
    contain: paint;
  }

  html.mobile-webkit-safe .hero .live-desk {
    min-height: 444px !important;
    margin-top: 8px !important;
    filter: none !important;
    contain: paint;
  }

  html.mobile-webkit-safe .hero .live-desk::before {
    inset: 9% 0 0 !important;
    filter: none !important;
    animation: none !important;
  }

  html.mobile-webkit-safe .hero .live-desk::after {
    opacity: .24 !important;
    filter: none !important;
    animation: none !important;
  }

  html.mobile-webkit-safe .hero .fline-character {
    top: 18px !important;
    width: 194px !important;
    height: 206px !important;
    animation: characterFloatMobileSafe 8.5s ease-in-out infinite !important;
    will-change: transform;
  }

  html.mobile-webkit-safe .hero .fline-face {
    top: 24px !important;
    width: 216px !important;
    filter: drop-shadow(0 14px 28px rgba(37, 92, 140, .14)) !important;
  }

  html.mobile-webkit-safe .hero .live-headset {
    inset: -8px -18px -2px !important;
    animation: none !important;
  }

  html.mobile-webkit-safe .hero .headset-arc {
    top: 0 !important;
    left: 5px !important;
    right: 7px !important;
    height: 124px !important;
    border-width: 7px !important;
    animation: none !important;
    filter: drop-shadow(0 0 10px rgba(42, 165, 234, .24)) !important;
  }

  html.mobile-webkit-safe .hero .ear-pad {
    top: 91px !important;
    width: 38px !important;
    height: 72px !important;
    animation: none !important;
    filter: none !important;
  }

  html.mobile-webkit-safe .hero .ear-pad.left {
    left: -1px !important;
  }

  html.mobile-webkit-safe .hero .ear-pad.right {
    right: 2px !important;
  }

  html.mobile-webkit-safe .hero .mic-arm {
    right: 2px !important;
    bottom: 43px !important;
    width: 78px !important;
    height: 38px !important;
    animation: none !important;
    filter: none !important;
  }

  html.mobile-webkit-safe .hero .mic-dot {
    right: -2px !important;
    bottom: 38px !important;
    width: 16px !important;
    height: 16px !important;
    animation: none !important;
    box-shadow: 0 0 12px rgba(42, 165, 234, .42) !important;
  }

  html.mobile-webkit-safe .hero .intake-node,
  html.mobile-webkit-safe .hero .intake-node::after,
  html.mobile-webkit-safe .hero .intake-path::after,
  html.mobile-webkit-safe .hero .message-core,
  html.mobile-webkit-safe .hero .message-aura,
  html.mobile-webkit-safe .hero .message-lift,
  html.mobile-webkit-safe .hero .message-envelope::before,
  html.mobile-webkit-safe .hero .message-line,
  html.mobile-webkit-safe .hero .operator-card,
  html.mobile-webkit-safe .hero .operator-person,
  html.mobile-webkit-safe .hero .operator-head,
  html.mobile-webkit-safe .hero .operator-headset,
  html.mobile-webkit-safe .hero .operator-body,
  html.mobile-webkit-safe .hero .operator-arm,
  html.mobile-webkit-safe .hero .operator-laptop,
  html.mobile-webkit-safe .hero .operator-signal,
  html.mobile-webkit-safe .hero .operator-signal::before,
  html.mobile-webkit-safe .hero .operator-signal::after,
  html.mobile-webkit-safe .service-signal-orb,
  html.mobile-webkit-safe .service-signal-headphones,
  html.mobile-webkit-safe .service-signal-headphones::before,
  html.mobile-webkit-safe .service-signal-headphones::after,
  html.mobile-webkit-safe .map-route,
  html.mobile-webkit-safe .map-packet,
  html.mobile-webkit-safe .map-beam {
    animation: none !important;
    transition-duration: 160ms !important;
  }

  html.mobile-webkit-safe .hero .message-aura,
  html.mobile-webkit-safe .service-signal-headphones::before,
  html.mobile-webkit-safe .service-signal-headphones::after {
    display: none !important;
  }

  html.mobile-webkit-safe .hero .message-core,
  html.mobile-webkit-safe .hero .operator-card,
  html.mobile-webkit-safe .hero .service-signal-headphones,
  html.mobile-webkit-safe .kosovo-map,
  html.mobile-webkit-safe .office-render,
  html.mobile-webkit-safe .people-cutout {
    filter: none !important;
  }
}

@keyframes characterFloatMobileSafe {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-5px); }
}

/* Final responsive edge polish: keep text away from panel lines on every device */
html.theme-bright main {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html.theme-bright main {
    overflow-x: hidden;
  }
}

@media (max-width: 680px) {
  :root {
    --mobile-shell-gap: 22px;
    --mobile-inner-gap: clamp(24px, 6.1vw, 30px);
  }

  html.theme-bright body::before {
    opacity: .12 !important;
    background-size: 118px 118px !important;
    mask-image: none !important;
  }

  html.theme-bright body::after {
    opacity: .42 !important;
  }

  html.theme-bright .site-header {
    width: calc(100% - var(--mobile-shell-gap)) !important;
    max-width: calc(100% - var(--mobile-shell-gap)) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    border-color: rgba(25, 52, 83, .09) !important;
    box-shadow:
      0 12px 30px rgba(35, 56, 92, .08),
      inset 0 1px 0 rgba(255, 255, 255, .9) !important;
  }

  html.theme-bright main > section,
  html.theme-bright .page-band,
  html.theme-bright .hero,
  html.theme-bright .split-section,
  html.theme-bright .services-home,
  html.theme-bright .services-board,
  html.theme-bright .services-board.services-uniform,
  html.theme-bright .service-signal-break,
  html.theme-bright .proof-section,
  html.theme-bright .kosovo-section,
  html.theme-bright .process-section,
  html.theme-bright .assurance,
  html.theme-bright .contact-page,
  html.theme-bright .apply-page,
  html.theme-bright .legal-page,
  html.theme-bright .site-footer {
    width: calc(100% - var(--mobile-shell-gap)) !important;
    max-width: calc(100% - var(--mobile-shell-gap)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.theme-bright .hero.page-band {
    padding-inline: var(--mobile-inner-gap) !important;
    padding-top: 108px !important;
    padding-bottom: 28px !important;
    border-color: rgba(42, 165, 234, .12) !important;
    border-radius: 30px !important;
    box-shadow:
      0 18px 42px rgba(35, 56, 92, .09),
      inset 0 1px 0 rgba(255, 255, 255, .78) !important;
  }

  html.theme-bright .hero.page-band::before {
    inset: 14px !important;
    border-radius: 24px !important;
    opacity: .08 !important;
    background-size: 104px 104px !important;
    mask-image: none !important;
  }

  html.theme-bright .hero.page-band::after {
    inset: 18px !important;
    border-radius: 24px !important;
    opacity: .24 !important;
  }

  html.theme-bright .hero.page-band > .hero-copy,
  html.theme-bright .hero.page-band > .hero-stage {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.theme-bright .hero-copy {
    padding-inline: 0 !important;
  }

  html.theme-bright .hero-copy .eyebrow {
    max-width: 100% !important;
    margin-bottom: 18px !important;
    letter-spacing: .135em !important;
    overflow-wrap: normal !important;
  }

  html.theme-bright .hero-copy h1,
  html.theme-bright .hero-copy .hero-title {
    max-width: 100% !important;
    font-size: clamp(36px, 9.45vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.042em !important;
    overflow: visible !important;
  }

  html.theme-bright .hero-copy .lede {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    font-size: clamp(15px, 3.9vw, 16px) !important;
    line-height: 1.5 !important;
  }

  html.theme-bright .hero.page-band .title-animated {
    padding-bottom: .22em !important;
    margin-bottom: -.04em !important;
    overflow: visible !important;
  }

  html.theme-bright .hero.page-band .hero-title::after,
  html.theme-bright .hero.page-band .title-animated::after {
    left: 0 !important;
    bottom: -.055em !important;
    width: min(285px, 88%) !important;
    height: 2px !important;
    opacity: .62 !important;
  }

  html.theme-bright .hero.page-band .hero-script-word {
    font-size: .78em !important;
    letter-spacing: -.028em !important;
    transform: skewX(-4deg) rotate(-.35deg) translateY(.005em) !important;
  }

  html.theme-bright .hero.page-band .hero-script-word::after {
    bottom: -.075em !important;
    height: .052em !important;
    opacity: .72 !important;
  }

  html.theme-bright .hero.page-band .button-row {
    margin-top: 28px !important;
    gap: 12px !important;
  }

  html.theme-bright .hero-stage {
    min-height: 452px !important;
    margin-top: 12px !important;
    margin-inline: calc(var(--mobile-inner-gap) * -0.36) !important;
    width: calc(100% + var(--mobile-inner-gap) * .72) !important;
    max-width: none !important;
    overflow: hidden !important;
  }

  html.theme-bright .hero .live-desk {
    min-height: 438px !important;
    width: 100% !important;
  }

  html.theme-bright .hero .live-desk::before {
    inset: 10% 5px 0 !important;
    border-color: rgba(42, 165, 234, .1) !important;
    border-radius: 32px !important;
  }

  html.theme-bright .hero .live-desk::after {
    left: 13% !important;
    right: 13% !important;
    opacity: .28 !important;
  }

  html.theme-bright .hero .fline-character {
    top: 18px !important;
  }

  html.mobile-webkit-safe .hero-stage {
    min-height: 456px !important;
  }

  html.mobile-webkit-safe .hero .live-desk {
    min-height: 440px !important;
  }

  html.mobile-webkit-safe .hero .fline-character {
    top: 22px !important;
  }
}

@media (min-width: 681px) and (max-width: 1099px) {
  :root {
    --tablet-shell-gap: clamp(34px, 5vw, 58px);
  }

  html.theme-bright .site-header,
  html.theme-bright main > section,
  html.theme-bright .page-band,
  html.theme-bright .hero,
  html.theme-bright .split-section,
  html.theme-bright .services-home,
  html.theme-bright .services-board,
  html.theme-bright .services-board.services-uniform,
  html.theme-bright .service-signal-break,
  html.theme-bright .proof-section,
  html.theme-bright .kosovo-section,
  html.theme-bright .process-section,
  html.theme-bright .assurance,
  html.theme-bright .contact-page,
  html.theme-bright .apply-page,
  html.theme-bright .legal-page,
  html.theme-bright .site-footer {
    width: calc(100% - var(--tablet-shell-gap)) !important;
    max-width: calc(100% - var(--tablet-shell-gap)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.theme-bright .hero.page-band {
    padding-inline: clamp(34px, 5vw, 54px) !important;
  }

  html.theme-bright .hero.page-band .title-animated {
    padding-bottom: .18em !important;
    overflow: visible !important;
  }

  html.theme-bright .hero.page-band .hero-title::after,
  html.theme-bright .hero.page-band .title-animated::after {
    bottom: -.045em !important;
    width: min(420px, 76%) !important;
  }
}

@media (min-width: 1100px) and (max-width: 1599px) {
  :root {
    --desktop-shell: min(calc(100vw - 96px), 1500px);
  }
}

@media (min-width: 1600px) and (max-width: 2199px) {
  :root {
    --desktop-shell: min(calc(100vw - 120px), 1880px);
  }
}

@media (min-width: 2200px) {
  :root {
    --desktop-shell: min(calc(100vw - 150px), 2320px);
  }
}

@media (min-width: 1100px) {
  html.theme-bright .site-header,
  html.theme-bright main > section,
  html.theme-bright .page-band,
  html.theme-bright .hero,
  html.theme-bright .split-section,
  html.theme-bright .services-home,
  html.theme-bright .services-board,
  html.theme-bright .services-board.services-uniform,
  html.theme-bright .service-signal-break,
  html.theme-bright .proof-section,
  html.theme-bright .kosovo-section,
  html.theme-bright .process-section,
  html.theme-bright .assurance,
  html.theme-bright .contact-page,
  html.theme-bright .apply-page,
  html.theme-bright .legal-page,
  html.theme-bright .site-footer {
    width: var(--desktop-shell) !important;
    max-width: var(--desktop-shell) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.theme-bright .site-header {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* Headset depth fix: keep the FLINE face visually in front, with cups only on the sides */
html.theme-bright .hero .fline-character {
  isolation: isolate;
}

html.theme-bright .hero .fline-face {
  z-index: 6 !important;
}

html.theme-bright .hero .live-headset {
  z-index: auto !important;
  pointer-events: none;
}

html.theme-bright .hero .headset-arc {
  z-index: 2 !important;
}

html.theme-bright .hero .ear-pad,
html.theme-bright .hero .mic-arm,
html.theme-bright .hero .mic-dot {
  z-index: 7 !important;
}

html.theme-bright .hero .ear-pad.left {
  left: -8px !important;
}

html.theme-bright .hero .ear-pad.right {
  right: -7px !important;
}

@media (max-width: 680px) {
  html.theme-bright .hero .fline-face {
    z-index: 6 !important;
  }

  html.theme-bright .hero .live-headset {
    inset: -10px -20px 0 !important;
    z-index: auto !important;
  }

  html.theme-bright .hero .headset-arc {
    top: 4px !important;
    left: 9px !important;
    right: 10px !important;
    height: 118px !important;
    z-index: 2 !important;
  }

  html.theme-bright .hero .ear-pad {
    top: 94px !important;
    width: 36px !important;
    height: 70px !important;
    z-index: 7 !important;
  }

  html.theme-bright .hero .ear-pad.left {
    left: -18px !important;
  }

  html.theme-bright .hero .ear-pad.right {
    right: -17px !important;
  }

  html.theme-bright .hero .mic-arm {
    right: -7px !important;
    bottom: 45px !important;
    width: 82px !important;
    height: 36px !important;
    z-index: 8 !important;
  }

  html.theme-bright .hero .mic-dot {
    right: -11px !important;
    bottom: 41px !important;
    z-index: 9 !important;
  }

  html.mobile-webkit-safe .hero .live-headset {
    inset: -10px -20px 0 !important;
    z-index: auto !important;
  }

  html.mobile-webkit-safe .hero .headset-arc {
    top: 4px !important;
    left: 9px !important;
    right: 10px !important;
    height: 118px !important;
  }

  html.mobile-webkit-safe .hero .ear-pad.left {
    left: -18px !important;
  }

  html.mobile-webkit-safe .hero .ear-pad.right {
    right: -17px !important;
  }

  html.mobile-webkit-safe .hero .mic-arm {
    right: -7px !important;
    bottom: 45px !important;
    width: 82px !important;
    height: 36px !important;
  }

  html.mobile-webkit-safe .hero .mic-dot {
    right: -11px !important;
    bottom: 41px !important;
  }
}

/* Safari-safe hero accent: never let the final word depend on transparent text clipping */
html.theme-bright .hero.page-band .hero-script-word {
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
  background: none !important;
  text-shadow:
    0 10px 24px rgba(42, 165, 234, .2),
    0 3px 12px rgba(139, 72, 242, .12) !important;
}

/* Mobile/touch stability: no sideways magnetic or fixed-header translate jitter */
@media (max-width: 680px), (hover: none) and (pointer: coarse) {
  html.theme-bright .site-header {
    left: calc(var(--mobile-shell-gap, 22px) / 2) !important;
    right: auto !important;
    width: calc(100% - var(--mobile-shell-gap, 22px)) !important;
    max-width: calc(100% - var(--mobile-shell-gap, 22px)) !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }

  html.theme-bright .site-header.is-scrolled {
    transform: translate3d(0, -1px, 0) !important;
    -webkit-transform: translate3d(0, -1px, 0) !important;
  }

  html.theme-bright .brand,
  html.theme-bright .brand.official-logo,
  html.theme-bright .brand img,
  html.theme-bright .brand.official-logo img,
  html.theme-bright .language-switch,
  html.theme-bright .nav-toggle,
  html.theme-bright .button.magnetic,
  html.theme-bright .magnetic {
    transform: none !important;
    -webkit-transform: none !important;
  }

  html.theme-bright .button.magnetic:active,
  html.theme-bright .magnetic:active {
    transform: scale(.988) !important;
    -webkit-transform: scale(.988) !important;
  }
}

/* Mobile team photo fix: keep the cutout centered even when touch creates a sticky :hover */
@media (max-width: 780px), (hover: none) and (pointer: coarse) {
  .people-cutout,
  .people-visual:hover .people-cutout,
  .people-visual:active .people-cutout,
  html.motion-lite .people-cutout,
  html.motion-lite .people-visual:hover .people-cutout,
  html.motion-lite .people-visual:active .people-cutout,
  html.mobile-webkit-safe .people-cutout,
  html.mobile-webkit-safe .people-visual:hover .people-cutout,
  html.mobile-webkit-safe .people-visual:active .people-cutout {
    left: 50% !important;
    right: auto !important;
    transform: translate3d(-50%, 0, 0) !important;
    -webkit-transform: translate3d(-50%, 0, 0) !important;
  }

  .people-visual:active .people-glow {
    opacity: .98 !important;
  }
}

.form-step.is-invalid {
  border-color: rgba(126, 76, 255, 0.36);
  box-shadow: 0 18px 42px rgba(47, 177, 231, 0.16), inset 0 0 0 1px rgba(126, 76, 255, 0.16);
}

.form-step.is-invalid .label {
  color: var(--brand-blue);
}

.custom-modules-section {
  width: min(100% - 24px, var(--shell-wide));
  margin: clamp(34px, 7vw, 96px) auto;
  display: grid;
  gap: 18px;
}

.custom-module-card {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
  gap: clamp(20px, 4vw, 56px);
  align-items: center;
  border-radius: clamp(30px, 5vw, 58px);
  padding: clamp(28px, 5vw, 74px);
}

.custom-module-card h2 {
  max-width: 11ch;
  margin: 0 0 18px;
  font-size: clamp(46px, 8vw, 128px);
  line-height: .88;
  letter-spacing: -.075em;
}

.custom-module-card p:not(.eyebrow) {
  max-width: 720px;
  color: var(--muted);
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.35;
  font-weight: 760;
}

.custom-module-card .button {
  margin-top: 20px;
}

.custom-module-media {
  margin: 0;
  justify-self: end;
  width: min(100%, 420px);
  border-radius: clamp(24px, 4vw, 44px);
  padding: clamp(14px, 2vw, 24px);
  background: linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(226, 245, 255, .46));
  box-shadow: 0 28px 80px rgba(47, 177, 231, .16), inset 0 0 0 1px rgba(126, 76, 255, .14);
}

.custom-module-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  filter: drop-shadow(0 22px 42px rgba(20, 63, 110, .16));
}

.custom-module-fields {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

.custom-module-fields span {
  border: 1px solid rgba(47, 177, 231, .22);
  border-radius: 999px;
  padding: 12px 16px;
  color: var(--ink);
  background: rgba(255, 255, 255, .58);
  box-shadow: 0 14px 38px rgba(47, 177, 231, .12);
  font-weight: 920;
}

main > section[data-builder-width="narrow"] {
  width: min(100% - 32px, 980px);
}

main > section[data-builder-width="normal"] {
  width: min(100% - 32px, var(--shell));
}

main > section[data-builder-width="wide"] {
  width: min(100% - 24px, var(--shell-wide));
}

main > section[data-builder-width="full"] {
  width: min(100%, 100%);
  max-width: none;
  border-radius: 0;
}

main > section[hidden] {
  display: none !important;
}

html.theme-bright .leader-card {
  border-color: rgba(16, 24, 44, .1);
  background:
    radial-gradient(circle at 8% 8%, rgba(47, 177, 231, .12), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(241, 248, 255, .66));
  box-shadow: 0 18px 46px rgba(45, 71, 96, .1), inset 0 1px 0 rgba(255, 255, 255, .96);
}

html.theme-bright .leader-avatar {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-blue), var(--brand-purple));
}

html.theme-bright .leader-copy strong {
  color: #101827;
}

html.theme-bright .leader-copy em {
  color: rgba(16, 24, 44, .66);
  border-color: rgba(47, 177, 231, .18);
  background: rgba(47, 177, 231, .07);
}

@media (max-width: 780px) {
  .leader-row {
    grid-template-columns: 1fr;
  }

  .leader-card {
    grid-template-columns: 50px minmax(0, 1fr);
    min-height: 96px;
    border-radius: 24px;
    padding: 14px;
  }

  .leader-avatar {
    width: 50px;
    height: 50px;
    border-radius: 17px;
  }
}

@media (max-width: 780px) {
  .custom-module-card {
    grid-template-columns: 1fr;
  }

  .custom-module-media {
    justify-self: stretch;
  }

  .custom-module-fields {
    justify-content: flex-start;
  }
}

html.theme-bright .leader-row .leader-avatar,
.leader-row .leader-avatar {
  color: #fff;
}

html.theme-bright .leader-row .leader-copy strong,
.leader-row .leader-copy strong {
  color: #101827;
}

html:not(.theme-bright) .leader-row .leader-copy strong {
  color: #fff;
}

/* SQ language hardening: three language buttons must fit Safari mobile cleanly. */
.language-switch {
  flex-shrink: 0;
}

.language-switch button[data-lang-choice="sq"] {
  letter-spacing: -.01em;
}

@media (max-width: 680px) {
  .site-header,
  html.theme-bright .site-header {
    grid-template-columns: minmax(96px, auto) 1fr auto auto !important;
    gap: 5px !important;
    padding: 8px 9px 8px 10px !important;
  }

  .brand,
  html.theme-bright .brand,
  html.theme-bright .brand.official-logo {
    max-width: min(142px, 34vw) !important;
    padding-inline: 10px !important;
  }

  .brand img,
  html.theme-bright .brand img,
  html.theme-bright .brand.official-logo img {
    width: clamp(112px, 32vw, 138px) !important;
  }

  .language-switch,
  html.theme-bright .language-switch {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    grid-column: 3 !important;
    gap: 2px !important;
    padding: 3px !important;
    min-height: 40px !important;
    transform: none !important;
  }

  .language-switch button,
  html.theme-bright .language-switch button {
    min-width: 30px !important;
    width: 30px !important;
    height: 32px !important;
    padding-inline: 5px !important;
    font-size: 11px !important;
  }

  .nav-toggle,
  html.theme-bright .nav-toggle {
    grid-column: 4 !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 370px) {
  .brand,
  html.theme-bright .brand,
  html.theme-bright .brand.official-logo {
    max-width: 118px !important;
    padding-inline: 8px !important;
  }

  .brand img,
  html.theme-bright .brand img,
  html.theme-bright .brand.official-logo img {
    width: 110px !important;
  }

  .language-switch button,
  html.theme-bright .language-switch button {
    min-width: 28px !important;
    width: 28px !important;
  }
}

/* FLINE blue identity pass: UI/accent system only. Real photos and placed assets stay untouched. */
:root,
html.theme-bright {
  --cyan: #2aa5ea;
  --blue: #2aa5ea;
  --periwinkle: #2aa5ea;
  --violet: #2aa5ea;
  --purple: #2aa5ea;
  --brand-blue: #2aa5ea;
  --brand-cyan: #2aa5ea;
  --brand-purple: #2aa5ea;
  --fline-blue-soft: rgba(42, 165, 234, .16);
  --fline-blue-line: rgba(42, 165, 234, .22);
  --fline-blue-glow: rgba(42, 165, 234, .28);
  --fline-blue-ink: #0c2442;
}

html.theme-bright body {
  background:
    radial-gradient(circle at 8% 7%, rgba(42, 165, 234, .18), transparent 26rem),
    radial-gradient(circle at 88% 10%, rgba(42, 165, 234, .16), transparent 34rem),
    radial-gradient(circle at 52% 46%, rgba(255, 255, 255, .95), transparent 30rem),
    linear-gradient(135deg, #f8fcff 0%, #edf8ff 44%, #fbfdff 100%) !important;
}

html.theme-bright .ambient {
  background:
    radial-gradient(circle at 20% 82%, rgba(42, 165, 234, .16), transparent 26rem),
    radial-gradient(circle at 76% 54%, rgba(42, 165, 234, .12), transparent 30rem) !important;
}

html.theme-bright body::after {
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 34%), rgba(42, 165, 234, .18), transparent 25rem) !important;
}

html.theme-bright .scroll-light {
  background:
    radial-gradient(660px circle at 50% var(--scroll-light-y, 36%), rgba(255, 255, 255, .86), rgba(42, 165, 234, .22) 28%, transparent 64%),
    linear-gradient(90deg, transparent 0 10%, rgba(255, 255, 255, .44) 49%, rgba(42, 165, 234, .14) 51%, transparent 90%),
    linear-gradient(180deg, transparent, rgba(255, 255, 255, .5), transparent) !important;
}

html.theme-bright .site-header {
  border-color: rgba(42, 165, 234, .18) !important;
  background:
    radial-gradient(circle at 7% 0%, rgba(42, 165, 234, .22), transparent 18rem),
    linear-gradient(180deg, rgba(249, 253, 255, .9), rgba(238, 248, 255, .78)),
    rgba(255, 255, 255, .76) !important;
  box-shadow:
    0 22px 72px rgba(22, 86, 140, .16),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

html.theme-bright .site-header.is-scrolled {
  background:
    radial-gradient(circle at 7% 0%, rgba(42, 165, 234, .19), transparent 18rem),
    linear-gradient(180deg, rgba(250, 253, 255, .94), rgba(239, 249, 255, .86)),
    rgba(255, 255, 255, .84) !important;
}

html.theme-bright .site-nav,
html.theme-bright .site-nav a {
  color: rgba(12, 36, 66, .72) !important;
}

html.theme-bright .site-nav a:hover,
html.theme-bright .site-nav a[aria-current="page"] {
  color: #071426 !important;
}

html.theme-bright .site-nav a::after,
html.theme-bright .title-animated::after,
html.theme-bright .service-card::after,
html.theme-bright .process-line article::after,
html.theme-bright .service-signal-copy h2::after,
html.theme-bright .hero.page-band .hero-script-word::after {
  background: linear-gradient(90deg, rgba(42, 165, 234, 0), rgba(42, 165, 234, .96), rgba(42, 165, 234, .82), rgba(15, 98, 207, 0)) !important;
  box-shadow: 0 0 22px rgba(42, 165, 234, .26) !important;
}

html.theme-bright .eyebrow,
html.theme-bright .section-kicker,
html.theme-bright .footer-column h3,
html.theme-bright .footer-site-links h3,
html.theme-bright .footer-contact h3,
html.theme-bright .service-signal-copy .eyebrow {
  color: #1f7fbd !important;
  text-shadow: 0 10px 24px rgba(42, 165, 234, .12) !important;
}

html.theme-bright h1,
html.theme-bright h2,
html.theme-bright h3,
html.theme-bright .title-animated {
  color: #071426 !important;
}

html.theme-bright p,
html.theme-bright li,
html.theme-bright .lede,
html.theme-bright .hero-copy .lede,
html.theme-bright .page-hero .lede,
html.theme-bright .copy-block p,
html.theme-bright .apply-intro p,
html.theme-bright .contact-intro p,
html.theme-bright .legal-card p {
  color: rgba(12, 36, 66, .74) !important;
}

html.theme-bright .hero.page-band .hero-script-word,
html.theme-bright .hero-script-word {
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
  background: none !important;
  text-shadow:
    0 12px 28px rgba(42, 165, 234, .22),
    0 2px 8px rgba(15, 98, 207, .12) !important;
}

html.theme-bright .button:not(.secondary),
html.theme-bright .footer-links a[href="apply.html"],
html.theme-bright .footer-newsletter-form button,
html.theme-bright .service-signal-action .button {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .55) !important;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 54%, #1a78ad 100%) !important;
  box-shadow:
    0 18px 44px rgba(42, 165, 234, .28),
    inset 0 1px 0 rgba(255, 255, 255, .5) !important;
}

html.theme-bright .button.secondary,
html.theme-bright .footer-links a,
html.theme-bright .choice-row label,
html.theme-bright .file-drop,
html.theme-bright .language-switch,
html.theme-bright .nav-toggle {
  color: #071426 !important;
  border-color: rgba(42, 165, 234, .18) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(42, 165, 234, .12), transparent 9rem),
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(241, 249, 255, .72)) !important;
  box-shadow:
    0 14px 34px rgba(42, 165, 234, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

html.theme-bright .button.secondary:hover,
html.theme-bright .footer-links a:hover,
html.theme-bright .choice-row label:hover,
html.theme-bright .file-drop:hover {
  border-color: rgba(42, 165, 234, .36) !important;
  box-shadow:
    0 20px 50px rgba(42, 165, 234, .18),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

html.theme-bright .language-switch button.is-active,
html.theme-bright .language-switch button:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #2aa5ea, #2aa5ea 54%, #1a78ad) !important;
  box-shadow: 0 10px 28px rgba(42, 165, 234, .26) !important;
}

html.theme-bright .glass,
html.theme-bright .page-hero,
html.theme-bright .assurance,
html.theme-bright .copy-block,
html.theme-bright .contact-intro,
html.theme-bright .apply-intro,
html.theme-bright .legal-card,
html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .services-board,
html.theme-bright .service-cloud,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .form-step,
html.theme-bright .apply-form,
html.theme-bright .contact-form,
html.theme-bright details,
html.theme-bright .leader-card,
html.theme-bright .custom-module-media {
  border-color: rgba(42, 165, 234, .13) !important;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(42, 165, 234, .13), transparent 40%),
    radial-gradient(circle at 90% 12%, rgba(42, 165, 234, .08), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(247, 252, 255, .7)),
    rgba(255, 255, 255, .72) !important;
  box-shadow:
    0 30px 90px rgba(22, 86, 140, .11),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

html.theme-bright .service-card:hover,
html.theme-bright .service-strip:hover,
html.theme-bright .office:hover,
html.theme-bright .office.is-active,
html.theme-bright .form-step.is-active,
html.theme-bright .service-card.is-signal,
html.theme-bright .is-signal-active {
  border-color: rgba(42, 165, 234, .34) !important;
  box-shadow:
    0 34px 96px rgba(42, 165, 234, .18),
    0 0 0 1px rgba(42, 165, 234, .08),
    inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

html.theme-bright .service-icon,
html.theme-bright .leader-avatar,
html.theme-bright .signal-orb,
html.theme-bright .service-signal-orb,
html.theme-bright .office::before,
html.theme-bright .proof-node strong {
  color: #2aa5ea !important;
  background:
    radial-gradient(circle at 30% 16%, rgba(255, 255, 255, .9), transparent 28%),
    linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 58%, #1a78ad 100%) !important;
  box-shadow: 0 16px 42px rgba(42, 165, 234, .22) !important;
}

html.theme-bright .proof-node strong {
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  box-shadow: none !important;
}

html.theme-bright .process-line::before,
html.theme-bright .form-step::before,
html.theme-bright .apply-form form::before,
html.theme-bright .signal-rail i {
  background: linear-gradient(180deg, rgba(42, 165, 234, .22), rgba(42, 165, 234, .88), rgba(15, 98, 207, .2)) !important;
  box-shadow: 0 0 24px rgba(42, 165, 234, .2) !important;
}

html.theme-bright .operator-signal::before,
html.theme-bright .operator-signal::after,
html.theme-bright .signal-packet,
html.theme-bright .signal-cursor-glow,
html.theme-bright .message-line,
html.theme-bright .signal-headset-core,
html.theme-bright .signal-headset-wave {
  background: linear-gradient(90deg, rgba(42, 165, 234, .9), rgba(42, 165, 234, .78), rgba(15, 98, 207, .55)) !important;
  box-shadow: 0 0 24px rgba(42, 165, 234, .22) !important;
}

html.theme-bright .headset-arc,
html.theme-bright .signal-headset-arc {
  border-color: #2aa5ea #2aa5ea #1a78ad #2aa5ea !important;
  box-shadow: 0 0 26px rgba(42, 165, 234, .2) !important;
}

html.theme-bright .ear-pad,
html.theme-bright .signal-headset-cup {
  background:
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .86), transparent 17%),
    linear-gradient(145deg, rgba(116, 219, 255, .96), rgba(42, 165, 234, .84) 54%, rgba(15, 98, 207, .76)) !important;
  box-shadow:
    0 10px 30px rgba(42, 165, 234, .22),
    inset 0 1px 0 rgba(255, 255, 255, .56) !important;
}

html.theme-bright .mic-arm,
html.theme-bright .mic-dot,
html.theme-bright .message-envelope {
  border-color: rgba(42, 165, 234, .72) !important;
  background: linear-gradient(135deg, rgba(42, 165, 234, .18), rgba(42, 165, 234, .1)) !important;
  box-shadow: 0 0 22px rgba(42, 165, 234, .18) !important;
}

html.theme-bright .service-signal-break,
html.theme-bright .footer-newsletter {
  border-color: rgba(42, 165, 234, .24) !important;
  background:
    radial-gradient(circle at 9% 14%, rgba(42, 165, 234, .28), transparent 19rem),
    radial-gradient(circle at 72% 0%, rgba(42, 165, 234, .2), transparent 24rem),
    linear-gradient(135deg, #061827 0%, #0a3152 48%, #061322 100%) !important;
}

html.theme-bright .service-signal-break::after,
html.theme-bright .footer-expanded::after,
html.theme-bright .site-footer.footer-expanded::after {
  background: linear-gradient(90deg, rgba(42, 165, 234, .06), rgba(42, 165, 234, .06)) !important;
}

html.theme-bright .footer-newsletter h2 span,
html.theme-bright .footer-newsletter .eyebrow,
html.theme-bright .service-signal-copy h2 span {
  color: #68b8e1 !important;
}

html.theme-bright .footer-socials .social-icon,
html.theme-bright .footer-contact-actions .social-icon,
html.theme-bright .footer-column a.social-icon {
  border-color: rgba(104, 184, 225, .36) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 56%, #1a78ad 100%) !important;
  box-shadow:
    0 18px 44px rgba(42, 165, 234, .24),
    inset 0 1px 0 rgba(255, 255, 255, .35) !important;
}

html.theme-bright .footer-socials .social-icon:hover,
html.theme-bright .footer-contact-actions .social-icon:hover,
html.theme-bright .footer-column a.social-icon:hover {
  filter: brightness(1.05);
  box-shadow:
    0 24px 60px rgba(42, 165, 234, .3),
    inset 0 1px 0 rgba(255, 255, 255, .42) !important;
}

html.theme-bright .site-footer.footer-expanded {
  border-color: rgba(42, 165, 234, .18) !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(42, 165, 234, .17), transparent 28rem),
    radial-gradient(circle at 88% 12%, rgba(42, 165, 234, .13), transparent 32rem),
    linear-gradient(180deg, rgba(247, 252, 255, .9), rgba(234, 247, 255, .76)) !important;
}

html.theme-bright .footer-main {
  border-color: rgba(42, 165, 234, .12) !important;
}

html.theme-bright .footer-bottom a {
  background:
    radial-gradient(circle at 26% 0%, rgba(42, 165, 234, .18), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(237, 249, 255, .76)) !important;
  border-color: rgba(42, 165, 234, .14) !important;
}

/* Do not tint real raster assets during the blue pass. */
html.theme-bright img,
html.theme-bright picture,
html.theme-bright .people-cutout,
html.theme-bright .partnership-hand,
html.theme-bright .office-render,
html.theme-bright .service-signal-headphones img {
  filter: none;
}

/* Final icon readability pass: all decorative UI icons must read white on FLINE blue. */
html.theme-bright .service-icon,
html.theme-bright .leader-avatar {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background:
    radial-gradient(circle at 27% 15%, rgba(255, 255, 255, .78), transparent 25%),
    radial-gradient(circle at 74% 76%, rgba(15, 98, 207, .34), transparent 42%),
    linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 55%, #1a78ad 100%) !important;
  box-shadow:
    0 18px 40px rgba(42, 165, 234, .28),
    inset 0 1px 0 rgba(255, 255, 255, .44),
    inset 0 -12px 22px rgba(4, 38, 88, .14) !important;
}

html.theme-bright .leader-avatar {
  font-size: 14px !important;
  font-weight: 980 !important;
  letter-spacing: .06em !important;
  text-shadow: 0 2px 9px rgba(5, 24, 52, .28) !important;
}

html.theme-bright .service-icon::before {
  background: rgba(255, 255, 255, .98) !important;
  opacity: 1 !important;
  filter:
    drop-shadow(0 2px 4px rgba(4, 38, 88, .18))
    drop-shadow(0 0 12px rgba(255, 255, 255, .44)) !important;
  transform: translate3d(-50%, -50%, 0) scale(1.02) !important;
}

html.theme-bright .service-icon::after {
  background:
    radial-gradient(circle at 72% 24%, rgba(255, 255, 255, .46), transparent 18%),
    linear-gradient(135deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .03)) !important;
  opacity: .56 !important;
}

@media (hover: hover) and (pointer: fine) {
  html.theme-bright .service-card:hover .service-icon::before,
  html.theme-bright .service-strip:hover .service-icon::before {
    transform: translate3d(-50%, -54%, 0) scale(1.1) !important;
    filter:
      drop-shadow(0 4px 8px rgba(4, 38, 88, .2))
      drop-shadow(0 0 16px rgba(255, 255, 255, .52)) !important;
  }
}

html.theme-bright .footer-socials .social-icon,
html.theme-bright .footer-contact-actions .social-icon,
html.theme-bright .footer-column a.social-icon {
  width: 52px !important;
  height: 52px !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .5) !important;
  background:
    radial-gradient(circle at 30% 12%, rgba(255, 255, 255, .52), transparent 26%),
    linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 54%, #1a78ad 100%) !important;
  box-shadow:
    0 18px 42px rgba(42, 165, 234, .28),
    inset 0 1px 0 rgba(255, 255, 255, .5),
    inset 0 -12px 22px rgba(4, 38, 88, .16) !important;
}

html.theme-bright .social-icon::before,
html.theme-bright .social-facebook::before,
html.theme-bright .social-linkedin::before,
html.theme-bright .social-instagram::before,
html.theme-bright .social-messenger::before,
html.theme-bright .social-email::before {
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: 0 2px 8px rgba(4, 38, 88, .28) !important;
}

html.theme-bright .social-facebook::before {
  content: "f" !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
}

html.theme-bright .social-linkedin::before {
  content: "in" !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -.08em !important;
}

html.theme-bright .social-instagram::before {
  content: "" !important;
  width: 23px !important;
  height: 23px !important;
  border: 3px solid #fff !important;
  border-radius: 8px !important;
}

html.theme-bright .social-instagram::after {
  width: 8px !important;
  height: 8px !important;
  border: 3px solid #fff !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: 8px -8px 0 -6px #fff !important;
}

html.theme-bright .social-messenger::before {
  content: "" !important;
  width: 28px !important;
  height: 28px !important;
}

html.theme-bright .social-messenger::after {
  background: #fff !important;
  filter: drop-shadow(0 2px 6px rgba(4, 38, 88, .18)) !important;
}

html.theme-bright .social-email::before {
  content: "" !important;
  width: 28px !important;
  height: 21px !important;
  border: 3px solid #fff !important;
  border-radius: 7px !important;
}

html.theme-bright .social-email::after {
  width: 17px !important;
  height: 17px !important;
  border-left: 3px solid rgba(255, 255, 255, .96) !important;
  border-bottom: 3px solid rgba(255, 255, 255, .96) !important;
  box-shadow: none !important;
}

/* Final metrics readability pass: numbers must stay complete, not washed out by shine. */
html.theme-bright .proof-node {
  overflow: visible !important;
}

html.theme-bright .proof-node strong {
  display: inline-block !important;
  max-width: 100% !important;
  padding: 0 .03em .04em 0 !important;
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  filter: none !important;
  text-shadow:
    0 10px 24px rgba(42, 165, 234, .22),
    0 1px 0 rgba(255, 255, 255, .48) !important;
  font-weight: 980 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

@media (max-width: 680px) {
  html.theme-bright .proof-node {
    width: min(254px, 47vw) !important;
    min-width: 156px !important;
    padding: 18px 20px 20px !important;
  }

  html.theme-bright .proof-node strong {
    font-size: clamp(54px, 15.3vw, 70px) !important;
  }

  html.theme-bright .proof-node span {
    margin-top: 10px !important;
    font-size: clamp(13px, 3.45vw, 15px) !important;
    line-height: 1.18 !important;
  }
}

/* Final premium polish layer: sitewide consistency, touch safety, and sharper FLINE-blue depth. */
html.theme-bright {
  --premium-ink: #071426;
  --premium-copy: rgba(12, 36, 66, .76);
  --premium-muted: rgba(12, 36, 66, .58);
  --premium-line: rgba(42, 165, 234, .15);
  --premium-line-strong: rgba(42, 165, 234, .24);
  --premium-panel: rgba(255, 255, 255, .78);
  --premium-panel-soft: rgba(247, 252, 255, .68);
  --premium-shadow: 0 30px 90px rgba(22, 86, 140, .12);
  --premium-shadow-tight: 0 18px 48px rgba(22, 86, 140, .1);
}

::selection {
  color: #fff;
  background: rgba(42, 165, 234, .86);
}

html.theme-bright body {
  color: var(--premium-ink) !important;
  background:
    radial-gradient(circle at 11% 6%, rgba(42, 165, 234, .16), transparent 25rem),
    radial-gradient(circle at 90% 11%, rgba(42, 165, 234, .13), transparent 33rem),
    linear-gradient(90deg, rgba(42, 165, 234, .055), transparent 20%, transparent 80%, rgba(42, 165, 234, .055)),
    linear-gradient(135deg, #f9fdff 0%, #eef9ff 43%, #fbfdff 100%) !important;
}

html.theme-bright body::before {
  background-size: 96px 96px !important;
  background-image:
    linear-gradient(rgba(42, 165, 234, .042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42, 165, 234, .036) 1px, transparent 1px) !important;
  opacity: .66 !important;
}

html.theme-bright h1,
html.theme-bright h2,
html.theme-bright h3,
html.theme-bright .title-animated,
html.theme-bright .leader-copy strong,
html.theme-bright .service-card h3,
html.theme-bright .service-strip h3,
html.theme-bright .office strong {
  color: var(--premium-ink) !important;
  text-wrap: balance;
}

html.theme-bright p,
html.theme-bright li,
html.theme-bright .lede,
html.theme-bright .hero-copy .lede,
html.theme-bright .page-hero .lede,
html.theme-bright .copy-block p,
html.theme-bright .service-card p,
html.theme-bright .service-strip p,
html.theme-bright .legal-card p,
html.theme-bright .office span,
html.theme-bright .leader-copy em {
  color: var(--premium-copy) !important;
}

html.theme-bright .eyebrow,
html.theme-bright .section-kicker,
html.theme-bright .footer-column h3,
html.theme-bright .footer-site-links h3,
html.theme-bright .footer-contact h3 {
  color: #2aa5ea !important;
  letter-spacing: .26em !important;
}

html.theme-bright .site-header {
  border: 1px solid rgba(42, 165, 234, .16) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(42, 165, 234, .18), transparent 17rem),
    radial-gradient(circle at 86% 0%, rgba(42, 165, 234, .1), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(239, 249, 255, .78)) !important;
  backdrop-filter: blur(22px) saturate(1.28) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.28) !important;
  box-shadow:
    0 22px 68px rgba(22, 86, 140, .15),
    inset 0 1px 0 rgba(255, 255, 255, .96),
    inset 0 -1px 0 rgba(42, 165, 234, .08) !important;
}

html.theme-bright .site-nav a,
html.theme-bright .language-switch button,
html.theme-bright .nav-toggle {
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms var(--ease),
    box-shadow 180ms ease !important;
}

html.theme-bright .site-nav a:hover,
html.theme-bright .site-nav a[aria-current="page"] {
  color: #061426 !important;
}

html.theme-bright .site-nav a:focus-visible,
html.theme-bright .language-switch button:focus-visible,
html.theme-bright .nav-toggle:focus-visible,
html.theme-bright .button:focus-visible,
html.theme-bright input:focus-visible,
html.theme-bright textarea:focus-visible,
html.theme-bright select:focus-visible,
html.theme-bright a:focus-visible {
  outline: 3px solid rgba(42, 165, 234, .34) !important;
  outline-offset: 4px !important;
}

html.theme-bright .glass,
html.theme-bright .hero.page-band,
html.theme-bright .page-hero,
html.theme-bright .assurance,
html.theme-bright .copy-block,
html.theme-bright .contact-intro,
html.theme-bright .apply-intro,
html.theme-bright .legal-card,
html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .services-board,
html.theme-bright .service-cloud,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .leader-card,
html.theme-bright .form-step,
html.theme-bright .apply-form,
html.theme-bright .contact-form,
html.theme-bright details,
html.theme-bright .custom-module-card {
  border-color: var(--premium-line) !important;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 0%), rgba(42, 165, 234, .12), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(246, 252, 255, .68)),
    var(--premium-panel) !important;
  box-shadow:
    var(--premium-shadow),
    inset 0 1px 0 rgba(255, 255, 255, .96),
    inset 0 -1px 0 rgba(42, 165, 234, .055) !important;
}

html.theme-bright .service-card::before,
html.theme-bright .service-strip::before,
html.theme-bright .process-line article::before,
html.theme-bright .office::after,
html.theme-bright .leader-card::after,
html.theme-bright .form-step::after {
  opacity: .78;
}

html.theme-bright .service-card:hover,
html.theme-bright .service-strip:hover,
html.theme-bright .office:hover,
html.theme-bright .office.is-active,
html.theme-bright .leader-card:hover,
html.theme-bright .form-step.is-active,
html.theme-bright details[open] {
  transform: translate3d(0, -3px, 0);
  border-color: rgba(42, 165, 234, .32) !important;
  box-shadow:
    0 34px 100px rgba(22, 86, 140, .16),
    0 0 0 1px rgba(42, 165, 234, .08),
    inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

html.theme-bright .button {
  min-height: 52px;
  border-radius: 999px !important;
  font-weight: 940 !important;
  letter-spacing: -.02em !important;
}

html.theme-bright .button:not(.secondary) {
  background:
    radial-gradient(circle at 26% 12%, rgba(255, 255, 255, .36), transparent 24%),
    linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 52%, #1a78ad 100%) !important;
}

html.theme-bright .button:not(.secondary):hover {
  transform: translate3d(0, -2px, 0);
  box-shadow:
    0 24px 62px rgba(42, 165, 234, .32),
    inset 0 1px 0 rgba(255, 255, 255, .56) !important;
}

html.theme-bright .button.secondary:hover,
html.theme-bright .footer-links a:hover {
  background:
    radial-gradient(circle at 20% 0%, rgba(42, 165, 234, .18), transparent 8rem),
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(235, 248, 255, .8)) !important;
}

html.theme-bright input,
html.theme-bright textarea,
html.theme-bright select,
html.theme-bright .choice-row label,
html.theme-bright .file-drop {
  border-color: rgba(42, 165, 234, .16) !important;
  background: rgba(255, 255, 255, .7) !important;
  box-shadow:
    0 14px 34px rgba(22, 86, 140, .07),
    inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

html.theme-bright input:focus,
html.theme-bright textarea:focus,
html.theme-bright select:focus {
  border-color: rgba(42, 165, 234, .46) !important;
  box-shadow:
    0 18px 46px rgba(42, 165, 234, .14),
    0 0 0 4px rgba(42, 165, 234, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

html.theme-bright .service-card,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .leader-card {
  transition:
    transform 240ms var(--ease),
    border-color 220ms ease,
    box-shadow 240ms ease,
    background 240ms ease !important;
}

html.theme-bright .services-uniform .service-card h3,
html.theme-bright .service-card h3 {
  max-width: 13ch;
}

html.theme-bright .services-uniform .service-card p,
html.theme-bright .service-card p {
  max-width: 31ch;
}

html.theme-bright .proof-node {
  border-radius: 28px !important;
}

html.theme-bright .proof-node span {
  color: rgba(12, 36, 66, .78) !important;
  font-weight: 900 !important;
}

html.theme-bright .footer-newsletter {
  box-shadow:
    0 30px 90px rgba(7, 20, 38, .2),
    inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

html.theme-bright .site-footer.footer-expanded {
  border-radius: clamp(34px, 5vw, 64px) clamp(34px, 5vw, 64px) 0 0 !important;
  box-shadow:
    0 -20px 80px rgba(22, 86, 140, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

html.theme-bright .footer-main {
  gap: clamp(24px, 4vw, 56px) !important;
}

html.theme-bright .footer-column a,
html.theme-bright .footer-contact > a,
html.theme-bright .footer-bottom a {
  color: rgba(12, 36, 66, .78) !important;
  font-weight: 820 !important;
}

html.theme-bright .footer-column a:hover,
html.theme-bright .footer-contact > a:hover,
html.theme-bright .footer-bottom a:hover {
  color: #1a78ad !important;
}

@media (max-width: 980px) {
  html.theme-bright .glass,
  html.theme-bright .page-hero,
  html.theme-bright .copy-block,
  html.theme-bright .assurance,
  html.theme-bright .contact-intro,
  html.theme-bright .apply-intro,
  html.theme-bright .legal-card {
    border-radius: 34px !important;
  }

  html.theme-bright .services-uniform .service-card h3,
  html.theme-bright .service-card h3,
  html.theme-bright .services-uniform .service-card p,
  html.theme-bright .service-card p {
    max-width: none;
  }
}

@media (max-width: 680px) {
  html.theme-bright body {
    background:
      radial-gradient(circle at 16% 5%, rgba(42, 165, 234, .14), transparent 18rem),
      radial-gradient(circle at 94% 12%, rgba(42, 165, 234, .1), transparent 18rem),
      linear-gradient(135deg, #f9fdff 0%, #eef9ff 48%, #fbfdff 100%) !important;
  }

  html.theme-bright main {
    overflow-x: clip !important;
  }

  html.theme-bright section {
    padding-top: clamp(56px, 12vw, 76px) !important;
    padding-bottom: clamp(56px, 12vw, 76px) !important;
  }

  html.theme-bright .hero.page-band,
  html.theme-bright .page-hero,
  html.theme-bright .assurance,
  html.theme-bright .copy-block,
  html.theme-bright .contact-intro,
  html.theme-bright .apply-intro,
  html.theme-bright .legal-card,
  html.theme-bright .service-card,
  html.theme-bright .service-strip,
  html.theme-bright .process-line article,
  html.theme-bright .office,
  html.theme-bright .leader-card,
  html.theme-bright .form-step,
  html.theme-bright details {
    border-radius: 28px !important;
  }

  html.theme-bright .page-hero,
  html.theme-bright .assurance,
  html.theme-bright .copy-block,
  html.theme-bright .contact-intro,
  html.theme-bright .apply-intro,
  html.theme-bright .legal-card {
    padding-left: clamp(24px, 7vw, 34px) !important;
    padding-right: clamp(24px, 7vw, 34px) !important;
  }

  html.theme-bright h1 {
    font-size: clamp(47px, 14vw, 68px) !important;
    line-height: .96 !important;
  }

  html.theme-bright h2 {
    font-size: clamp(36px, 11vw, 52px) !important;
    line-height: 1 !important;
  }

  html.theme-bright .hero-copy .lede,
  html.theme-bright .page-hero .lede,
  html.theme-bright .copy-block p,
  html.theme-bright .legal-card p {
    font-size: clamp(17px, 4.5vw, 22px) !important;
    line-height: 1.54 !important;
  }

  html.theme-bright .button-row {
    gap: 12px !important;
  }

  html.theme-bright .button-row .button,
  html.theme-bright .button {
    min-height: 56px !important;
    padding-inline: clamp(20px, 6vw, 28px) !important;
  }

  html.theme-bright .service-card:hover,
  html.theme-bright .service-strip:hover,
  html.theme-bright .office:hover,
  html.theme-bright .leader-card:hover,
  html.theme-bright details[open] {
    transform: none !important;
  }

  html.theme-bright .footer-main {
    gap: 28px !important;
  }

  html.theme-bright .footer-column,
  html.theme-bright .footer-contact {
    align-items: start !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.theme-bright *,
  html.theme-bright *::before,
  html.theme-bright *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .proof-node strong.is-count-ready {
    animation: metricNumberSettle 520ms cubic-bezier(.16, 1, .3, 1) both;
  }
}

@keyframes metricNumberSettle {
  from {
    opacity: .78;
    transform: translate3d(0, 8px, 0) scale(.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* Final premium responsive pass: proof metrics are controlled cards, not loose orbit items */
html.theme-bright .proof-section {
  display: grid !important;
  grid-template-columns: minmax(0, .96fr) minmax(430px, 1.04fr) !important;
  gap: clamp(36px, 6vw, 86px) !important;
  align-items: center !important;
  min-height: auto !important;
  padding-top: clamp(62px, 7vw, 104px) !important;
  padding-bottom: clamp(62px, 7vw, 104px) !important;
}

html.theme-bright .proof-copy {
  max-width: 760px !important;
}

html.theme-bright .proof-orbit {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  width: 100% !important;
  min-height: auto !important;
  padding: clamp(18px, 2.6vw, 32px) !important;
  border: 1px solid rgba(42, 165, 234, .14) !important;
  border-radius: clamp(32px, 4.2vw, 56px) !important;
  background:
    radial-gradient(circle at 50% 48%, rgba(42, 165, 234, .13), transparent 18rem),
    radial-gradient(circle at 82% 18%, rgba(15, 98, 207, .09), transparent 16rem),
    linear-gradient(145deg, rgba(255, 255, 255, .76), rgba(239, 250, 255, .5) 52%, rgba(255, 255, 255, .72)) !important;
  box-shadow:
    0 34px 90px rgba(22, 86, 140, .11),
    inset 0 1px 0 rgba(255, 255, 255, .88) !important;
  overflow: hidden !important;
}

html.theme-bright .proof-orbit::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: inherit;
  background:
    linear-gradient(90deg, transparent, rgba(42, 165, 234, .16), rgba(36, 119, 221, .1), transparent),
    linear-gradient(rgba(42, 165, 234, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42, 165, 234, .05) 1px, transparent 1px);
  background-size: 100% 100%, 86px 86px, 86px 86px;
  opacity: .42;
  pointer-events: none;
}

html.theme-bright .proof-orbit .orbit-ring {
  position: absolute !important;
  inset: 11% 9% !important;
  width: auto !important;
  height: auto !important;
  border-radius: 999px !important;
  border: 1px solid rgba(42, 165, 234, .16) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(42, 165, 234, .08), transparent 58%),
    conic-gradient(from 180deg, rgba(42, 165, 234, .24), rgba(36, 119, 221, .04), rgba(42, 165, 234, .2), rgba(36, 119, 221, .04), rgba(42, 165, 234, .24)) !important;
  opacity: .42 !important;
  filter: blur(.1px);
  pointer-events: none !important;
}

html.theme-bright .proof-node,
html.theme-bright .proof-node.a,
html.theme-bright .proof-node.b,
html.theme-bright .proof-node.c,
html.theme-bright .proof-node.d {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  width: auto !important;
  min-width: 0 !important;
}

html.theme-bright .proof-node {
  min-height: clamp(136px, 13vw, 174px) !important;
  padding: clamp(20px, 2.4vw, 30px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  border: 1px solid rgba(42, 165, 234, .16) !important;
  border-radius: clamp(24px, 3vw, 34px) !important;
  background:
    radial-gradient(circle at 20% 16%, rgba(255, 255, 255, .9), transparent 10rem),
    radial-gradient(circle at 86% 100%, rgba(42, 165, 234, .13), transparent 12rem),
    linear-gradient(155deg, rgba(255, 255, 255, .86), rgba(243, 251, 255, .7)) !important;
  box-shadow:
    0 24px 58px rgba(22, 86, 140, .09),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
  overflow: hidden !important;
  transform: none !important;
}

html.theme-bright .proof-node::after {
  content: "";
  position: absolute;
  left: clamp(18px, 2.2vw, 28px);
  right: clamp(18px, 2.2vw, 28px);
  bottom: clamp(12px, 1.6vw, 18px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2aa5ea, #2aa5ea 56%, #1a78ad);
  opacity: .76;
  box-shadow: 0 0 18px rgba(42, 165, 234, .22);
}

html.theme-bright .proof-node:hover {
  transform: translate3d(0, -2px, 0) !important;
  box-shadow:
    0 30px 72px rgba(22, 86, 140, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

html.theme-bright .proof-node strong {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: .01em !important;
  width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  font-size: clamp(58px, 6.6vw, 92px) !important;
  line-height: .82 !important;
  letter-spacing: -.082em !important;
  color: #2aa5ea !important;
  background: none !important;
  -webkit-text-fill-color: #2aa5ea !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, .9),
    0 16px 34px rgba(42, 165, 234, .2) !important;
}

html.theme-bright .proof-node strong .metric-number {
  display: inline-block !important;
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

html.theme-bright .proof-node strong .metric-plus {
  display: inline-block !important;
  margin-left: .035em !important;
  transform: translateY(.08em) !important;
  font-size: .48em !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  color: #1a78ad !important;
  -webkit-text-fill-color: #1a78ad !important;
}

html.theme-bright .proof-node > span:not(.metric-number):not(.metric-plus) {
  max-width: 100% !important;
  color: rgba(12, 36, 66, .78) !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  line-height: 1.18 !important;
  font-weight: 820 !important;
  letter-spacing: -.018em !important;
  text-transform: none !important;
}

@media (min-width: 1600px) {
  html.theme-bright .proof-section {
    grid-template-columns: minmax(0, .92fr) minmax(620px, 1.08fr) !important;
  }

  html.theme-bright .proof-node {
    min-height: 178px !important;
  }
}

@media (max-width: 1180px) {
  html.theme-bright .proof-section {
    grid-template-columns: 1fr !important;
    gap: clamp(26px, 5vw, 48px) !important;
    padding-top: clamp(54px, 8vw, 84px) !important;
    padding-bottom: clamp(54px, 8vw, 84px) !important;
  }

  html.theme-bright .proof-copy {
    max-width: 840px !important;
  }

  html.theme-bright .proof-orbit {
    max-width: 860px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .proof-section {
    gap: 24px !important;
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  html.theme-bright .proof-orbit {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 12px !important;
    border-radius: 28px !important;
  }

  html.theme-bright .proof-orbit::before {
    inset: 8px !important;
    opacity: .28 !important;
  }

  html.theme-bright .proof-orbit .orbit-ring {
    inset: 17% 5% !important;
    opacity: .28 !important;
  }

  html.theme-bright .proof-node {
    min-height: 124px !important;
    padding: 16px 14px 18px !important;
    border-radius: 22px !important;
  }

  html.theme-bright .proof-node::after {
    left: 14px !important;
    right: 14px !important;
    bottom: 10px !important;
    height: 2px !important;
  }

  html.theme-bright .proof-node:hover {
    transform: none !important;
  }

  html.theme-bright .proof-node strong {
    font-size: clamp(45px, 13vw, 58px) !important;
    letter-spacing: -.09em !important;
  }

  html.theme-bright .proof-node strong .metric-plus {
    font-size: .44em !important;
    transform: translateY(.1em) !important;
  }

  html.theme-bright .proof-node > span:not(.metric-number):not(.metric-plus) {
    font-size: clamp(12px, 3.25vw, 14px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.035em !important;
  }
}

@media (max-width: 370px) {
  html.theme-bright .proof-orbit {
    gap: 10px !important;
    padding: 10px !important;
  }

  html.theme-bright .proof-node {
    min-height: 116px !important;
    padding: 14px 12px 17px !important;
  }

  html.theme-bright .proof-node strong {
    font-size: clamp(40px, 12.2vw, 50px) !important;
  }
}

/* Final hero readability: the last word must never disappear during mobile rendering */
html.theme-bright .hero.page-band .hero-script-word,
html.theme-bright .hero-script-word {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
  background: none !important;
  font-family: var(--font-body) !important;
  font-style: italic !important;
  font-weight: 850 !important;
  letter-spacing: -.045em !important;
  transform: skewX(-4deg) translateY(.01em) !important;
  filter: drop-shadow(0 10px 20px rgba(42, 165, 234, .18)) !important;
}

.motion-ready .hero-copy.reveal.is-visible .hero-script-word,
.motion-ready .hero-copy.reveal .hero-script-word {
  animation: none !important;
  opacity: 1 !important;
  transform: skewX(-4deg) translateY(.01em) !important;
}

/* Final readability + live metrics correction */
html.theme-bright .footer-newsletter,
html.theme-bright .footer-newsletter * {
  color-scheme: dark !important;
}

html.theme-bright .footer-newsletter {
  background:
    radial-gradient(circle at 18% 0%, rgba(104, 184, 225, .26), transparent 18rem),
    radial-gradient(circle at 88% 30%, rgba(139, 72, 242, .18), transparent 20rem),
    linear-gradient(135deg, #061628 0%, #0c2b4a 48%, #04101d 100%) !important;
}

html.theme-bright .footer-newsletter .eyebrow,
html.theme-bright .footer-newsletter h2,
html.theme-bright .footer-newsletter h2 span,
html.theme-bright .footer-newsletter-copy p,
html.theme-bright .footer-newsletter p {
  opacity: 1 !important;
  filter: none !important;
}

html.theme-bright .footer-newsletter .eyebrow {
  color: #68b8e1 !important;
}

html.theme-bright .footer-newsletter h2 {
  color: #ffffff !important;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, .08),
    0 20px 46px rgba(0, 0, 0, .32) !important;
}

html.theme-bright .footer-newsletter h2 span {
  color: #68b8e1 !important;
  -webkit-text-fill-color: #68b8e1 !important;
  text-shadow: 0 0 28px rgba(94, 215, 255, .38) !important;
}

html.theme-bright .footer-newsletter-copy p:not(.eyebrow),
html.theme-bright .footer-newsletter p:not(.eyebrow) {
  margin-top: 14px !important;
  max-width: 560px !important;
  color: rgba(231, 248, 255, .9) !important;
  -webkit-text-fill-color: rgba(231, 248, 255, .9) !important;
  font-size: clamp(16px, 1.7vw, 20px) !important;
  line-height: 1.42 !important;
  font-weight: 720 !important;
}

html.theme-bright .footer-newsletter-form input {
  color: #061628 !important;
  -webkit-text-fill-color: #061628 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(231, 244, 252, .9)) !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
}

html.theme-bright .footer-newsletter-form input::placeholder {
  color: rgba(12, 36, 66, .58) !important;
  -webkit-text-fill-color: rgba(12, 36, 66, .58) !important;
  opacity: 1 !important;
}

html.theme-bright .footer-newsletter-form button {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #2aa5ea 0%, #2aa5ea 58%, #1a78ad 100%) !important;
}

html.theme-bright .proof-node strong {
  align-items: baseline !important;
  gap: .035em !important;
  letter-spacing: -.075em !important;
}

html.theme-bright .proof-node strong .metric-plus {
  margin-left: .015em !important;
  padding: .08em .16em .1em !important;
  border-radius: 999px !important;
  font-size: .34em !important;
  line-height: .92 !important;
  letter-spacing: -.02em !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #2aa5ea 0%, #1a78ad 100%) !important;
  box-shadow:
    0 8px 18px rgba(42, 165, 234, .24),
    inset 0 1px 0 rgba(255, 255, 255, .45) !important;
  transform: translateY(-.16em) !important;
}

html.theme-bright .proof-node > span:not(.metric-number):not(.metric-plus) {
  color: rgba(12, 36, 66, .86) !important;
  -webkit-text-fill-color: rgba(12, 36, 66, .86) !important;
  font-weight: 880 !important;
}

@media (prefers-reduced-motion: no-preference) {
  html.theme-bright .proof-node {
    translate: 0 0;
    animation: proofNodeFloat 6.8s ease-in-out infinite !important;
    animation-delay: var(--proof-float-delay, 0ms) !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html.theme-bright .proof-node.b {
    --proof-float-delay: -1.4s;
  }

  html.theme-bright .proof-node.c {
    --proof-float-delay: -2.8s;
  }

  html.theme-bright .proof-node.d {
    --proof-float-delay: -4.2s;
  }

  html.theme-bright .proof-node::after {
    animation: proofLineBreathe 3.4s ease-in-out infinite !important;
    animation-delay: var(--proof-float-delay, 0ms) !important;
    transform-origin: left center !important;
  }

  html.theme-bright .proof-node strong .metric-plus {
    scale: 1;
    animation: metricPlusPulse 2.8s ease-in-out infinite !important;
    animation-delay: var(--proof-float-delay, 0ms) !important;
  }
}

@keyframes proofNodeFloat {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -7px;
  }
}

@keyframes proofLineBreathe {
  0%, 100% {
    opacity: .58;
    transform: scaleX(.76);
  }
  50% {
    opacity: .96;
    transform: scaleX(1);
  }
}

@keyframes metricPlusPulse {
  0%, 100% {
    filter: saturate(1);
    scale: 1;
  }
  50% {
    filter: saturate(1.18) brightness(1.04);
    scale: 1.06;
  }
}

@media (max-width: 680px) {
  html.theme-bright .footer-newsletter-copy p:not(.eyebrow),
  html.theme-bright .footer-newsletter p:not(.eyebrow) {
    color: rgba(240, 250, 255, .94) !important;
    -webkit-text-fill-color: rgba(240, 250, 255, .94) !important;
    font-size: 15px !important;
  }

  html.theme-bright .proof-node strong .metric-plus {
    font-size: .32em !important;
    padding: .07em .14em .09em !important;
    transform: translateY(-.14em) !important;
  }

  @media (prefers-reduced-motion: no-preference) {
    html.theme-bright .proof-node {
      animation-duration: 7.6s !important;
    }
  }
}

/* Final metric legibility pass: clean full number + living but safe movement */
html.theme-bright .proof-node strong {
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: clamp(4px, .7vw, 7px) !important;
  letter-spacing: 0 !important;
  line-height: .84 !important;
  overflow: visible !important;
}

html.theme-bright .proof-node strong .metric-number {
  display: inline-block !important;
  letter-spacing: -.055em !important;
  color: #2aa5ea !important;
  background: linear-gradient(145deg, #2aa5ea 0%, #2aa5ea 48%, #1a78ad 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 16px 26px rgba(42, 165, 234, .16)) !important;
}

html.theme-bright .proof-node strong .metric-plus {
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin-left: .015em !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: .5em !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  color: #1a78ad !important;
  -webkit-text-fill-color: #1a78ad !important;
  background: none !important;
  box-shadow: none !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, .5),
    0 12px 22px rgba(21, 158, 227, .2) !important;
  transform: translateY(-.2em) !important;
}

@media (prefers-reduced-motion: no-preference) {
  html.theme-bright .proof-node strong .metric-number {
    animation: metricNumberAlive 4.2s ease-in-out infinite !important;
    animation-delay: var(--proof-float-delay, 0ms) !important;
    will-change: transform, filter !important;
  }

  html.theme-bright .proof-node strong .metric-plus {
    animation: metricPlusAlive 3.1s ease-in-out infinite !important;
    animation-delay: var(--proof-float-delay, 0ms) !important;
    will-change: transform, opacity !important;
  }
}

@keyframes metricNumberAlive {
  0%, 100% {
    transform: translateY(0);
    filter: drop-shadow(0 16px 26px rgba(42, 165, 234, .14));
  }
  50% {
    transform: translateY(-3px);
    filter: drop-shadow(0 20px 32px rgba(42, 165, 234, .24));
  }
}

@keyframes metricPlusAlive {
  0%, 100% {
    opacity: .9;
    transform: translateY(-.2em) scale(1);
  }
  50% {
    opacity: 1;
    transform: translateY(-.32em) scale(1.1);
  }
}

@media (max-width: 680px) {
  html.theme-bright .proof-node strong {
    gap: 3px !important;
    line-height: .86 !important;
  }

  html.theme-bright .proof-node strong .metric-number {
    letter-spacing: -.065em !important;
  }

  html.theme-bright .proof-node strong .metric-plus {
    font-size: .45em !important;
    transform: translateY(-.18em) !important;
  }
}

/* Solid metric color override: no outline/washed-out numbers on Safari/mobile */
html.theme-bright .proof-node strong .metric-number {
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, .42),
    0 18px 30px rgba(42, 165, 234, .16) !important;
  filter: none !important;
}

html.theme-bright .proof-node strong .metric-plus {
  color: #1a78ad !important;
  -webkit-text-fill-color: #1a78ad !important;
  -webkit-text-stroke: 0 transparent !important;
}

/* Final responsive containment audit fixes */
html.theme-bright .partnership-cta,
.partnership-cta {
  overflow: hidden !important;
  contain: paint !important;
}

html.theme-bright .partnership-visual,
.partnership-visual {
  overflow: hidden !important;
  max-width: 100% !important;
  contain: paint !important;
}

html.theme-bright .partnership-hand,
.partnership-hand {
  max-width: none !important;
}

@media (max-width: 980px) {
  html.theme-bright .partnership-visual,
  .partnership-visual {
    min-height: clamp(220px, 58vw, 330px) !important;
  }

  html.theme-bright .partnership-hand,
  .partnership-hand {
    width: clamp(190px, 54vw, 330px) !important;
  }

  html.theme-bright .hand-left,
  .hand-left {
    left: -12% !important;
    top: 54% !important;
  }

  html.theme-bright .hand-right,
  .hand-right {
    right: -12% !important;
    top: 58% !important;
  }

  html.theme-bright .beam-a,
  .beam-a {
    left: 16% !important;
    width: 36% !important;
  }

  html.theme-bright .beam-b,
  .beam-b {
    right: 16% !important;
    width: 36% !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .partnership-cta,
  .partnership-cta {
    padding-inline: 22px !important;
  }

  html.theme-bright .partnership-visual,
  .partnership-visual {
    min-height: 238px !important;
  }

  html.theme-bright .partnership-hand,
  .partnership-hand {
    width: min(52vw, 218px) !important;
  }

  html.theme-bright .hand-left,
  .hand-left {
    left: 1% !important;
    top: 56% !important;
  }

  html.theme-bright .hand-right,
  .hand-right {
    right: 1% !important;
    top: 60% !important;
  }

  html.theme-bright .partnership-beam,
  .partnership-beam {
    width: 30% !important;
  }
}

html.theme-bright .ambient,
.ambient {
  max-width: 100vw !important;
  overflow: hidden !important;
  contain: paint !important;
}

/* Inside FLINE: recruiting, training and operations system */
html.theme-bright .workforce-section {
  --workforce-cyan: var(--fline-brand-blue, #2aa5ea);
  --workforce-blue: var(--fline-brand-blue, #2aa5ea);
  --workforce-soft: var(--fline-brand-blue-soft, #68b8e1);
  --workforce-deep-blue: var(--fline-brand-blue-deep, #1a78ad);
  --workforce-deep: #061628;
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr) !important;
  gap: clamp(26px, 4.4vw, 64px) !important;
  align-items: center !important;
  padding: clamp(30px, 5vw, 62px) !important;
  border: 1px solid rgba(42, 165, 234, .28) !important;
  border-radius: clamp(32px, 5vw, 58px) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(42, 165, 234, .24), transparent 20rem),
    radial-gradient(circle at 85% 22%, rgba(42, 165, 234, .12), transparent 24rem),
    linear-gradient(145deg, #edf7ff 0%, #e1f1fc 54%, #f1f9ff 100%) !important;
  box-shadow:
    0 38px 110px rgba(22, 86, 140, .16),
    inset 0 1px 0 rgba(255, 255, 255, .9) !important;
  overflow: hidden !important;
  contain: paint !important;
  isolation: isolate !important;
}

html.theme-bright .workforce-section::before {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(rgba(42, 165, 234, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42, 165, 234, .04) 1px, transparent 1px);
  background-size: 76px 76px;
  opacity: .58;
  pointer-events: none;
}

html.theme-bright .workforce-ambient {
  position: absolute;
  width: min(38vw, 520px);
  aspect-ratio: 1;
  right: 0;
  top: -32%;
  z-index: -1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(42, 165, 234, .22), rgba(104, 184, 225, .12) 44%, transparent 68%);
  filter: blur(4px);
  pointer-events: none;
}

html.theme-bright .workforce-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}

html.theme-bright .workforce-copy .eyebrow {
  color: #2aa5ea !important;
  -webkit-text-fill-color: #2aa5ea !important;
}

html.theme-bright .workforce-copy h2 {
  max-width: 760px !important;
  color: #061628 !important;
  -webkit-text-fill-color: #061628 !important;
  font-size: clamp(38px, 5.15vw, 72px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
}

html.theme-bright .workforce-lede {
  margin-top: clamp(16px, 2.4vw, 24px) !important;
  max-width: 660px !important;
  color: rgba(12, 36, 66, .76) !important;
  -webkit-text-fill-color: rgba(12, 36, 66, .76) !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.52 !important;
  font-weight: 700 !important;
}

html.theme-bright .workforce-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: clamp(22px, 3vw, 34px);
}

html.theme-bright .workforce-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  min-height: 104px;
  padding: clamp(16px, 2vw, 20px);
  border: 1px solid rgba(42, 165, 234, .26);
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 8%, rgba(42, 165, 234, .15), transparent 10rem),
    linear-gradient(145deg, #fbfdff 0%, #eaf5ff 100%);
  box-shadow:
    0 20px 46px rgba(22, 86, 140, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92);
  overflow: hidden;
  transition: transform 220ms var(--ease), border-color 220ms ease, background 220ms ease;
}

html.theme-bright .workforce-card::after {
  content: "";
  position: absolute;
  left: clamp(16px, 2vw, 20px);
  right: clamp(16px, 2vw, 20px);
  bottom: 10px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--workforce-cyan), var(--workforce-cyan) 58%, var(--workforce-deep-blue));
  opacity: .44;
  transform: scaleX(.34);
  transform-origin: left center;
  transition: transform 260ms var(--ease), opacity 220ms ease;
}

html.theme-bright .workforce-card:hover,
html.theme-bright .workforce-card.is-pressed {
  transform: translate3d(0, -2px, 0);
  border-color: rgba(42, 165, 234, .42);
  background:
    radial-gradient(circle at 12% 8%, rgba(42, 165, 234, .2), transparent 10rem),
    linear-gradient(145deg, #ffffff 0%, #e4f2ff 100%);
}

html.theme-bright .workforce-card:hover::after,
html.theme-bright .workforce-card.is-pressed::after {
  opacity: .9;
  transform: scaleX(1);
}

html.theme-bright .workforce-card-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -.03em;
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .55), transparent 1.1rem),
    linear-gradient(145deg, var(--workforce-soft), var(--workforce-cyan) 56%, var(--workforce-deep-blue));
  box-shadow:
    0 14px 28px rgba(42, 165, 234, .22),
    inset 0 1px 0 rgba(255, 255, 255, .42);
}

html.theme-bright .workforce-card h3 {
  color: #061628 !important;
  -webkit-text-fill-color: #061628 !important;
  font-size: clamp(21px, 1.8vw, 28px) !important;
  letter-spacing: -.055em !important;
}

html.theme-bright .workforce-card p {
  margin-top: 7px !important;
  color: rgba(12, 36, 66, .72) !important;
  -webkit-text-fill-color: rgba(12, 36, 66, .72) !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 1.38 !important;
  font-weight: 700 !important;
}

html.theme-bright .workforce-system {
  position: relative;
  min-height: clamp(360px, 34vw, 470px);
  border: 1px solid rgba(42, 165, 234, .3);
  border-radius: clamp(28px, 4vw, 44px);
  background:
    radial-gradient(circle at 54% 46%, rgba(42, 165, 234, .3), transparent 12rem),
    radial-gradient(circle at 88% 8%, rgba(42, 165, 234, .2), transparent 16rem),
    linear-gradient(145deg, #061628 0%, #0b2948 52%, #03101d 100%);
  box-shadow:
    0 30px 80px rgba(6, 22, 40, .22),
    inset 0 1px 0 rgba(255, 255, 255, .13);
  overflow: hidden;
  isolation: isolate;
}

html.theme-bright .workforce-system::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(104, 184, 225, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(104, 184, 225, .08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 52% 48%, #000 0 44%, transparent 78%);
  opacity: .78;
  pointer-events: none;
}

html.theme-bright .workforce-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

html.theme-bright .workforce-path {
  fill: none;
  stroke: rgba(104, 184, 225, .72);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-dasharray: 520;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 10px rgba(42, 165, 234, .4));
}

html.theme-bright .path-train {
  stroke: rgba(42, 165, 234, .68);
}

html.theme-bright .path-operate {
  stroke: rgba(26, 120, 173, .62);
}

html.theme-bright .path-ready {
  stroke: rgba(42, 165, 234, .46);
}

html.theme-bright .workforce-core {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: clamp(116px, 12vw, 154px);
  height: clamp(116px, 12vw, 154px);
  border-radius: 34px;
  transform: translate3d(-50%, -50%, 0);
  color: #ffffff;
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .42), transparent 2.2rem),
    linear-gradient(145deg, var(--workforce-soft) 0%, var(--workforce-cyan) 56%, var(--workforce-deep-blue) 100%);
  box-shadow:
    0 28px 70px rgba(42, 165, 234, .32),
    inset 0 1px 0 rgba(255, 255, 255, .42);
}

html.theme-bright .workforce-core span {
  font-size: clamp(18px, 2vw, 27px);
  font-weight: 900;
  letter-spacing: .18em;
}

html.theme-bright .workforce-core small {
  margin-top: -18px;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html.theme-bright .workforce-node,
html.theme-bright .workforce-ready {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 50px;
  padding: 10px 13px 10px 10px;
  border: 1px solid rgba(104, 184, 225, .38);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(245, 250, 255, .09);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, .2),
    inset 0 1px 0 rgba(255, 255, 255, .16);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

html.theme-bright .workforce-node span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #061628;
  background: #68b8e1;
  font-size: 12px;
  font-weight: 900;
}

html.theme-bright .workforce-node strong {
  color: #ffffff;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 850;
  letter-spacing: -.025em;
  white-space: nowrap;
}

html.theme-bright .node-recruit {
  left: clamp(18px, 4vw, 52px);
  top: clamp(38px, 6vw, 74px);
}

html.theme-bright .node-train {
  right: clamp(18px, 4vw, 52px);
  top: clamp(38px, 6vw, 74px);
}

html.theme-bright .node-operate {
  right: clamp(26px, 6vw, 84px);
  bottom: clamp(38px, 6vw, 66px);
}

html.theme-bright .workforce-ready {
  left: clamp(20px, 4.6vw, 62px);
  bottom: clamp(38px, 6vw, 66px);
  color: #c8eaff;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 850;
  letter-spacing: -.018em;
}

@media (prefers-reduced-motion: no-preference) {
  html.motion-ready .workforce-section .workforce-card,
  html.motion-ready .workforce-section .workforce-node,
  html.motion-ready .workforce-section .workforce-ready,
  html.motion-ready .workforce-section .workforce-core {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }

  html.motion-ready .workforce-section .workforce-core {
    transform: translate3d(-50%, calc(-50% + 16px), 0);
  }

  html.motion-ready .workforce-section .workforce-path {
    stroke-dashoffset: 520;
  }

  html.motion-ready .workforce-section.is-visible .workforce-core {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0);
    transition: opacity 560ms var(--ease), transform 560ms var(--ease);
  }

  html.motion-ready .workforce-section.is-visible .workforce-card,
  html.motion-ready .workforce-section.is-visible .workforce-node,
  html.motion-ready .workforce-section.is-visible .workforce-ready {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 520ms var(--ease), transform 520ms var(--ease);
  }

  html.motion-ready .workforce-section.is-visible .workforce-card:nth-child(1),
  html.motion-ready .workforce-section.is-visible .node-recruit {
    transition-delay: 90ms;
  }

  html.motion-ready .workforce-section.is-visible .workforce-card:nth-child(2),
  html.motion-ready .workforce-section.is-visible .node-train {
    transition-delay: 180ms;
  }

  html.motion-ready .workforce-section.is-visible .workforce-card:nth-child(3),
  html.motion-ready .workforce-section.is-visible .node-operate {
    transition-delay: 270ms;
  }

  html.motion-ready .workforce-section.is-visible .workforce-ready {
    transition-delay: 360ms;
  }

  html.motion-ready .workforce-section.is-visible .workforce-path {
    animation: workforceLineDraw 980ms cubic-bezier(.16, 1, .3, 1) both;
  }

  html.motion-ready .workforce-section.is-visible .path-train {
    animation-delay: 120ms;
  }

  html.motion-ready .workforce-section.is-visible .path-operate {
    animation-delay: 240ms;
  }

  html.motion-ready .workforce-section.is-visible .path-ready {
    animation-delay: 360ms;
  }
}

@keyframes workforceLineDraw {
  to {
    stroke-dashoffset: 0;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.theme-bright .workforce-section.is-visible .workforce-core {
    animation: workforceCoreBreathe 5.8s ease-in-out 900ms infinite;
  }

  html.theme-bright .workforce-section.is-visible .workforce-ambient {
    animation: workforceAmbientShift 8s ease-in-out infinite alternate;
  }
}

@keyframes workforceCoreBreathe {
  0%, 100% {
    box-shadow:
      0 28px 70px rgba(42, 165, 234, .3),
      inset 0 1px 0 rgba(255, 255, 255, .42);
  }
  50% {
    box-shadow:
      0 34px 84px rgba(42, 165, 234, .42),
      inset 0 1px 0 rgba(255, 255, 255, .46);
  }
}

@keyframes workforceAmbientShift {
  from {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: .82;
  }
  to {
    transform: translate3d(-18px, 18px, 0) scale(1.05);
    opacity: 1;
  }
}

@media (max-width: 1180px) {
  html.theme-bright .workforce-section {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  html.theme-bright .workforce-copy h2,
  html.theme-bright .workforce-lede {
    max-width: 860px !important;
  }

  html.theme-bright .workforce-system {
    min-height: clamp(340px, 48vw, 430px);
  }
}

@media (max-width: 780px) {
  html.theme-bright .workforce-section {
    width: min(calc(100% - 28px), var(--max)) !important;
    padding: 24px !important;
    border-radius: 32px !important;
    gap: 22px !important;
  }

  html.theme-bright .workforce-section::before {
    inset: 10px;
    background-size: 52px 52px;
    opacity: .36;
  }

  html.theme-bright .workforce-copy h2 {
    font-size: clamp(34px, 10.8vw, 48px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.055em !important;
  }

  html.theme-bright .workforce-lede {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  html.theme-bright .workforce-cards {
    gap: 10px;
    margin-top: 20px;
  }

  html.theme-bright .workforce-card {
    min-height: 96px;
    border-radius: 22px;
    padding: 15px 15px 18px;
  }

  html.theme-bright .workforce-card:hover,
  html.theme-bright .workforce-card.is-pressed {
    transform: none;
  }

  html.theme-bright .workforce-card-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
  }

  html.theme-bright .workforce-card h3 {
    font-size: clamp(20px, 5.2vw, 24px) !important;
  }

  html.theme-bright .workforce-card p {
    font-size: 14px !important;
    line-height: 1.34 !important;
  }

  html.theme-bright .workforce-system {
    min-height: 340px;
    border-radius: 28px;
  }

  html.theme-bright .workforce-core {
    width: 116px;
    height: 116px;
    border-radius: 28px;
  }

  html.theme-bright .workforce-core span {
    font-size: 18px;
  }

  html.theme-bright .workforce-core small {
    font-size: 10px;
  }

  html.theme-bright .workforce-node,
  html.theme-bright .workforce-ready {
    min-height: 42px;
    padding: 8px 10px 8px 8px;
    gap: 7px;
  }

  html.theme-bright .workforce-node span {
    width: 25px;
    height: 25px;
    font-size: 10px;
  }

  html.theme-bright .workforce-node strong,
  html.theme-bright .workforce-ready {
    font-size: 12px;
  }

  html.theme-bright .node-recruit {
    left: 14px;
    top: 22px;
  }

  html.theme-bright .node-train {
    right: 14px;
    top: 22px;
  }

  html.theme-bright .node-operate {
    right: 14px;
    bottom: 26px;
  }

  html.theme-bright .workforce-ready {
    left: 14px;
    bottom: 26px;
  }
}

@media (max-width: 420px) {
  html.theme-bright .workforce-section {
    padding: 20px !important;
    border-radius: 28px !important;
  }

  html.theme-bright .workforce-copy h2 {
    font-size: clamp(31px, 9.4vw, 42px) !important;
  }

  html.theme-bright .workforce-card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 106px;
    padding: 14px 14px 17px;
  }

  html.theme-bright .workforce-system {
    min-height: 318px;
  }

  html.theme-bright .workforce-node strong {
    max-width: 86px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  html.theme-bright .workforce-ready {
    max-width: 132px;
    white-space: normal;
    line-height: 1.1;
    border-radius: 20px;
  }
}

html.motion-lite .workforce-ambient,
html.motion-lite .workforce-core,
html.motion-lite .workforce-path,
html.motion-lite .workforce-card,
html.motion-lite .workforce-node,
html.motion-lite .workforce-ready {
  animation: none !important;
  transition-duration: 160ms !important;
  will-change: auto !important;
}

/* Safety fallback: the section must be readable even before IntersectionObserver marks it visible. */
html.motion-ready .workforce-section:not(.is-visible) .workforce-card,
html.motion-ready .workforce-section:not(.is-visible) .workforce-node,
html.motion-ready .workforce-section:not(.is-visible) .workforce-ready {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

html.motion-ready .workforce-section:not(.is-visible) .workforce-core {
  opacity: 1 !important;
  transform: translate3d(-50%, -50%, 0) !important;
}

html.motion-ready .workforce-section:not(.is-visible) .workforce-path {
  stroke-dashoffset: 0 !important;
}

/* Signature FLINE curve + calmer background pass */
:root,
html.theme-bright {
  --fline-cut-bg: #f5fbff;
  --fline-cut-edge: rgba(42, 165, 234, .18);
}

.scroll-light,
.fline-journey-shell,
.fline-signal-journey,
.signal-cursor-glow {
  display: none !important;
  opacity: 0 !important;
}

body.is-scrolling-light .scroll-light {
  opacity: 0 !important;
}

html.theme-bright .ambient,
.ambient {
  animation: none !important;
  transform: none !important;
  opacity: .72 !important;
}

.fline-signature-surface:not(.site-header) {
  position: relative;
}

.fline-signature-surface > .fline-cut {
  position: absolute;
  left: clamp(30px, 7vw, 96px);
  bottom: -1px;
  z-index: 7;
  width: clamp(38px, 4.5vw, 58px);
  height: clamp(11px, 1.35vw, 17px);
  border-radius: 18px 18px 0 0;
  background:
    radial-gradient(circle at 22% 0%, rgba(42, 165, 234, .12), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), var(--fline-cut-bg));
  border: 1px solid var(--fline-cut-edge);
  border-bottom: 0;
  box-shadow:
    0 -10px 26px rgba(42, 165, 234, .08),
    inset 0 1px 0 rgba(255, 255, 255, .96);
  pointer-events: none;
}

html.theme-bright .site-header.fline-signature-surface > .fline-cut {
  left: clamp(112px, 16vw, 260px);
  bottom: -2px;
  width: clamp(34px, 4vw, 52px);
  height: 14px;
  z-index: 2;
  border-color: rgba(42, 165, 234, .16);
}

html.theme-bright .site-header.fline-signature-surface::after {
  bottom: -2px !important;
  left: clamp(42px, 8vw, 132px) !important;
  right: clamp(38px, 9vw, 158px) !important;
  height: 2px !important;
  opacity: .55 !important;
}

.service-card.fline-signature-surface > .fline-cut,
.service-strip.fline-signature-surface > .fline-cut,
.process-line article.fline-signature-surface > .fline-cut,
.office.fline-signature-surface > .fline-cut,
.leader-card.fline-signature-surface > .fline-cut,
.proof-node.fline-signature-surface > .fline-cut,
.form-step.fline-signature-surface > .fline-cut {
  left: 28px;
  width: 34px;
  height: 10px;
  border-radius: 12px 12px 0 0;
  opacity: .86;
}

html.theme-bright .hero.page-band.fline-signature-surface > .fline-cut,
html.theme-bright .service-signal-break.fline-signature-surface > .fline-cut {
  --fline-cut-bg: #f5fbff;
  border-color: rgba(115, 216, 255, .2);
  box-shadow:
    0 -12px 30px rgba(115, 216, 255, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

@media (max-width: 680px) {
  .fline-signature-surface > .fline-cut {
    left: 26px;
    width: 38px;
    height: 11px;
    border-radius: 13px 13px 0 0;
  }

  html.theme-bright .site-header.fline-signature-surface > .fline-cut {
    left: clamp(104px, 36vw, 152px);
    width: 34px;
    height: 11px;
  }
}

/* Four-badge assurance layout with EcoVadis included */
.certification-badges,
html.theme-bright .certification-badges {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(128px, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  max-width: min(100%, 720px);
}

.certification-badge,
html.theme-bright .certification-badge {
  min-width: 0 !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  min-height: 72px;
  padding: 10px 13px 10px 10px !important;
}

.certification-badge img,
html.theme-bright .certification-badge img {
  width: 52px !important;
  height: 52px !important;
}

.certification-badge-ecovadis img,
html.theme-bright .certification-badge-ecovadis img {
  border-radius: 999px !important;
  padding: 2px;
  object-fit: cover !important;
}

@media (max-width: 980px) {
  .certification-badges,
  html.theme-bright .certification-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 520px;
  }
}

@media (max-width: 520px) {
  .certification-badges,
  html.theme-bright .certification-badges {
    grid-template-columns: 1fr !important;
    max-width: none;
  }

  .certification-badge,
  html.theme-bright .certification-badge {
    min-height: 66px;
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .certification-badge img,
  html.theme-bright .certification-badge img {
    width: 48px !important;
    height: 48px !important;
  }
}

/* Cleaner revision: the FLINE cut must feel carved into the panel, not pasted on. */
:root,
html.theme-bright {
  --fline-cut-bg: #f3fbff;
}

body::before,
html.theme-bright body::before {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

body::after,
html.theme-bright body::after {
  background: none !important;
  opacity: 0 !important;
}

.process-line::before,
html.theme-bright .process-line::before,
.journey-step::before,
.journey-step::after {
  display: none !important;
  opacity: 0 !important;
}

.fline-signature-surface > .fline-cut {
  left: clamp(36px, 7.4vw, 108px) !important;
  bottom: 0 !important;
  width: clamp(44px, 5vw, 64px) !important;
  height: clamp(15px, 1.7vw, 22px) !important;
  z-index: 9 !important;
  border: 0 !important;
  border-radius: 0 clamp(15px, 1.7vw, 22px) 0 0 !important;
  background: var(--fline-cut-bg) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: translateY(1px) !important;
  clip-path: polygon(0 0, 42% 0, 52% 5%, 62% 34%, 78% 78%, 100% 100%, 0 100%) !important;
}

.fline-signature-surface > .fline-cut::before,
.fline-signature-surface > .fline-cut::after {
  content: none !important;
}

html.theme-bright .site-header.fline-signature-surface > .fline-cut {
  left: clamp(118px, 17vw, 272px) !important;
  bottom: 0 !important;
  width: clamp(42px, 4.5vw, 58px) !important;
  height: 16px !important;
  background: rgba(242, 250, 255, .96) !important;
  border-radius: 0 16px 0 0 !important;
  filter: none !important;
}

html.theme-bright .site-header.fline-signature-surface::after {
  left: clamp(38px, 8vw, 130px) !important;
  right: clamp(38px, 8vw, 148px) !important;
  bottom: 0 !important;
  height: 1px !important;
  opacity: .32 !important;
  filter: none !important;
}

.service-card.fline-signature-surface > .fline-cut,
.service-strip.fline-signature-surface > .fline-cut,
.process-line article.fline-signature-surface > .fline-cut,
.office.fline-signature-surface > .fline-cut,
.leader-card.fline-signature-surface > .fline-cut,
.proof-node.fline-signature-surface > .fline-cut,
.form-step.fline-signature-surface > .fline-cut {
  left: 30px !important;
  width: 42px !important;
  height: 14px !important;
  border-radius: 0 14px 0 0 !important;
}

html.theme-bright .hero.page-band.fline-signature-surface > .fline-cut,
html.theme-bright .service-signal-break.fline-signature-surface > .fline-cut {
  background: var(--fline-cut-bg) !important;
  box-shadow: none !important;
}

@media (max-width: 680px) {
  .fline-signature-surface > .fline-cut {
    left: 30px !important;
    width: 46px !important;
    height: 16px !important;
    border-radius: 0 16px 0 0 !important;
  }

  html.theme-bright .site-header.fline-signature-surface > .fline-cut {
    left: clamp(112px, 39vw, 158px) !important;
    width: 40px !important;
    height: 13px !important;
    border-radius: 0 13px 0 0 !important;
  }
}

/* Header correction: the signature curve belongs to the FLINE face / agents panel, not the navbar. */
.site-header > .fline-cut,
html.theme-bright .site-header > .fline-cut {
  display: none !important;
  opacity: 0 !important;
}

html.theme-bright .site-header::after,
html.theme-bright .site-header.fline-signature-surface::after {
  display: none !important;
  opacity: 0 !important;
  content: none !important;
}

.hero .live-desk.fline-signature-surface > .fline-cut,
html.theme-bright .hero .live-desk.fline-signature-surface > .fline-cut {
  left: clamp(52px, 11%, 86px) !important;
  bottom: calc(1% - 1px) !important;
  width: clamp(44px, 8vw, 62px) !important;
  height: clamp(15px, 2.2vw, 20px) !important;
  z-index: 1 !important;
  background:
    linear-gradient(145deg, rgba(246, 252, 255, .98), rgba(226, 242, 253, .92)) !important;
  clip-path: polygon(0 0, 42% 0, 52% 6%, 63% 34%, 79% 78%, 100% 100%, 0 100%) !important;
}

@media (max-width: 680px) {
  .hero .live-desk.fline-signature-surface > .fline-cut,
  html.theme-bright .hero .live-desk.fline-signature-surface > .fline-cut {
    left: 52px !important;
    bottom: calc(1% - 1px) !important;
    width: 48px !important;
    height: 16px !important;
  }
}

/* Final decision: remove all signature notches from cards/boxes. */
.fline-cut,
.fline-cut::before,
.fline-cut::after,
.fline-signature-surface > .fline-cut,
html.theme-bright .fline-signature-surface > .fline-cut {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  content: none !important;
}

/* Move the live FLINE desk from the homepage into Apply Now. */
html.theme-bright .hero.page-band.hero-home-clean {
  grid-template-columns: minmax(0, 1fr) !important;
  min-height: clamp(560px, 74svh, 760px) !important;
  align-content: center;
  padding-bottom: clamp(64px, 9vw, 126px) !important;
}

html.theme-bright .hero.page-band.hero-home-clean > .hero-copy {
  width: min(980px, 100%);
  max-width: 980px;
}

html.theme-bright .hero.page-band.hero-home-clean::after {
  background:
    radial-gradient(circle at 72% 36%, rgba(42, 165, 234, .16), transparent 20rem),
    linear-gradient(90deg, transparent 0 10%, rgba(42, 165, 234, .12) 44%, rgba(255, 255, 255, .06) 50%, transparent 92%);
  opacity: .58;
}

.apply-live-shell.hero {
  width: 100% !important;
  min-height: 0 !important;
  display: block !important;
  padding: 0 !important;
  margin: clamp(28px, 4.6vw, 54px) 0 0 !important;
}

.apply-live-shell .apply-live-stage {
  width: 100% !important;
  min-height: clamp(430px, 38vw, 560px) !important;
  display: grid;
  place-items: center;
  margin: 0 !important;
  overflow: hidden;
  border-radius: clamp(28px, 4vw, 44px);
  background:
    radial-gradient(circle at 45% 10%, rgba(42, 165, 234, .18), transparent 18rem),
    linear-gradient(145deg, rgba(255, 255, 255, .46), rgba(226, 247, 255, .22));
  border: 1px solid rgba(42, 165, 234, .13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.apply-live-shell .live-desk {
  width: min(560px, 100%) !important;
  min-height: clamp(430px, 38vw, 560px) !important;
  transform: scale(.94);
  transform-origin: center;
}

.apply-live-shell .live-desk::before {
  inset: 7% 1% 0 !important;
}

.apply-live-shell .fline-character {
  top: clamp(18px, 3vw, 34px) !important;
  width: min(250px, 48%) !important;
}

.apply-live-shell .team-command {
  bottom: clamp(20px, 4vw, 42px) !important;
}

@media (max-width: 980px) {
  html.theme-bright .hero.page-band.hero-home-clean {
    min-height: auto !important;
    padding-top: clamp(118px, 15vw, 154px) !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band.hero-home-clean {
    padding-bottom: 54px !important;
  }

  .apply-live-shell.hero {
    margin-top: 28px !important;
  }

  html.theme-bright .apply-live-shell .apply-live-stage {
    min-height: 420px !important;
    width: calc(100% + 18px) !important;
    margin-inline: -9px !important;
    border-radius: 30px !important;
  }

  html.theme-bright .apply-live-shell .live-desk,
  html.mobile-webkit-safe .apply-live-shell .live-desk {
    min-height: 418px !important;
    width: 100% !important;
    transform: scale(.98);
  }

  html.theme-bright .apply-live-shell .live-desk::before {
    inset: 9% 5px 0 !important;
    border-radius: 32px !important;
  }

  html.theme-bright .apply-live-shell .fline-character,
  html.mobile-webkit-safe .apply-live-shell .fline-character {
    top: 20px !important;
    width: min(232px, 56%) !important;
  }
}

/* New homepage header: real team + clean tele-communication statement. */
html.theme-bright .hero.page-band.hero-telecom {
  --tele-ink: #071327;
  --tele-blue: #2aa5ea;
  --tele-blue-deep: #1a78ad;
  width: min(calc(100% - 40px), 1320px) !important;
  min-height: clamp(590px, 78svh, 820px) !important;
  grid-template-columns: minmax(0, .86fr) minmax(360px, 1.14fr) !important;
  gap: clamp(18px, 3vw, 42px) !important;
  padding: clamp(132px, 13vw, 178px) clamp(28px, 5vw, 52px) clamp(42px, 6vw, 76px) !important;
  color: var(--tele-ink) !important;
  border: 1px solid rgba(45, 169, 226, .12) !important;
  border-radius: clamp(28px, 3vw, 44px) !important;
  background:
    radial-gradient(circle at 86% 20%, rgba(42, 165, 234, .24), transparent 24rem),
    radial-gradient(circle at 12% 86%, rgba(139, 72, 242, .08), transparent 22rem),
    linear-gradient(135deg, #fffafe 0%, #f4fbff 48%, #ffffff 100%) !important;
  box-shadow:
    0 28px 90px rgba(30, 64, 112, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

html.theme-bright .hero.page-band.hero-telecom::before {
  background:
    radial-gradient(circle at 82% 36%, rgba(42, 165, 234, .1), transparent 17rem),
    linear-gradient(120deg, rgba(255, 255, 255, .52), transparent 42%) !important;
  background-size: auto !important;
  mask-image: none !important;
  opacity: .82 !important;
}

html.theme-bright .hero.page-band.hero-telecom::after {
  background:
    linear-gradient(90deg, transparent, rgba(42, 174, 227, .18), rgba(139, 72, 242, .06), transparent),
    radial-gradient(circle at 63% 18%, rgba(255, 255, 255, .82), transparent 19rem) !important;
  opacity: .54 !important;
}

html.theme-bright .hero-telecom > .hero-telecom-copy {
  width: 100%;
  max-width: 560px;
  align-self: center;
  padding-block: clamp(14px, 2vw, 28px);
}

html.theme-bright .hero-telecom .eyebrow {
  margin-bottom: clamp(18px, 2.2vw, 28px) !important;
  color: rgba(7, 19, 39, .55) !important;
  letter-spacing: .22em !important;
  text-shadow: none !important;
}

html.theme-bright .hero-telecom .telecom-title {
  display: block !important;
  margin: 0 !important;
  max-width: 12ch !important;
  color: var(--tele-ink) !important;
  font-size: clamp(56px, 6.65vw, 108px) !important;
  font-weight: 360 !important;
  line-height: .82 !important;
  letter-spacing: .018em !important;
  text-shadow: none !important;
}

html.theme-bright .hero-telecom .tele-script {
  display: block;
  width: max-content;
  margin: 0 0 -.12em -.035em;
  color: var(--tele-blue);
  font-family: "Segoe Script", "Brush Script MT", "Comic Sans MS", cursive;
  font-size: .48em;
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.06em;
  transform: rotate(-4deg);
  filter: drop-shadow(0 14px 24px rgba(40, 174, 227, .16));
}

html.theme-bright .hero-telecom .tele-line {
  display: block;
}

html.theme-bright .hero-telecom .tele-line + .tele-line {
  margin-top: .02em;
}

html.theme-bright .hero-telecom .telecom-title::before,
html.theme-bright .hero-telecom .telecom-title::after,
html.theme-bright .hero-telecom .title-animated::before,
html.theme-bright .hero-telecom .title-animated::after,
html.theme-bright .hero-telecom .hero-title::before,
html.theme-bright .hero-telecom .hero-title::after {
  content: none !important;
  display: none !important;
}

html.theme-bright .hero-telecom .lede {
  max-width: 560px !important;
  margin-top: clamp(24px, 3vw, 34px) !important;
  color: rgba(19, 36, 62, .74) !important;
  font-size: clamp(16px, 1.22vw, 19px) !important;
  line-height: 1.65 !important;
  text-shadow: none !important;
}

html.theme-bright .hero-telecom .button-row {
  margin-top: clamp(24px, 3.6vw, 42px) !important;
}

html.theme-bright .hero-telecom .button.secondary {
  color: #071327 !important;
  border-color: rgba(42, 165, 234, .16) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow:
    0 18px 42px rgba(32, 90, 145, .11),
    inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

.hero-team-card {
  position: relative;
  z-index: 2;
  align-self: end;
  min-width: 0;
  margin: 0;
  min-height: clamp(330px, 37vw, 560px);
  display: grid;
  place-items: end center;
  overflow: hidden;
  border-radius: clamp(24px, 3vw, 38px);
  background:
    radial-gradient(circle at 66% 16%, rgba(42, 165, 234, .16), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .04));
}

.hero-team-card::before {
  content: "";
  position: absolute;
  inset: auto 4% 0;
  height: 28%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(249, 253, 255, .96) 72%, #f9fdff);
}

.hero-team-card::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 10%;
  bottom: 8%;
  height: 24px;
  z-index: 0;
  border-radius: 999px;
  background: rgba(22, 143, 217, .14);
  filter: blur(18px);
}

.hero-team-card img {
  position: relative;
  z-index: 1;
  width: min(100%, 790px);
  max-width: none;
  height: auto;
  object-fit: contain;
  object-position: center bottom;
  transform: translate3d(3%, 1.5%, 0);
  filter:
    drop-shadow(0 24px 34px rgba(5, 23, 42, .13))
    saturate(1.02);
}

.hero-team-glow {
  position: absolute;
  inset: 10% 3% 10% 18%;
  border-radius: 999px;
  background:
    radial-gradient(circle at 72% 38%, rgba(42, 165, 234, .18), transparent 48%),
    radial-gradient(circle at 18% 76%, rgba(139, 72, 242, .09), transparent 46%);
  filter: blur(20px);
  opacity: .8;
}

@media (prefers-reduced-motion: no-preference) {
  .motion-ready .hero-telecom.reveal,
  .motion-ready .hero-telecom .hero-team-card.reveal {
    transition-delay: 90ms;
  }

  .hero-team-card img {
    animation: heroTeamSettle 980ms cubic-bezier(.16, 1, .3, 1) both;
  }
}

@keyframes heroTeamSettle {
  from {
    opacity: .01;
    transform: translate3d(7%, 4%, 0) scale(.985);
  }
  to {
    opacity: 1;
    transform: translate3d(3%, 1.5%, 0) scale(1);
  }
}

@media (min-width: 681px) and (max-width: 1099px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding-top: clamp(136px, 15vw, 168px) !important;
  }

  html.theme-bright .hero-telecom > .hero-telecom-copy {
    max-width: 760px;
  }

  html.theme-bright .hero-telecom .telecom-title {
    max-width: 11.8ch !important;
    font-size: clamp(70px, 10vw, 104px) !important;
  }

  .hero-team-card {
    min-height: clamp(360px, 54vw, 520px);
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band.hero-telecom {
    width: calc(100% - var(--mobile-shell-gap)) !important;
    max-width: calc(100% - var(--mobile-shell-gap)) !important;
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 122px clamp(24px, 6.2vw, 30px) 34px !important;
    border-radius: 30px !important;
  }

  html.theme-bright .hero-telecom .eyebrow {
    margin-bottom: 20px !important;
    font-size: 12px !important;
    letter-spacing: .18em !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    max-width: 9.4ch !important;
    font-size: clamp(46px, 13.5vw, 66px) !important;
    line-height: .86 !important;
    letter-spacing: .006em !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .5em;
    margin-bottom: -.1em;
  }

  html.theme-bright .hero-telecom .lede {
    margin-top: 24px !important;
    font-size: clamp(15px, 4.05vw, 17px) !important;
    line-height: 1.58 !important;
  }

  html.theme-bright .hero-telecom .button-row {
    display: grid !important;
    grid-template-columns: 1fr;
    margin-top: 26px !important;
  }

  html.theme-bright .hero-telecom .button-row .button {
    width: 100%;
  }

  .hero-team-card {
    min-height: clamp(250px, 74vw, 410px);
    width: calc(100% + 8px);
    margin-inline: -4px;
    border-radius: 26px;
  }

  .hero-team-card img {
    width: 128%;
    transform: translate3d(8%, 2.2%, 0);
  }

  @keyframes heroTeamSettle {
    from {
      opacity: .01;
      transform: translate3d(10%, 5%, 0) scale(.985);
    }
    to {
      opacity: 1;
      transform: translate3d(8%, 2.2%, 0) scale(1);
    }
  }
}

/* Tele headline fit pass: larger handwritten "Tele-" without clipping communication on Safari. */
html.theme-bright .hero-telecom .telecom-title {
  width: min(100%, 760px) !important;
  max-width: 100% !important;
  font-size: clamp(56px, 5.05vw, 94px) !important;
  line-height: .88 !important;
  letter-spacing: -.018em !important;
  overflow: visible !important;
  text-wrap: nowrap;
}

html.theme-bright .hero-telecom .tele-script {
  margin: 0 0 -.09em -.025em !important;
  font-size: .62em !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  transform: rotate(-5deg) translateY(.015em) !important;
}

html.theme-bright .hero-telecom .tele-line {
  max-width: 100%;
  white-space: nowrap;
}

@media (min-width: 1500px) {
  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(82px, 4.75vw, 102px) !important;
  }
}

@media (min-width: 681px) and (max-width: 1099px) {
  html.theme-bright .hero-telecom .telecom-title {
    width: min(100%, 780px) !important;
    max-width: 100% !important;
    font-size: clamp(54px, 7.4vw, 82px) !important;
    line-height: .9 !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .64em !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero-telecom .telecom-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(39px, 10.15vw, 46px) !important;
    line-height: .92 !important;
    letter-spacing: -.024em !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .74em !important;
    margin: 0 0 -.08em -.02em !important;
    letter-spacing: -.082em !important;
  }

  html.theme-bright .hero-telecom .tele-line + .tele-line {
    margin-top: .035em !important;
  }

  .hero-team-card img {
    width: 114% !important;
    transform: translate3d(3.8%, 2.2%, 0) !important;
  }
}

/* Final hero photo art direction: full team visible on phone, laptop and monitor. */
html.theme-bright .hero.page-band.hero-telecom {
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr) !important;
  overflow: hidden !important;
}

html.theme-bright .hero-telecom .telecom-title {
  letter-spacing: -.032em !important;
}

html.theme-bright .hero-telecom .tele-script {
  font-size: .72em !important;
  letter-spacing: -.09em !important;
}

.hero-team-card {
  width: 100%;
  min-height: clamp(330px, 33vw, 520px) !important;
  align-self: center;
  place-items: end center;
}

.hero-team-card::before {
  inset-inline: 0 !important;
  height: clamp(58px, 14%, 92px) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(249, 253, 255, .9) 76%, #f9fdff) !important;
}

.hero-team-card img {
  width: min(106%, 860px) !important;
  max-width: none !important;
  transform: translate3d(0, 2%, 0) !important;
}

@keyframes heroTeamSettle {
  from {
    opacity: .01;
    transform: translate3d(2.5%, 4%, 0) scale(.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 2%, 0) scale(1);
  }
}

@media (min-width: 1500px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr) !important;
  }

  .hero-team-card {
    min-height: clamp(390px, 31vw, 560px) !important;
  }

  .hero-team-card img {
    width: min(108%, 930px) !important;
  }
}

@media (min-width: 1100px) and (max-width: 1280px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: minmax(0, .84fr) minmax(390px, 1.16fr) !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(50px, 4.55vw, 64px) !important;
  }

  .hero-team-card {
    min-height: clamp(315px, 31vw, 430px) !important;
  }

  .hero-team-card img {
    width: min(108%, 780px) !important;
  }
}

@media (min-width: 681px) and (max-width: 1099px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: 1fr !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(52px, 7.15vw, 78px) !important;
    letter-spacing: -.038em !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .75em !important;
  }

  .hero-team-card {
    min-height: clamp(310px, 45vw, 470px) !important;
  }

  .hero-team-card img {
    width: min(104%, 780px) !important;
    transform: translate3d(0, 2%, 0) !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band.hero-telecom {
    overflow: hidden !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(34px, 9.15vw, 40px) !important;
    line-height: .96 !important;
    letter-spacing: -.052em !important;
    text-wrap: nowrap;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .88em !important;
    margin: 0 0 -.06em -.018em !important;
    letter-spacing: -.105em !important;
  }

  .hero-team-card {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1.13 / 1;
    margin-inline: 0 !important;
    border-radius: 28px !important;
  }

  .hero-team-card::before {
    height: 22% !important;
  }

  .hero-team-card::after {
    left: 14% !important;
    right: 14% !important;
    bottom: 7% !important;
  }

  .hero-team-card img {
    width: 100% !important;
    transform: translate3d(0, 2%, 0) !important;
  }

  @keyframes heroTeamSettle {
    from {
      opacity: .01;
      transform: translate3d(0, 5%, 0) scale(.985);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 2%, 0) scale(1);
    }
  }
}

@media (max-width: 380px) {
  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(31px, 8.9vw, 35px) !important;
    letter-spacing: -.06em !important;
  }

  .hero-team-card {
    aspect-ratio: 1.08 / 1;
  }
}

/* Corrected telecom hero composition: sample-like split on desktop, clean stack on Safari mobile. */
html.theme-bright .hero.page-band.hero-telecom {
  align-items: center !important;
}

html.theme-bright .hero-telecom > .hero-telecom-copy {
  min-width: 0 !important;
}

@media (min-width: 1100px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: minmax(420px, .93fr) minmax(500px, 1.07fr) !important;
    gap: clamp(34px, 4.2vw, 72px) !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    width: min(100%, 650px) !important;
    font-size: clamp(62px, 4.9vw, 94px) !important;
    letter-spacing: -.038em !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .76em !important;
  }

  .hero-team-card {
    min-height: clamp(320px, 27vw, 480px) !important;
    border-radius: clamp(24px, 2.3vw, 34px) !important;
  }

  .hero-team-card img {
    width: min(100%, 880px) !important;
    transform: translate3d(0, 2%, 0) !important;
  }
}

@media (min-width: 681px) and (max-width: 1099px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: 1fr !important;
    gap: clamp(30px, 5vw, 48px) !important;
  }

  html.theme-bright .hero-telecom > .hero-telecom-copy {
    width: 100% !important;
    max-width: 820px !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    width: min(100%, 780px) !important;
    font-size: clamp(56px, 7.8vw, 86px) !important;
    letter-spacing: -.04em !important;
  }

  .hero-team-card {
    width: 100% !important;
    max-width: 860px !important;
    min-height: auto !important;
    aspect-ratio: 1.86 / 1 !important;
    justify-self: center;
  }

  .hero-team-card img {
    width: 100% !important;
    transform: translate3d(0, 2%, 0) !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero.page-band.hero-telecom {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    align-items: start !important;
    padding-inline: clamp(28px, 7.1vw, 34px) !important;
    overflow: hidden !important;
  }

  html.theme-bright .hero-telecom > .hero-telecom-copy {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    padding-block: 0 !important;
  }

  html.theme-bright .hero-telecom .eyebrow {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 28px !important;
    white-space: normal !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(35px, 9.55vw, 43px) !important;
    line-height: .95 !important;
    letter-spacing: -.055em !important;
    text-wrap: nowrap !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: .88em !important;
    margin: 0 0 -.055em -.02em !important;
    letter-spacing: -.105em !important;
  }

  html.theme-bright .hero-telecom .lede {
    width: 100% !important;
    max-width: none !important;
    margin-top: 28px !important;
    font-size: clamp(16px, 4.15vw, 18px) !important;
    line-height: 1.62 !important;
  }

  html.theme-bright .hero-telecom .button-row {
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  .hero-team-card {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    aspect-ratio: 1.28 / 1 !important;
    margin: 2px 0 0 !important;
    border-radius: 28px !important;
  }

  .hero-team-card::before {
    height: 25% !important;
  }

  .hero-team-card img {
    width: 100% !important;
    transform: translate3d(0, 2%, 0) !important;
  }
}

@media (max-width: 390px) {
  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(32px, 8.95vw, 36px) !important;
    letter-spacing: -.06em !important;
  }

  .hero-team-card {
    aspect-ratio: 1.2 / 1 !important;
  }
}

/* Staff block removed: let About read as one clean editorial card after the new hero team photo. */
.about-section.about-single {
  grid-template-columns: 1fr !important;
}

.about-section.about-single .copy-block {
  width: 100%;
  max-width: 980px;
  justify-self: center;
}

/* Final scale pass requested: stronger Tele mark and a larger hero team photograph. */
html.theme-bright .hero-telecom .tele-script {
  font-size: .92em !important;
}

.hero-team-card img {
  width: min(112%, 960px) !important;
  transform: translate3d(0, 2.4%, 0) !important;
}

@media (min-width: 1500px) {
  .hero-team-card img {
    width: min(114%, 1040px) !important;
  }
}

@media (min-width: 681px) and (max-width: 1099px) {
  html.theme-bright .hero-telecom .tele-script {
    font-size: .95em !important;
  }

  .hero-team-card {
    max-width: 930px !important;
    aspect-ratio: 1.76 / 1 !important;
  }

  .hero-team-card img {
    width: 108% !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(37px, 9.95vw, 46px) !important;
    letter-spacing: -.058em !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    font-size: 1.08em !important;
    margin-bottom: -.04em !important;
  }

  .hero-team-card {
    width: calc(100% + 18px) !important;
    margin-inline: -9px !important;
    aspect-ratio: 1.14 / 1 !important;
  }

  .hero-team-card img {
    width: 109% !important;
    transform: translate3d(0, 2.6%, 0) !important;
  }
}

@media (max-width: 390px) {
  html.theme-bright .hero-telecom .telecom-title {
    font-size: clamp(34px, 9.3vw, 39px) !important;
  }

html.theme-bright .hero-telecom .tele-script {
    font-size: 1.1em !important;
  }
}

/* Final service-card readability + founder avatar polish. */
html.theme-bright .service-signal-break .service-signal-copy > p:not(.eyebrow) {
  color: rgba(238, 249, 255, .92) !important;
  -webkit-text-fill-color: rgba(238, 249, 255, .92) !important;
  text-shadow: 0 2px 18px rgba(0, 8, 24, .46) !important;
}

html.theme-bright .service-signal-break .service-signal-copy .eyebrow {
  color: rgba(104, 184, 225, .95) !important;
  -webkit-text-fill-color: rgba(104, 184, 225, .95) !important;
}

html.theme-bright .service-signal-break .service-signal-copy h2,
html.theme-bright .service-signal-break .service-signal-copy h2 span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html.theme-bright .leader-card.founder-card,
html.theme-bright .leader-card:has(.founder-avatar) {
  grid-template-columns: clamp(64px, 8vw, 76px) minmax(0, 1fr) !important;
  gap: clamp(14px, 2.2vw, 18px) !important;
  align-items: center !important;
}

html.theme-bright .leader-avatar.founder-avatar,
.leader-avatar.founder-avatar {
  isolation: isolate;
  overflow: visible;
  width: clamp(64px, 8vw, 76px) !important;
  height: clamp(64px, 8vw, 76px) !important;
  border-radius: 24px !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .9), transparent 24%),
    radial-gradient(circle at 74% 80%, rgba(15, 98, 207, .36), transparent 42%),
    linear-gradient(145deg, #68b8e1 0%, #2aa5ea 56%, #1a78ad 100%) !important;
  box-shadow:
    0 18px 42px rgba(42, 165, 234, .28),
    inset 0 1px 0 rgba(255, 255, 255, .62),
    inset 0 -14px 22px rgba(4, 38, 88, .16) !important;
}

.founder-avatar::before {
  content: "";
  position: absolute;
  inset: 9px;
  z-index: -1;
  border-radius: 20px;
  background: rgba(255, 255, 255, .18);
  transform: rotate(-7deg);
}

.founder-face {
  position: relative;
  display: block;
  width: 42px;
  height: 48px;
  border-radius: 48% 48% 45% 45%;
  background:
    radial-gradient(circle at 30% 43%, rgba(255, 255, 255, .38), transparent 9%),
    radial-gradient(circle at 70% 43%, rgba(255, 255, 255, .38), transparent 9%),
    linear-gradient(180deg, #ffd2ad 0%, #f1a97d 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .5),
    0 12px 18px rgba(4, 38, 88, .18);
}

.founder-face::before,
.founder-face::after {
  content: "";
  position: absolute;
  top: 23px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #09203b;
}

.founder-face::before {
  left: 13px;
}

.founder-face::after {
  right: 13px;
}

.founder-smile {
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 15px;
  height: 8px;
  border-bottom: 3px solid #09203b;
  border-radius: 0 0 999px 999px;
  transform: translateX(-50%);
}

.founder-hair {
  position: absolute;
  left: -2px;
  right: -2px;
  top: -5px;
  height: 20px;
  border-radius: 22px 22px 12px 12px;
  background: linear-gradient(135deg, #071426, #17385a);
  box-shadow: 0 6px 0 rgba(7, 20, 38, .12);
}

.founder-avatar-faton .founder-hair {
  height: 17px;
  border-radius: 20px 20px 10px 10px;
}

.founder-avatar-faton .founder-face {
  background:
    radial-gradient(circle at 31% 43%, rgba(255, 255, 255, .38), transparent 9%),
    radial-gradient(circle at 69% 43%, rgba(255, 255, 255, .38), transparent 9%),
    linear-gradient(180deg, #ffd5b4 0%, #eca276 100%);
}

.founder-avatar-faton .founder-face::after {
  box-shadow: 0 9px 0 5px rgba(7, 20, 38, .2);
}

.founder-glasses {
  position: absolute;
  left: 9px;
  right: 9px;
  top: 20px;
  height: 9px;
  border-left: 2px solid rgba(7, 20, 38, .78);
  border-right: 2px solid rgba(7, 20, 38, .78);
}

.founder-glasses::before,
.founder-glasses::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10px;
  height: 8px;
  border: 2px solid rgba(7, 20, 38, .78);
  border-radius: 999px;
}

.founder-glasses::before {
  left: -2px;
}

.founder-glasses::after {
  right: -2px;
}

.founder-avatar-lendita .founder-face {
  width: 40px;
  height: 49px;
}

.founder-avatar-lendita .founder-hair {
  left: -8px;
  right: -8px;
  top: -4px;
  height: 46px;
  border-radius: 24px 24px 20px 20px;
  background:
    radial-gradient(circle at 78% 0%, #244b72 0 18%, transparent 19%),
    linear-gradient(135deg, #071426 0%, #17385a 100%);
  z-index: -1;
}

.founder-avatar-lendita .founder-hair::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 6px;
  top: 3px;
  height: 16px;
  border-radius: 18px 18px 8px 8px;
  background: linear-gradient(135deg, #102944, #24547d);
}

@media (max-width: 780px) {
  html.theme-bright .leader-card.founder-card,
  html.theme-bright .leader-card:has(.founder-avatar) {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    min-height: 104px !important;
  }

  html.theme-bright .leader-avatar.founder-avatar,
  .leader-avatar.founder-avatar {
    width: 60px !important;
    height: 60px !important;
    border-radius: 21px !important;
  }

  .founder-face {
    width: 37px;
    height: 43px;
  }

  .founder-avatar-lendita .founder-face {
    width: 36px;
    height: 44px;
  }
}

/* Client correction: simple professional founder icon, wider Tele mark, and embedded logo treatment. */
html.theme-bright .leader-card.founder-card {
  grid-template-columns: clamp(58px, 7vw, 66px) minmax(0, 1fr) !important;
  gap: clamp(14px, 2vw, 18px) !important;
}

html.theme-bright .leader-avatar.leader-person-avatar,
.leader-avatar.leader-person-avatar {
  width: clamp(58px, 7vw, 66px) !important;
  height: clamp(58px, 7vw, 66px) !important;
  border-radius: 22px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
  font-size: clamp(29px, 4.8vw, 36px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  background:
    radial-gradient(circle at 28% 16%, rgba(255, 255, 255, .92), transparent 24%),
    radial-gradient(circle at 72% 78%, rgba(15, 98, 207, .36), transparent 42%),
    linear-gradient(145deg, #68b8e1 0%, #2aa5ea 56%, #1a78ad 100%) !important;
  box-shadow:
    0 18px 38px rgba(42, 165, 234, .26),
    inset 0 1px 0 rgba(255, 255, 255, .58),
    inset 0 -14px 22px rgba(4, 38, 88, .16) !important;
  text-shadow: 0 4px 12px rgba(4, 38, 88, .28) !important;
}

.leader-person-avatar .person-glyph {
  position: relative;
  display: block;
  width: 31px;
  height: 31px;
  filter: drop-shadow(0 4px 9px rgba(4, 38, 88, .22));
}

.leader-person-avatar .person-glyph::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 2px;
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .98);
  transform: translateX(-50%);
}

.leader-person-avatar .person-glyph::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 26px;
  height: 15px;
  border-radius: 18px 18px 10px 10px;
  background: rgba(255, 255, 255, .98);
  transform: translateX(-50%);
}

html.theme-bright .leader-avatar.leader-person-avatar::before,
html.theme-bright .leader-avatar.leader-person-avatar::after,
.leader-avatar.leader-person-avatar::before,
.leader-avatar.leader-person-avatar::after {
  content: none !important;
  display: none !important;
}

html.theme-bright .hero-telecom .tele-script {
  display: inline-block !important;
  width: auto !important;
  transform: rotate(-4deg) scaleX(1.16) !important;
  transform-origin: left center !important;
  letter-spacing: .008em !important;
  margin-right: .16em !important;
  padding-right: .04em !important;
  white-space: nowrap !important;
}

html.theme-bright .brand.official-logo {
  min-height: auto !important;
  padding: 4px 8px !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.theme-bright .brand.official-logo img {
  width: clamp(154px, 10.5vw, 184px) !important;
  filter:
    drop-shadow(0 8px 18px rgba(18, 28, 47, .1))
    drop-shadow(0 0 14px rgba(42, 165, 234, .08)) !important;
}

html.theme-bright .site-header {
  align-items: center !important;
  background:
    radial-gradient(circle at 8% -18%, rgba(42, 165, 234, .22), transparent 18rem),
    radial-gradient(circle at 86% 0%, rgba(42, 165, 234, .1), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(239, 249, 255, .86)),
    rgba(255, 255, 255, .88) !important;
}

html.theme-bright .footer-logo.official-logo {
  width: min(100%, 300px) !important;
  min-height: auto !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.theme-bright .footer-logo.official-logo img,
html.theme-bright .footer-brand img {
  width: min(100%, 260px) !important;
  filter:
    drop-shadow(0 10px 22px rgba(18, 28, 47, .1))
    drop-shadow(0 0 16px rgba(42, 165, 234, .08)) !important;
}

html.theme-bright .footer-expanded .footer-brand {
  background:
    radial-gradient(circle at 8% 8%, rgba(42, 165, 234, .13), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, .64), rgba(243, 250, 255, .38)) !important;
}

@media (max-width: 680px) {
  html.theme-bright .brand.official-logo {
    padding: 3px 4px !important;
  }

  html.theme-bright .brand.official-logo img {
    width: clamp(138px, 32vw, 160px) !important;
  }

  html.theme-bright .hero-telecom .tele-script {
    transform: rotate(-4deg) scaleX(1.13) !important;
    margin-right: .13em !important;
  }
}

/* Final social brand icon pass: use app-native colors instead of generic FLINE blue. */
html.theme-bright .footer-socials .social-icon,
html.theme-bright .footer-contact-actions .social-icon,
html.theme-bright .footer-column a.social-icon {
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: transparent !important;
  box-shadow:
    0 16px 34px rgba(24, 54, 92, .18),
    0 0 0 1px rgba(255, 255, 255, .86) inset !important;
}

html.theme-bright .footer-socials .social-icon::before,
html.theme-bright .footer-contact-actions .social-icon::before,
html.theme-bright .footer-column a.social-icon::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .36),
    inset 0 -16px 28px rgba(0, 0, 0, .12) !important;
  transform: none !important;
  opacity: 1 !important;
}

html.theme-bright .footer-socials .social-icon::after,
html.theme-bright .footer-contact-actions .social-icon::after,
html.theme-bright .footer-column a.social-icon::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  left: 50% !important;
  top: 50% !important;
  width: 31px !important;
  height: 31px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .18)) !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

html.theme-bright .social-facebook::before {
  background: linear-gradient(180deg, #1a82ff 0%, #1877f2 52%, #0f5fd6 100%) !important;
}

html.theme-bright .social-facebook::after {
  width: 30px !important;
  height: 36px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M24.5 22.3h4.7l.9-6.1h-5.6v-3.3c0-1.6.5-2.8 2.9-2.8h3V4.8c-.5-.1-2.4-.2-4.6-.2-4.6 0-7.7 2.8-7.7 7.9v3.7h-5.2v6.1h5.2v13.1h6.4V22.3Z'/%3E%3C/svg%3E") !important;
}

html.theme-bright .social-instagram::before {
  background:
    radial-gradient(circle at 30% 108%, #feda75 0 17%, #fa7e1e 30%, transparent 48%),
    radial-gradient(circle at 12% 12%, #4f5bd5 0 20%, transparent 42%),
    radial-gradient(circle at 88% 14%, #c13584 0 18%, transparent 40%),
    linear-gradient(135deg, #405de6 0%, #833ab4 30%, #c13584 54%, #e1306c 72%, #fd1d1d 88%, #f77737 100%) !important;
}

html.theme-bright .social-instagram::after {
  width: 35px !important;
  height: 35px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='8.1' y='8.1' width='23.8' height='23.8' rx='7.2' fill='none' stroke='%23fff' stroke-width='3.2'/%3E%3Ccircle cx='20' cy='20' r='6.1' fill='none' stroke='%23fff' stroke-width='3.2'/%3E%3Ccircle cx='27.1' cy='12.9' r='2.2' fill='%23fff'/%3E%3C/svg%3E") !important;
}

html.theme-bright .social-linkedin::before {
  background: linear-gradient(180deg, #0a75d9 0%, #0a66c2 54%, #074b92 100%) !important;
}

html.theme-bright .social-linkedin::after {
  content: "in" !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -.1em !important;
  line-height: 1 !important;
  text-transform: none !important;
  background-image: none !important;
}

html.theme-bright .social-messenger::before {
  background:
    radial-gradient(circle at 30% 14%, rgba(255, 255, 255, .26), transparent 22%),
    linear-gradient(155deg, #00b2ff 0%, #006aff 42%, #8a3ffc 74%, #ff4f9a 100%) !important;
}

html.theme-bright .social-messenger::after {
  width: 34px !important;
  height: 34px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M20 4.5C10.8 4.5 3.8 11 3.8 19.6c0 4.9 2.3 9.3 5.9 12.1v5.1l5.4-2.9c1.5.4 3.1.7 4.9.7 9.2 0 16.2-6.5 16.2-15.1S29.2 4.5 20 4.5Zm1.7 19.7-4.1-4.4-8 4.4 8.8-9.4 4.1 4.4 8-4.4-8.8 9.4Z'/%3E%3C/svg%3E") !important;
}

html.theme-bright .social-email::before {
  background:
    radial-gradient(circle at 30% 12%, rgba(255, 255, 255, .32), transparent 24%),
    linear-gradient(180deg, #68b8e1 0%, #1b9dff 48%, #007aff 100%) !important;
}

html.theme-bright .social-email::after {
  width: 35px !important;
  height: 35px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6.5' y='10.5' width='27' height='19' rx='4.2' fill='none' stroke='%23fff' stroke-width='3'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8.5 13.5 20 22.1l11.5-8.6'/%3E%3C/svg%3E") !important;
}

@media (hover: hover) and (pointer: fine) {
  html.theme-bright .social-icon:hover {
    transform: translate3d(0, -3px, 0) scale(1.035) !important;
    box-shadow:
      0 22px 46px rgba(24, 54, 92, .22),
      0 0 0 1px rgba(255, 255, 255, .9) inset !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .footer-socials .social-icon,
  html.theme-bright .footer-contact-actions .social-icon,
  html.theme-bright .footer-column a.social-icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 17px !important;
  }
}

/* Safari-safe correction for LinkedIn and Messenger marks. */
html.theme-bright .social-linkedin::after {
  content: "" !important;
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M14.5 39H7.8V17.4h6.7V39ZM11.2 14.4a3.9 3.9 0 1 1 0-7.8 3.9 3.9 0 0 1 0 7.8ZM41.4 39h-6.7V28.5c0-2.5-.1-5.7-3.5-5.7-3.5 0-4 2.7-4 5.5V39h-6.7V17.4h6.4v2.9h.1c.9-1.7 3.1-3.5 6.3-3.5 6.8 0 8 4.4 8 10.2V39Z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  letter-spacing: 0 !important;
  font-size: 0 !important;
}

html.theme-bright .social-messenger::after {
  content: "" !important;
  display: block !important;
  width: 37px !important;
  height: 37px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M24 5C13 5 4.5 13 4.5 23.5c0 5.7 2.5 10.8 6.5 14.1V43l5.9-3.2c2.2.6 4.6 1 7.1 1 11 0 19.5-8 19.5-18.5S35 5 24 5Zm2 23.9-5-5.3-9.7 5.3L22 17.5l5.1 5.3 9.6-5.3L26 28.9Z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

/* Final inline social icons + logo polish: real SVG marks, no Safari pseudo rendering. */
html.theme-bright .brand.official-logo {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(246, 252, 255, .9)) !important;
  border: 1px solid rgba(50, 184, 230, .16) !important;
  border-radius: 999px !important;
  box-shadow:
    0 16px 34px rgba(23, 79, 119, .10),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

html.theme-bright .footer-logo.official-logo {
  width: fit-content !important;
  max-width: min(100%, 245px) !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(50, 184, 230, .16) !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 252, 255, .82)) !important;
  box-shadow:
    0 18px 38px rgba(22, 69, 106, .10),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

html.theme-bright .footer-logo.official-logo img,
html.theme-bright .footer-brand img {
  width: clamp(168px, 24vw, 220px) !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}

html.theme-bright .footer-socials .social-icon,
html.theme-bright .footer-contact-actions .social-icon,
html.theme-bright .footer-column a.social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .76) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  text-decoration: none !important;
  box-shadow:
    0 16px 34px rgba(20, 57, 92, .18),
    inset 0 1px 0 rgba(255, 255, 255, .42),
    inset 0 -16px 26px rgba(0, 0, 0, .10) !important;
  transform: translateZ(0) !important;
}

html.theme-bright .footer-socials .social-icon::before,
html.theme-bright .footer-socials .social-icon::after,
html.theme-bright .footer-contact-actions .social-icon::before,
html.theme-bright .footer-contact-actions .social-icon::after,
html.theme-bright .footer-column a.social-icon::before,
html.theme-bright .footer-column a.social-icon::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

html.theme-bright .social-facebook {
  background: linear-gradient(180deg, #1a82ff 0%, #1877f2 54%, #0f5fd6 100%) !important;
}

html.theme-bright .social-instagram {
  background:
    radial-gradient(circle at 30% 108%, #feda75 0 17%, #fa7e1e 31%, transparent 49%),
    radial-gradient(circle at 14% 12%, #4f5bd5 0 20%, transparent 43%),
    radial-gradient(circle at 88% 14%, #c13584 0 18%, transparent 40%),
    linear-gradient(135deg, #405de6 0%, #833ab4 30%, #c13584 54%, #e1306c 72%, #fd1d1d 88%, #f77737 100%) !important;
}

html.theme-bright .social-linkedin {
  background: linear-gradient(180deg, #0a75d9 0%, #0a66c2 55%, #074b92 100%) !important;
}

html.theme-bright .social-messenger {
  background:
    radial-gradient(circle at 30% 12%, rgba(255, 255, 255, .28), transparent 22%),
    linear-gradient(155deg, #00b2ff 0%, #006aff 43%, #8a3ffc 74%, #ff4f9a 100%) !important;
}

html.theme-bright .social-email {
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 255, 255, .32), transparent 24%),
    linear-gradient(180deg, #68b8e1 0%, #159dff 50%, #007aff 100%) !important;
}

html.theme-bright .social-brand-mark {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  overflow: visible !important;
  clip: auto !important;
  line-height: 1 !important;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .18)) !important;
}

html.theme-bright .social-brand-mark svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
  stroke: none !important;
}

html.theme-bright .social-instagram .social-brand-mark svg,
html.theme-bright .social-email .social-brand-mark svg {
  fill: none !important;
}

html.theme-bright .social-instagram .social-brand-mark circle:last-child {
  fill: currentColor !important;
  stroke: none !important;
}

html.theme-bright .social-messenger .social-brand-mark {
  width: 39px !important;
  height: 39px !important;
}

html.theme-bright .social-label,
html.theme-bright .social-icon .social-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

@media (max-width: 680px) {
  html.theme-bright .footer-socials .social-icon,
  html.theme-bright .footer-contact-actions .social-icon,
  html.theme-bright .footer-column a.social-icon {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    border-radius: 17px !important;
  }

  html.theme-bright .footer-logo.official-logo img,
  html.theme-bright .footer-brand img {
    width: clamp(158px, 48vw, 196px) !important;
  }
}

/* Premium footer navigation polish: make Site Links and contact names feel designed. */
html.theme-bright .site-footer.footer-expanded {
  overflow: hidden !important;
}

html.theme-bright .footer-main {
  grid-template-columns: minmax(320px, 1.08fr) minmax(270px, .82fr) minmax(280px, .88fr) !important;
  gap: clamp(20px, 3vw, 48px) !important;
}

html.theme-bright .footer-expanded .footer-site-links,
html.theme-bright .footer-expanded .footer-contact {
  position: relative !important;
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  min-height: 100% !important;
  padding: clamp(18px, 2vw, 24px) !important;
  border: 1px solid rgba(48, 183, 229, .18) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(104, 184, 225, .18), transparent 11rem),
    radial-gradient(circle at 100% 0%, rgba(139, 72, 242, .09), transparent 12rem),
    linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(245, 252, 255, .48)) !important;
  box-shadow:
    0 22px 54px rgba(22, 72, 110, .10),
    inset 0 1px 0 rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(18px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
}

html.theme-bright .footer-expanded .footer-site-links::before,
html.theme-bright .footer-expanded .footer-contact::before {
  content: "" !important;
  position: absolute !important;
  inset: 12px 12px auto auto !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  opacity: .42 !important;
  pointer-events: none !important;
  background:
    linear-gradient(135deg, rgba(42, 165, 234, .34), rgba(24, 123, 239, .12)),
    linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, .18)) !important;
  box-shadow:
    0 14px 26px rgba(42, 165, 234, .16),
    inset 0 1px 0 rgba(255, 255, 255, .7) !important;
}

html.theme-bright .footer-column h3,
html.theme-bright .footer-site-links h3,
html.theme-bright .footer-contact h3 {
  position: relative !important;
  z-index: 1 !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 0 8px !important;
  padding: 10px 14px 10px 36px !important;
  border: 1px solid rgba(42, 165, 234, .18) !important;
  border-radius: 999px !important;
  color: #2aa5ea !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(237, 249, 255, .7)) !important;
  box-shadow:
    0 12px 28px rgba(35, 90, 130, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html.theme-bright .footer-column h3::before,
html.theme-bright .footer-site-links h3::before,
html.theme-bright .footer-contact h3::before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 50% !important;
  width: 11px !important;
  height: 11px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #68b8e1, #2aa5ea) !important;
  box-shadow: 0 0 0 5px rgba(42, 165, 234, .12) !important;
  transform: translateY(-50%) !important;
}

html.theme-bright .footer-site-links {
  counter-reset: footer-link !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.theme-bright .footer-site-links h3 {
  grid-column: 1 / -1 !important;
}

html.theme-bright .footer-site-links > a {
  counter-increment: footer-link !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 40px 12px 14px !important;
  border: 1px solid rgba(39, 155, 215, .14) !important;
  border-radius: 18px !important;
  color: rgba(13, 28, 49, .82) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(240, 249, 255, .62)) !important;
  box-shadow:
    0 12px 24px rgba(23, 74, 110, .07),
    inset 0 1px 0 rgba(255, 255, 255, .82) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  line-height: 1.1 !important;
  transform: translateZ(0) !important;
  transition:
    transform 180ms var(--ease),
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    background 180ms ease !important;
}

html.theme-bright .footer-site-links > a::before {
  content: "0" counter(footer-link) !important;
  display: inline-grid !important;
  place-items: center !important;
  min-width: 29px !important;
  height: 29px !important;
  border-radius: 10px !important;
  color: #2aa5ea !important;
  background:
    linear-gradient(180deg, rgba(104, 184, 225, .2), rgba(24, 123, 239, .08)) !important;
  box-shadow: inset 0 0 0 1px rgba(42, 165, 234, .2) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

html.theme-bright .footer-site-links > a::after {
  content: "→" !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  color: #2aa5ea !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  opacity: .54 !important;
  transform: translateY(-50%) !important;
  transition: transform 180ms var(--ease), opacity 180ms ease !important;
}

html.theme-bright .footer-site-links > a:hover {
  color: #061a2e !important;
  border-color: rgba(42, 165, 234, .34) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(104, 184, 225, .2), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(234, 248, 255, .78)) !important;
  box-shadow:
    0 18px 34px rgba(22, 82, 130, .12),
    0 0 22px rgba(42, 165, 234, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
  transform: translate3d(0, -2px, 0) !important;
}

html.theme-bright .footer-site-links > a:hover::after {
  opacity: .92 !important;
  transform: translate(4px, -50%) !important;
}

html.theme-bright .footer-contact {
  grid-template-columns: 1fr !important;
}

html.theme-bright .footer-contact > a:not(.social-icon) {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(39, 155, 215, .14) !important;
  border-radius: 20px !important;
  color: rgba(13, 28, 49, .82) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(240, 249, 255, .64)) !important;
  box-shadow:
    0 12px 24px rgba(23, 74, 110, .07),
    inset 0 1px 0 rgba(255, 255, 255, .86) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: -.012em !important;
  overflow-wrap: anywhere !important;
  transition:
    transform 180ms var(--ease),
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease !important;
}

html.theme-bright .footer-contact > a:not(.social-icon)::before {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 30% 10%, rgba(255, 255, 255, .38), transparent 28%),
    linear-gradient(135deg, #68b8e1, #2aa5ea) !important;
  box-shadow: 0 12px 22px rgba(42, 165, 234, .18) !important;
  font-size: 15px !important;
}

html.theme-bright .footer-contact > a[href^="mailto"]:not(.social-icon)::before {
  content: "✉" !important;
}

html.theme-bright .footer-contact > a[href^="tel"]:not(.social-icon)::before {
  content: "☎" !important;
}

html.theme-bright .footer-contact > a:not(.social-icon):hover {
  color: #061a2e !important;
  border-color: rgba(42, 165, 234, .34) !important;
  box-shadow:
    0 18px 34px rgba(22, 82, 130, .12),
    0 0 22px rgba(42, 165, 234, .12),
    inset 0 1px 0 rgba(255, 255, 255, .94) !important;
  transform: translate3d(0, -2px, 0) !important;
}

html.theme-bright .footer-contact-actions {
  margin-top: 8px !important;
  padding-top: 4px !important;
}

html.theme-bright .footer-expanded .footer-bottom {
  margin-top: 8px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(39, 155, 215, .12) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(239, 249, 255, .46)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

@media (max-width: 1100px) {
  html.theme-bright .footer-main {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 780px) {
  html.theme-bright .footer-main {
    grid-template-columns: 1fr !important;
  }

  html.theme-bright .footer-expanded .footer-site-links,
  html.theme-bright .footer-expanded .footer-contact {
    padding: 18px !important;
    border-radius: 26px !important;
  }
}

@media (max-width: 460px) {
  html.theme-bright .footer-site-links {
    grid-template-columns: 1fr !important;
  }

  html.theme-bright .footer-site-links > a {
    min-height: 50px !important;
  }
}

/* Footer refinement: no numbered badges, stronger app colors, integrated logo/contact icons. */
html.theme-bright .footer-expanded .footer-logo.official-logo,
html.theme-bright .footer-logo.official-logo {
  width: min(100%, 318px) !important;
  max-width: min(100%, 318px) !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.theme-bright .footer-expanded .footer-logo.official-logo img,
html.theme-bright .footer-logo.official-logo img,
html.theme-bright .footer-brand img {
  width: min(100%, 292px) !important;
  height: auto !important;
  filter:
    drop-shadow(0 14px 28px rgba(18, 61, 96, .12))
    drop-shadow(0 0 22px rgba(42, 165, 234, .13)) !important;
}

html.theme-bright .footer-site-links > a {
  justify-content: flex-start !important;
  padding: 14px 42px 14px 18px !important;
}

html.theme-bright .footer-site-links > a::before {
  content: none !important;
  display: none !important;
}

html.theme-bright .footer-socials .social-icon,
html.theme-bright .footer-contact-actions .social-icon,
html.theme-bright .footer-column a.social-icon {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border: 1px solid rgba(255, 255, 255, .76) !important;
  border-radius: 18px !important;
  background-clip: padding-box !important;
  box-shadow:
    0 16px 34px rgba(20, 57, 92, .18),
    inset 0 1px 0 rgba(255, 255, 255, .42),
    inset 0 -16px 26px rgba(0, 0, 0, .10) !important;
}

html.theme-bright .footer-socials .social-icon::before,
html.theme-bright .footer-socials .social-icon::after,
html.theme-bright .footer-contact-actions .social-icon::before,
html.theme-bright .footer-contact-actions .social-icon::after,
html.theme-bright .footer-column a.social-icon::before,
html.theme-bright .footer-column a.social-icon::after {
  content: none !important;
  display: none !important;
}

html.theme-bright .footer-socials .social-facebook,
html.theme-bright .footer-contact-actions .social-facebook,
html.theme-bright .footer-column a.social-facebook {
  background: linear-gradient(180deg, #1a82ff 0%, #1877f2 54%, #0f5fd6 100%) !important;
}

html.theme-bright .footer-socials .social-instagram,
html.theme-bright .footer-contact-actions .social-instagram,
html.theme-bright .footer-column a.social-instagram {
  background:
    radial-gradient(circle at 30% 108%, #feda75 0 17%, #fa7e1e 31%, transparent 49%),
    radial-gradient(circle at 14% 12%, #4f5bd5 0 20%, transparent 43%),
    radial-gradient(circle at 88% 14%, #c13584 0 18%, transparent 40%),
    linear-gradient(135deg, #405de6 0%, #833ab4 30%, #c13584 54%, #e1306c 72%, #fd1d1d 88%, #f77737 100%) !important;
}

html.theme-bright .footer-socials .social-linkedin,
html.theme-bright .footer-contact-actions .social-linkedin,
html.theme-bright .footer-column a.social-linkedin {
  background: linear-gradient(180deg, #0a75d9 0%, #0a66c2 55%, #074b92 100%) !important;
}

html.theme-bright .footer-socials .social-messenger,
html.theme-bright .footer-contact-actions .social-messenger,
html.theme-bright .footer-column a.social-messenger {
  background:
    radial-gradient(circle at 30% 12%, rgba(255, 255, 255, .28), transparent 22%),
    linear-gradient(155deg, #00b2ff 0%, #006aff 43%, #8a3ffc 74%, #ff4f9a 100%) !important;
}

html.theme-bright .footer-socials .social-email,
html.theme-bright .footer-contact-actions .social-email,
html.theme-bright .footer-column a.social-email {
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 255, 255, .32), transparent 24%),
    linear-gradient(180deg, #68b8e1 0%, #159dff 50%, #007aff 100%) !important;
}

html.theme-bright .footer-socials .social-brand-mark,
html.theme-bright .footer-contact-actions .social-brand-mark,
html.theme-bright .footer-column a.social-icon .social-brand-mark {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .18)) !important;
}

html.theme-bright .footer-contact > a:not(.social-icon)::before {
  content: "" !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% 100% !important;
  background-image:
    radial-gradient(circle at 30% 10%, rgba(255, 255, 255, .35), transparent 30%),
    linear-gradient(135deg, #68b8e1, #2aa5ea) !important;
}

html.theme-bright .footer-contact > a[href^="mailto"]:not(.social-icon)::before {
  background-size: 20px 20px, 100% 100%, 100% 100% !important;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='8' y='13' width='32' height='22' rx='5' fill='none' stroke='%23fff' stroke-width='3.3'/%3E%3Cpath d='M10 16.5 24 27l14-10.5' fill='none' stroke='%23fff' stroke-width='3.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    radial-gradient(circle at 30% 10%, rgba(255, 255, 255, .35), transparent 30%),
    linear-gradient(135deg, #68b8e1, #2aa5ea) !important;
}

html.theme-bright .footer-contact > a[href^="tel"]:not(.social-icon)::before {
  background-size: 20px 20px, 100% 100%, 100% 100% !important;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M34.7 39.5c-5.8 0-12.2-2.9-17.3-8s-8-11.5-8-17.3c0-2.2 1.8-4 4-4h4.2c.9 0 1.8.6 2.1 1.5l2.3 6.4c.3.9 0 1.9-.7 2.5l-2.5 2.1c1.3 2.6 3.9 5.2 6.5 6.5l2.1-2.5c.6-.7 1.6-1 2.5-.7l6.4 2.3c.9.3 1.5 1.1 1.5 2.1v4.2c0 2.2-1.8 4-4 4Z' fill='%23fff'/%3E%3C/svg%3E"),
    radial-gradient(circle at 30% 10%, rgba(255, 255, 255, .35), transparent 30%),
    linear-gradient(135deg, #68b8e1, #2aa5ea) !important;
}

@media (max-width: 680px) {
  html.theme-bright .footer-expanded .footer-logo.official-logo img,
  html.theme-bright .footer-logo.official-logo img,
  html.theme-bright .footer-brand img {
    width: min(100%, 268px) !important;
  }

  html.theme-bright .footer-socials .social-icon,
  html.theme-bright .footer-contact-actions .social-icon,
  html.theme-bright .footer-column a.social-icon {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    border-radius: 17px !important;
  }
}

/* Final footer calming pass: softer cards, smaller brand icons, no empty footer squares. */
html.theme-bright .footer-expanded .footer-site-links::before,
html.theme-bright .footer-expanded .footer-contact::before {
  content: none !important;
  display: none !important;
}

html.theme-bright .footer-expanded .footer-site-links,
html.theme-bright .footer-expanded .footer-contact {
  border-color: rgba(48, 183, 229, .12) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(104, 184, 225, .13), transparent 10rem),
    linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(246, 252, 255, .40)) !important;
  box-shadow:
    0 16px 38px rgba(22, 72, 110, .075),
    inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

html.theme-bright .footer-site-links > a,
html.theme-bright .footer-contact > a:not(.social-icon) {
  border-color: rgba(39, 155, 215, .10) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(242, 250, 255, .56)) !important;
  box-shadow:
    0 9px 20px rgba(23, 74, 110, .055),
    inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

html.theme-bright .footer-site-links > a {
  min-height: 46px !important;
  border-radius: 16px !important;
  padding: 12px 40px 12px 17px !important;
}

html.theme-bright .footer-contact > a:not(.social-icon) {
  min-height: 50px !important;
  border-radius: 18px !important;
}

html.theme-bright .footer-contact > a:not(.social-icon)::before {
  flex-basis: 31px !important;
  width: 31px !important;
  height: 31px !important;
  border-radius: 11px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  box-shadow: 0 8px 17px rgba(42, 165, 234, .14) !important;
}

html.theme-bright .footer-contact > a[href^="mailto"]:not(.social-icon)::before,
html.theme-bright .footer-contact > a[href^="tel"]:not(.social-icon)::before {
  background-size: 18px 18px, 100% 100%, 100% 100% !important;
}

html.theme-bright .footer-socials .social-icon,
html.theme-bright .footer-contact-actions .social-icon,
html.theme-bright .footer-column a.social-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  border-radius: 16px !important;
  box-shadow:
    0 13px 28px rgba(20, 57, 92, .16),
    inset 0 1px 0 rgba(255, 255, 255, .40),
    inset 0 -14px 24px rgba(0, 0, 0, .09) !important;
}

html.theme-bright .footer-socials .social-brand-mark,
html.theme-bright .footer-contact-actions .social-brand-mark,
html.theme-bright .footer-column a.social-icon .social-brand-mark {
  width: 32px !important;
  height: 32px !important;
}

html.theme-bright .footer-contact-actions .social-messenger .social-brand-mark {
  width: 35px !important;
  height: 35px !important;
}

html.theme-bright .footer-expanded .footer-bottom {
  margin-top: 2px !important;
  padding: 16px 2px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(30, 54, 86, .10) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.theme-bright .footer-expanded .footer-bottom a {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  html.theme-bright .footer-site-links > a:hover,
  html.theme-bright .footer-contact > a:not(.social-icon):hover {
    transform: translate3d(0, -1px, 0) !important;
    box-shadow:
      0 13px 26px rgba(22, 82, 130, .09),
      inset 0 1px 0 rgba(255, 255, 255, .9) !important;
  }
}

@media (max-width: 680px) {
  html.theme-bright .footer-socials .social-icon,
  html.theme-bright .footer-contact-actions .social-icon,
  html.theme-bright .footer-column a.social-icon {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    border-radius: 15px !important;
  }
}

/* Premium final integration pass: FLINE cyan system, embedded logos, and blended hero photography. */
:root,
html.theme-bright {
  --fline-logo-blue: #2aa5ea;
  --fline-logo-blue-soft: #68b8e1;
  --fline-logo-blue-deep: #1a78ad;
  --cyan: #2aa5ea;
  --blue: #2aa5ea;
  --periwinkle: #2aa5ea;
  --violet: #2aa5ea;
  --purple: #2aa5ea;
  --brand-blue: #2aa5ea;
  --brand-cyan: #2aa5ea;
  --brand-purple: #2aa5ea;
}

html.theme-bright .site-header {
  background:
    radial-gradient(circle at 8% 0%, rgba(42, 165, 234, .26), transparent 13rem),
    radial-gradient(circle at 88% -8%, rgba(104, 184, 225, .18), transparent 15rem),
    linear-gradient(180deg, rgba(247, 253, 255, .94), rgba(232, 248, 255, .78)),
    rgba(242, 251, 255, .84) !important;
  border-color: rgba(42, 165, 234, .18) !important;
  box-shadow:
    0 18px 52px rgba(20, 96, 140, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96),
    inset 0 -1px 0 rgba(42, 165, 234, .08) !important;
}

html.theme-bright .brand.official-logo,
html.theme-bright .footer-logo.official-logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

html.theme-bright .brand.official-logo {
  padding: 2px 2px 2px 0 !important;
  border-radius: 0 !important;
}

html.theme-bright .brand.official-logo::before,
html.theme-bright .brand.official-logo::after,
html.theme-bright .footer-logo.official-logo::before,
html.theme-bright .footer-logo.official-logo::after {
  content: none !important;
  display: none !important;
}

html.theme-bright .brand.official-logo img {
  width: clamp(152px, 10.4vw, 184px) !important;
  display: block !important;
  filter:
    drop-shadow(0 10px 18px rgba(5, 25, 48, .10))
    drop-shadow(0 0 16px rgba(42, 165, 234, .12)) !important;
}

html.theme-bright .footer-logo.official-logo {
  width: min(100%, 270px) !important;
  max-width: min(100%, 270px) !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

html.theme-bright .footer-logo.official-logo img,
html.theme-bright .footer-brand img {
  filter:
    drop-shadow(0 12px 22px rgba(5, 25, 48, .10))
    drop-shadow(0 0 18px rgba(42, 165, 234, .10)) !important;
}

html.theme-bright .button:not(.secondary),
html.theme-bright .hero.page-band .button:not(.secondary),
html.theme-bright .service-signal-action .button,
html.theme-bright .language-switch button.is-active {
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .36), transparent 28%),
    linear-gradient(135deg, var(--fline-logo-blue-soft) 0%, var(--fline-logo-blue) 50%, var(--fline-logo-blue-deep) 100%) !important;
  box-shadow:
    0 18px 38px rgba(42, 165, 234, .25),
    inset 0 1px 0 rgba(255, 255, 255, .48),
    inset 0 -16px 28px rgba(4, 63, 96, .12) !important;
}

html.theme-bright .hero.page-band.hero-telecom {
  --tele-blue: var(--fline-logo-blue);
  --tele-blue-deep: var(--fline-logo-blue-deep);
  background:
    radial-gradient(circle at 74% 26%, rgba(42, 165, 234, .22), transparent 25rem),
    radial-gradient(circle at 12% 84%, rgba(104, 184, 225, .13), transparent 20rem),
    linear-gradient(135deg, #fbfdff 0%, #effaff 48%, #ffffff 100%) !important;
  border-color: rgba(42, 165, 234, .13) !important;
}

html.theme-bright .hero-telecom .tele-script,
html.theme-bright .eyebrow,
html.theme-bright .footer-section-label,
html.theme-bright .footer-expanded .footer-section-label {
  color: var(--fline-logo-blue) !important;
  -webkit-text-fill-color: var(--fline-logo-blue) !important;
}

.hero-team-card {
  isolation: isolate !important;
  border: 1px solid rgba(42, 165, 234, .10) !important;
  background:
    radial-gradient(circle at 52% 28%, rgba(255, 255, 255, .96), rgba(255, 255, 255, .72) 30%, transparent 56%),
    radial-gradient(circle at 82% 18%, rgba(104, 184, 225, .18), transparent 18rem),
    radial-gradient(circle at 12% 92%, rgba(42, 165, 234, .12), transparent 18rem),
    linear-gradient(180deg, rgba(245, 252, 255, .82), rgba(238, 250, 255, .66)) !important;
  box-shadow:
    0 24px 62px rgba(23, 103, 145, .10),
    inset 0 1px 0 rgba(255, 255, 255, .86) !important;
}

.hero-team-card::before {
  inset: 0 !important;
  height: auto !important;
  z-index: 3 !important;
  background:
    linear-gradient(180deg, rgba(239, 250, 255, .96) 0%, rgba(239, 250, 255, .32) 8%, rgba(239, 250, 255, 0) 24%, rgba(239, 250, 255, 0) 66%, rgba(244, 252, 255, .74) 88%, rgba(244, 252, 255, .98) 100%),
    linear-gradient(90deg, rgba(239, 250, 255, .95) 0%, rgba(239, 250, 255, 0) 10%, rgba(239, 250, 255, 0) 90%, rgba(239, 250, 255, .95) 100%) !important;
}

.hero-team-card::after {
  left: 11% !important;
  right: 11% !important;
  bottom: 6% !important;
  height: 22px !important;
  background: rgba(42, 165, 234, .16) !important;
  filter: blur(18px) !important;
}

.hero-team-glow {
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  filter: none !important;
  border-radius: inherit !important;
  background:
    radial-gradient(circle at 62% 18%, rgba(255, 255, 255, .58), transparent 22%),
    radial-gradient(circle at 70% 28%, rgba(42, 165, 234, .12), transparent 34%),
    linear-gradient(180deg, rgba(238, 250, 255, .34), transparent 32%, rgba(244, 252, 255, .52)) !important;
}

.hero-team-card img {
  z-index: 1 !important;
  mix-blend-mode: multiply;
  opacity: .985;
  filter:
    drop-shadow(0 22px 34px rgba(5, 23, 42, .10))
    saturate(1.03)
    contrast(1.02) !important;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .02) 0%, #000 5.5%, #000 78%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .02) 0%, #000 5.5%, #000 78%, rgba(0, 0, 0, 0) 100%);
}

html.theme-bright .stat-number,
html.theme-bright .metric-value,
html.theme-bright .workforce-card strong {
  color: var(--fline-logo-blue) !important;
  -webkit-text-fill-color: var(--fline-logo-blue) !important;
}

html.theme-bright .workforce-card::after,
html.theme-bright .service-card::after,
html.theme-bright .leader-card::after,
html.theme-bright .footer-site-links > a::after {
  background: linear-gradient(90deg, rgba(42, 165, 234, .62), rgba(104, 184, 225, .92), rgba(42, 165, 234, .45)) !important;
}

@media (max-width: 680px) {
  html.theme-bright .brand.official-logo img {
    width: clamp(144px, 31vw, 164px) !important;
  }

  .hero-team-card {
    background:
      radial-gradient(circle at 52% 22%, rgba(255, 255, 255, .96), rgba(255, 255, 255, .72) 35%, transparent 62%),
      linear-gradient(180deg, rgba(244, 252, 255, .86), rgba(235, 250, 255, .68)) !important;
  }

  .hero-team-card::before {
    background:
      linear-gradient(180deg, rgba(239, 250, 255, .98) 0%, rgba(239, 250, 255, .22) 9%, rgba(239, 250, 255, 0) 27%, rgba(239, 250, 255, 0) 64%, rgba(244, 252, 255, .76) 88%, rgba(244, 252, 255, 1) 100%),
      linear-gradient(90deg, rgba(239, 250, 255, .95) 0%, rgba(239, 250, 255, 0) 8%, rgba(239, 250, 255, 0) 92%, rgba(239, 250, 255, .95) 100%) !important;
  }
}

/* Seamless correction: header/logo and hero people must feel built into the page, not pasted on top. */
html.theme-bright .site-header {
  border: 0 !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(42, 165, 234, .18), transparent 12rem),
    linear-gradient(180deg, rgba(236, 250, 255, .78), rgba(236, 250, 255, .50)) !important;
  box-shadow:
    0 18px 40px rgba(24, 106, 146, .075),
    inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

html.theme-bright .site-header::before,
html.theme-bright .site-header::after,
html.theme-bright .site-header.fline-signature-surface::before,
html.theme-bright .site-header.fline-signature-surface::after,
html.theme-bright .site-header > .fline-cut {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

html.theme-bright .brand.official-logo,
html.theme-bright .brand.official-logo:hover,
html.theme-bright .brand.official-logo:focus {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

html.theme-bright .brand.official-logo img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

html.theme-bright .hero.page-band.hero-telecom {
  overflow: hidden !important;
}

.hero-team-card,
html.theme-bright .hero-team-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.hero-team-card::before {
  content: "" !important;
  position: absolute !important;
  inset: -7% -5% -4% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at 50% 67%, rgba(235, 250, 255, .92) 0%, rgba(235, 250, 255, .48) 42%, rgba(235, 250, 255, 0) 72%),
    linear-gradient(180deg, rgba(235, 250, 255, 0) 0%, rgba(235, 250, 255, .24) 74%, rgba(235, 250, 255, .88) 100%) !important;
}

.hero-team-card::after {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  right: 8% !important;
  bottom: 6% !important;
  z-index: 0 !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(42, 165, 234, .18) !important;
  filter: blur(24px) !important;
}

.hero-team-glow {
  inset: 9% 0 0 !important;
  z-index: 0 !important;
  border-radius: 999px !important;
  background:
    radial-gradient(ellipse at 50% 60%, rgba(42, 165, 234, .14), transparent 58%),
    radial-gradient(circle at 72% 22%, rgba(104, 184, 225, .14), transparent 33%) !important;
  filter: blur(16px) !important;
}

.hero-team-card img {
  position: relative !important;
  z-index: 2 !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter:
    drop-shadow(0 24px 30px rgba(5, 23, 42, .10))
    saturate(1.02)
    contrast(1.01) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

@media (max-width: 680px) {
  html.theme-bright .site-header {
    background:
      radial-gradient(circle at 10% 0%, rgba(42, 165, 234, .16), transparent 10rem),
      linear-gradient(180deg, rgba(236, 250, 255, .76), rgba(236, 250, 255, .48)) !important;
    box-shadow:
      0 14px 32px rgba(24, 106, 146, .07),
      inset 0 1px 0 rgba(255, 255, 255, .64) !important;
  }

  .hero-team-card,
  html.theme-bright .hero-team-card {
    width: calc(100% + 10px) !important;
    margin-inline: -5px !important;
    overflow: visible !important;
  }

  .hero-team-card::before {
    inset: -8% -9% -6% !important;
    background:
      radial-gradient(ellipse at 50% 67%, rgba(235, 250, 255, .92) 0%, rgba(235, 250, 255, .38) 44%, rgba(235, 250, 255, 0) 72%),
      linear-gradient(180deg, rgba(235, 250, 255, 0) 0%, rgba(235, 250, 255, .22) 72%, rgba(235, 250, 255, .9) 100%) !important;
  }
}

/* Leadership is part of Contact Us, not a separate destination. */
.contact-leadership {
  width: min(calc(100% - 48px), var(--shell-wide));
  margin: clamp(48px, 7vw, 88px) auto clamp(52px, 8vw, 100px);
  padding: clamp(26px, 5vw, 62px);
}

.contact-leadership .section-heading {
  margin-bottom: clamp(24px, 4vw, 38px);
}

.contact-leadership .leadership-list {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2.5vw, 28px);
  max-width: 1000px;
  margin: 0 auto;
}

html.theme-bright .contact-leadership .leader-card.founder-card {
  grid-template-columns: clamp(86px, 12vw, 132px) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
  min-height: clamp(154px, 19vw, 218px);
  border-radius: clamp(30px, 4vw, 44px);
  padding: clamp(24px, 4vw, 42px);
}

html.theme-bright .contact-leadership .leader-avatar.leader-person-avatar {
  width: clamp(86px, 12vw, 132px) !important;
  height: clamp(86px, 12vw, 132px) !important;
  border-radius: clamp(26px, 3.4vw, 38px) !important;
  font-size: clamp(42px, 6vw, 68px) !important;
}

.contact-leadership .leader-person-avatar .person-glyph {
  width: clamp(46px, 6.4vw, 72px);
  height: clamp(46px, 6.4vw, 72px);
}

.contact-leadership .leader-person-avatar .person-glyph::before {
  top: 3px;
  width: 38%;
  height: 38%;
}

.contact-leadership .leader-person-avatar .person-glyph::after {
  bottom: 3px;
  width: 78%;
  height: 44%;
}

.contact-leadership .leader-copy {
  gap: clamp(12px, 2vw, 18px);
}

.contact-leadership .leader-copy strong {
  font-size: clamp(26px, 4vw, 48px);
  line-height: 1.08;
}

.contact-leadership .leader-copy em {
  padding: 11px 18px;
  font-size: clamp(15px, 2vw, 20px);
  line-height: 1.25;
  white-space: normal;
}

@media (max-width: 680px) {
  .contact-leadership {
    padding: 22px 16px;
    border-radius: 30px;
  }

  html.theme-bright .contact-leadership .leader-card.founder-card {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 16px !important;
    min-height: 116px;
    border-radius: 26px;
    padding: 16px;
  }

  html.theme-bright .contact-leadership .leader-avatar.leader-person-avatar {
    width: 68px !important;
    height: 68px !important;
    border-radius: 22px !important;
  }

  .contact-leadership .leader-person-avatar .person-glyph {
    width: 38px;
    height: 38px;
  }

  .contact-leadership .leader-copy strong {
    font-size: clamp(21px, 6vw, 29px);
  }

  .contact-leadership .leader-copy em {
    padding: 8px 12px;
    font-size: 13px;
  }
}

/* Keep the footer brand area pure white, without the former blue haze or logo glow. */
html.theme-bright .footer-expanded .footer-brand {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.theme-bright .footer-expanded .footer-brand img {
  filter: none !important;
  box-shadow: none !important;
}

/* Contrast repair pass: light FLINE cyan accents, but readable panels and clean icons. */
:root,
html.theme-bright {
  --fline-cyan: #2aa5ea;
  --fline-cyan-soft: #68b8e1;
  --fline-cyan-mid: #2aa5ea;
  --fline-cyan-deep: #1a78ad;
  --fline-navy: #071426;
  --fline-navy-2: #0a2138;
}

html.theme-bright .service-icon,
html.theme-bright .workforce-card-icon,
html.theme-bright .leader-avatar,
html.theme-bright .leader-avatar.founder-avatar,
html.theme-bright .leader-avatar.leader-person-avatar,
html.theme-bright .office::before,
html.theme-bright .service-signal-orb,
html.theme-bright .signal-orb {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background:
    radial-gradient(circle at 27% 15%, rgba(255,255,255,.76), transparent 24%),
    linear-gradient(145deg, var(--fline-cyan-soft) 0%, var(--fline-cyan) 54%, var(--fline-cyan-deep) 100%) !important;
  box-shadow:
    0 14px 30px rgba(42, 165, 234, .22),
    inset 0 1px 0 rgba(255, 255, 255, .52),
    inset 0 -12px 20px rgba(7, 83, 120, .16) !important;
  text-shadow: 0 2px 8px rgba(6, 35, 58, .20) !important;
}

html.theme-bright .service-icon::before {
  background: rgba(255, 255, 255, .98) !important;
  opacity: 1 !important;
  filter:
    drop-shadow(0 2px 4px rgba(7, 54, 86, .18))
    drop-shadow(0 0 10px rgba(255, 255, 255, .42)) !important;
}

html.theme-bright .service-icon::after {
  background:
    radial-gradient(circle at 70% 24%, rgba(255,255,255,.45), transparent 18%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.035)) !important;
  opacity: .58 !important;
}

html.theme-bright .button:not(.secondary),
html.theme-bright .hero.page-band .button:not(.secondary),
html.theme-bright .service-signal-action .button,
html.theme-bright .footer-newsletter-form button,
html.theme-bright .language-switch button.is-active {
  background:
    radial-gradient(circle at 24% 16%, rgba(255,255,255,.40), transparent 26%),
    linear-gradient(135deg, var(--fline-cyan-soft) 0%, var(--fline-cyan) 52%, var(--fline-cyan-deep) 100%) !important;
  box-shadow:
    0 16px 36px rgba(42, 165, 234, .24),
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -14px 22px rgba(7, 83, 120, .14) !important;
}

html.theme-bright .service-signal-break {
  color: #f7fdff !important;
  border: 1px solid rgba(104, 184, 225, .28) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(42, 165, 234, .34), transparent 19rem),
    radial-gradient(circle at 86% 12%, rgba(104, 184, 225, .18), transparent 22rem),
    linear-gradient(145deg, #061321 0%, #0a2742 48%, #071426 100%) !important;
  box-shadow:
    0 30px 80px rgba(7, 20, 38, .24),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

html.theme-bright .service-signal-break .eyebrow,
html.theme-bright .service-signal-break .service-signal-copy .eyebrow {
  color: var(--fline-cyan-soft) !important;
  -webkit-text-fill-color: var(--fline-cyan-soft) !important;
  opacity: 1 !important;
  text-shadow: 0 0 18px rgba(42,165,234,.26) !important;
}

html.theme-bright .service-signal-break h2,
html.theme-bright .service-signal-break .service-signal-copy h2,
html.theme-bright .service-signal-break .service-signal-copy h2 span {
  color: #f8fdff !important;
  -webkit-text-fill-color: #f8fdff !important;
  text-shadow: 0 16px 38px rgba(0,0,0,.22) !important;
}

html.theme-bright .service-signal-break p,
html.theme-bright .service-signal-break .service-signal-copy > p:not(.eyebrow) {
  color: rgba(248, 253, 255, .84) !important;
  -webkit-text-fill-color: rgba(248, 253, 255, .84) !important;
  text-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
}

html.theme-bright .service-signal-chips span {
  color: rgba(248,253,255,.92) !important;
  border-color: rgba(104, 184, 225, .34) !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}

html.theme-bright .service-signal-break::before,
html.theme-bright .service-signal-break::after {
  opacity: .72 !important;
}

html.theme-bright .footer-newsletter {
  color: #f8fdff !important;
  border: 1px solid rgba(104, 184, 225, .26) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(42, 165, 234, .32), transparent 18rem),
    radial-gradient(circle at 90% 12%, rgba(104, 184, 225, .16), transparent 22rem),
    linear-gradient(145deg, #061321 0%, #0a2742 52%, #071426 100%) !important;
  box-shadow:
    0 28px 74px rgba(7, 20, 38, .20),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

html.theme-bright .footer-newsletter .eyebrow {
  color: var(--fline-cyan-soft) !important;
  -webkit-text-fill-color: var(--fline-cyan-soft) !important;
  opacity: 1 !important;
}

html.theme-bright .footer-newsletter h2 {
  color: #f8fdff !important;
  -webkit-text-fill-color: #f8fdff !important;
  text-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
}

html.theme-bright .footer-newsletter h2 span {
  color: var(--fline-cyan-soft) !important;
  -webkit-text-fill-color: var(--fline-cyan-soft) !important;
}

html.theme-bright .footer-newsletter-copy p:not(.eyebrow),
html.theme-bright .footer-newsletter p:not(.eyebrow) {
  color: rgba(248,253,255,.82) !important;
  -webkit-text-fill-color: rgba(248,253,255,.82) !important;
}

html.theme-bright .footer-newsletter-form {
  border-color: rgba(104, 184, 225, .26) !important;
  background: rgba(255,255,255,.08) !important;
}

html.theme-bright .footer-newsletter-form input {
  color: var(--fline-navy) !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(104, 184, 225, .24) !important;
}

html.theme-bright .footer-newsletter-form input::placeholder {
  color: rgba(7,20,38,.54) !important;
}

html.theme-bright .footer-contact > a:not(.social-icon)::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  border-radius: 14px !important;
  opacity: 1 !important;
  box-shadow:
    0 12px 24px rgba(42, 165, 234, .18),
    inset 0 1px 0 rgba(255,255,255,.48) !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-position: center, center, center !important;
  background-size: 23px 23px, cover, cover !important;
}

html.theme-bright .footer-contact > a[href^="mailto"]:not(.social-icon)::before {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='8' y='13' width='32' height='22' rx='5' stroke='white' stroke-width='3.4'/%3E%3Cpath d='M10 16.5 24 27l14-10.5' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    radial-gradient(circle at 28% 14%, rgba(255,255,255,.55), transparent 26%),
    linear-gradient(145deg, var(--fline-cyan-soft), var(--fline-cyan) 54%, var(--fline-cyan-deep)) !important;
}

html.theme-bright .footer-contact > a[href^="tel"]:not(.social-icon)::before {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M17.2 9.8 21 18c.6 1.2.3 2.6-.7 3.4l-2.1 1.8c2.2 4.5 5.9 8.2 10.5 10.6l1.9-2.2c.8-1 2.2-1.3 3.4-.7l8 3.8c1.2.6 1.8 1.9 1.5 3.2-.8 3.4-3.8 5.8-7.3 5.8C18.6 43.8 4.2 29.4 4.2 11.8c0-3.5 2.4-6.5 5.8-7.3 1.3-.3 2.6.3 3.2 1.5Z' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    radial-gradient(circle at 28% 14%, rgba(255,255,255,.55), transparent 26%),
    linear-gradient(145deg, var(--fline-cyan-soft), var(--fline-cyan) 54%, var(--fline-cyan-deep)) !important;
}

html.theme-bright .footer-contact-actions .social-icon::before,
html.theme-bright .footer-contact-actions .social-icon::after {
  content: none !important;
  display: none !important;
}

html.theme-bright .footer-contact-actions .social-brand-mark {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  opacity: 1 !important;
  color: #fff !important;
  z-index: 2 !important;
}

html.theme-bright .footer-contact-actions .social-brand-mark svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html.theme-bright .footer-contact-actions .social-messenger .social-brand-mark svg,
html.theme-bright .footer-contact-actions .social-messenger .social-brand-mark svg * {
  fill: currentColor !important;
  stroke: none !important;
}

html.theme-bright .footer-contact-actions .social-email .social-brand-mark svg,
html.theme-bright .footer-contact-actions .social-email .social-brand-mark svg * {
  fill: none !important;
  stroke: currentColor !important;
}

html.theme-bright .footer-contact-actions .social-messenger,
html.theme-bright .footer-column a.social-messenger {
  background:
    radial-gradient(circle at 30% 12%, rgba(255,255,255,.28), transparent 22%),
    linear-gradient(155deg, #00b2ff 0%, #006aff 43%, #8a3ffc 74%, #ff4f9a 100%) !important;
}

html.theme-bright .footer-contact-actions .social-email,
html.theme-bright .footer-column a.social-email {
  background:
    radial-gradient(circle at 28% 12%, rgba(255,255,255,.32), transparent 24%),
    linear-gradient(180deg, #68b8e1 0%, #159dff 50%, #007aff 100%) !important;
}

html.theme-bright .footer-contact-actions .social-label {
  display: none !important;
}

html.theme-bright .footer-bottom,
html.theme-bright .footer-bottom span,
html.theme-bright .footer-bottom a {
  color: rgba(7,20,38,.78) !important;
}

@media (max-width: 680px) {
  html.theme-bright .service-signal-break,
  html.theme-bright .footer-newsletter {
    background:
      radial-gradient(circle at 12% 0%, rgba(42, 165, 234, .30), transparent 14rem),
      linear-gradient(145deg, #061321 0%, #0a2742 58%, #071426 100%) !important;
  }

  html.theme-bright .service-signal-break h2,
  html.theme-bright .footer-newsletter h2 {
    text-shadow: 0 12px 28px rgba(0,0,0,.26) !important;
  }
}

/* Unified FLINE blue: one cooler, slightly deeper accent with soft/deep values kept in the same hue. */
:root,
html.theme-bright {
  --fline-brand-blue: #2aa5ea;
  --fline-brand-blue-soft: #68b8e1;
  --fline-brand-blue-deep: #1a78ad;
  --cyan: var(--fline-brand-blue) !important;
  --blue: var(--fline-brand-blue) !important;
  --periwinkle: var(--fline-brand-blue) !important;
  --violet: var(--fline-brand-blue) !important;
  --purple: var(--fline-brand-blue) !important;
  --brand-blue: var(--fline-brand-blue) !important;
  --brand-cyan: var(--fline-brand-blue) !important;
  --brand-purple: var(--fline-brand-blue) !important;
  --fline-logo-blue: var(--fline-brand-blue) !important;
  --fline-logo-blue-soft: var(--fline-brand-blue-soft) !important;
  --fline-logo-blue-deep: var(--fline-brand-blue-deep) !important;
  --fline-cyan: var(--fline-brand-blue) !important;
  --fline-cyan-soft: var(--fline-brand-blue-soft) !important;
  --fline-cyan-mid: var(--fline-brand-blue) !important;
  --fline-cyan-deep: var(--fline-brand-blue-deep) !important;
}

html.theme-bright .hero.page-band.hero-telecom {
  --tele-blue: var(--fline-brand-blue) !important;
  --tele-blue-deep: var(--fline-brand-blue-deep) !important;
}

html.theme-bright .social-email::before,
html.theme-bright .social-email,
html.theme-bright .footer-socials .social-email,
html.theme-bright .footer-contact-actions .social-email,
html.theme-bright .footer-column a.social-email {
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 255, 255, .32), transparent 24%),
    linear-gradient(180deg, var(--fline-brand-blue-soft), var(--fline-brand-blue) 52%, var(--fline-brand-blue-deep)) !important;
}

/* One clean white canvas throughout the site; blue stays on brand controls and accents. */
:root,
html.theme-bright {
  --deep: #fff;
  --deep-2: #fff;
  --panel: #fff;
  --premium-panel: #fff;
  --fline-cut-bg: #fff;
  background: #fff !important;
}

html.theme-bright body,
html.theme-bright main,
html.theme-bright main > section,
html.theme-bright .site-footer {
  color: #0f172a !important;
  background: #fff !important;
  background-image: none !important;
}

html.theme-bright body::before,
html.theme-bright body::after,
html.theme-bright .ambient,
html.theme-bright .scroll-light,
html.theme-bright .workforce-ambient {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

html.theme-bright .site-header {
  border-color: rgba(15, 23, 42, .08) !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .055), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(18px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
}

html.theme-bright .hero.page-band,
html.theme-bright .workforce-section,
html.theme-bright .service-signal-break,
html.theme-bright .footer-newsletter,
html.theme-bright .site-footer.footer-expanded {
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, .08) !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .045), inset 0 1px 0 #fff !important;
}

html.theme-bright .hero.page-band::before,
html.theme-bright .hero.page-band::after,
html.theme-bright .workforce-section::before,
html.theme-bright .service-signal-break::before,
html.theme-bright .service-signal-break::after,
html.theme-bright .footer-newsletter::before,
html.theme-bright .footer-newsletter::after,
html.theme-bright .hero-team-card::before,
html.theme-bright .hero-team-card::after,
html.theme-bright .hero-team-glow {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

html.theme-bright .glass,
html.theme-bright .page-hero,
html.theme-bright .assurance,
html.theme-bright .copy-block,
html.theme-bright .contact-intro,
html.theme-bright .apply-intro,
html.theme-bright .legal-card,
html.theme-bright .service-card,
html.theme-bright .service-strip,
html.theme-bright .services-board,
html.theme-bright .service-cloud,
html.theme-bright .proof-node,
html.theme-bright .process-line article,
html.theme-bright .office,
html.theme-bright .leader-card,
html.theme-bright .form-step,
html.theme-bright .apply-form,
html.theme-bright .contact-form,
html.theme-bright details,
html.theme-bright .custom-module-card,
html.theme-bright .workforce-card {
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .045), inset 0 1px 0 #fff !important;
}

html.theme-bright .service-signal-break h2,
html.theme-bright .service-signal-break .service-signal-copy h2,
html.theme-bright .service-signal-break .service-signal-copy h2 span,
html.theme-bright .footer-newsletter h2 {
  color: #0b1120 !important;
  -webkit-text-fill-color: #0b1120 !important;
  text-shadow: none !important;
}

html.theme-bright .service-signal-break p,
html.theme-bright .service-signal-break .service-signal-copy > p:not(.eyebrow),
html.theme-bright .service-signal-chips span,
html.theme-bright .footer-newsletter-copy p:not(.eyebrow),
html.theme-bright .footer-newsletter p:not(.eyebrow) {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  text-shadow: none !important;
}

html.theme-bright .site-header.is-scrolled {
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05), inset 0 1px 0 #fff !important;
}

html.theme-bright .hero.page-band.hero-telecom,
html.theme-bright .hero.page-band.hero-home-clean {
  background: #fff !important;
  background-image: none !important;
}

html.theme-bright .hero.page-band.hero-telecom::before,
html.theme-bright .hero.page-band.hero-telecom::after,
html.theme-bright .hero.page-band.hero-home-clean::before,
html.theme-bright .hero.page-band.hero-home-clean::after {
  display: none !important;
  background: none !important;
}

html.theme-bright main > section[class] {
  background: #fff !important;
  background-image: none !important;
}

html.theme-bright main > section[class]::before,
html.theme-bright main > section[class]::after {
  background: none !important;
  box-shadow: none !important;
}

/* Final responsive finish: native-safe spacing, readable headings and stable laptop layouts. */
:root {
  color-scheme: light;
  scroll-padding-top: 6rem;
  background: #fff;
}

html,
body {
  min-width: 320px;
  background: #fff !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

button,
input,
select,
textarea {
  font: inherit;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid rgba(42, 165, 234, .58);
  outline-offset: 3px;
}

@media (min-width: 901px) and (max-width: 1099px) {
  html.theme-bright .hero.page-band.hero-telecom {
    display: grid !important;
    width: calc(100% - 40px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 112px clamp(22px, 3vw, 34px) 42px !important;
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
    align-items: center !important;
    gap: clamp(18px, 2.6vw, 30px) !important;
    min-height: 0 !important;
  }

  html.theme-bright .hero-telecom > .hero-telecom-copy {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.theme-bright .hero-telecom .telecom-title {
    max-width: 100% !important;
    font-size: clamp(43px, 4.8vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.052em !important;
  }

  html.theme-bright .hero-telecom .lede {
    max-width: 42ch !important;
    font-size: clamp(15px, 1.55vw, 17px) !important;
    line-height: 1.65 !important;
  }

  html.theme-bright .hero-team-card,
  html.theme-bright .hero-team-card.reveal {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: 1.72 / 1 !important;
    align-self: center !important;
  }

  html.theme-bright .hero-team-card img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
}

@media (max-width: 780px) {
  html.theme-bright .page-hero h1 {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto;
    text-wrap: balance;
    font-size: clamp(39px, 10.6vw, 47px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
  }

  html.theme-bright .page-hero h1::before,
  html.theme-bright .page-hero h1::after {
    content: none !important;
    display: none !important;
  }
}

@supports (padding: max(0px)) {
  html.theme-bright .site-header {
    top: max(10px, env(safe-area-inset-top, 0px)) !important;
  }

  html.theme-bright .site-footer {
    padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
}

/* Keep the translated assurance CTA compact and fully visible on phones. */
@media (max-width: 680px) {
  html.theme-bright .assurance.partnership-cta,
  .assurance.partnership-cta {
    box-sizing: border-box !important;
    width: min(calc(100vw - 28px), var(--max)) !important;
    max-width: min(calc(100vw - 28px), var(--max)) !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  html.theme-bright .partnership-copy,
  .partnership-copy,
  html.theme-bright .partnership-visual,
  .partnership-visual {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.theme-bright .partnership-copy .button,
  .partnership-copy .button {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px !important;
    margin: 22px 0 0 !important;
    padding: 12px 20px !important;
    justify-self: start !important;
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    transform: none !important;
  }
}

/* Footer legal links open inline so visitors can read without leaving the page. */
html.theme-bright .footer-site-links > .footer-legal-item {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.theme-bright .footer-site-links > .footer-legal-item[open] {
  grid-column: 1 / -1 !important;
}

html.theme-bright .footer-site-links > .footer-legal-item > summary {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 46px !important;
  padding: 12px 42px 12px 17px !important;
  border: 1px solid rgba(39, 155, 215, .12) !important;
  border-radius: 16px !important;
  color: rgba(13, 28, 49, .86) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(242, 250, 255, .68)) !important;
  box-shadow: 0 9px 20px rgba(23, 74, 110, .055), inset 0 1px 0 rgba(255, 255, 255, .88) !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  line-height: 1.2 !important;
  list-style: none !important;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

html.theme-bright .footer-site-links > .footer-legal-item > summary::-webkit-details-marker {
  display: none !important;
}

html.theme-bright .footer-site-links > .footer-legal-item > summary::after {
  content: "→" !important;
  position: absolute !important;
  top: 50% !important;
  right: 15px !important;
  color: #2aa5ea !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  transform: translateY(-50%) !important;
  transition: transform 180ms ease !important;
}

html.theme-bright .footer-site-links > .footer-legal-item[open] > summary {
  border-color: rgba(42, 165, 234, .3) !important;
  background: linear-gradient(180deg, #fff, rgba(237, 249, 255, .88)) !important;
}

html.theme-bright .footer-site-links > .footer-legal-item[open] > summary::after {
  transform: translateY(-50%) rotate(90deg) !important;
}

html.theme-bright .footer-site-links > .footer-legal-item > summary:focus-visible {
  outline: 3px solid rgba(42, 165, 234, .4) !important;
  outline-offset: 3px !important;
}

html.theme-bright .footer-site-links > .footer-legal-item > summary:hover {
  border-color: rgba(42, 165, 234, .32) !important;
  box-shadow: 0 13px 26px rgba(22, 82, 130, .09), inset 0 1px 0 #fff !important;
  transform: translateY(-1px) !important;
}

.footer-legal-content {
  margin-top: 10px;
  padding: clamp(16px, 2.8vw, 24px);
  border: 1px solid rgba(39, 155, 215, .15);
  border-radius: 20px;
  color: #475569;
  background: linear-gradient(180deg, #fff, #f7fbfe);
  box-shadow: 0 12px 26px rgba(23, 74, 110, .06), inset 0 1px 0 #fff;
  animation: footerLegalReveal 220ms ease-out both;
}

.footer-legal-content .footer-legal-eyebrow {
  margin: 0 0 7px !important;
  color: #2aa5ea !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.footer-legal-content h4 {
  margin: 0 0 14px !important;
  color: #101827 !important;
  font-size: clamp(16px, 2vw, 19px) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere;
}

.footer-legal-content h4:not(:first-child) {
  margin-top: 20px !important;
  color: #253b54 !important;
  font-size: 13px !important;
  letter-spacing: .035em !important;
}

.footer-legal-content p {
  margin: 0 0 12px !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere;
}

.footer-legal-content p:last-child {
  margin-bottom: 0 !important;
}

@keyframes footerLegalReveal {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 460px) {
  .footer-legal-content {
    padding: 15px 14px;
    border-radius: 17px;
  }

  .footer-legal-content p {
    font-size: 12px !important;
    line-height: 1.62 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-legal-content {
    animation: none !important;
  }
}

/* Keep the footer links card compact on phones after a legal panel is closed. */
@media (max-width: 780px) {
  html.theme-bright .footer-expanded .footer-site-links,
  html.theme-bright .footer-expanded .footer-contact {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
  }
}

/* Match regular footer-link arrows to the clean legal disclosure arrows. */
html.theme-bright .footer-site-links > a::after,
html.theme-bright .footer-site-links > a:hover::after {
  background: none !important;
  box-shadow: none !important;
}
