:root {
  --navy-950: #020b18;
  --navy-900: #03172d;
  --navy-850: #05203d;
  --navy-800: #072b4d;
  --cyan-300: #68e7ff;
  --cyan-400: #20cfff;
  --blue-400: #2e8fff;
  --blue-500: #1167ec;
  --white: #f7fbff;
  --muted: #c0d3e5;
  --panel: rgba(6, 42, 76, 0.67);
  --panel-strong: rgba(4, 31, 60, 0.86);
  --panel-border: rgba(176, 227, 255, 0.5);
  --panel-border-soft: rgba(104, 207, 255, 0.28);
  --shadow: 0 18px 48px rgba(0, 7, 22, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  --glow: 0 0 28px rgba(23, 190, 255, 0.26);
  --radius: 18px;
  --header-height: 96px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
  scroll-padding-top: calc(var(--header-height) + 24px);
  background: var(--navy-950);
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--navy-950);
  color: var(--white);
  font-family: "Segoe UI", "Trebuchet MS", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

p {
  color: var(--muted);
  line-height: 1.62;
}

::selection {
  background: rgba(52, 211, 255, 0.35);
  color: #fff;
}

:focus-visible {
  outline: 3px solid var(--cyan-300);
  outline-offset: 4px;
  border-radius: 8px;
}

.site-frame {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  overflow: clip;
  background: linear-gradient(180deg, rgba(2, 19, 39, 0.12), rgba(2, 12, 28, 0.58));
}

.site-frame::before,
.site-frame::after {
  position: fixed;
  inset: 0;
  z-index: -2;
  content: "";
  pointer-events: none;
}

.site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  background-position: center;
  background-size: cover;
  filter: saturate(0.9) brightness(0.94) contrast(1.03);
  transform: scale(1.03);
  animation: ambient-drift 22s ease-in-out infinite alternate;
}

.site-frame::after {
  z-index: -1;
  background:
    radial-gradient(circle at 50% 28%, rgba(0, 121, 235, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(1, 15, 32, 0.34), rgba(1, 17, 35, 0.64) 62%, rgba(1, 12, 27, 0.86));
  backdrop-filter: blur(1.3px);
}

.shell {
  width: min(1720px, calc(100% - 104px));
  margin-inline: auto;
}

.glass-panel {
  border: 1.25px solid var(--panel-border);
  border-radius: var(--radius);
  background:
    linear-gradient(145deg, rgba(92, 159, 204, 0.3), rgba(8, 50, 88, 0.75) 46%, rgba(2, 26, 55, 0.87));
  box-shadow: var(--shadow);
  backdrop-filter: blur(17px) saturate(1.18);
  -webkit-backdrop-filter: blur(17px) saturate(1.18);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: var(--header-height);
  border-bottom: 1px solid rgba(111, 194, 243, 0.28);
  background: rgba(2, 20, 41, 0.84);
  box-shadow: 0 8px 34px rgba(0, 7, 20, 0.35);
  backdrop-filter: blur(20px) saturate(1.3);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
}

.header-inner {
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: minmax(265px, 1fr) auto minmax(170px, 1fr);
  align-items: center;
  gap: 26px;
}

.brand-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
  min-width: 0;
  color: #fff;
  font-size: clamp(1.28rem, 1.75vw, 2rem);
  font-weight: 650;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.brand-mark {
  position: relative;
  flex: 0 0 74px;
  width: 74px;
  height: 74px;
  overflow: hidden;
  border: 2px solid rgba(116, 228, 255, 0.7);
  border-radius: 50%;
  background: #061f3d;
  box-shadow: 0 0 0 6px rgba(48, 143, 255, 0.12), 0 0 24px rgba(42, 210, 255, 0.35);
}

.brand-mark img {
  position: absolute;
  inset: 5px auto auto 3px;
  width: 67px;
  height: 58px;
  object-fit: cover;
}

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 2.5vw, 48px);
  color: #f6faff;
  font-size: 0.96rem;
  font-weight: 650;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.desktop-nav > a,
.nav-services > summary {
  position: relative;
  padding: 37px 0 34px;
  list-style: none;
  cursor: pointer;
  white-space: nowrap;
  transition: color 180ms ease, text-shadow 180ms ease;
}

.desktop-nav > a::after,
.nav-services > summary::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background: transparent;
  content: "";
  transition: background 180ms ease, box-shadow 180ms ease;
}

.desktop-nav > a:hover,
.desktop-nav > a.active,
.nav-services:hover > summary,
.nav-services.active > summary,
.nav-services[open] > summary {
  color: var(--cyan-300);
  text-shadow: 0 0 14px rgba(79, 220, 255, 0.42);
}

.desktop-nav > a.active::after,
.nav-services.active > summary::after,
.nav-services[open] > summary::after {
  background: var(--cyan-400);
  box-shadow: 0 0 14px var(--cyan-400);
}

.nav-services {
  position: relative;
}

.nav-services > summary::-webkit-details-marker,
.mobile-menu > summary::-webkit-details-marker {
  display: none;
}

.services-dropdown {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  display: grid;
  grid-template-columns: repeat(2, minmax(230px, 1fr));
  gap: 8px;
  width: 540px;
  padding: 14px;
  border: 1px solid var(--panel-border);
  border-radius: 18px;
  background: rgba(2, 24, 49, 0.97);
  box-shadow: 0 24px 55px rgba(0, 4, 14, 0.58), var(--glow);
  opacity: 0;
  transform: translate(-50%, 12px);
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.nav-services:hover .services-dropdown,
.nav-services:focus-within .services-dropdown,
.nav-services[open] .services-dropdown {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.services-dropdown a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #eaf7ff;
  font-size: 0.79rem;
  line-height: 1.35;
  text-transform: none;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.services-dropdown a:hover {
  border-color: rgba(77, 211, 255, 0.5);
  background: rgba(29, 126, 192, 0.22);
  transform: translateY(-2px);
}

.services-dropdown svg {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  color: var(--cyan-400);
}

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 26px;
  border: 1px solid rgba(85, 224, 255, 0.7);
  border-radius: 11px;
  color: #fff;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  transform: translateY(-3px);
}

.button-primary,
.button-header {
  background: linear-gradient(135deg, #1167ee, #0789dd 72%, #06aeca);
  box-shadow: 0 0 0 3px rgba(21, 136, 255, 0.12), 0 0 22px rgba(0, 174, 255, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.button-primary:hover,
.button-header:hover {
  background: linear-gradient(135deg, #197cff, #04b7da);
  box-shadow: 0 0 30px rgba(32, 207, 255, 0.58);
}

.button-secondary,
.button-quiet {
  background: rgba(3, 28, 58, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.button-secondary:hover,
.button-quiet:hover {
  border-color: var(--cyan-300);
  background: rgba(10, 86, 137, 0.75);
  box-shadow: 0 0 20px rgba(32, 207, 255, 0.24);
}

.button-header {
  justify-self: end;
  min-width: 165px;
}

.mobile-menu {
  display: none;
  justify-self: end;
  position: relative;
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(325px, 31%) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 560px;
  padding: 18px 0 20px;
}

.hero-copy {
  position: relative;
  top: 21px;
  z-index: 4;
  padding-left: 10px;
}

.hero-copy h1 {
  margin-bottom: 24px;
  color: #fff;
  font-size: clamp(3rem, 4.1vw, 5.05rem);
  font-weight: 680;
  letter-spacing: 0.01em;
  line-height: 1.03;
  text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0, 8, 24, 0.72);
  transform: scaleX(0.86);
  transform-origin: left center;
  width: 116%;
}

.hero-copy h1 span {
  color: var(--cyan-400);
  text-shadow: 0 0 28px rgba(32, 207, 255, 0.4);
}

.hero-copy p {
  max-width: 320px;
  margin-bottom: 47px;
  color: #e4f1fb;
  font-size: clamp(1.05rem, 1.28vw, 1.2rem);
  font-weight: 520;
  text-shadow: 0 2px 12px rgba(0, 4, 14, 0.82);
}

.button-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
}

.button-row .button {
  padding-inline: 20px;
}

.orbit-stage {
  position: relative;
  min-width: 0;
  height: 520px;
}

.orbit-core {
  position: absolute;
  top: 50%;
  left: 48%;
  z-index: 3;
  width: clamp(250px, 21vw, 300px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 10px rgba(22, 193, 255, 0.3));
}

.orbit-core img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.orbit-ring {
  position: absolute;
  top: 50%;
  left: 48%;
  z-index: 1;
  border: 2px solid rgba(39, 181, 255, 0.48);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 8px rgba(20, 172, 255, 0.2), inset 0 0 8px rgba(20, 172, 255, 0.14);
}

.ring-one {
  width: clamp(286px, 23vw, 320px);
  aspect-ratio: 1;
}

.ring-two {
  width: clamp(330px, 27vw, 375px);
  aspect-ratio: 1;
  border-style: dotted;
  border-width: 3px;
}

.orbit-axis {
  position: absolute;
  top: 50%;
  left: 48%;
  z-index: 0;
  width: 88%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #159fff 11%, #52e2ff 50%, #159fff 89%, transparent);
  box-shadow: 0 0 4px rgba(23, 170, 255, 0.72);
  transform-origin: center;
}

.axis-horizontal { transform: translate(-50%, -50%); }
.axis-diagonal-one { transform: translate(-50%, -50%) rotate(30deg); }
.axis-diagonal-two { transform: translate(-50%, -50%) rotate(-30deg); }

.orbit-card {
  position: absolute;
  z-index: 5;
  display: flex;
  width: clamp(192px, 15.6vw, 220px);
  min-height: 106px;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
  color: #fff;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.orbit-card:hover {
  z-index: 8;
  border-color: rgba(112, 235, 255, 0.9);
  background: linear-gradient(145deg, rgba(65, 163, 222, 0.46), rgba(4, 38, 75, 0.92));
  box-shadow: var(--shadow), 0 0 28px rgba(35, 198, 255, 0.38);
}

.orbit-card svg {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  color: var(--cyan-400);
  filter: drop-shadow(0 0 9px rgba(32, 207, 255, 0.42));
}

.orbit-card span {
  font-size: clamp(0.86rem, 1.05vw, 1.07rem);
  font-weight: 720;
  line-height: 1.35;
  text-transform: uppercase;
}

.orbit-card.top-left { top: 4%; left: 5%; }
.orbit-card.middle-left { top: 35%; left: 0; }
.orbit-card.bottom-left { left: 4%; bottom: 12.5%; }
.orbit-card.top-right { top: 5%; right: 12%; }
.orbit-card.middle-right { top: 35%; right: 5.5%; }
.orbit-card.bottom-right { right: 12%; bottom: 12.5%; }

.orbit-card.top-left:hover,
.orbit-card.middle-left:hover,
.orbit-card.bottom-left:hover { transform: translateX(4px) translateY(-3px); }
.orbit-card.top-right:hover,
.orbit-card.middle-right:hover,
.orbit-card.bottom-right:hover { transform: translateX(-4px) translateY(-3px); }

.stats-panel {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1.1fr;
  margin-bottom: 16px;
  padding: 29px 28px;
}

.stats-panel article {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 6px 26px;
}

.stats-panel article + article {
  border-left: 1px solid rgba(78, 205, 255, 0.42);
}

.stats-panel svg {
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  color: #36baff;
  filter: drop-shadow(0 0 11px rgba(24, 172, 255, 0.52));
}

.stats-panel p {
  margin: 0;
  line-height: 1.35;
}

.stats-panel strong,
.stats-panel span {
  display: block;
}

.stats-panel strong {
  margin-bottom: 3px;
  color: var(--cyan-400);
  font-size: clamp(1.28rem, 1.9vw, 2rem);
  line-height: 1.15;
}

.stats-panel span {
  color: #f3f8fc;
  font-size: clamp(0.9rem, 1vw, 1.08rem);
  font-weight: 620;
}

.home-service-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 16px;
}

.mini-service-card {
  display: flex;
  min-height: 272px;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  padding: 20px 15px 16px;
  text-align: center;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.mini-service-card:hover {
  border-color: rgba(107, 231, 255, 0.82);
  box-shadow: var(--shadow), var(--glow);
  transform: translateY(-6px);
}

.mini-service-card svg {
  width: 56px;
  height: 56px;
  margin-bottom: 12px;
  color: var(--cyan-400);
}

.mini-service-card h3 {
  min-height: 50px;
  margin-bottom: 9px;
  font-size: clamp(0.93rem, 1.03vw, 1.15rem);
  line-height: 1.3;
}

.mini-service-card p {
  margin-bottom: 12px;
  font-size: 0.9rem;
  line-height: 1.5;
}

.mini-service-card > a {
  margin-top: auto;
  color: var(--cyan-300);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.credibility-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 16px;
  padding: 18px 24px;
}

.credibility-strip article {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
  padding: 5px 22px;
}

.credibility-strip article + article {
  border-left: 1px solid rgba(62, 195, 255, 0.32);
}

.credibility-strip svg {
  width: 47px;
  height: 47px;
  flex: 0 0 47px;
  color: var(--cyan-400);
}

.credibility-strip h2 {
  margin-bottom: 2px;
  font-size: 1rem;
}

.credibility-strip p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
}

.cta-band {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  margin-bottom: 18px;
  padding: 18px 30px;
}

.cta-band.no-icon {
  grid-template-columns: minmax(0, 1fr) auto;
}

.cta-band.no-icon .cta-copy {
  text-align: center;
}

.cta-icon {
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border: 1px solid rgba(83, 210, 255, 0.56);
  border-radius: 50%;
  background: rgba(4, 35, 70, 0.62);
  box-shadow: inset 0 0 20px rgba(37, 146, 255, 0.18);
}

.cta-icon svg {
  width: 48px;
  height: 48px;
  color: var(--cyan-400);
}

.cta-copy h2 {
  margin-bottom: 3px;
  color: var(--cyan-300);
  font-size: clamp(1.25rem, 1.65vw, 1.75rem);
}

.cta-copy p {
  margin: 0;
  color: #e5f1fb;
}

.inner-page {
  padding-top: 24px;
  padding-bottom: 8px;
}

.page-intro {
  max-width: 900px;
  margin: 0 auto 20px;
  text-align: center;
}

.page-intro h1 {
  margin-bottom: 5px;
  font-size: clamp(2rem, 3.2vw, 3.45rem);
  line-height: 1.1;
  text-shadow: 0 4px 25px rgba(0, 7, 20, 0.62);
}

.page-intro > p {
  margin-bottom: 0;
  color: #e6f1fa;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
}

.eyebrow {
  margin-bottom: 8px !important;
  color: var(--cyan-300) !important;
  font-size: 0.82rem !important;
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.service-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 auto 22px;
  max-width: 1380px;
}

.service-detail-card {
  display: flex;
  min-height: 365px;
  scroll-margin-top: calc(var(--header-height) + 24px);
  flex-direction: column;
  align-items: center;
  padding: 30px 38px 26px;
  text-align: center;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.service-detail-card:hover {
  border-color: rgba(117, 234, 255, 0.84);
  box-shadow: var(--shadow), 0 0 32px rgba(30, 189, 255, 0.32);
  transform: translateY(-6px);
}

.service-detail-card > svg {
  width: 78px;
  height: 78px;
  margin-bottom: 18px;
  color: var(--cyan-400);
  filter: drop-shadow(0 0 12px rgba(31, 195, 255, 0.4));
}

.service-detail-card h2 {
  margin-bottom: 13px;
  font-size: clamp(1.25rem, 1.55vw, 1.7rem);
}

.service-detail-card p {
  margin-bottom: 23px;
  color: #d8e7f4;
  font-size: 1rem;
}

.service-detail-card .button {
  min-height: 42px;
  margin-top: auto;
  padding: 9px 24px;
  font-size: 0.82rem;
}

.process-panel {
  margin-bottom: 18px;
  padding: 16px 24px 22px;
}

.process-panel > h2 {
  margin-bottom: 15px;
  text-align: center;
  font-size: clamp(1.35rem, 1.7vw, 1.8rem);
}

.process-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-flow li {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding-right: 28px;
}

.process-icon {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  border: 1px solid rgba(73, 204, 255, 0.48);
  border-radius: 50%;
  background: rgba(2, 24, 52, 0.52);
}

.process-icon svg {
  width: 30px;
  height: 30px;
  color: var(--cyan-400);
}

.process-flow h3 {
  margin-bottom: 2px;
  font-size: 0.93rem;
}

.process-flow p {
  margin: 0;
  font-size: 0.77rem;
  line-height: 1.35;
}

.process-arrow {
  position: absolute;
  top: 50%;
  right: 4px;
  color: var(--cyan-400);
  font-size: 1.65rem;
  transform: translateY(-50%);
}

.category-note {
  display: inline-block;
  margin-top: 10px;
  padding: 6px 12px;
  border: 1px solid rgba(79, 207, 255, 0.3);
  border-radius: 999px;
  background: rgba(2, 31, 61, 0.64);
  color: var(--cyan-300);
  font-size: 0.76rem;
}

.product-stack {
  display: grid;
  gap: 18px;
  max-width: 1420px;
  margin: 0 auto 20px;
}

.product-card {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(310px, 0.9fr);
  align-items: stretch;
  scroll-margin-top: calc(var(--header-height) + 24px);
  overflow: hidden;
}

.product-main {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 25px;
  padding: 25px 34px;
}

.product-main > svg {
  width: 96px;
  height: 96px;
  color: var(--cyan-400);
  filter: drop-shadow(0 0 13px rgba(32, 207, 255, 0.4));
}

.product-main h2 {
  margin-bottom: 7px;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.product-main p {
  max-width: 760px;
  margin-bottom: 14px;
  color: #dbeaf5;
}

.product-main .button {
  min-height: 41px;
  padding: 8px 21px;
  font-size: 0.8rem;
}

.feature-list {
  display: grid;
  align-content: center;
  gap: 9px;
  margin: 16px 0;
  padding: 16px 34px;
  border-left: 1px solid rgba(38, 192, 255, 0.42);
  list-style: none;
}

.feature-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #eaf5fb;
  font-weight: 530;
}

.feature-list svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: var(--cyan-400);
}

.about-top {
  display: grid;
  grid-template-columns: 1.12fr 1.05fr 1fr;
  gap: 20px;
  align-items: start;
  margin-bottom: 18px;
}

.about-copy {
  padding: 6px 8px;
}

.about-copy h1 {
  margin-bottom: 9px;
  font-size: clamp(2rem, 2.8vw, 3rem);
}

.about-copy p {
  margin-bottom: 10px;
  color: #e4eef7;
  font-size: 0.98rem;
  line-height: 1.55;
}

.about-image {
  overflow: hidden;
  padding: 8px;
}

.about-image img {
  width: 100%;
  height: auto;
  border-radius: 15px;
}

.differences-card {
  padding: 18px 22px;
}

.differences-card h2 {
  margin-bottom: 12px;
  color: var(--cyan-300);
  font-size: 1.45rem;
}

.differences-card ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.differences-card li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #dceaf5;
  font-size: 0.85rem;
  line-height: 1.43;
}

.differences-card svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  color: var(--cyan-400);
}

.differences-card strong {
  color: #fff;
}

.audiences-panel {
  margin-bottom: 18px;
  padding: 17px 24px 21px;
}

.audiences-panel > h2 {
  margin-bottom: 14px;
  color: var(--cyan-300);
  text-align: center;
  font-size: 1.45rem;
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.audience-grid article {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 7px 20px;
  text-align: center;
}

.audience-grid article + article {
  border-left: 1px solid rgba(67, 195, 255, 0.34);
}

.audience-grid svg {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  color: var(--cyan-400);
}

.audience-grid h3 {
  margin: 0;
  font-size: 0.98rem;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(235px, 0.8fr) minmax(480px, 1.45fr) minmax(340px, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.contact-intro {
  padding: 18px 0 0;
}

.contact-intro > h1 {
  margin: 0 0 6px 25px;
  font-size: clamp(2rem, 2.55vw, 3rem);
}

.contact-intro > p {
  margin: 0 0 15px 25px;
  color: #e5f0f8;
}

.contact-details {
  display: grid;
  gap: 2px;
  padding: 18px 15px;
  font-style: normal;
}

.contact-details a {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 7px;
  border-radius: 10px;
  color: #d6e8f4;
  font-size: 0.86rem;
  transition: background 180ms ease, color 180ms ease;
  overflow-wrap: anywhere;
}

.contact-details a:hover {
  background: rgba(28, 138, 199, 0.18);
  color: #fff;
}

.contact-details svg {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: var(--cyan-400);
}

.contact-details strong,
.contact-details a span span {
  display: block;
}

.contact-details strong {
  margin-bottom: 2px;
  color: #fff;
}

.form-panel {
  padding: 18px 22px 14px;
}

.contact-form h2 {
  margin-bottom: 12px;
  font-size: 1.55rem;
}

.contact-form > label,
.form-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin-bottom: 10px;
}

.contact-form label > span {
  color: #eaf5fc;
  font-size: 0.81rem;
  font-weight: 620;
}

.contact-form label b {
  color: var(--cyan-300);
}

.form-grid {
  display: grid;
  gap: 10px;
}

.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid rgba(31, 175, 234, 0.56);
  border-radius: 7px;
  outline: 0;
  background: rgba(2, 24, 50, 0.72);
  color: #f5fbff;
  box-shadow: inset 0 2px 8px rgba(0, 7, 20, 0.34);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--cyan-300);
  background: rgba(3, 36, 69, 0.86);
  box-shadow: 0 0 0 3px rgba(37, 204, 255, 0.14), 0 0 17px rgba(20, 166, 255, 0.2);
}

.contact-form textarea {
  min-height: 104px;
  resize: vertical;
}

.contact-form option,
.contact-form optgroup {
  background: #062748;
  color: #fff;
}

.honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.submit-button {
  display: flex;
  min-width: 210px;
  margin: 5px auto 0;
  border: 0;
}

.submit-button:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.form-status {
  min-height: 22px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: center;
}

.form-status.success { color: #7fffd3; }
.form-status.error { color: #ffc0c8; }

.contact-side {
  display: grid;
  gap: 15px;
}

.contact-side .cta-band {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 24px;
  text-align: center;
}

.contact-side .cta-band .button {
  margin-top: 10px;
}

.map-card {
  position: relative;
  display: flex;
  min-height: 252px;
  align-items: center;
  justify-content: center;
  gap: 20px;
  overflow: hidden;
  padding: 28px;
  color: #fff;
  line-height: 1.55;
}

.map-card::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 58% 48%, rgba(32, 163, 255, 0.2), transparent 36%);
  content: "";
  pointer-events: none;
}

.map-grid {
  position: absolute;
  inset: 0;
  opacity: 0.34;
  background:
    repeating-linear-gradient(25deg, transparent 0 31px, rgba(71, 155, 208, 0.38) 32px 34px),
    repeating-linear-gradient(90deg, transparent 0 44px, rgba(71, 155, 208, 0.34) 45px 47px),
    repeating-linear-gradient(0deg, transparent 0 38px, rgba(71, 155, 208, 0.28) 39px 41px);
}

.map-card svg,
.map-card strong {
  position: relative;
  z-index: 2;
}

.map-card svg {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  color: #ff7184;
  filter: drop-shadow(0 0 11px rgba(255, 89, 114, 0.44));
}

.map-card:hover {
  border-color: var(--cyan-300);
  box-shadow: var(--shadow), var(--glow);
}

.site-footer {
  padding: 0 0 14px;
}

.footer-panel {
  overflow: hidden;
  padding: 22px 24px 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.65fr 1.25fr 0.82fr 1.05fr;
  gap: 0;
  padding-bottom: 19px;
}

.footer-grid > * {
  min-width: 0;
  padding: 0 24px;
}

.footer-grid > * + * {
  border-left: 1px solid rgba(52, 186, 239, 0.3);
}

.footer-brand {
  padding-left: 4px;
}

.footer-brand .brand-link {
  gap: 12px;
  font-size: 1.18rem;
}

.footer-brand .brand-mark {
  width: 60px;
  height: 60px;
  flex-basis: 60px;
}

.footer-brand .brand-mark img {
  width: 57px;
  height: 49px;
}

.footer-brand > p {
  max-width: 290px;
  margin: 13px 0 16px;
  font-size: 0.86rem;
}

.social-placeholders {
  display: flex;
  gap: 10px;
}

.social-placeholders span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(67, 207, 255, 0.55);
  border-radius: 50%;
  background: rgba(2, 29, 59, 0.62);
  color: var(--cyan-300);
  font-size: 0.9rem;
  font-weight: 750;
}

.footer-column {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-column h2 {
  margin-bottom: 6px;
  color: #fff;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.footer-column a {
  color: #c7d9e8;
  font-size: 0.82rem;
  line-height: 1.35;
  transition: color 180ms ease, transform 180ms ease;
}

.footer-column a:hover {
  color: var(--cyan-300);
  transform: translateX(3px);
}

.footer-contact {
  font-style: normal;
}

.footer-contact a {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  overflow-wrap: anywhere;
}

.footer-contact svg {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  color: var(--cyan-400);
}

.legal-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 52px;
  border-top: 1px solid rgba(52, 185, 235, 0.25);
}

.legal-row p {
  margin: 0;
  color: #bcd0e0;
  font-size: 0.78rem;
}

.legal-row nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0;
}

.legal-row a {
  padding: 0 14px;
  border-left: 1px solid rgba(83, 186, 232, 0.33);
  color: #c6d9e8;
  font-size: 0.77rem;
}

.legal-row a:hover {
  color: var(--cyan-300);
}

.compact-footer .glass-panel {
  padding: 0 22px;
}

.compact-footer .legal-row {
  border-top: 0;
}

.compact-ending main .cta-band:last-child {
  margin-bottom: 0;
  border-bottom: 0;
  border-radius: var(--radius) var(--radius) 0 0;
}

.compact-ending .compact-footer .glass-panel {
  border-top: 1px solid rgba(52, 185, 235, 0.3);
  border-radius: 0 0 var(--radius) var(--radius);
}

.policy-page {
  max-width: 1180px;
  padding-bottom: 28px;
}

.owner-review-banner {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 auto 16px;
  padding: 14px 18px;
  border: 1px solid rgba(255, 199, 91, 0.5);
  border-radius: 14px;
  background: rgba(89, 57, 7, 0.56);
  color: #fff0c4;
  font-size: 0.88rem;
  line-height: 1.45;
}

.policy-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}

.policy-tabs a {
  padding: 9px 13px;
  border: 1px solid rgba(58, 180, 231, 0.35);
  border-radius: 999px;
  background: rgba(2, 30, 60, 0.66);
  color: #d6e8f4;
  font-size: 0.78rem;
}

.policy-tabs a:hover,
.policy-tabs a.active {
  border-color: var(--cyan-300);
  color: #fff;
  box-shadow: 0 0 16px rgba(28, 181, 255, 0.25);
}

.policy-content {
  padding: clamp(24px, 4vw, 54px);
}

.policy-content section + section {
  margin-top: 28px;
  padding-top: 25px;
  border-top: 1px solid rgba(75, 179, 225, 0.24);
}

.policy-content h2 {
  margin-bottom: 8px;
  color: var(--cyan-300);
  font-size: 1.28rem;
}

.policy-content p {
  margin-bottom: 0;
  color: #d7e6f1;
}

.policy-content a {
  color: var(--cyan-300);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.policy-decisions {
  padding: 20px !important;
  border: 1px solid rgba(255, 199, 91, 0.35) !important;
  border-radius: 14px;
  background: rgba(83, 54, 10, 0.28);
}

.policy-decisions h2 {
  color: #ffe3a0;
}

.policy-decisions ul {
  margin: 0;
  padding-left: 20px;
  color: #f0dfb9;
  line-height: 1.6;
}

.not-found-page {
  display: grid;
  min-height: 62vh;
  place-items: center;
  padding: 40px 0;
  text-align: center;
}

.not-found-page > div {
  max-width: 650px;
  padding: 50px;
}

.not-found-page h1 {
  font-size: clamp(2rem, 4vw, 4rem);
}

/* v5.2 — unified transparent RIKA OPS logo treatment */
.brand-mark,
.page-home .brand-mark,
.footer-brand .brand-mark,
.page-home .footer-brand .brand-mark {
  overflow: visible;
  border: 0;
  background: radial-gradient(circle, rgba(222, 250, 255, 0.93) 0 62%, rgba(55, 180, 255, 0.2) 72%, transparent 73%);
  box-shadow: none;
}

.brand-mark img,
.page-home .brand-mark img,
.footer-brand .brand-mark img,
.page-home .footer-brand .brand-mark img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 7px rgba(32, 207, 255, 0.55));
}

.orbit-core {
  overflow: visible;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(231, 253, 255, 0.94) 0 63%, rgba(29, 153, 247, 0.32) 71%, transparent 72%);
  box-shadow: 0 0 42px rgba(18, 171, 255, 0.33), inset 0 0 26px rgba(45, 202, 255, 0.2);
}

.orbit-core img,
.page-home .orbit-core img {
  width: 100%;
  height: 100%;
  padding: 1.25%;
  border-radius: 50%;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(24, 198, 255, 0.5));
}

.policy-meta {
  margin-top: 14px !important;
  color: #bcd4e5 !important;
  font-size: 0.9rem;
}

.policy-content ul {
  margin: 10px 0 0;
  padding-left: 22px;
  color: #d7e6f1;
  line-height: 1.72;
}

.policy-content li + li {
  margin-top: 7px;
}

.policy-content strong {
  color: #f3fbff;
}


@keyframes ambient-drift {
  from { transform: scale(1.03) translate3d(-0.4%, 0, 0); }
  to { transform: scale(1.055) translate3d(0.5%, -0.4%, 0); }
}

@media (max-width: 1420px) {
  :root { --header-height: 100px; }
  .header-inner { grid-template-columns: minmax(235px, 1fr) auto minmax(145px, 1fr); gap: 18px; }
  .brand-link { gap: 17px; }
  .brand-mark { width: 72px; height: 72px; flex-basis: 72px; }
  .brand-mark img { width: 66px; height: 57px; }
  .desktop-nav { gap: clamp(19px, 2.15vw, 34px); font-size: 0.93rem; }
  .desktop-nav > a, .nav-services > summary { padding: 39px 0 36px; }
  .button-header { min-width: 172px; padding-inline: 21px; font-size: 0.9rem; }
  .home-hero { min-height: 560px; }
  .orbit-stage { height: 520px; }
  .orbit-card { min-height: 104px; padding: 13px 15px; }
  .orbit-card svg { width: 45px; height: 45px; flex-basis: 45px; }
  .stats-panel article { padding-inline: 18px; }
  .footer-grid > * { padding-inline: 17px; }
}

@media (max-width: 1160px) {
  .desktop-nav { display: none; }
  .header-inner { grid-template-columns: 1fr auto auto; }
  .mobile-menu { display: block; }
  .mobile-menu > summary {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 14px;
    border: 1px solid rgba(75, 208, 255, 0.5);
    border-radius: 10px;
    background: rgba(4, 41, 76, 0.72);
    color: #fff;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
  }
  .menu-lines { display: grid; gap: 4px; }
  .menu-lines i { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--cyan-300); }
  .mobile-menu > nav {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    display: grid;
    gap: 4px;
    width: min(390px, calc(100vw - 30px));
    max-height: calc(100vh - 115px);
    overflow-y: auto;
    padding: 14px;
    border: 1px solid var(--panel-border);
    border-radius: 18px;
    background: rgba(2, 23, 47, 0.98);
    box-shadow: 0 28px 60px rgba(0, 4, 14, 0.65), var(--glow);
  }
  .mobile-menu:not([open]) > nav { display: none; }
  .mobile-menu nav > a:not(.button) { padding: 10px 12px; border-radius: 8px; font-weight: 650; }
  .mobile-menu nav > a.active { background: rgba(17, 122, 189, 0.25); color: var(--cyan-300); }
  .mobile-service-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 4px 0 8px; padding: 9px; border: 1px solid rgba(58, 178, 230, 0.22); border-radius: 10px; }
  .mobile-service-links a { padding: 7px; color: #c6d9e8; font-size: 0.76rem; line-height: 1.35; }
  .mobile-menu .button { width: 100%; }

  .home-hero { grid-template-columns: minmax(285px, 32%) minmax(0, 1fr); }
  .orbit-card { width: 185px; }
  .orbit-card span { font-size: 0.78rem; }
  .orbit-card.top-left, .orbit-card.bottom-left { left: 1%; }
  .orbit-card.middle-left { left: -2%; }
  .orbit-card.top-right, .orbit-card.bottom-right { right: -1%; }
  .orbit-card.middle-right { right: -3%; }
  .stats-panel { padding-inline: 15px; }
  .stats-panel article { gap: 12px; padding-inline: 12px; }
  .stats-panel svg { width: 52px; height: 52px; flex-basis: 52px; }
  .home-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .mini-service-card { min-height: 250px; }
  .credibility-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; }
  .credibility-strip article:nth-child(3) { border-left: 0; }
  .service-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 12px; }
  .process-flow li:nth-child(3) .process-arrow { display: none; }
  .product-card { grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr); }
  .about-top { grid-template-columns: 1fr 1fr; }
  .differences-card { grid-column: 1 / -1; }
  .differences-card ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: minmax(245px, 0.75fr) minmax(0, 1.55fr); }
  .contact-side { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .map-card { min-height: 220px; }
  .footer-grid { grid-template-columns: 1.2fr 0.8fr 1.2fr; gap: 24px 0; }
  .footer-grid > *:nth-child(4) { border-left: 0; }
  .footer-grid > *:nth-child(4), .footer-grid > *:nth-child(5) { padding-top: 8px; }
}

@media (max-width: 920px) {
  :root { --header-height: 78px; }
  .shell { width: min(100% - 30px, 1720px); }
  .site-header, .header-inner { min-height: var(--header-height); }
  .brand-link { font-size: 1.25rem; }
  .brand-mark { width: 56px; height: 56px; flex-basis: 56px; }
  .brand-mark img { width: 52px; height: 45px; }
  .button-header { display: none; }
  .header-inner { grid-template-columns: 1fr auto; }
  .home-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 40px; }
  .hero-copy { max-width: 650px; padding: 0; text-align: center; margin-inline: auto; }
  .hero-copy { top: 0; }
  .hero-copy h1 { width: auto; font-size: clamp(3.3rem, 9vw, 5.6rem); transform: none; }
  .hero-copy p { max-width: 600px; margin-inline: auto; }
  .button-row { justify-content: center; }
  .orbit-stage { width: 100%; max-width: 900px; height: 585px; margin-inline: auto; }
  .orbit-card { width: 215px; }
  .orbit-card span { font-size: 0.88rem; }
  .orbit-card.middle-left { left: 0; }
  .orbit-card.middle-right { right: 0; }
  .stats-panel { grid-template-columns: 1fr; }
  .stats-panel article { justify-content: flex-start; padding: 15px 28px; }
  .stats-panel article + article { border-top: 1px solid rgba(78, 205, 255, 0.34); border-left: 0; }
  .credibility-strip { grid-template-columns: 1fr 1fr; }
  .cta-band { grid-template-columns: auto 1fr; }
  .cta-band .button { grid-column: 2; justify-self: start; }
  .product-card { grid-template-columns: 1fr; }
  .feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 26px 20px; padding: 20px 0 0; border-top: 1px solid rgba(38, 192, 255, 0.42); border-left: 0; }
  .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 0; }
  .audience-grid article:nth-child(3) { border-left: 0; }
  .legal-row { flex-direction: column; justify-content: center; padding: 13px 0; text-align: center; }
  .legal-row nav { justify-content: center; }
  .legal-row a:first-child { border-left: 0; }
}

@media (max-width: 720px) {
  .brand-link { gap: 9px; font-size: 1.05rem; }
  .brand-mark { width: 50px; height: 50px; flex-basis: 50px; }
  .brand-mark img { width: 48px; height: 41px; }
  .mobile-menu > summary > span:last-child { display: none; }
  .mobile-menu > summary { padding: 11px; }
  .mobile-service-links { grid-template-columns: 1fr; }
  .hero-copy h1 { font-size: clamp(3rem, 13vw, 4.6rem); }
  .orbit-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; height: auto; padding-top: 335px; }
  .orbit-core { top: 0; left: 50%; width: 325px; transform: translateX(-50%); }
  .orbit-ring { display: none; }
  .orbit-axis { display: none; }
  .orbit-card,
  .orbit-card.top-left,
  .orbit-card.middle-left,
  .orbit-card.bottom-left,
  .orbit-card.top-right,
  .orbit-card.middle-right,
  .orbit-card.bottom-right {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 92px;
    transform: none;
  }
  .orbit-card:hover,
  .orbit-card.top-left:hover,
  .orbit-card.middle-left:hover,
  .orbit-card.bottom-left:hover,
  .orbit-card.top-right:hover,
  .orbit-card.middle-right:hover,
  .orbit-card.bottom-right:hover { transform: translateY(-3px); }
  .orbit-card svg { width: 42px; height: 42px; flex-basis: 42px; }
  .home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credibility-strip { grid-template-columns: 1fr; }
  .credibility-strip article + article { border-top: 1px solid rgba(62, 195, 255, 0.26); border-left: 0; }
  .cta-band { grid-template-columns: 1fr; justify-items: center; padding: 22px; text-align: center; }
  .cta-band .button { grid-column: auto; justify-self: center; }
  .service-detail-grid { grid-template-columns: 1fr; }
  .service-detail-card { min-height: 325px; padding-inline: 28px; }
  .process-flow { grid-template-columns: 1fr; }
  .process-flow li { padding: 8px 0 22px; }
  .process-arrow { top: auto; right: auto; bottom: -7px; left: 23px; transform: rotate(90deg); }
  .process-flow li:nth-child(3) .process-arrow { display: block; }
  .product-main { grid-template-columns: 80px minmax(0, 1fr); padding-inline: 22px; }
  .product-main > svg { width: 68px; height: 68px; }
  .feature-list { grid-template-columns: 1fr; }
  .about-top { grid-template-columns: 1fr; }
  .differences-card { grid-column: auto; }
  .differences-card ul { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-grid article { justify-content: flex-start; }
  .audience-grid article + article { border-top: 1px solid rgba(67, 195, 255, 0.28); border-left: 0; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-intro { padding-top: 0; }
  .contact-intro > h1, .contact-intro > p { margin-left: 0; text-align: center; }
  .contact-side { grid-column: auto; grid-template-columns: 1fr; }
  .two-columns { grid-template-columns: 1fr; gap: 0; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid > * { padding-inline: 16px; }
  .footer-grid > *:nth-child(3) { border-left: 0; }
  .footer-grid > *:nth-child(4) { border-left: 1px solid rgba(52, 186, 239, 0.3); }
  .footer-grid > *:nth-child(5) { grid-column: 1 / -1; border-top: 1px solid rgba(52, 186, 239, 0.3); border-left: 0; padding-top: 18px; }
}

@media (max-width: 520px) {
  .shell { width: min(100% - 20px, 1720px); }
  .site-frame::before { background-position: 44% center; }
  .brand-link { font-size: 0.98rem; }
  .brand-mark { width: 46px; height: 46px; flex-basis: 46px; }
  .brand-mark img { width: 44px; height: 38px; }
  .home-hero { padding-top: 28px; }
  .hero-copy h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .hero-copy p { font-size: 1rem; }
  .button-row { display: grid; grid-template-columns: 1fr; }
  .button-row .button { width: min(100%, 330px); margin-inline: auto; }
  .orbit-stage { grid-template-columns: 1fr; padding-top: 300px; }
  .orbit-core { width: 290px; }
  .orbit-card { min-height: 84px; }
  .stats-panel { padding: 12px; }
  .stats-panel article { padding: 16px 12px; }
  .stats-panel svg { width: 46px; height: 46px; flex-basis: 46px; }
  .home-service-grid { grid-template-columns: 1fr; }
  .mini-service-card { min-height: 230px; }
  .credibility-strip { padding-inline: 12px; }
  .credibility-strip article { padding-inline: 8px; }
  .cta-icon { width: 68px; height: 68px; }
  .service-detail-grid { gap: 14px; }
  .service-detail-card { padding: 25px 20px 22px; }
  .process-panel { padding-inline: 17px; }
  .product-main { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .product-main > svg { width: 84px; height: 84px; }
  .feature-list { margin-inline: 20px; }
  .form-panel { padding-inline: 14px; }
  .submit-button { width: 100%; min-width: 0; }
  .map-card { min-height: 220px; flex-direction: column; text-align: center; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > * { padding: 18px 4px; border-left: 0 !important; }
  .footer-grid > * + * { border-top: 1px solid rgba(52, 186, 239, 0.25); }
  .footer-grid > *:nth-child(5) { grid-column: auto; }
  .legal-row nav { gap: 8px; }
  .legal-row a { padding: 0 8px; border-left: 0; text-decoration: underline; text-underline-offset: 3px; }
  .policy-content { padding: 22px 17px; }
  .policy-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .policy-tabs a { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .site-frame::before { transform: none; }
}

/* Image #2 is the master visual reference for the homepage. */
.page-home {
  min-height: 100vh;
  background: #021326;
}

.page-home::before,
.page-home::after {
  position: absolute;
  height: 100%;
}

.page-home::before {
  background-position: center top;
  background-size: 100% 100%;
  filter: saturate(1.18) brightness(1.55) contrast(0.9) blur(2.4px);
  transform: none;
  animation: none;
}

.page-home::after {
  background:
    radial-gradient(circle at 52% 23%, rgba(38, 169, 255, 0.14), transparent 31%),
    linear-gradient(180deg, rgba(2, 22, 43, 0.05), rgba(0, 37, 76, 0.16) 38%, rgba(0, 18, 42, 0.44) 100%);
  backdrop-filter: blur(0.8px);
}

@media (min-width: 900px) {
  .page-home {
    min-height: 1536px;
  }

  .page-home .glass-panel,
  .page-home .site-header {
    border: 1px solid rgba(211, 239, 255, 0.72);
    border-radius: 13px;
    background:
      linear-gradient(145deg, rgba(134, 198, 232, 0.38), rgba(15, 77, 117, 0.61) 46%, rgba(1, 35, 70, 0.77));
    box-shadow:
      0 12px 30px rgba(0, 8, 24, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.28),
      inset 0 -18px 35px rgba(1, 20, 48, 0.16);
    backdrop-filter: blur(15px) saturate(1.24);
    -webkit-backdrop-filter: blur(15px) saturate(1.24);
  }

  .page-home .site-header {
    position: sticky;
    top: 12px;
    z-index: 100;
    width: calc(100% - 32px);
    min-height: 72px;
    margin: 14px auto 0;
    border-radius: 18px;
  }

  .page-home .header-inner {
    width: 100%;
    min-height: 70px;
    grid-template-columns: 255px minmax(0, 1fr) 126px;
    gap: 8px;
    padding: 0 16px;
  }

  .page-home .brand-link {
    gap: 12px;
    font-size: 24px;
    font-weight: 560;
    letter-spacing: 0.01em;
  }

  .page-home .brand-mark {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    border-width: 1px;
    background: rgba(2, 34, 67, 0.78);
    box-shadow: 0 0 0 3px rgba(62, 185, 255, 0.11), 0 0 18px rgba(48, 207, 255, 0.24);
  }

  .page-home .brand-mark img {
    inset: 6px auto auto 4px;
    width: 49px;
    height: 42px;
  }

  .page-home .desktop-nav {
    display: flex;
    gap: clamp(18px, 2.3vw, 28px);
    font-size: 12px;
    font-weight: 560;
    letter-spacing: 0;
  }

  .page-home .desktop-nav > a,
  .page-home .nav-services > summary {
    padding: 27px 0 25px;
  }

  .page-home .desktop-nav > a::after,
  .page-home .nav-services > summary::after {
    height: 2px;
  }

  .page-home .button-header {
    display: inline-flex;
    min-width: 126px;
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 10px;
    font-size: 12px;
  }

  .page-home .mobile-menu {
    display: none;
  }

  .page-home .home-hero {
    width: calc(100% - 112px);
    height: 500px;
    min-height: 0;
    grid-template-columns: 270px minmax(0, 1fr);
    align-items: start;
    gap: 0;
    padding: 0;
  }

  .page-home .hero-copy {
    top: 98px;
    padding: 0;
  }

  .page-home .hero-copy h1 {
    width: auto;
    margin-bottom: 14px;
    font-size: 40px;
    font-weight: 680;
    letter-spacing: 0;
    line-height: 1.16;
    transform: none;
    text-shadow: 0 3px 17px rgba(0, 8, 22, 0.55);
  }

  .page-home .hero-copy h1 span {
    color: #29d0f2;
    text-shadow: 0 0 20px rgba(35, 210, 255, 0.34);
  }

  .page-home .hero-copy p {
    max-width: 265px;
    margin-bottom: 20px;
    color: #fff;
    font-size: 16px;
    font-weight: 450;
    line-height: 1.48;
  }

  .page-home .button-row {
    gap: 14px;
  }

  .page-home .button-row .button {
    min-width: 120px;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 9px;
    font-size: 11px;
  }

  .page-home .orbit-stage {
    height: 420px;
    margin-top: 64px;
  }

  .page-home .orbit-core {
    top: 47%;
    left: 49.5%;
    width: 238px;
    filter: drop-shadow(0 0 10px rgba(37, 209, 255, 0.38));
  }

  .page-home .orbit-ring {
    top: 47%;
    left: 49.5%;
    border-color: rgba(86, 215, 255, 0.66);
    box-shadow: 0 0 12px rgba(35, 189, 255, 0.38), inset 0 0 10px rgba(37, 199, 255, 0.25);
  }

  .page-home .ring-one {
    width: 262px;
  }

  .page-home .ring-two {
    width: 294px;
    border-width: 2px;
  }

  .page-home .orbit-axis {
    top: 47%;
    left: 49.5%;
    width: min(92%, 720px);
    height: 2px;
    background: linear-gradient(90deg, transparent, #28b9ff 8%, #8cf2ff 50%, #28b9ff 92%, transparent);
    box-shadow: 0 0 7px rgba(23, 177, 255, 0.9);
  }

  .page-home .axis-diagonal-one {
    transform: translate(-50%, -50%) rotate(38deg);
  }

  .page-home .axis-diagonal-two {
    transform: translate(-50%, -50%) rotate(-38deg);
  }

  .page-home .orbit-card {
    width: clamp(162px, 15.85vw, 216px);
    min-height: 85px;
    gap: 13px;
    padding: 12px 13px;
    border-radius: 12px;
  }

  .page-home .orbit-card svg {
    width: 45px;
    height: 45px;
    flex-basis: 45px;
    color: #57e3ff;
  }

  .page-home .orbit-card span {
    font-size: 11px;
    font-weight: 570;
    line-height: 1.55;
  }

  .page-home .orbit-card.top-left { top: 20px; left: 8.7%; }
  .page-home .orbit-card.middle-left { top: 151px; left: 3.7%; }
  .page-home .orbit-card.bottom-left { bottom: 44px; left: 8.4%; }
  .page-home .orbit-card.top-right { top: 20px; right: 10%; }
  .page-home .orbit-card.middle-right { top: 151px; right: 4%; }
  .page-home .orbit-card.bottom-right { right: 10%; bottom: 44px; }

  .page-home .stats-panel,
  .page-home .home-service-grid,
  .page-home .credibility-strip,
  .page-home main > .shell:not(.home-hero) {
    width: calc(100% - 104px);
  }

  .page-home .stats-panel {
    min-height: 95px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 16px;
    padding: 0 16px;
  }

  .page-home .stats-panel article {
    gap: 14px;
    padding: 10px 20px;
  }

  .page-home .stats-panel article + article {
    border-left: 1px solid rgba(83, 204, 255, 0.38);
  }

  .page-home .stats-panel svg {
    width: 55px;
    height: 55px;
    flex-basis: 55px;
    color: #38d4f8;
  }

  .page-home .stats-panel strong {
    margin-bottom: 4px;
    color: #21d1eb;
    font-size: 27px;
    font-weight: 520;
  }

  .page-home .stats-panel span {
    font-size: 12px;
    font-weight: 450;
    white-space: nowrap;
  }

  .page-home .home-service-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
  }

  .page-home .mini-service-card {
    min-height: 238px;
    align-items: flex-start;
    padding: 24px 14px 16px;
    text-align: left;
  }

  .page-home .mini-service-card svg {
    width: 62px;
    height: 62px;
    margin: 0 auto 18px;
    color: #55dfff;
    filter: drop-shadow(0 0 10px rgba(45, 203, 255, 0.3));
  }

  .page-home .mini-service-card h3 {
    min-height: 43px;
    margin-bottom: 8px;
    font-size: 14.5px;
    font-weight: 560;
    line-height: 1.42;
  }

  .page-home .mini-service-card p {
    margin: 0;
    color: #eaf5fc;
    font-size: 12px;
    line-height: 1.75;
  }

  .page-home .credibility-strip {
    min-height: 135px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
    padding: 0 18px;
  }

  .page-home .credibility-strip article {
    gap: 13px;
    padding: 14px 17px;
  }

  .page-home .credibility-strip article + article {
    border-left: 1px solid rgba(65, 193, 247, 0.34);
  }

  .page-home .credibility-strip svg {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
    color: #4adeff;
  }

  .page-home .credibility-strip h2 {
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 560;
    white-space: nowrap;
  }

  .page-home .credibility-strip p {
    color: #eaf5fc;
    font-size: 11.5px;
    line-height: 1.95;
  }

  .page-home .cta-band {
    min-height: 121px;
    grid-template-columns: auto minmax(0, 1fr) 214px;
    gap: 24px;
    margin-bottom: 15px;
    padding: 15px 32px;
  }

  .page-home .cta-icon {
    width: 86px;
    height: 86px;
    background: rgba(3, 43, 82, 0.57);
    box-shadow: 0 0 19px rgba(35, 172, 255, 0.22), inset 0 0 18px rgba(45, 177, 255, 0.18);
  }

  .page-home .cta-icon svg {
    width: 51px;
    height: 51px;
  }

  .page-home .cta-copy h2 {
    margin-bottom: 5px;
    font-size: 20px;
    font-weight: 560;
  }

  .page-home .cta-copy p {
    max-width: 455px;
    font-size: 13px;
    line-height: 1.65;
  }

  .page-home .cta-band .button {
    width: 214px;
    min-height: 51px;
    padding: 12px 20px;
    font-size: 13px;
  }

  .page-home .site-footer {
    padding: 0 0 19px;
  }

  .page-home .footer-panel {
    min-height: 260px;
    overflow: hidden;
    padding: 20px 20px 0;
  }

  .page-home .footer-grid {
    grid-template-columns: 1.12fr 0.73fr 1.22fr 0.72fr 1.08fr;
    min-height: 193px;
    padding-bottom: 14px;
  }

  .page-home .footer-grid > * {
    padding: 0 20px;
  }

  .page-home .footer-brand {
    padding-left: 0;
  }

  .page-home .footer-brand .brand-link {
    gap: 10px;
    font-size: 17px;
  }

  .page-home .footer-brand .brand-mark {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .page-home .footer-brand .brand-mark img {
    inset: 5px auto auto 3px;
    width: 40px;
    height: 34px;
  }

  .page-home .footer-brand > p {
    max-width: 205px;
    margin: 11px 0 13px;
    color: #e4f0f9;
    font-size: 12px;
    line-height: 1.75;
  }

  .page-home .social-placeholders {
    gap: 9px;
  }

  .page-home .social-placeholders span {
    width: 29px;
    height: 29px;
    font-size: 12px;
  }

  .page-home .footer-column {
    gap: 6px;
  }

  .page-home .footer-column h2 {
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 560;
  }

  .page-home .footer-column a {
    color: #e0edf6;
    font-size: 11px;
    line-height: 1.45;
  }

  .page-home .footer-contact {
    gap: 13px;
  }

  .page-home .footer-contact a {
    align-items: center;
    gap: 10px;
    font-size: 12px;
    white-space: nowrap;
  }

  .page-home .footer-contact svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }

  .page-home .legal-row {
    min-height: 45px;
  }

  .page-home .legal-row p,
  .page-home .legal-row a {
    color: #e1edf6;
    font-size: 11px;
  }
}

@media (min-width: 1200px) {
  .page-home .orbit-axis {
    width: min(78%, 760px);
  }

  .page-home .axis-diagonal-one {
    transform: translate(-50%, -50%) rotate(26deg);
  }

  .page-home .axis-diagonal-two {
    transform: translate(-50%, -50%) rotate(-26deg);
  }
}

/* Keep logo geometry exact after all responsive rules. */
.brand-mark,
.page-home .brand-mark,
.footer-brand .brand-mark,
.page-home .footer-brand .brand-mark {
  overflow: visible;
  border: 0;
  background: radial-gradient(circle, rgba(222, 250, 255, 0.93) 0 62%, rgba(55, 180, 255, 0.2) 72%, transparent 73%);
  box-shadow: none;
}

.brand-mark img,
.page-home .brand-mark img,
.footer-brand .brand-mark img,
.page-home .footer-brand .brand-mark img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.orbit-core img,
.page-home .orbit-core img {
  width: 100%;
  height: 100%;
  padding: 1.25%;
  object-fit: contain;
}

.page-home .footer-contact a {
  white-space: normal;
}

/* v5.3 — Apple-inspired heavy liquid-glass visual system */
:root {
  --panel: rgba(10, 61, 101, 0.5);
  --panel-strong: rgba(3, 34, 67, 0.72);
  --panel-border: rgba(207, 241, 255, 0.68);
  --panel-border-soft: rgba(131, 221, 255, 0.42);
  --shadow:
    0 28px 70px rgba(0, 7, 26, 0.5),
    0 8px 22px rgba(0, 15, 42, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    inset 0 -24px 42px rgba(0, 18, 48, 0.18);
  --glow: 0 0 38px rgba(43, 200, 255, 0.34);
  --radius: 21px;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

.site-frame::after,
.page-home::after {
  background:
    radial-gradient(circle at 13% 8%, rgba(75, 186, 255, 0.24), transparent 30%),
    radial-gradient(circle at 87% 18%, rgba(16, 118, 255, 0.2), transparent 28%),
    radial-gradient(circle at 52% 58%, rgba(50, 218, 255, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(0, 14, 34, 0.2), rgba(0, 19, 47, 0.5) 60%, rgba(0, 8, 24, 0.78));
  backdrop-filter: blur(2px) saturate(1.18);
  -webkit-backdrop-filter: blur(2px) saturate(1.18);
}

.glass-panel,
.page-home .glass-panel {
  border: 1.2px solid rgba(211, 243, 255, 0.66);
  border-radius: var(--radius);
  outline: 1px solid rgba(255, 255, 255, 0.12);
  outline-offset: -3px;
  background:
    radial-gradient(ellipse at 16% -10%, rgba(255, 255, 255, 0.34) 0%, rgba(159, 225, 255, 0.12) 32%, transparent 52%),
    linear-gradient(146deg, rgba(128, 204, 242, 0.3) 0%, rgba(28, 91, 137, 0.4) 43%, rgba(3, 31, 67, 0.66) 100%);
  box-shadow:
    0 28px 70px rgba(0, 7, 26, 0.5),
    0 8px 22px rgba(0, 15, 42, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 1px 0 0 rgba(255, 255, 255, 0.2),
    inset 0 -28px 48px rgba(0, 18, 48, 0.2),
    0 0 32px rgba(33, 183, 255, 0.14);
  backdrop-filter: blur(30px) saturate(1.7) brightness(1.05);
  -webkit-backdrop-filter: blur(30px) saturate(1.7) brightness(1.05);
}

.site-header,
.page-home .site-header {
  border: 1px solid rgba(220, 246, 255, 0.72);
  background:
    radial-gradient(ellipse at 18% -35%, rgba(255, 255, 255, 0.42), transparent 44%),
    linear-gradient(180deg, rgba(91, 167, 213, 0.32), rgba(7, 53, 91, 0.55) 48%, rgba(2, 27, 57, 0.72));
  box-shadow:
    0 18px 48px rgba(0, 6, 22, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 -18px 32px rgba(0, 17, 44, 0.16),
    0 0 32px rgba(50, 196, 255, 0.15);
  backdrop-filter: blur(34px) saturate(1.8) brightness(1.04);
  -webkit-backdrop-filter: blur(34px) saturate(1.8) brightness(1.04);
}

.services-dropdown,
.mobile-menu nav {
  border-color: rgba(213, 244, 255, 0.7);
  background:
    radial-gradient(ellipse at 18% 0%, rgba(255, 255, 255, 0.28), transparent 42%),
    linear-gradient(145deg, rgba(70, 145, 192, 0.34), rgba(3, 32, 67, 0.84));
  box-shadow:
    0 28px 68px rgba(0, 4, 18, 0.58),
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    0 0 30px rgba(38, 190, 255, 0.22);
  backdrop-filter: blur(34px) saturate(1.75);
  -webkit-backdrop-filter: blur(34px) saturate(1.75);
}

.services-dropdown a:hover,
.contact-details a:hover {
  border-color: rgba(157, 232, 255, 0.66);
  background: linear-gradient(135deg, rgba(167, 225, 255, 0.2), rgba(15, 103, 163, 0.32));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 8px 22px rgba(0, 16, 43, 0.22);
}

.button {
  position: relative;
  overflow: hidden;
  border-color: rgba(191, 239, 255, 0.78);
  border-radius: 13px;
  box-shadow:
    0 13px 30px rgba(0, 20, 58, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.76),
    inset 0 -13px 22px rgba(0, 21, 66, 0.17),
    0 0 24px rgba(38, 194, 255, 0.22);
  backdrop-filter: blur(20px) saturate(1.65);
  -webkit-backdrop-filter: blur(20px) saturate(1.65);
}

.button::after {
  position: absolute;
  top: -70%;
  bottom: -70%;
  left: -52%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.52), transparent);
  content: "";
  pointer-events: none;
  transform: skewX(-18deg);
  transition: left 520ms ease;
}

.button:hover::after {
  left: 128%;
}

.button-primary,
.button-header {
  background:
    radial-gradient(circle at 24% 0%, rgba(165, 237, 255, 0.4), transparent 40%),
    linear-gradient(135deg, rgba(30, 106, 255, 0.92), rgba(0, 159, 234, 0.88) 68%, rgba(0, 203, 226, 0.82));
}

.button-primary:hover,
.button-header:hover {
  border-color: rgba(231, 251, 255, 0.96);
  background:
    radial-gradient(circle at 24% 0%, rgba(226, 252, 255, 0.48), transparent 42%),
    linear-gradient(135deg, rgba(42, 126, 255, 0.96), rgba(0, 189, 232, 0.94));
  box-shadow:
    0 17px 38px rgba(0, 28, 82, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    0 0 38px rgba(41, 213, 255, 0.54);
}

.button-secondary,
.button-quiet {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(255, 255, 255, 0.24), transparent 44%),
    linear-gradient(145deg, rgba(80, 158, 204, 0.24), rgba(2, 35, 73, 0.68));
}

.button-secondary:hover,
.button-quiet:hover {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(255, 255, 255, 0.31), transparent 44%),
    linear-gradient(145deg, rgba(77, 183, 228, 0.32), rgba(2, 57, 101, 0.74));
}

.orbit-card,
.page-home .orbit-card {
  border-color: rgba(214, 245, 255, 0.7);
  outline: 1px solid rgba(255, 255, 255, 0.12);
  outline-offset: -3px;
  background:
    radial-gradient(ellipse at 18% -18%, rgba(255, 255, 255, 0.4), transparent 46%),
    linear-gradient(145deg, rgba(118, 200, 240, 0.3), rgba(13, 75, 124, 0.46) 48%, rgba(2, 29, 63, 0.7));
  box-shadow:
    0 20px 46px rgba(0, 7, 26, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -18px 30px rgba(0, 18, 51, 0.16),
    0 0 24px rgba(42, 198, 255, 0.2);
  backdrop-filter: blur(27px) saturate(1.75) brightness(1.04);
  -webkit-backdrop-filter: blur(27px) saturate(1.75) brightness(1.04);
}

.orbit-card:hover,
.page-home .orbit-card:hover {
  border-color: rgba(232, 252, 255, 0.96);
  background:
    radial-gradient(ellipse at 18% -18%, rgba(255, 255, 255, 0.5), transparent 46%),
    linear-gradient(145deg, rgba(124, 218, 250, 0.38), rgba(9, 91, 151, 0.58) 50%, rgba(2, 37, 79, 0.78));
  box-shadow:
    0 24px 56px rgba(0, 7, 26, 0.52),
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 0 40px rgba(55, 215, 255, 0.38);
}

.orbit-core,
.page-home .orbit-core {
  overflow: visible;
  border: 1px solid rgba(221, 248, 255, 0.74);
  border-radius: 50%;
  outline: 1px solid rgba(255, 255, 255, 0.18);
  outline-offset: -6px;
  background:
    radial-gradient(circle at 30% 17%, rgba(255, 255, 255, 0.86), rgba(146, 231, 255, 0.55) 24%, rgba(36, 139, 204, 0.35) 52%, rgba(2, 35, 75, 0.5) 70%, transparent 72%);
  box-shadow:
    0 24px 64px rgba(0, 9, 33, 0.54),
    inset 0 12px 26px rgba(255, 255, 255, 0.36),
    inset 0 -28px 44px rgba(0, 20, 59, 0.24),
    0 0 48px rgba(38, 202, 255, 0.42);
  backdrop-filter: blur(24px) saturate(1.75);
  -webkit-backdrop-filter: blur(24px) saturate(1.75);
}

.orbit-ring,
.page-home .orbit-ring {
  border-color: rgba(113, 226, 255, 0.82);
  box-shadow:
    0 0 16px rgba(45, 205, 255, 0.48),
    inset 0 0 16px rgba(59, 218, 255, 0.32);
}

.orbit-axis,
.page-home .orbit-axis {
  opacity: 0.82;
  box-shadow: 0 0 9px rgba(76, 221, 255, 0.7);
}

.brand-mark,
.page-home .brand-mark,
.footer-brand .brand-mark,
.page-home .footer-brand .brand-mark {
  border: 1px solid rgba(222, 249, 255, 0.74);
  background:
    radial-gradient(circle at 32% 18%, rgba(255, 255, 255, 0.96), rgba(167, 235, 255, 0.72) 42%, rgba(37, 137, 201, 0.42) 68%, rgba(2, 32, 71, 0.54) 72%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    inset 0 -10px 18px rgba(0, 35, 83, 0.2),
    0 0 20px rgba(55, 215, 255, 0.36);
  backdrop-filter: blur(16px) saturate(1.7);
  -webkit-backdrop-filter: blur(16px) saturate(1.7);
}

.cta-icon,
.page-home .cta-icon,
.process-icon,
.social-placeholders span,
.category-note {
  border-color: rgba(180, 237, 255, 0.68);
  background:
    radial-gradient(circle at 30% 12%, rgba(255, 255, 255, 0.32), transparent 42%),
    linear-gradient(145deg, rgba(70, 164, 211, 0.28), rgba(2, 35, 75, 0.62));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -12px 20px rgba(0, 20, 55, 0.15),
    0 10px 24px rgba(0, 15, 42, 0.24),
    0 0 22px rgba(39, 196, 255, 0.18);
  backdrop-filter: blur(18px) saturate(1.55);
  -webkit-backdrop-filter: blur(18px) saturate(1.55);
}

.stats-panel article + article,
.credibility-strip article + article,
.audience-grid article + article,
.footer-grid > * + *,
.legal-row,
.feature-list {
  border-color: rgba(164, 230, 255, 0.38);
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  border-color: rgba(174, 230, 255, 0.6);
  border-radius: 11px;
  background:
    radial-gradient(ellipse at 15% 0%, rgba(255, 255, 255, 0.16), transparent 42%),
    linear-gradient(145deg, rgba(57, 133, 180, 0.18), rgba(1, 25, 55, 0.7));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    inset 0 4px 14px rgba(0, 8, 26, 0.3),
    0 8px 20px rgba(0, 10, 30, 0.15);
  backdrop-filter: blur(16px) saturate(1.5);
  -webkit-backdrop-filter: blur(16px) saturate(1.5);
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: rgba(211, 249, 255, 0.94);
  background:
    radial-gradient(ellipse at 15% 0%, rgba(255, 255, 255, 0.22), transparent 42%),
    linear-gradient(145deg, rgba(64, 156, 206, 0.24), rgba(2, 37, 76, 0.8));
  box-shadow:
    0 0 0 3px rgba(72, 218, 255, 0.15),
    0 0 26px rgba(32, 192, 255, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.mini-service-card,
.service-detail-card,
.product-card,
.differences-card,
.map-card,
.form-panel,
.contact-details,
.policy-content,
.process-panel,
.audiences-panel {
  transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 240ms ease, box-shadow 240ms ease, background 240ms ease;
}

.mini-service-card:hover,
.service-detail-card:hover,
.product-card:hover,
.differences-card:hover,
.map-card:hover {
  border-color: rgba(225, 250, 255, 0.92);
  background:
    radial-gradient(ellipse at 16% -10%, rgba(255, 255, 255, 0.42), rgba(162, 229, 255, 0.14) 34%, transparent 54%),
    linear-gradient(146deg, rgba(132, 215, 249, 0.34), rgba(24, 103, 155, 0.46) 44%, rgba(3, 39, 79, 0.72));
  box-shadow:
    0 34px 82px rgba(0, 7, 26, 0.56),
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    inset 0 -24px 40px rgba(0, 18, 48, 0.18),
    0 0 44px rgba(45, 211, 255, 0.3);
}

.footer-panel,
.page-home .footer-panel {
  background:
    radial-gradient(ellipse at 12% -18%, rgba(255, 255, 255, 0.34), transparent 42%),
    linear-gradient(145deg, rgba(83, 168, 213, 0.28), rgba(5, 48, 86, 0.56) 48%, rgba(1, 25, 55, 0.76));
  box-shadow:
    0 26px 72px rgba(0, 6, 22, 0.52),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -30px 48px rgba(0, 15, 42, 0.18),
    0 0 34px rgba(39, 190, 255, 0.16);
}

.page-intro h1,
.hero-copy h1 {
  text-shadow: 0 5px 28px rgba(0, 5, 18, 0.68), 0 0 28px rgba(49, 190, 255, 0.12);
}

@media (max-width: 700px) {
  .glass-panel,
  .page-home .glass-panel {
    border-radius: 17px;
    backdrop-filter: blur(21px) saturate(1.55);
    -webkit-backdrop-filter: blur(21px) saturate(1.55);
    box-shadow:
      0 20px 48px rgba(0, 7, 26, 0.46),
      inset 0 1px 0 rgba(255, 255, 255, 0.62),
      inset 0 -20px 34px rgba(0, 18, 48, 0.16);
  }

  .site-header,
  .page-home .site-header {
    backdrop-filter: blur(25px) saturate(1.65);
    -webkit-backdrop-filter: blur(25px) saturate(1.65);
  }

  .orbit-card,
  .page-home .orbit-card {
    backdrop-filter: blur(20px) saturate(1.6);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .glass-panel,
  .page-home .glass-panel,
  .site-header,
  .page-home .site-header,
  .services-dropdown,
  .mobile-menu nav {
    background: rgba(4, 39, 73, 0.95);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* v5.4 — detailed service experience */
.service-page {
  padding-top: 18px;
  padding-bottom: 12px;
}

.service-breadcrumb {
  display: flex;
  width: min(100%, 1440px);
  align-items: center;
  gap: 9px;
  margin: 0 auto 14px;
  padding-inline: 8px;
  color: rgba(218, 239, 250, 0.76);
  font-size: 0.82rem;
}

.service-breadcrumb a {
  color: var(--cyan-300);
}

.service-breadcrumb a:hover {
  color: #fff;
}

.service-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: clamp(28px, 5vw, 76px);
  width: min(100%, 1440px);
  margin: 0 auto 18px;
  padding: clamp(30px, 5vw, 72px);
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 4%, rgba(215, 248, 255, 0.34), transparent 31%),
    radial-gradient(circle at 87% 74%, rgba(15, 155, 255, 0.24), transparent 34%),
    linear-gradient(145deg, rgba(85, 176, 221, 0.3), rgba(5, 52, 94, 0.6) 52%, rgba(1, 27, 59, 0.78));
}

.service-hero::after {
  position: absolute;
  width: 410px;
  height: 410px;
  right: -150px;
  bottom: -220px;
  border: 1px solid rgba(112, 222, 255, 0.38);
  border-radius: 50%;
  box-shadow: 0 0 65px rgba(32, 190, 255, 0.2), inset 0 0 45px rgba(62, 213, 255, 0.12);
  content: "";
  pointer-events: none;
}

.service-hero-copy {
  position: relative;
  z-index: 1;
}

.service-hero-icon {
  display: grid;
  width: 88px;
  height: 88px;
  margin-bottom: 23px;
  border: 1px solid rgba(220, 249, 255, 0.74);
  border-radius: 25px;
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 255, 255, 0.5), transparent 40%),
    linear-gradient(145deg, rgba(87, 202, 240, 0.38), rgba(3, 47, 92, 0.78));
  color: var(--cyan-300);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -18px 28px rgba(0, 25, 67, 0.2),
    0 18px 38px rgba(0, 10, 36, 0.32),
    0 0 34px rgba(42, 209, 255, 0.28);
  place-items: center;
  backdrop-filter: blur(22px) saturate(1.7);
  -webkit-backdrop-filter: blur(22px) saturate(1.7);
}

.service-hero-icon svg {
  width: 53px;
  height: 53px;
  filter: drop-shadow(0 0 13px rgba(58, 216, 255, 0.54));
}

.service-hero h1 {
  max-width: 900px;
  margin-bottom: 18px;
  font-size: clamp(2.55rem, 5vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  text-shadow: 0 7px 30px rgba(0, 6, 23, 0.7), 0 0 30px rgba(53, 205, 255, 0.16);
}

.service-hero-copy > p:not(.eyebrow) {
  max-width: 850px;
  margin-bottom: 25px;
  color: #e1eff7;
  font-size: clamp(1rem, 1.3vw, 1.24rem);
  line-height: 1.7;
}

.service-facts {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 12px;
}

.service-facts article {
  padding: 19px 20px;
  border: 1px solid rgba(184, 236, 255, 0.5);
  border-radius: 17px;
  background:
    radial-gradient(ellipse at 15% 0%, rgba(255, 255, 255, 0.22), transparent 45%),
    linear-gradient(145deg, rgba(81, 163, 207, 0.25), rgba(1, 31, 68, 0.66));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44), 0 12px 28px rgba(0, 8, 28, 0.24);
  backdrop-filter: blur(22px) saturate(1.6);
  -webkit-backdrop-filter: blur(22px) saturate(1.6);
}

.service-facts span {
  display: block;
  margin-bottom: 5px;
  color: var(--cyan-300);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.service-facts p {
  margin: 0;
  color: #f2f8fc;
  font-size: 0.96rem;
  line-height: 1.5;
}

.service-switcher {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: min(100%, 1440px);
  gap: 7px;
  margin: 0 auto 34px;
  padding: 8px;
  border-radius: 17px;
}

.service-switcher a {
  display: grid;
  min-height: 46px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: rgba(228, 242, 250, 0.86);
  font-size: 0.77rem;
  font-weight: 730;
  line-height: 1.25;
  text-align: center;
  place-items: center;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.service-switcher a:hover,
.service-switcher a.active {
  border-color: rgba(181, 239, 255, 0.66);
  background: linear-gradient(145deg, rgba(103, 200, 237, 0.28), rgba(2, 62, 111, 0.48));
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 22px rgba(38, 198, 255, 0.2);
}

.service-section {
  width: min(100%, 1440px);
  margin: 0 auto 36px;
}

.service-section-heading {
  max-width: 860px;
  margin: 0 auto 19px;
  text-align: center;
}

.service-section-heading h2 {
  margin-bottom: 8px;
  font-size: clamp(1.65rem, 2.7vw, 3rem);
  line-height: 1.12;
}

.service-section-heading > p:not(.eyebrow) {
  margin: 0;
  color: #d5e6f1;
}

.service-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.service-problem-grid article {
  min-height: 220px;
  padding: 26px;
}

.service-problem-grid article > span {
  display: block;
  margin-bottom: 24px;
  color: var(--cyan-400);
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.service-problem-grid h3,
.related-service-grid h3 {
  margin-bottom: 9px;
  font-size: 1.18rem;
}

.service-problem-grid p,
.related-service-grid p {
  margin: 0;
  color: #d5e5ef;
  font-size: 0.94rem;
}

.service-copy-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
  gap: 18px;
  width: min(100%, 1440px);
  margin: 0 auto 36px;
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.service-deliverables,
.service-outcomes {
  padding: clamp(27px, 4vw, 48px);
}

.service-deliverables h2,
.service-outcomes h2 {
  margin-bottom: 10px;
  font-size: clamp(1.55rem, 2.35vw, 2.55rem);
}

.service-deliverables > p:not(.eyebrow) {
  color: #d9e8f2;
}

.service-check-list {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.service-deliverables .service-check-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-check-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 11px 12px;
  border: 1px solid rgba(132, 220, 255, 0.28);
  border-radius: 12px;
  background: rgba(2, 34, 69, 0.38);
}

.service-check-list li > span {
  display: grid;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(165, 238, 255, 0.64);
  border-radius: 50%;
  background: rgba(27, 169, 221, 0.18);
  color: var(--cyan-300);
  font-weight: 900;
  place-items: center;
}

.service-check-list p {
  margin: 1px 0 0;
  color: #e2eef5;
  font-size: 0.91rem;
  line-height: 1.48;
}

.service-note {
  margin: 18px 0 0;
  padding: 14px 15px;
  border-left: 3px solid var(--cyan-400);
  border-radius: 0 10px 10px 0;
  background: rgba(1, 28, 61, 0.5);
  color: rgba(215, 232, 242, 0.8);
  font-size: 0.8rem;
  line-height: 1.55;
}

.service-process-panel,
.service-expectations {
  width: min(100%, 1440px);
  margin: 0 auto 36px;
  padding: clamp(27px, 4vw, 48px);
}

.service-process-panel ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.service-process-panel li {
  min-height: 210px;
  padding: 22px;
  border: 1px solid rgba(151, 226, 255, 0.35);
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 12% 0%, rgba(255, 255, 255, 0.18), transparent 42%),
    linear-gradient(145deg, rgba(67, 150, 194, 0.18), rgba(1, 31, 68, 0.58));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.service-process-panel li > span {
  display: block;
  margin-bottom: 34px;
  color: var(--cyan-400);
  font-size: 1.38rem;
  font-weight: 850;
}

.service-process-panel h3 {
  margin-bottom: 8px;
  font-size: 1.15rem;
}

.service-process-panel p {
  margin: 0;
  color: #d2e4ef;
  font-size: 0.9rem;
}

.service-expectation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.service-expectation-grid article {
  padding: 23px;
  border: 1px solid rgba(151, 226, 255, 0.34);
  border-radius: 15px;
  background: rgba(2, 34, 69, 0.42);
}

.service-expectation-grid h3 {
  margin-bottom: 8px;
  color: var(--cyan-300);
  font-size: 1.04rem;
}

.service-expectation-grid p {
  margin: 0;
  color: #d8e8f1;
  font-size: 0.9rem;
}

.service-policy-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
}

.service-policy-links a {
  padding: 8px 12px;
  border: 1px solid rgba(154, 229, 255, 0.4);
  border-radius: 999px;
  background: rgba(2, 47, 87, 0.44);
  color: var(--cyan-300);
  font-size: 0.76rem;
  font-weight: 720;
}

.service-policy-links a:hover {
  border-color: rgba(223, 250, 255, 0.84);
  background: rgba(42, 151, 200, 0.28);
  color: #fff;
  box-shadow: 0 0 18px rgba(37, 198, 255, 0.2);
}

.service-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.service-faq-grid details {
  padding: 0 21px;
}

.service-faq-grid summary {
  display: grid;
  min-height: 74px;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 14px;
  align-items: center;
  color: #f4f9fc;
  font-size: 0.98rem;
  font-weight: 730;
  cursor: pointer;
  list-style: none;
}

.service-faq-grid summary::-webkit-details-marker {
  display: none;
}

.service-faq-grid summary span {
  display: grid;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(169, 235, 255, 0.58);
  border-radius: 50%;
  color: var(--cyan-300);
  font-size: 1.25rem;
  place-items: center;
  transition: transform 180ms ease, background 180ms ease;
}

.service-faq-grid details[open] summary span {
  background: rgba(40, 174, 221, 0.23);
  transform: rotate(45deg);
}

.service-faq-grid details > p {
  margin: 0 0 22px;
  padding-top: 15px;
  border-top: 1px solid rgba(145, 222, 251, 0.25);
  color: #d5e5ef;
  font-size: 0.9rem;
}

.related-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.related-service-grid > a {
  display: grid;
  min-height: 220px;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 25px;
  color: #fff;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.related-service-grid > a:hover {
  border-color: rgba(226, 251, 255, 0.92);
  box-shadow: var(--shadow), 0 0 38px rgba(45, 210, 255, 0.28);
  transform: translateY(-5px);
}

.related-service-grid svg {
  width: 58px;
  height: 58px;
  color: var(--cyan-400);
  filter: drop-shadow(0 0 11px rgba(43, 205, 255, 0.38));
}

.related-service-grid span {
  display: inline-block;
  margin-top: 16px;
  color: var(--cyan-300);
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.service-page-cta {
  width: min(100%, 1440px);
  margin: 0 auto 18px;
}

@media (max-width: 1100px) {
  .service-hero {
    grid-template-columns: 1fr;
  }

  .service-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .service-switcher {
    display: flex;
    overflow-x: auto;
    justify-content: flex-start;
    scrollbar-width: thin;
  }

  .service-switcher a {
    min-width: 152px;
  }

  .service-copy-grid {
    grid-template-columns: 1fr;
  }

  .service-process-panel ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .service-page {
    padding-top: 12px;
  }

  .service-breadcrumb {
    overflow: hidden;
    white-space: nowrap;
  }

  .service-breadcrumb span[aria-current="page"] {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .service-hero {
    gap: 22px;
    padding: 27px 20px;
  }

  .service-hero-icon {
    width: 74px;
    height: 74px;
    border-radius: 21px;
  }

  .service-hero-icon svg {
    width: 44px;
    height: 44px;
  }

  .service-hero h1 {
    font-size: clamp(2.2rem, 12vw, 3.8rem);
  }

  .service-facts,
  .service-problem-grid,
  .service-deliverables .service-check-list,
  .service-process-panel ol,
  .service-expectation-grid,
  .service-faq-grid,
  .related-service-grid {
    grid-template-columns: 1fr;
  }

  .service-problem-grid article,
  .service-process-panel li,
  .related-service-grid > a {
    min-height: 0;
  }

  .service-process-panel li > span {
    margin-bottom: 18px;
  }

  .related-service-grid > a {
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 21px;
  }

  .related-service-grid svg {
    width: 48px;
    height: 48px;
  }
}

/* --------------------------------------------------------------------------
   V5.5.2 — CONTROLLED VISUAL UPGRADE
   Scope rule: all new presentation is opt-in under body.v552.
   Existing V5.4 geometry remains the structural source of truth.
   -------------------------------------------------------------------------- */

body.v552 {
  --v552-accent: 70 205 255;
  --v552-accent-2: 35 118 255;
  --v552-glass-r: 21px;
  --v552-glass-border: rgba(207, 241, 255, .58);
  --v552-reflect-x: 50%;
  --v552-reflect-y: 0%;
}

body.v552 .site-frame {
  isolation: isolate;
}

body.v552 .v552-atmosphere {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

body.v552 .v552-atmosphere .orb {
  position: absolute;
  width: min(44vw, 720px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(72px);
  opacity: .24;
  background: rgb(var(--v552-accent) / .75);
  animation: v552OrbDrift 18s ease-in-out infinite alternate;
}

body.v552 .v552-atmosphere .orb-a { left: -14vw; top: 14vh; }
body.v552 .v552-atmosphere .orb-b {
  right: -18vw;
  top: 48vh;
  background: rgb(var(--v552-accent-2) / .72);
  animation-delay: -8s;
}

body.v552 .v552-atmosphere .mesh {
  position: absolute;
  inset: 0;
  opacity: .18;
  background:
    radial-gradient(circle at 24% 24%, rgb(var(--v552-accent) / .42), transparent 22%),
    radial-gradient(circle at 74% 36%, rgb(var(--v552-accent-2) / .26), transparent 25%),
    radial-gradient(circle at 48% 82%, rgba(123, 231, 255, .18), transparent 28%);
  transform: scale(1.06);
  animation: v552MeshShift 22s ease-in-out infinite alternate;
}

@keyframes v552OrbDrift {
  to { transform: translate3d(7vw, -5vh, 0) scale(1.14); }
}
@keyframes v552MeshShift {
  to { transform: scale(1.13) translate3d(-2vw, 2vh, 0); }
}

/* Liquid-glass reflection: decorative only; never clips children. */
body.v552 .v552-liquid {
  isolation: isolate;
}
body.v552 .v552-liquid-static {
  position: relative;
}
body.v552 .v552-liquid::before {
  position: absolute;
  inset: 1px;
  z-index: 0;
  border-radius: inherit;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(360px circle at var(--v552-reflect-x) var(--v552-reflect-y), rgba(255,255,255,.22), transparent 34%),
    linear-gradient(120deg, rgba(255,255,255,.06), transparent 28%, rgba(99,218,255,.05) 62%, transparent 82%);
  opacity: .72;
  mix-blend-mode: screen;
}

/* Consistent visual system: no geometry changes to the base components. */
body.v552 .glass-panel,
body.v552 .orbit-card,
body.v552 .service-facts article,
body.v552 .service-problem-grid article,
body.v552 .service-process-panel li,
body.v552 .service-expectation-grid article,
body.v552 .related-service-grid > a,
body.v552 .contact-details,
body.v552 .form-panel {
  border-radius: var(--v552-glass-r);
}

/* Header active-item indicator, measured by JS and harmless if JS is unavailable. */
body.v552 .desktop-nav {
  position: relative;
}
body.v552 .desktop-nav > a::after { opacity: 0; }
body.v552 .desktop-nav .nav-indicator {
  position: absolute;
  left: 0;
  bottom: -9px;
  width: 0;
  height: 4px;
  border: 1px solid rgba(204,247,255,.55);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(116,231,255,.28), rgba(95,206,255,.98), rgba(50,132,255,.62));
  box-shadow: 0 0 16px rgba(66,213,255,.58), inset 0 1px 0 rgba(255,255,255,.75);
  opacity: 0;
  pointer-events: none;
  transform: translateX(0);
  transition: transform 320ms cubic-bezier(.2,.8,.2,1), width 320ms cubic-bezier(.2,.8,.2,1), opacity 180ms ease;
}
body.v552 .desktop-nav .nav-indicator.ready { opacity: 1; }

/* CTA traveling border — confined to CTA controls/panels, not every card. */
body.v552 .button-primary,
body.v552 .button-header,
body.v552 .service-page-cta {
  isolation: isolate;
}
body.v552 .button-primary::before,
body.v552 .button-header::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  padding: 1px;
  border-radius: inherit;
  background: conic-gradient(from var(--v552-border-angle, 0deg), transparent 0 72%, rgba(204,248,255,.18) 78%, rgba(79,220,255,.95) 84%, rgba(82,119,255,.78) 89%, transparent 95%);
  content: "";
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: none;
}
body.v552 .service-page-cta::after {
  position: absolute;
  inset: -1px;
  z-index: 0;
  padding: 1px;
  border-radius: inherit;
  background: conic-gradient(from var(--v552-border-angle, 0deg), transparent 0 76%, rgb(var(--v552-accent) / .75) 84%, rgba(255,255,255,.8) 88%, transparent 94%);
  content: "";
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: none;
}
@property --v552-border-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }

/* Homepage command-center layer: decorative, under existing approved orbit geometry. */
body.v552-home .home-hero::before {
  position: absolute;
  inset: 8% 2% 4%;
  z-index: 0;
  border-radius: 42px;
  content: "";
  pointer-events: none;
  opacity: .34;
  background:
    linear-gradient(rgba(81,210,255,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(81,210,255,.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 44%, rgba(53,190,255,.2), transparent 36%);
  background-size: 62px 62px, 62px 62px, auto;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0 48%, transparent 78%);
  mask-image: radial-gradient(ellipse at center, #000 0 48%, transparent 78%);
}
body.v552-home .home-hero::after {
  position: absolute;
  left: 10%; right: 10%; bottom: 6%;
  height: 1px;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(79,222,255,.5), transparent);
  box-shadow: 0 0 20px rgba(54,210,255,.28);
  animation: v552Scan 6s ease-in-out infinite;
}
@keyframes v552Scan { 50% { transform: translateY(-70px); opacity: .35; } }

/* Service palettes — distinct but unmistakably RIKA OPS. */
body.v552.service-theme-automation { --v552-accent: 67 222 255; --v552-accent-2: 31 110 255; }
body.v552.service-theme-consulting { --v552-accent: 90 208 255; --v552-accent-2: 87 92 255; }
body.v552.service-theme-tools { --v552-accent: 54 233 225; --v552-accent-2: 20 133 255; }
body.v552.service-theme-portals { --v552-accent: 89 186 255; --v552-accent-2: 55 87 255; }
body.v552.service-theme-websites { --v552-accent: 82 219 255; --v552-accent-2: 73 128 255; }
body.v552.service-theme-branding { --v552-accent: 122 218 255; --v552-accent-2: 99 105 255; }

body.v552-service-detail .service-hero {
  border-color: rgb(var(--v552-accent) / .52);
  background:
    radial-gradient(circle at 12% 4%, rgba(235,251,255,.28), transparent 29%),
    radial-gradient(circle at 88% 76%, rgb(var(--v552-accent) / .22), transparent 33%),
    linear-gradient(145deg, rgb(var(--v552-accent) / .12), rgba(5,52,94,.58) 52%, rgba(1,27,59,.8));
}
body.v552-service-detail .service-hero::after {
  border-color: rgb(var(--v552-accent) / .36);
  box-shadow: 0 0 65px rgb(var(--v552-accent) / .18), inset 0 0 45px rgb(var(--v552-accent) / .1);
}
body.v552-service-detail .service-hero-sheen {
  display: none !important;
}

/* Dimensional service hero object; preserves the icon's original footprint. */
body.v552-service-detail .service-hero-icon {
  transform: perspective(700px) rotateX(7deg) rotateY(-7deg);
  transform-style: preserve-3d;
  border-color: rgba(229,251,255,.78);
  background:
    radial-gradient(circle at 25% 12%, rgba(255,255,255,.68), transparent 30%),
    linear-gradient(145deg, rgb(var(--v552-accent) / .38), rgba(6,57,104,.74) 54%, rgba(1,25,59,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 8px 6px 18px rgba(214,248,255,.12),
    inset -12px -16px 28px rgba(0,20,59,.28),
    0 22px 46px rgba(0,8,29,.44),
    0 0 38px rgb(var(--v552-accent) / .32);
}
body.v552-service-detail .service-hero-icon::before,
body.v552-service-detail .service-hero-icon::after {
  position: absolute;
  border-radius: 18px;
  content: "";
  pointer-events: none;
}
body.v552-service-detail .service-hero-icon::before {
  inset: 8px;
  border: 1px solid rgba(255,255,255,.22);
  transform: translateZ(9px);
}
body.v552-service-detail .service-hero-icon::after {
  width: 42%; height: 18%; left: 14%; top: 10%;
  background: linear-gradient(90deg, rgba(255,255,255,.5), transparent);
  filter: blur(3px);
  transform: translateZ(14px) rotate(-12deg);
}
body.v552-service-detail .service-hero-icon svg {
  position: relative;
  z-index: 2;
  color: rgb(var(--v552-accent));
  filter: drop-shadow(0 0 13px rgb(var(--v552-accent) / .5));
  transform: translateZ(20px);
}

/* Sticky service navigator — existing switcher, enhanced rather than replaced. */
body.v552-service-detail .service-switcher {
  position: sticky;
  top: calc(var(--header-height) + 10px);
  z-index: 24;
  border: 1px solid rgba(199,241,255,.38);
  background: linear-gradient(145deg, rgba(41,107,151,.34), rgba(2,30,66,.78));
  box-shadow: 0 18px 46px rgba(0,6,24,.26), inset 0 1px 0 rgba(255,255,255,.34);
  backdrop-filter: blur(22px) saturate(1.45);
  -webkit-backdrop-filter: blur(22px) saturate(1.45);
}
body.v552-service-detail .service-switcher a {
  position: relative;
  padding-left: 20px;
}
body.v552-service-detail .service-switcher a::before {
  position: absolute;
  left: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(194,239,255,.5);
  box-shadow: 0 0 0 3px rgba(70,203,255,.05);
  content: "";
}
body.v552-service-detail .service-switcher a.active::before,
body.v552-service-detail .service-switcher a:hover::before {
  background: rgb(var(--v552-accent));
  box-shadow: 0 0 12px rgb(var(--v552-accent) / .72);
}

/* Editorial/asymmetrical rhythm without changing content order or section widths. */
@media (min-width: 1101px) {
  body.v552-service-detail:nth-child(n) .service-problem-grid article:nth-child(2) { transform: translateY(16px); }
  body.v552-service-detail .service-copy-grid { align-items: stretch; }
  body.v552-service-detail .service-deliverables { min-height: 100%; }
  body.v552-service-detail .service-outcomes { margin-top: 38px; margin-bottom: -38px; }
  body.v552-service-detail.service-theme-consulting .service-hero-copy,
  body.v552-service-detail.service-theme-portals .service-hero-copy,
  body.v552-service-detail.service-theme-branding .service-hero-copy { order: 2; }
  body.v552-service-detail.service-theme-consulting .service-facts,
  body.v552-service-detail.service-theme-portals .service-facts,
  body.v552-service-detail.service-theme-branding .service-facts { order: 1; }
}

/* Service visual — masked business-operations image + animated workflow HUD. */
body.v552-service-detail .service-visual-stage {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr);
  gap: 18px;
  width: min(100%, 1440px);
  margin: -4px auto 36px;
  align-items: stretch;
}
body.v552-service-detail .service-visual-frame,
body.v552-service-detail .service-visual-caption {
  border: 1px solid rgba(197,240,255,.38);
  border-radius: 24px;
  box-shadow: 0 24px 58px rgba(0,8,28,.28), inset 0 1px 0 rgba(255,255,255,.3);
}
body.v552-service-detail .service-visual-frame {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  filter: saturate(.88) contrast(1.04);
}
body.v552-service-detail .service-visual-frame::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(circle at 30% 24%, rgb(var(--v552-accent) / .16), transparent 28%),
    linear-gradient(120deg, rgba(1,15,36,.08), rgba(2,30,68,.45));
  backdrop-filter: blur(1.3px);
  -webkit-backdrop-filter: blur(1.3px);
}
body.v552-service-detail .service-visual-hud {
  position: absolute;
  inset: 8%;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 56px 92px;
  place-items: center;
}
body.v552-service-detail .service-visual-hud::before,
body.v552-service-detail .service-visual-hud::after {
  position: absolute;
  left: 50%; top: 50%;
  content: "";
  background: linear-gradient(90deg, transparent, rgb(var(--v552-accent) / .62), transparent);
  box-shadow: 0 0 12px rgb(var(--v552-accent) / .28);
}
body.v552-service-detail .service-visual-hud::before { width: 72%; height: 1px; transform: translate(-50%,-50%); }
body.v552-service-detail .service-visual-hud::after { width: 1px; height: 66%; transform: translate(-50%,-50%); }
body.v552-service-detail .workflow-node {
  position: relative;
  z-index: 2;
  display: grid;
  min-width: 132px;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid rgba(204,245,255,.48);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(104,186,224,.24), rgba(3,37,76,.7));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 12px 24px rgba(0,8,28,.25), 0 0 24px rgb(var(--v552-accent) / .12);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  animation: v552NodeFloat 5.5s ease-in-out infinite alternate;
}
body.v552-service-detail .workflow-node:nth-child(2) { animation-delay: -1.4s; }
body.v552-service-detail .workflow-node:nth-child(3) { animation-delay: -2.6s; }
body.v552-service-detail .workflow-node:nth-child(4) { animation-delay: -3.8s; }
body.v552-service-detail .workflow-node-number { color: rgb(var(--v552-accent)); font-size: .72rem; letter-spacing: .12em; }
body.v552-service-detail .workflow-node b { color: #f5fbff; font-size: .94rem; }
body.v552-service-detail .workflow-core {
  position: absolute;
  left: 50%; top: 50%;
  z-index: 3;
  display: grid;
  width: 112px; height: 112px;
  border: 1px solid rgba(222,250,255,.64);
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(circle at 32% 18%, rgba(255,255,255,.3), rgb(var(--v552-accent) / .22) 45%, rgba(1,30,67,.86) 74%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.54), 0 0 36px rgb(var(--v552-accent) / .3);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  place-items: center;
  transform: translate(-50%,-50%);
}
@keyframes v552NodeFloat { to { transform: translateY(-7px); } }
body.v552-service-detail .service-visual-caption {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 340px;
  padding: 34px;
  background:
    radial-gradient(circle at 20% 10%, rgb(var(--v552-accent) / .15), transparent 36%),
    linear-gradient(145deg, rgba(49,125,171,.24), rgba(1,28,61,.78));
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
}
body.v552-service-detail .service-visual-caption span {
  margin-bottom: 9px;
  color: rgb(var(--v552-accent));
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.v552-service-detail .service-visual-caption strong {
  max-width: 340px;
  color: #f2f8fc;
  font-size: clamp(1.25rem,2vw,2rem);
  line-height: 1.15;
}

/* Workflow cards: animated connector progress is contained inside the panel. */
body.v552-service-detail .service-process-panel { position: relative; }
body.v552-service-detail .service-process-panel ol { position: relative; }
@media (min-width: 1101px) {
  body.v552-service-detail .service-process-panel ol::before {
    position: absolute;
    left: 8%; right: 8%; top: 44px;
    height: 1px;
    z-index: 0;
    content: "";
    background: linear-gradient(90deg, transparent, rgb(var(--v552-accent) / .36) 8% 92%, transparent);
  }
  body.v552-service-detail .service-process-panel ol::after {
    position: absolute;
    left: 8%; top: 42px;
    width: 74px; height: 5px;
    z-index: 1;
    border-radius: 99px;
    content: "";
    background: linear-gradient(90deg, transparent, rgb(var(--v552-accent)), transparent);
    filter: blur(.3px);
    box-shadow: 0 0 14px rgb(var(--v552-accent) / .5);
    animation: v552Flow 5.8s ease-in-out infinite;
  }
  body.v552-service-detail .service-process-panel li { position: relative; z-index: 2; }
  @keyframes v552Flow { 50% { left: calc(92% - 74px); } }
}

/* Footer: layered depth and stronger brand zone without changing footer information. */
body.v552 .footer-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(207,244,255,.5);
  background:
    radial-gradient(ellipse at 12% -18%, rgba(255,255,255,.3), transparent 40%),
    radial-gradient(circle at 82% 10%, rgba(57,193,255,.12), transparent 30%),
    linear-gradient(145deg, rgba(75,154,201,.25), rgba(5,45,83,.6) 48%, rgba(1,22,51,.82));
}
body.v552 .footer-panel::before {
  position: absolute;
  left: 3%; right: 3%; top: 20%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(119,226,255,.36), transparent);
  box-shadow: 0 0 16px rgba(65,209,255,.18);
}
body.v552 .footer-brand .brand-mark { transform: scale(1.06); }
body.v552 .footer-grid > * { position: relative; }

/* Contact form floating labels and polished focus/submission states. */
body.v552-contact .contact-form .floating-field {
  position: relative;
  padding-top: 8px;
}
body.v552-contact .contact-form .floating-field > span {
  position: absolute;
  left: 14px;
  top: 20px;
  z-index: 2;
  padding: 0 6px;
  border-radius: 6px;
  color: rgba(220,237,247,.72);
  background: rgba(3,38,76,.38);
  font-size: .86rem;
  pointer-events: none;
  transform-origin: left top;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, top 180ms ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.v552-contact .contact-form .floating-field:has(select) > span,
body.v552-contact .contact-form .floating-field:focus-within > span,
body.v552-contact .contact-form .floating-field:has(input:not(:placeholder-shown)) > span,
body.v552-contact .contact-form .floating-field:has(textarea:not(:placeholder-shown)) > span {
  top: 0;
  color: rgba(194,242,255,.94);
  background: rgba(3,42,82,.76);
  transform: scale(.82);
}
body.v552-contact .contact-form input,
body.v552-contact .contact-form select,
body.v552-contact .contact-form textarea {
  min-height: 54px;
  padding-top: 15px;
}
body.v552-contact .contact-form textarea { padding-top: 20px; }
body.v552-contact .form-status.success {
  border: 1px solid rgba(123,240,209,.48);
  border-radius: 12px;
  background: rgba(22,122,105,.16);
  box-shadow: 0 0 22px rgba(69,235,197,.12);
}
body.v552-contact .form-status.error {
  border: 1px solid rgba(255,154,167,.42);
  border-radius: 12px;
  background: rgba(133,42,58,.16);
}

/* Depth-of-field is optical only — content itself is never blurred/hidden. */
@media (hover:hover) and (pointer:fine) {
  body.v552 .home-service-grid:hover .mini-service-card:not(:hover),
  body.v552-service-detail .service-problem-grid:hover article:not(:hover),
  body.v552-service-detail .related-service-grid:hover > a:not(:hover) {
    opacity: .82;
    filter: saturate(.84) brightness(.92);
  }
  body.v552 .mini-service-card,
  body.v552-service-detail .service-problem-grid article,
  body.v552-service-detail .related-service-grid > a {
    transition: transform 220ms ease, filter 220ms ease, opacity 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  }
}

/* Mobile/tablet: simplify motion, keep identical content hierarchy. */
@media (max-width: 1100px) {
  body.v552-service-detail .service-switcher { top: calc(var(--header-height) + 6px); }
  body.v552-service-detail .service-visual-stage { grid-template-columns: 1fr; }
  body.v552-service-detail .service-visual-caption { min-height: 180px; }
}
@media (max-width: 760px) {
  body.v552 .v552-atmosphere .orb { width: 90vw; filter: blur(62px); opacity: .16; }
  body.v552-service-detail .service-switcher { position: relative; top: auto; z-index: 2; }
  body.v552-service-detail .service-visual-frame { min-height: 310px; border-radius: 20px; }
  body.v552-service-detail .service-visual-hud { inset: 8% 5%; gap: 52px 24px; }
  body.v552-service-detail .workflow-node { min-width: 112px; padding: 12px; }
  body.v552-service-detail .workflow-core { width: 88px; height: 88px; font-size: .62rem; }
  body.v552-service-detail .service-visual-caption { min-height: 150px; padding: 24px; }
  body.v552-contact .contact-form .floating-field > span { background: rgba(3,42,82,.72); }
}

/* Motion/accessibility: content remains visible even when all animations are disabled. */
@media (prefers-reduced-motion: reduce) {
  body.v552 *, body.v552 *::before, body.v552 *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.v552 .glass-panel,
  body.v552 .site-header,
  body.v552 .service-switcher,
  body.v552 .service-visual-caption,
  body.v552 .workflow-node {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

@media (min-width:1101px) {
  body.v552-service-detail .service-problem-grid article:nth-child(2) { transform: translateY(16px); }
}

/* Mobile correction inherited from V5.4: .cta-band.no-icon had higher specificity
   than the old mobile single-column rule. Keep service CTAs full-width and readable. */
@media (max-width: 760px) {
  body.v552 .cta-band.no-icon,
  body.v552 .service-page-cta {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
    text-align: center;
  }
  body.v552 .cta-band.no-icon .cta-copy,
  body.v552 .service-page-cta .cta-copy {
    width: 100%;
    text-align: center;
  }
  body.v552 .service-page-cta .button {
    width: min(100%, 260px);
  }
}


/* --------------------------------------------------------------------------
   V5.5.4 — PERFORMANCE + TECHNOLOGY PICTURE BACKGROUND
   Goal: preserve the approved V5.5.2 geometry while making the technology
   environment visibly photographic and reducing continuous GPU work.
   -------------------------------------------------------------------------- */

body.v554 {
  --v554-glass-blur: 12px;
  --v554-header-blur: 14px;
}

/* Make the existing computer-technology photograph the actual environment,
   rather than letting blue overlays visually turn it into a flat color field. */
body.v554 .site-frame {
  background: rgba(1, 8, 16, .16);
}
body.v554 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  background-position: center center;
  background-size: cover;
  filter: saturate(.72) brightness(.80) contrast(1.10) sepia(.08);
  transform: none;
  animation: none;
}
body.v554 .site-frame::after,
body.v554.page-home::after {
  background:
    radial-gradient(circle at 80% 18%, rgba(224, 145, 72, .10), transparent 25%),
    radial-gradient(circle at 16% 30%, rgba(40, 177, 220, .09), transparent 27%),
    linear-gradient(180deg, rgba(1, 9, 17, .28), rgba(2, 12, 22, .43) 58%, rgba(1, 7, 15, .64));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* The animated atmosphere layer is intentionally disabled. The fixed photo
   already provides depth and costs far less GPU time than blurred moving orbs. */
body.v554 .v552-atmosphere { display: none !important; }

/* Controlled glass hierarchy: fewer high-radius blurs, same premium character. */
body.v554 .glass-panel,
body.v554 .page-home .glass-panel {
  background:
    radial-gradient(ellipse at 16% -10%, rgba(255,255,255,.17), rgba(149,214,240,.055) 33%, transparent 52%),
    linear-gradient(146deg, rgba(68,120,151,.22), rgba(16,58,84,.40) 46%, rgba(2,22,44,.64));
  box-shadow:
    0 20px 46px rgba(0,5,18,.38),
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -18px 34px rgba(0,13,32,.12),
    0 0 24px rgba(31,169,217,.10);
  backdrop-filter: blur(var(--v554-glass-blur)) saturate(1.22);
  -webkit-backdrop-filter: blur(var(--v554-glass-blur)) saturate(1.22);
}
body.v554 .site-header,
body.v554 .page-home .site-header {
  background: linear-gradient(180deg, rgba(22,48,65,.56), rgba(2,20,36,.76));
  box-shadow: 0 12px 34px rgba(0,5,18,.38), inset 0 1px 0 rgba(255,255,255,.45);
  backdrop-filter: blur(var(--v554-header-blur)) saturate(1.24);
  -webkit-backdrop-filter: blur(var(--v554-header-blur)) saturate(1.24);
}
body.v554 .services-dropdown,
body.v554 .mobile-menu nav {
  backdrop-filter: blur(12px) saturate(1.18);
  -webkit-backdrop-filter: blur(12px) saturate(1.18);
}
body.v554 .orbit-card,
body.v554 .page-home .orbit-card {
  background:
    radial-gradient(ellipse at 18% -18%, rgba(255,255,255,.19), transparent 45%),
    linear-gradient(145deg, rgba(65,125,156,.23), rgba(11,59,89,.45) 48%, rgba(2,25,49,.66));
  box-shadow: 0 16px 34px rgba(0,6,20,.38), inset 0 1px 0 rgba(255,255,255,.48), 0 0 18px rgba(37,178,224,.10);
  backdrop-filter: blur(10px) saturate(1.18);
  -webkit-backdrop-filter: blur(10px) saturate(1.18);
}
body.v554 .orbit-core,
body.v554 .page-home .orbit-core {
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
}
body.v554 .button,
body.v554 .brand-mark,
body.v554 .page-home .brand-mark,
body.v554 .footer-brand .brand-mark,
body.v554 .cta-icon,
body.v554 .process-icon,
body.v554 .social-placeholders span,
body.v554 .category-note,
body.v554 .contact-form input,
body.v554 .contact-form select,
body.v554 .contact-form textarea {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.v554-service-detail .workflow-node {
  backdrop-filter: blur(7px) saturate(1.16);
  -webkit-backdrop-filter: blur(7px) saturate(1.16);
}
body.v554-service-detail .service-visual-caption {
  backdrop-filter: blur(9px) saturate(1.18);
  -webkit-backdrop-filter: blur(9px) saturate(1.18);
}
body.v554-contact .contact-form .floating-field > span {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Continuous motion is expensive on long pages. Keep interaction-based motion,
   but remove always-running animation loops. */
body.v554 .site-frame::before,
body.v554 .button-primary::before,
body.v554 .button-header::before,
body.v554 .v552-command-center,
body.v554-service-detail .service-visual-hud,
body.v554-service-detail .workflow-node,
body.v554-service-detail .service-process-panel ol::after {
  animation: none !important;
}
body.v554 .button-primary:hover::before,
body.v554 .button-header:hover::before {
  animation: none !important;
}

/* Cursor reflection remains, but with a lighter blend to reduce paint cost. */
body.v554 .v552-liquid::before {
  opacity: .48;
  mix-blend-mode: normal;
  background:
    radial-gradient(300px circle at var(--v552-reflect-x) var(--v552-reflect-y), rgba(255,255,255,.15), transparent 36%),
    linear-gradient(120deg, rgba(255,255,255,.04), transparent 32%, rgba(90,203,227,.04) 64%, transparent 84%);
}

/* Do not rasterize the entire long page up front. Chromium/Safari can skip
   off-screen layout/paint for sections below the fold. */
@supports (content-visibility: auto) {
  body.v554 main > section:not(:first-child),
  body.v554 main > .glass-panel:not(:first-child),
  body.v554 .footer-panel {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
  }
}

/* Mobile performance tier: the picture remains, but glass becomes translucent
   paint instead of expensive live backdrop blur. */
@media (max-width: 900px) {
  body.v554 { --v554-glass-blur: 0px; --v554-header-blur: 8px; }
  body.v554 .glass-panel,
  body.v554 .page-home .glass-panel,
  body.v554 .orbit-card,
  body.v554 .page-home .orbit-card,
  body.v554-service-detail .workflow-node,
  body.v554-service-detail .service-visual-caption {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.v554 .site-frame::before {
    filter: saturate(.68) brightness(.70) contrast(1.10) sepia(.07);
    background-position: 58% center;
  }
  body.v554 .v552-liquid::before { display: none; }
}

@media (max-width: 600px) {
  body.v554 .site-header,
  body.v554 .page-home .site-header {
    backdrop-filter: blur(6px) saturate(1.12);
    -webkit-backdrop-filter: blur(6px) saturate(1.12);
  }
}

/* --------------------------------------------------------------------------
   V5.5.5 — NEUTRAL TECHNOLOGY ENVIRONMENT + HOME PERFORMANCE FIX
   Applies the performance layer to the homepage as well as all internal pages,
   makes the server/operations photograph visibly photographic, reduces the
   site-wide blue cast, and lowers the hero hub glow without changing geometry.
   -------------------------------------------------------------------------- */

body.v555 {
  --v555-glass-blur: 8px;
  --v555-header-blur: 9px;
}

body.v555 .site-frame {
  background: #050a0f;
}

body.v555 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  background-position: center center;
  background-size: cover;
  filter: brightness(.92) contrast(1.06) saturate(.86);
  transform: none;
  animation: none !important;
}

body.v555 .site-frame::after,
body.v555 .site-frame.page-home::after {
  background:
    radial-gradient(circle at 84% 22%, rgba(203, 145, 82, .045), transparent 24%),
    radial-gradient(circle at 17% 32%, rgba(62, 180, 207, .035), transparent 28%),
    linear-gradient(180deg, rgba(3, 7, 11, .12), rgba(3, 8, 13, .28) 58%, rgba(2, 6, 11, .49));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Remove continuously moving decorative layers. The photograph supplies depth. */
body.v555 .v552-atmosphere,
body.v555 .v552-command-center {
  display: none !important;
}

/* Neutral glass: cyan remains an accent at borders/icons instead of tinting
   every surface. */
body.v555 .glass-panel,
body.v555 .page-home .glass-panel {
  background:
    radial-gradient(ellipse at 16% -10%, rgba(255,255,255,.14), transparent 39%),
    linear-gradient(146deg, rgba(45,54,61,.28), rgba(14,24,31,.48) 47%, rgba(3,12,20,.67));
  border-color: rgba(193, 228, 240, .49);
  box-shadow:
    0 18px 40px rgba(0,4,12,.35),
    inset 0 1px 0 rgba(255,255,255,.40),
    0 0 16px rgba(37,168,207,.065);
  backdrop-filter: blur(var(--v555-glass-blur)) saturate(1.08);
  -webkit-backdrop-filter: blur(var(--v555-glass-blur)) saturate(1.08);
}

body.v555 .site-header,
body.v555 .page-home .site-header {
  background: linear-gradient(180deg, rgba(18,24,29,.70), rgba(4,12,19,.80));
  border-bottom-color: rgba(169, 207, 220, .28);
  box-shadow: 0 10px 28px rgba(0,4,12,.34), inset 0 1px 0 rgba(255,255,255,.32);
  backdrop-filter: blur(var(--v555-header-blur)) saturate(1.08);
  -webkit-backdrop-filter: blur(var(--v555-header-blur)) saturate(1.08);
}

body.v555 .services-dropdown,
body.v555 .mobile-menu nav {
  background: rgba(6,14,21,.94);
  backdrop-filter: blur(8px) saturate(1.06);
  -webkit-backdrop-filter: blur(8px) saturate(1.06);
}

body.v555 .orbit-card,
body.v555 .page-home .orbit-card {
  background:
    radial-gradient(ellipse at 18% -18%, rgba(255,255,255,.14), transparent 44%),
    linear-gradient(145deg, rgba(43,55,64,.31), rgba(13,28,37,.50) 49%, rgba(3,17,28,.70));
  border-color: rgba(185, 225, 238, .50);
  box-shadow: 0 13px 28px rgba(0,5,15,.34), inset 0 1px 0 rgba(255,255,255,.36), 0 0 12px rgba(46,179,215,.06);
  backdrop-filter: blur(4px) saturate(1.06);
  -webkit-backdrop-filter: blur(4px) saturate(1.06);
}

/* The center hub was the brightest blue element in the live screenshot. Reduce
   bloom while preserving the approved circular geometry and brand artwork. */
body.v555 .orbit-core,
body.v555 .page-home .orbit-core {
  border-color: rgba(200, 236, 245, .52);
  background:
    radial-gradient(circle at 30% 17%, rgba(255,255,255,.47), rgba(127,188,204,.25) 25%, rgba(31,92,119,.20) 53%, rgba(3,20,31,.30) 70%, transparent 72%);
  box-shadow:
    0 18px 42px rgba(0,7,19,.42),
    inset 0 8px 18px rgba(255,255,255,.18),
    inset 0 -20px 34px rgba(0,13,30,.20),
    0 0 19px rgba(38,188,225,.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: drop-shadow(0 0 4px rgba(40,190,225,.16));
}

body.v555 .orbit-core img,
body.v555 .page-home .orbit-core img {
  filter: drop-shadow(0 0 4px rgba(34,184,220,.19));
}

body.v555 .orbit-ring,
body.v555 .page-home .orbit-ring {
  border-color: rgba(96, 205, 232, .58);
  box-shadow: 0 0 7px rgba(46,184,218,.16), inset 0 0 6px rgba(55,196,224,.11);
}

body.v555 .orbit-axis,
body.v555 .page-home .orbit-axis {
  opacity: .60;
  box-shadow: 0 0 4px rgba(74,205,230,.18);
}

/* Keep accents vivid but stop bloom from coloring large portions of the page. */
body.v555 .button-primary,
body.v555 .button-header {
  box-shadow: 0 8px 24px rgba(0,48,76,.24), 0 0 12px rgba(33,178,222,.16);
}

body.v555 .brand-mark img,
body.v555 .page-home .brand-mark img,
body.v555 .footer-brand .brand-mark img,
body.v555 .page-home .footer-brand .brand-mark img {
  filter: drop-shadow(0 0 4px rgba(43,185,220,.22));
}

/* Reflections are retained only where they add value. Orbit-card reflections
   create many repaints during mouse movement and are disabled for speed. */
body.v555 .orbit-card.v552-liquid::before {
  display: none !important;
}
body.v555 .v552-liquid::before {
  opacity: .34;
  mix-blend-mode: normal;
  background:
    radial-gradient(260px circle at var(--v552-reflect-x) var(--v552-reflect-y), rgba(255,255,255,.10), transparent 36%),
    linear-gradient(120deg, rgba(255,255,255,.025), transparent 33%, rgba(85,188,211,.025) 64%, transparent 84%);
}

body.v555 .button,
body.v555 .brand-mark,
body.v555 .footer-brand .brand-mark,
body.v555 .cta-icon,
body.v555 .process-icon,
body.v555 .social-placeholders span,
body.v555 .category-note,
body.v555 .contact-form input,
body.v555 .contact-form select,
body.v555 .contact-form textarea,
body.v555 .orbit-core {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.v555.v552-service-detail .workflow-node {
  backdrop-filter: blur(4px) saturate(1.05);
  -webkit-backdrop-filter: blur(4px) saturate(1.05);
}
body.v555.v552-service-detail .service-visual-caption {
  backdrop-filter: blur(6px) saturate(1.06);
  -webkit-backdrop-filter: blur(6px) saturate(1.06);
}

/* Apply the performance rules to the homepage too. Previous V5.5.4 homepage
   referenced the old V5.5.2 stylesheet, so these optimizations never ran there. */
body.v555 .site-frame::before,
body.v555 .button-primary::before,
body.v555 .button-header::before,
body.v555.v552-service-detail .service-visual-hud,
body.v555.v552-service-detail .workflow-node,
body.v555.v552-service-detail .service-process-panel ol::after {
  animation: none !important;
}
body.v555 .button-primary:hover::before,
body.v555 .button-header:hover::before {
  animation: none !important;
}

@supports (content-visibility: auto) {
  body.v555 main > section:not(:first-child),
  body.v555 main > .glass-panel:not(:first-child),
  body.v555 .footer-panel {
    content-visibility: auto;
    contain-intrinsic-size: 1px 500px;
  }
}

@media (max-width: 900px) {
  body.v555 { --v555-glass-blur: 0px; --v555-header-blur: 5px; }
  body.v555 .glass-panel,
  body.v555 .page-home .glass-panel,
  body.v555 .orbit-card,
  body.v555 .page-home .orbit-card,
  body.v555.v552-service-detail .workflow-node,
  body.v555.v552-service-detail .service-visual-caption {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.v555 .site-frame::before {
    filter: brightness(.80) contrast(1.06) saturate(.78);
    background-position: 56% center;
  }
  body.v555 .site-frame::after,
  body.v555 .site-frame.page-home::after {
    background: linear-gradient(180deg, rgba(3,7,11,.22), rgba(2,7,12,.46) 65%, rgba(2,5,9,.66));
  }
  body.v555 .v552-liquid::before { display: none !important; }
}

@media (max-width: 600px) {
  body.v555 .site-header,
  body.v555 .page-home .site-header {
    backdrop-filter: blur(4px) saturate(1.04);
    -webkit-backdrop-filter: blur(4px) saturate(1.04);
  }
}

/* --------------------------------------------------------------------------
   V5.5.6 — PHOTOGRAPH-FIRST TECHNOLOGY ENVIRONMENT
   Targeted correction only: geometry/content remain unchanged. This layer removes
   the remaining site-wide blue wash, reveals the technology photograph, neutralizes
   glass surfaces, and further reduces hero hub bloom and rendering work.
   -------------------------------------------------------------------------- */

body.v556 {
  --v556-glass-blur: 5px;
  --v556-header-blur: 6px;
}

body.v556 .site-frame {
  background: #07090b;
}

body.v556 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  background-position: center center;
  background-size: cover;
  filter: brightness(1.01) contrast(1.06) saturate(.90);
  opacity: 1;
  transform: none;
  animation: none !important;
}

/* Photograph first: only a restrained neutral readability veil, no cyan wash. */
body.v556 .site-frame::after,
body.v556 .site-frame.page-home::after {
  background: linear-gradient(180deg, rgba(4,5,6,.035), rgba(4,6,8,.105) 56%, rgba(3,5,7,.23));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Remove the blue command-center grid/glow from the homepage itself. */
body.v556.v552-home .home-hero::before {
  display: none !important;
}
body.v556.v552-home .home-hero::after {
  opacity: .22;
  background: linear-gradient(90deg, transparent, rgba(125,220,236,.34), transparent);
  box-shadow: 0 0 8px rgba(80,192,216,.10);
  animation: none !important;
}

/* Neutral smoked glass: photographic environment should remain readable through it. */
body.v556 .glass-panel,
body.v556 .page-home .glass-panel {
  background:
    linear-gradient(150deg, rgba(255,255,255,.075), rgba(36,40,43,.28) 34%, rgba(9,12,15,.52) 100%);
  border-color: rgba(211,226,231,.38);
  box-shadow:
    0 13px 28px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.25);
  backdrop-filter: blur(var(--v556-glass-blur)) saturate(1.01);
  -webkit-backdrop-filter: blur(var(--v556-glass-blur)) saturate(1.01);
}

body.v556 .site-header,
body.v556 .page-home .site-header {
  background: linear-gradient(180deg, rgba(17,19,21,.76), rgba(7,9,11,.82));
  border-bottom-color: rgba(205,220,225,.22);
  box-shadow: 0 8px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter: blur(var(--v556-header-blur)) saturate(1.01);
  -webkit-backdrop-filter: blur(var(--v556-header-blur)) saturate(1.01);
}

body.v556 .services-dropdown,
body.v556 .mobile-menu nav {
  background: rgba(8,10,12,.96);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

body.v556 .orbit-card,
body.v556 .page-home .orbit-card {
  background:
    linear-gradient(150deg, rgba(255,255,255,.075), rgba(35,39,42,.28) 38%, rgba(8,12,15,.60));
  border-color: rgba(207,226,231,.40);
  box-shadow: 0 10px 22px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter: blur(2px) saturate(1.01);
  -webkit-backdrop-filter: blur(2px) saturate(1.01);
}

/* Keep the branded blue artwork itself intact, but remove the halo that was tinting the hero. */
body.v556 .orbit-core,
body.v556 .page-home .orbit-core {
  border-color: rgba(205,230,235,.42);
  background: radial-gradient(circle at 35% 20%, rgba(255,255,255,.15), rgba(30,38,42,.12) 34%, rgba(5,10,13,.18) 64%, transparent 72%);
  box-shadow:
    0 13px 28px rgba(0,0,0,.32),
    inset 0 4px 11px rgba(255,255,255,.08),
    inset 0 -10px 18px rgba(0,0,0,.10);
  filter: none;
}
body.v556 .orbit-core img,
body.v556 .page-home .orbit-core img {
  filter: none;
}
body.v556 .orbit-ring,
body.v556 .page-home .orbit-ring {
  border-color: rgba(89,193,216,.46);
  box-shadow: 0 0 3px rgba(61,183,207,.08);
}
body.v556 .orbit-axis,
body.v556 .page-home .orbit-axis {
  opacity: .40;
  box-shadow: none;
}

/* Keep cyan as a small UI accent, not an environmental tint. */
body.v556 .button-primary,
body.v556 .button-header {
  box-shadow: 0 7px 18px rgba(0,28,42,.20), 0 0 7px rgba(39,183,216,.10);
}
body.v556 .brand-mark img,
body.v556 .page-home .brand-mark img,
body.v556 .footer-brand .brand-mark img,
body.v556 .page-home .footer-brand .brand-mark img {
  filter: none;
}

/* Cursor reflection becomes a very faint neutral highlight. */
body.v556 .v552-liquid::before {
  opacity: .20;
  background:
    radial-gradient(220px circle at var(--v552-reflect-x) var(--v552-reflect-y), rgba(255,255,255,.075), transparent 38%),
    linear-gradient(120deg, rgba(255,255,255,.018), transparent 34%, rgba(255,255,255,.012) 66%, transparent 84%);
}

/* Service pages retain their individual accents only inside their service-specific objects. */
body.v556.v552-service-detail .service-hero {
  background:
    radial-gradient(circle at 12% 4%, rgba(255,255,255,.10), transparent 28%),
    radial-gradient(circle at 88% 76%, rgb(var(--v552-accent) / .08), transparent 31%),
    linear-gradient(145deg, rgba(34,39,42,.31), rgba(9,15,19,.59) 55%, rgba(4,9,13,.75));
  border-color: rgb(var(--v552-accent) / .32);
}
body.v556.v552-service-detail .service-hero::after {
  border-color: rgb(var(--v552-accent) / .22);
  box-shadow: 0 0 20px rgb(var(--v552-accent) / .06), inset 0 0 16px rgba(255,255,255,.025);
}

/* Performance: no pointer-driven effect is required on orbit cards or generic cards. */
body.v556 .orbit-card.v552-liquid::before,
body.v556 .service-card.v552-liquid::before {
  display: none !important;
}

@media (max-width: 900px) {
  body.v556 { --v556-glass-blur: 0px; --v556-header-blur: 3px; }
  body.v556 .site-frame::before {
    filter: brightness(.88) contrast(1.05) saturate(.84);
    background-position: 54% center;
  }
  body.v556 .site-frame::after,
  body.v556 .site-frame.page-home::after {
    background: linear-gradient(180deg, rgba(4,5,6,.10), rgba(3,5,7,.24) 62%, rgba(2,4,6,.42));
  }
  body.v556 .glass-panel,
  body.v556 .page-home .glass-panel,
  body.v556 .orbit-card,
  body.v556 .page-home .orbit-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.v556 .v552-liquid::before { display: none !important; }
}

@media (max-width: 600px) {
  body.v556 .site-header,
  body.v556 .page-home .site-header {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }
}

/* --------------------------------------------------------------------------
   V5.5.7 — BRIGHTNESS + DEPTH BALANCE
   Targeted correction only. Approved geometry/content stay unchanged.
   The photograph is lifted in the midtones, glass is clearer and brighter,
   cyan remains an interface accent, and subtle warm practical light restores
   dimensionality without returning to a blue environmental wash.
   -------------------------------------------------------------------------- */

body.v557 {
  --v557-glass-blur: 4px;
  --v557-header-blur: 5px;
}

body.v557 .site-frame {
  background: #0a0b0c;
}

body.v557 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  background-position: center center;
  background-size: cover;
  filter: brightness(1.07) contrast(1.02) saturate(.96);
  opacity: 1;
  animation: none !important;
  transform: none;
}

/* Restore depth with warm practical-light ambience rather than a blue veil. */
body.v557 .site-frame::after,
body.v557 .site-frame.page-home::after {
  background:
    radial-gradient(circle at 34% 36%, rgba(255, 183, 105, .075), transparent 28%),
    radial-gradient(circle at 78% 66%, rgba(255, 202, 132, .040), transparent 24%),
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.025), transparent 22%),
    linear-gradient(180deg, rgba(4,5,6,.015), rgba(4,6,7,.055) 54%, rgba(3,5,6,.13));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Brighter neutral glass: photograph remains readable through each surface. */
body.v557 .glass-panel,
body.v557 .page-home .glass-panel {
  background:
    linear-gradient(150deg, rgba(255,255,255,.105), rgba(47,49,50,.20) 34%, rgba(8,10,12,.43) 100%);
  border-color: rgba(221,236,240,.48);
  box-shadow:
    0 12px 26px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.34),
    0 0 8px rgba(75,196,220,.045);
  backdrop-filter: blur(var(--v557-glass-blur)) saturate(1.02);
  -webkit-backdrop-filter: blur(var(--v557-glass-blur)) saturate(1.02);
}

body.v557 .site-header,
body.v557 .page-home .site-header {
  background: linear-gradient(180deg, rgba(18,19,20,.69), rgba(7,9,10,.75));
  border-bottom-color: rgba(219,233,237,.27);
  box-shadow: 0 7px 19px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.26);
  backdrop-filter: blur(var(--v557-header-blur)) saturate(1.01);
  -webkit-backdrop-filter: blur(var(--v557-header-blur)) saturate(1.01);
}

body.v557 .orbit-card,
body.v557 .page-home .orbit-card {
  background:
    linear-gradient(150deg, rgba(255,255,255,.11), rgba(44,46,47,.20) 38%, rgba(7,10,12,.47));
  border-color: rgba(219,237,241,.50);
  box-shadow:
    0 9px 20px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.31);
  backdrop-filter: blur(1.5px) saturate(1.01);
  -webkit-backdrop-filter: blur(1.5px) saturate(1.01);
}

/* Service-specific icon color creates energy without recoloring the environment. */
body.v557.v552-home .orbit-card.top-left svg { color: #3ad7ef; }
body.v557.v552-home .orbit-card.middle-left svg { color: #43dfc3; }
body.v557.v552-home .orbit-card.bottom-left svg { color: #a786ff; }
body.v557.v552-home .orbit-card.top-right svg { color: #54c9ff; }
body.v557.v552-home .orbit-card.middle-right svg { color: #f5b84d; }
body.v557.v552-home .orbit-card.bottom-right svg { color: #f06bb2; }
body.v557.v552-home .orbit-card svg {
  filter: drop-shadow(0 0 5px currentColor);
}

/* Metallic/specular hub treatment: less blue bloom, more dimensional contrast. */
body.v557 .orbit-core,
body.v557 .page-home .orbit-core {
  border-color: rgba(225,239,242,.50);
  background:
    radial-gradient(circle at 31% 18%, rgba(255,255,255,.23), rgba(210,226,229,.07) 27%, rgba(25,30,32,.08) 54%, rgba(4,7,9,.12) 70%, transparent 73%);
  box-shadow:
    0 12px 27px rgba(0,0,0,.29),
    inset 0 4px 10px rgba(255,255,255,.11),
    inset 0 -10px 18px rgba(0,0,0,.08),
    0 0 5px rgba(52,183,208,.055);
  filter: none;
}
body.v557 .orbit-core img,
body.v557 .page-home .orbit-core img {
  filter: brightness(1.04) contrast(1.04) saturate(.93);
}
body.v557 .orbit-ring,
body.v557 .page-home .orbit-ring {
  border-color: rgba(96,201,220,.48);
  box-shadow: 0 0 3px rgba(59,186,210,.08);
}
body.v557 .orbit-axis,
body.v557 .page-home .orbit-axis {
  opacity: .43;
  box-shadow: none;
}

/* Bring the hero/stats forward without reintroducing large-area glow. */
body.v557 .hero-copy h1 {
  text-shadow: 0 3px 15px rgba(0,0,0,.48);
}
body.v557 .hero-copy p {
  color: #f2f5f6;
  text-shadow: 0 2px 9px rgba(0,0,0,.46);
}
body.v557 .stats-panel {
  background: linear-gradient(150deg, rgba(255,255,255,.12), rgba(43,45,46,.23) 38%, rgba(8,10,12,.43));
  border-color: rgba(223,237,241,.50);
  box-shadow: 0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.32);
}
body.v557 .stats-panel svg {
  filter: drop-shadow(0 0 5px rgba(48,201,231,.24));
}
body.v557 .stats-panel strong {
  text-shadow: 0 0 7px rgba(38,201,228,.13);
}

/* CTA stays vivid and crisp while the environment remains neutral. */
body.v557 .button-primary,
body.v557 .button-header {
  box-shadow: 0 7px 16px rgba(0,31,43,.19), 0 0 8px rgba(38,190,218,.12);
}

/* Keep generic pointer reflection extremely lightweight. */
body.v557 .v552-liquid::before {
  opacity: .16;
  background:
    radial-gradient(190px circle at var(--v552-reflect-x) var(--v552-reflect-y), rgba(255,255,255,.07), transparent 39%),
    linear-gradient(120deg, rgba(255,255,255,.014), transparent 34%, rgba(255,255,255,.01) 66%, transparent 84%);
}

@media (max-width: 900px) {
  body.v557 { --v557-glass-blur: 0px; --v557-header-blur: 4px; }
  body.v557 .glass-panel,
  body.v557 .page-home .glass-panel,
  body.v557 .orbit-card,
  body.v557 .page-home .orbit-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.v557 .site-frame::before {
    filter: brightness(1.00) contrast(1.02) saturate(.93);
    background-position: 55% center;
  }
  body.v557 .site-frame::after,
  body.v557 .site-frame.page-home::after {
    background:
      radial-gradient(circle at 35% 30%, rgba(255,185,110,.045), transparent 28%),
      linear-gradient(180deg, rgba(4,5,6,.05), rgba(3,5,6,.18) 68%, rgba(2,4,5,.32));
  }
}


/* ========================================================================== 
   V5.6.0 — APPLE OS / LIQUID GLASS MATERIAL PASS
   Luminous neutral glass, environmental color refraction, restrained glow,
   floating navigation and performance-aware interaction. Geometry/content
   remain unchanged except for the header's floating material treatment.
   ========================================================================== */
body.v560 {
  --radius: 26px;
  --v552-glass-r: 26px;
  --v560-glass-border: rgba(255,255,255,.42);
  --v560-glass-border-soft: rgba(255,255,255,.24);
  --v560-glass-shadow: 0 18px 52px rgba(27,32,69,.20), inset 0 1px 0 rgba(255,255,255,.62), inset 0 -1px 0 rgba(117,95,194,.12);
  --v560-spring: cubic-bezier(.2,.8,.2,1);
  --v557-glass-blur: 18px;
  --v557-header-blur: 26px;
  --white: #fff;
  --muted: #e8ecf8;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.v560,
body.v560 button,
body.v560 input,
body.v560 select,
body.v560 textarea { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Arial, sans-serif; }

body.v560 .site-frame { background: #7799d5; }
body.v560 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  background-position: center center;
  background-size: cover;
  filter: brightness(.96) contrast(1.015) saturate(1.09);
  opacity: 1;
  transform: scale(1.008);
  animation: none !important;
}
body.v560 .site-frame::after,
body.v560 .site-frame.page-home::after {
  background:
    radial-gradient(circle at 15% 20%, rgba(24,33,78,.12), transparent 34%),
    radial-gradient(circle at 84% 72%, rgba(67,48,113,.08), transparent 30%),
    linear-gradient(180deg, rgba(20,25,58,.08), rgba(19,25,58,.15) 58%, rgba(13,18,43,.25));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Core glass material: neutral enough to inherit cyan/lilac/pink from wallpaper. */
body.v560 .glass-panel,
body.v560 .page-home .glass-panel {
  border: 1px solid var(--v560-glass-border);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.19) 0%, rgba(255,255,255,.095) 25%, rgba(31,37,68,.25) 66%, rgba(21,27,55,.34) 100%);
  box-shadow: var(--v560-glass-shadow);
  backdrop-filter: blur(18px) saturate(1.34) brightness(1.03);
  -webkit-backdrop-filter: blur(18px) saturate(1.34) brightness(1.03);
}

/* Fine edge refraction without a neon outline. */
body.v560 .glass-panel,
body.v560 .orbit-card,
body.v560 .header-inner,
body.v560 .services-dropdown,
body.v560 .mobile-menu nav {
  border-color: rgba(255,255,255,.40);
  box-shadow:
    0 16px 44px rgba(24,29,63,.18),
    inset 0 1px 0 rgba(255,255,255,.62),
    inset 1px 0 0 rgba(220,245,255,.16),
    inset -1px 0 0 rgba(220,205,255,.10),
    inset 0 -1px 0 rgba(90,68,157,.13);
}

/* Floating OS-style header: the sticky layer is invisible; the shell is glass. */
body.v560 .site-header,
body.v560 .page-home .site-header {
  min-height: var(--header-height);
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.v560 .header-inner {
  position: relative;
  min-height: 78px;
  margin-top: 9px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(30,35,66,.31));
  box-shadow: 0 15px 42px rgba(20,25,58,.18), inset 0 1px 0 rgba(255,255,255,.68), inset 0 -1px 0 rgba(97,76,166,.12);
  backdrop-filter: blur(26px) saturate(1.42) brightness(1.035);
  -webkit-backdrop-filter: blur(26px) saturate(1.42) brightness(1.035);
}
body.v560 .brand-mark {
  flex-basis: 62px;
  width: 62px;
  height: 62px;
  border: 1px solid rgba(255,255,255,.44);
  background: rgba(255,255,255,.09);
  box-shadow: 0 7px 20px rgba(24,32,78,.17), inset 0 1px 0 rgba(255,255,255,.58);
}
body.v560 .brand-mark img {
  inset: 4px auto auto 2px;
  width: 57px;
  height: 51px;
  filter: saturate(.94) brightness(1.05);
}
body.v560 .brand-link {
  gap: 13px;
  font-weight: 650;
  letter-spacing: -.018em;
  text-shadow: 0 2px 12px rgba(19,25,60,.22);
}

/* Navigation becomes a quiet glass segmented control. */
body.v560 .desktop-nav {
  gap: clamp(18px, 2.15vw, 40px);
  font-size: .95rem;
  font-weight: 620;
  letter-spacing: -.01em;
  text-transform: none;
}
body.v560 .desktop-nav > a,
body.v560 .nav-services > summary {
  z-index: 1;
  padding: 29px 0 27px;
  color: rgba(255,255,255,.92);
  text-shadow: 0 1px 10px rgba(23,29,66,.16);
  transition: color 220ms var(--v560-spring), opacity 220ms var(--v560-spring);
}
body.v560 .desktop-nav > a:hover,
body.v560 .desktop-nav > a.active,
body.v560 .nav-services:hover > summary,
body.v560 .nav-services.active > summary,
body.v560 .nav-services[open] > summary {
  color: #fff;
  text-shadow: none;
}
body.v560 .desktop-nav > a::after,
body.v560 .nav-services > summary::after { display: none; }
body.v560 .desktop-nav .nav-indicator {
  top: 50%;
  bottom: auto;
  z-index: 0;
  height: 36px;
  margin-top: -18px;
  border: 1px solid rgba(255,255,255,.27);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,.075));
  box-shadow: 0 5px 17px rgba(25,30,70,.13), inset 0 1px 0 rgba(255,255,255,.48);
  transition: transform 360ms var(--v560-spring), width 360ms var(--v560-spring), opacity 180ms ease;
}
body.v560 .services-dropdown,
body.v560 .mobile-menu nav {
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(28,34,65,.58));
  box-shadow: 0 24px 58px rgba(21,26,62,.25), inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter: blur(28px) saturate(1.4);
  -webkit-backdrop-filter: blur(28px) saturate(1.4);
}
body.v560 .services-dropdown a {
  border-radius: 15px;
  transition: background 220ms var(--v560-spring), transform 220ms var(--v560-spring), border-color 220ms ease;
}
body.v560 .services-dropdown a:hover {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.10);
  transform: translateY(-1px);
}
body.v560 .services-dropdown svg { filter: none; }

/* Apple-like control behavior: restrained material, tiny lift, physical press. */
body.v560 .button {
  min-height: 48px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 16px;
  font-weight: 650;
  letter-spacing: -.006em;
  text-transform: none;
  box-shadow: 0 8px 20px rgba(27,34,81,.14), inset 0 1px 0 rgba(255,255,255,.38);
  transition: transform 240ms var(--v560-spring), background 240ms var(--v560-spring), border-color 240ms ease, box-shadow 240ms var(--v560-spring);
}
body.v560 .button:hover { transform: translateY(-1px) scale(1.015); }
body.v560 .button:active { transform: translateY(0) scale(.975); transition-duration: 90ms; }
body.v560 .button-primary,
body.v560 .button-header {
  border-color: rgba(255,255,255,.34);
  background: linear-gradient(180deg, rgba(74,132,255,.96), rgba(48,94,224,.95));
  box-shadow: 0 9px 22px rgba(42,76,178,.24), inset 0 1px 0 rgba(255,255,255,.40);
}
body.v560 .button-primary:hover,
body.v560 .button-header:hover {
  background: linear-gradient(180deg, rgba(86,144,255,.98), rgba(53,103,235,.96));
  box-shadow: 0 12px 26px rgba(44,75,177,.25), inset 0 1px 0 rgba(255,255,255,.48);
}
body.v560 .button-secondary,
body.v560 .button-quiet {
  background: linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.075));
  box-shadow: 0 8px 20px rgba(23,29,67,.13), inset 0 1px 0 rgba(255,255,255,.40);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
}
body.v560 .button-secondary:hover,
body.v560 .button-quiet:hover {
  border-color: rgba(255,255,255,.48);
  background: linear-gradient(180deg, rgba(255,255,255,.21), rgba(255,255,255,.10));
  box-shadow: 0 11px 24px rgba(25,31,70,.16), inset 0 1px 0 rgba(255,255,255,.48);
}
body.v560 .button-primary::before,
body.v560 .button-header::before { display: none !important; animation: none !important; }

/* Marketing typography becomes calmer and more system-like. */
body.v560 .hero-copy h1 {
  width: 100%;
  transform: none;
  color: #fff;
  font-weight: 720;
  letter-spacing: -.048em;
  line-height: .99;
  text-transform: none;
  text-shadow: 0 4px 28px rgba(25,31,68,.30);
}
body.v560 .hero-copy h1 span {
  color: #fff;
  background: linear-gradient(90deg, #ffffff 5%, #c8f4ff 42%, #e5d7ff 92%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
body.v560 .hero-copy p {
  color: rgba(255,255,255,.94);
  text-shadow: 0 2px 14px rgba(23,29,67,.32);
}
body.v560 .page-intro h1,
body.v560 .service-hero h1 { letter-spacing: -.035em; text-shadow: 0 3px 22px rgba(24,30,68,.28); }
body.v560 .page-intro > p { color: rgba(255,255,255,.91); }

/* Homepage orbit: transparent glass medallion + quieter physical connectors. */
body.v560 .orbit-core,
body.v560 .page-home .orbit-core {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.46);
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.17), rgba(42,49,89,.26));
  box-shadow: 0 22px 50px rgba(28,35,84,.20), inset 0 1px 0 rgba(255,255,255,.62), inset 0 -1px 0 rgba(101,77,180,.18);
  backdrop-filter: blur(24px) saturate(1.4) brightness(1.04);
  -webkit-backdrop-filter: blur(24px) saturate(1.4) brightness(1.04);
}
body.v560 .orbit-core img,
body.v560 .page-home .orbit-core img {
  box-sizing: border-box;
  padding: 9px;
  filter: brightness(1.06) contrast(1.02) saturate(.94);
}
body.v560 .orbit-ring,
body.v560 .page-home .orbit-ring {
  border-color: rgba(238,247,255,.38);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 0 7px rgba(210,226,255,.07);
}
body.v560 .ring-two { border-color: rgba(218,205,255,.34); }
body.v560 .orbit-axis,
body.v560 .page-home .orbit-axis {
  height: 1px;
  opacity: .34;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.36) 16%, rgba(210,243,255,.56) 50%, rgba(239,220,255,.35) 84%, transparent);
  box-shadow: none;
}
body.v560 .orbit-card,
body.v560 .page-home .orbit-card {
  border: 1px solid rgba(255,255,255,.40);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.075) 34%, rgba(35,42,79,.27));
  box-shadow: 0 14px 34px rgba(26,32,75,.17), inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(109,85,187,.10);
  backdrop-filter: blur(18px) saturate(1.34) brightness(1.03);
  -webkit-backdrop-filter: blur(18px) saturate(1.34) brightness(1.03);
  transition: transform 300ms var(--v560-spring), background 260ms var(--v560-spring), border-color 260ms ease, box-shadow 260ms var(--v560-spring);
}
body.v560 .orbit-card:hover,
body.v560 .page-home .orbit-card:hover {
  border-color: rgba(255,255,255,.60);
  background: linear-gradient(145deg, rgba(255,255,255,.25), rgba(255,255,255,.10) 38%, rgba(39,46,86,.29));
  box-shadow: 0 19px 42px rgba(26,32,75,.20), inset 0 1px 0 rgba(255,255,255,.72);
}
body.v560.v552-home .orbit-card svg { filter: none; opacity: .95; }

/* Cards respond with depth rather than neon bloom. */
body.v560 .mini-service-card,
body.v560 .service-detail-card,
body.v560 .product-card,
body.v560 .related-service-grid > a,
body.v560 .service-process-panel li,
body.v560 .service-expectation-grid article {
  transition: transform 280ms var(--v560-spring), border-color 260ms ease, box-shadow 280ms var(--v560-spring), background 280ms var(--v560-spring);
}
body.v560 .mini-service-card:hover,
body.v560 .service-detail-card:hover,
body.v560 .product-card:hover,
body.v560 .related-service-grid > a:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.56);
  box-shadow: 0 20px 44px rgba(27,32,72,.20), inset 0 1px 0 rgba(255,255,255,.68);
}
body.v560 .mini-service-card svg,
body.v560 .service-detail-card > svg,
body.v560 .stats-panel svg { filter: none; }

/* Stats/CTA lose the old electric cyan treatment. */
body.v560 .stats-panel {
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.075) 35%, rgba(31,38,72,.28));
  border-color: rgba(255,255,255,.40);
}
body.v560 .stats-panel article + article,
body.v560 .credibility-strip article + article { border-left-color: rgba(255,255,255,.20); }
body.v560 .stats-panel strong { color: #fff; text-shadow: none; }
body.v560 .stats-panel span { color: rgba(255,255,255,.88); }
body.v560 .cta-copy h2 { color: #fff; }

/* Service/product hero layers become environmental glass, retaining only a tint of each accent. */
body.v560.v552-service-detail .service-hero {
  border-color: rgba(255,255,255,.42);
  background:
    radial-gradient(circle at 12% 5%, rgba(255,255,255,.20), transparent 31%),
    radial-gradient(circle at 90% 76%, rgb(var(--v552-accent) / .10), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(31,38,72,.29));
  box-shadow: 0 20px 54px rgba(25,31,73,.19), inset 0 1px 0 rgba(255,255,255,.58);
}
body.v560.v552-service-detail .service-hero::after {
  border-color: rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
}
body.v560.v552-service-detail .service-hero-icon {
  border-color: rgba(255,255,255,.34);
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
  box-shadow: 0 12px 30px rgba(25,32,77,.16), inset 0 1px 0 rgba(255,255,255,.52);
}
body.v560.v552-service-detail .workflow-node,
body.v560.v552-service-detail .service-visual-caption {
  border-color: rgba(255,255,255,.31);
  background: rgba(32,39,74,.31);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30);
}

/* Cursor specular reflection is broad and faint, like polished glass—not a glow dot. */
body.v560 .v552-liquid::before {
  display: block;
  opacity: .22;
  background:
    radial-gradient(520px circle at var(--v552-reflect-x) var(--v552-reflect-y), rgba(255,255,255,.16), transparent 38%),
    linear-gradient(118deg, rgba(255,255,255,.035), transparent 30%, rgba(228,239,255,.035) 58%, transparent 82%);
  mix-blend-mode: screen;
  transition: opacity 220ms ease;
}
body.v560 .orbit-card.v552-liquid::before,
body.v560 .service-card.v552-liquid::before { display: block !important; }

/* No large-area neon motion. */
body.v560.v552-home .home-hero::after { opacity: .10; box-shadow: none; }
body.v560 .service-page-cta::after { opacity: .28; animation-duration: 12s; }

body.v560 :focus-visible {
  outline: 2px solid rgba(255,255,255,.88);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px rgba(80,126,255,.22);
}

/* Mobile/tablet: preserve the material identity with much cheaper blur. */
@media (max-width: 900px) {
  body.v560 { --v557-glass-blur: 7px; --v557-header-blur: 14px; }
  body.v560 .site-frame::before {
    filter: brightness(.93) contrast(1.01) saturate(1.06);
    background-position: center center;
    transform: none;
  }
  body.v560 .site-frame::after,
  body.v560 .site-frame.page-home::after {
    background: linear-gradient(180deg, rgba(20,25,58,.10), rgba(15,20,48,.23));
  }
  body.v560 .glass-panel,
  body.v560 .page-home .glass-panel {
    background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(30,37,70,.36));
    backdrop-filter: blur(7px) saturate(1.16) !important;
    -webkit-backdrop-filter: blur(7px) saturate(1.16) !important;
  }
  body.v560 .header-inner {
    margin-top: 7px;
    min-height: 74px;
    border-radius: 22px;
    backdrop-filter: blur(14px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
  }
  body.v560 .orbit-card,
  body.v560 .page-home .orbit-card {
    backdrop-filter: blur(6px) saturate(1.14) !important;
    -webkit-backdrop-filter: blur(6px) saturate(1.14) !important;
  }
  body.v560 .orbit-core,
  body.v560 .page-home .orbit-core {
    backdrop-filter: blur(9px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(9px) saturate(1.18) !important;
  }
  body.v560 .services-dropdown,
  body.v560 .mobile-menu nav {
    backdrop-filter: blur(12px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.18) !important;
  }
  body.v560 .button-secondary,
  body.v560 .button-quiet { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.v560 .button,
  body.v560 .orbit-card,
  body.v560 .desktop-nav .nav-indicator,
  body.v560 .mini-service-card,
  body.v560 .service-detail-card { transition-duration: .01ms !important; }
  body.v560 .service-page-cta::after { animation: none !important; }
}


/* ========================================================================== 
   V5.6.1 — APPLE OS REFINEMENT PASS
   Adaptive glass luminance, macOS segmented tool switcher,
   dimensional glass icon tiles and an
   iOS-style mobile navigation sheet. Keeps V5.6.0 geometry and content.
   ========================================================================== */
body.v561 {
  --v561-context-light: .12;
  --v561-sheet-ease: cubic-bezier(.16,.82,.24,1);
}

/* Environmental background remains static while the page scrolls. */
body.v561 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v563.webp");
  transform: scale(1.04);
  transform-origin: center center;
}
body.v561 .site-frame::after,
body.v561 .site-frame.page-home::after {
  background:
    radial-gradient(circle at 17% 21%, rgba(255,255,255,.035), transparent 31%),
    radial-gradient(circle at 79% 64%, rgba(160,122,255,.035), transparent 34%),
    linear-gradient(180deg, rgba(25,31,70,.055), rgba(18,24,59,.13) 61%, rgba(14,19,46,.22));
}

/* 2) Context-aware glass brightness. JavaScript supplies a small alpha value
      based on where each visible surface sits over the fixed wallpaper. */
body.v561 .glass-panel,
body.v561 .page-home .glass-panel {
  background:
    radial-gradient(circle at 18% 7%, rgba(255,255,255,var(--v561-context-light,.12)), transparent 33%),
    linear-gradient(145deg, rgba(255,255,255,.175), rgba(255,255,255,.082) 28%, rgba(35,40,73,.225) 68%, rgba(22,28,57,.315));
  box-shadow:
    0 18px 48px rgba(29,34,73,.17),
    inset 0 1px 0 rgba(255,255,255,.64),
    inset 1px 0 0 rgba(221,245,255,.14),
    inset -1px 0 0 rgba(235,217,255,.11),
    inset 0 -1px 0 rgba(92,72,158,.11);
}
body.v561 .header-inner,
body.v561 .orbit-card,
body.v561 .service-switcher,
body.v561 .services-dropdown,
body.v561 .mobile-menu nav {
  --v561-context-light: .15;
}

/* 3) macOS-style segmented control specifically for the RIKA product pages. */
body.v561.service-theme-tools .service-switcher {
  position: sticky;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  width: min(760px, 100%);
  padding: 6px;
  border: 1px solid rgba(255,255,255,.39);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(31,36,69,.28));
  box-shadow: 0 12px 34px rgba(26,31,69,.15), inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter: blur(22px) saturate(1.32) brightness(1.03);
  -webkit-backdrop-filter: blur(22px) saturate(1.32) brightness(1.03);
  overflow: hidden;
}
body.v561.service-theme-tools .service-switcher a {
  position: relative;
  z-index: 2;
  min-height: 42px;
  padding: 7px 12px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  box-shadow: none;
  color: rgba(255,255,255,.78);
  font-size: .78rem;
  font-weight: 640;
  letter-spacing: -.006em;
  transition: color 220ms var(--v560-spring), transform 220ms var(--v560-spring);
}
body.v561.service-theme-tools .service-switcher a::before { display: none !important; }
body.v561.service-theme-tools .service-switcher a:hover,
body.v561.service-theme-tools .service-switcher a.active {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
}
body.v561.service-theme-tools .service-switcher a:active { transform: scale(.97); }
body.v561.service-theme-tools .v561-tool-indicator {
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 0;
  z-index: 1;
  width: 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 13px;
  background:
    radial-gradient(circle at 22% 0%, rgba(255,255,255,.30), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.095));
  box-shadow: 0 5px 16px rgba(25,30,70,.12), inset 0 1px 0 rgba(255,255,255,.56);
  pointer-events: none;
  opacity: 0;
  transform: translateX(0);
  transition: transform 360ms var(--v560-spring), width 360ms var(--v560-spring), opacity 180ms ease;
}
body.v561.service-theme-tools .v561-tool-indicator.ready { opacity: 1; }

/* 4) Dimensional glass icon system — clear glass tiles rather than neon glyphs. */
body.v561 .product-main > svg,
body.v561 .mini-service-card > svg,
body.v561 .service-detail-card > svg,
body.v561 .stats-panel svg {
  overflow: visible;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.40);
  border-radius: 18px;
  background:
    radial-gradient(circle at 23% 10%, rgba(255,255,255,.32), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.065));
  box-shadow:
    0 10px 24px rgba(28,34,78,.14),
    inset 0 1px 0 rgba(255,255,255,.62),
    inset 0 -1px 0 rgba(112,91,177,.09);
  color: rgba(244,250,255,.96);
  filter: drop-shadow(0 4px 7px rgba(30,35,83,.10));
  transform: perspective(500px) rotateX(3deg) rotateY(-3deg);
  transition: transform 280ms var(--v560-spring), box-shadow 280ms var(--v560-spring), background 280ms ease;
}
body.v561 .product-card:hover .product-main > svg,
body.v561 .mini-service-card:hover > svg,
body.v561 .service-detail-card:hover > svg {
  transform: perspective(500px) rotateX(0) rotateY(0) translateY(-2px) scale(1.025);
  box-shadow: 0 14px 30px rgba(28,34,78,.17), inset 0 1px 0 rgba(255,255,255,.72);
}
body.v561.v552-service-detail .service-hero-icon {
  transform: perspective(760px) rotateX(5deg) rotateY(-5deg);
  border-color: rgba(255,255,255,.45);
  background:
    radial-gradient(circle at 25% 10%, rgba(255,255,255,.40), transparent 35%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.075));
  box-shadow:
    0 16px 38px rgba(26,32,75,.16),
    inset 0 1px 0 rgba(255,255,255,.68),
    inset -10px -14px 22px rgba(72,59,131,.08);
}
body.v561.v552-service-detail .service-hero-icon svg {
  color: rgba(248,251,255,.98);
  filter: drop-shadow(0 5px 9px rgba(29,34,83,.15));
}
body.v561.v552-service-detail .service-hero-icon::after {
  background: linear-gradient(90deg, rgba(255,255,255,.52), rgba(255,255,255,.05), transparent);
  opacity: .72;
}


/* 6) iOS-style mobile navigation sheet. Tablet keeps the floating popover. */
@media (max-width: 760px) {
  body.v561.v561-menu-open { overflow: hidden; }
  body.v561.v561-menu-open::before {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(22,27,59,.24);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    content: "";
  }
  body.v561 .mobile-menu > summary {
    min-width: 46px;
    min-height: 46px;
    justify-content: center;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
    box-shadow: 0 7px 18px rgba(26,32,74,.13), inset 0 1px 0 rgba(255,255,255,.54);
  }
  body.v561 .menu-lines { gap: 4px; }
  body.v561 .menu-lines i {
    width: 19px;
    height: 1.5px;
    background: rgba(255,255,255,.94);
  }
  body.v561 .mobile-menu > nav {
    position: fixed;
    top: auto;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    left: max(10px, env(safe-area-inset-left));
    z-index: 110;
    display: grid;
    width: auto;
    max-height: min(78vh, 690px);
    gap: 5px;
    padding: 31px 12px 12px;
    border: 1px solid rgba(255,255,255,.44);
    border-radius: 30px;
    background:
      radial-gradient(circle at 18% 0%, rgba(255,255,255,.22), transparent 34%),
      linear-gradient(145deg, rgba(255,255,255,.17), rgba(29,35,69,.54));
    box-shadow: 0 28px 70px rgba(22,27,65,.27), inset 0 1px 0 rgba(255,255,255,.62);
    backdrop-filter: blur(20px) saturate(1.32) brightness(1.025) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.32) brightness(1.025) !important;
    transform-origin: 50% 100%;
    animation: v561SheetIn 380ms var(--v561-sheet-ease) both;
  }
  body.v561 .mobile-menu > nav::before {
    position: absolute;
    top: 10px;
    left: 50%;
    width: 42px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.40);
    content: "";
    transform: translateX(-50%);
  }
  body.v561 .mobile-menu nav > a:not(.button) {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 10px 13px;
    border: 1px solid transparent;
    border-radius: 15px;
    color: rgba(255,255,255,.91);
    font-weight: 620;
  }
  body.v561 .mobile-menu nav > a.active {
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.12);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.30);
  }
  body.v561 .mobile-service-links {
    gap: 4px;
    margin: 3px 0 7px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.045);
  }
  body.v561 .mobile-service-links a {
    border-radius: 11px;
    color: rgba(245,249,255,.80);
  }
  body.v561 .mobile-menu .button {
    min-height: 46px;
    border-radius: 15px;
  }
  body.v561.service-theme-tools .service-switcher {
    grid-template-columns: repeat(4, minmax(118px, 1fr));
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body.v561.service-theme-tools .service-switcher::-webkit-scrollbar { display: none; }
  body.v561.service-theme-tools .v561-tool-indicator { display: none; }
  body.v561.service-theme-tools .service-switcher a.active {
    border: 1px solid rgba(255,255,255,.30);
    background: linear-gradient(180deg, rgba(255,255,255,.19), rgba(255,255,255,.08));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.47), 0 5px 15px rgba(25,30,69,.10);
  }
}

@keyframes v561SheetIn {
  from { opacity: 0; transform: translate3d(0,18px,0) scale(.975); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}

/* Mobile GPU protection: adaptive repainting is disabled. */
@media (max-width: 900px) {
  body.v561 .site-frame::before {
    transform: none;
    will-change: auto;
  }
  body.v561 .glass-panel,
  body.v561 .page-home .glass-panel {
    --v561-context-light: .13 !important;
  }
  body.v561 .product-main > svg,
  body.v561 .mini-service-card > svg,
  body.v561 .service-detail-card > svg,
  body.v561 .stats-panel svg { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.v561 .site-frame::before { transform: none !important; }
  body.v561 .mobile-menu > nav { animation: none !important; }
  body.v561.service-theme-tools .v561-tool-indicator { transition: none !important; }
}

@media (prefers-reduced-transparency: reduce) {
  body.v561 .mobile-menu > nav { background: rgba(37,43,75,.96); }
}


/* ========================================================================== 
   V5.6.2 — APPLE OS COHESION / OPTICAL POLISH
   Harmonizes the Liquid Glass hierarchy, improves legibility over the bright
   wallpaper, reduces visual noise, and refines controls/footer/mobile parity.
   ========================================================================== */
body.v562 {
  --v562-r-lg: 30px;
  --v562-r-md: 24px;
  --v562-r-control: 15px;
  --v562-edge: rgba(255,255,255,.46);
  --v562-edge-soft: rgba(255,255,255,.24);
  --v562-text: rgba(255,255,255,.98);
  --v562-muted: rgba(246,248,255,.86);
  --v562-ease: cubic-bezier(.2,.8,.2,1);
}

/* A restrained optical lens keeps the pastel wallpaper vivid while improving
   white-text contrast. It is deliberately neutral rather than cyan-tinted. */
body.v562 .site-frame::after,
body.v562 .site-frame.page-home::after {
  background:
    radial-gradient(circle at 16% 12%, rgba(255,255,255,.055), transparent 29%),
    radial-gradient(circle at 82% 44%, rgba(58,46,117,.055), transparent 31%),
    linear-gradient(180deg, rgba(25,31,76,.055) 0%, rgba(25,31,76,.085) 50%, rgba(19,23,60,.22) 100%);
}

/* Unified window material. A tiny pointer-positioned highlight is present only
   on elements whose variables are updated by the lightweight JS. */
body.v562 .glass-panel,
body.v562 .page-home .glass-panel {
  position: relative;
  border-color: var(--v562-edge);
  border-radius: var(--v562-r-lg);
  background:
    radial-gradient(230px circle at var(--v552-reflect-x, 18%) var(--v552-reflect-y, 0%), rgba(255,255,255,.085), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.205) 0%, rgba(255,255,255,.105) 28%, rgba(43,46,83,.235) 68%, rgba(27,30,68,.30) 100%);
  box-shadow:
    0 22px 64px rgba(24,28,66,.17),
    inset 0 1px 0 rgba(255,255,255,.66),
    inset 1px 0 0 rgba(235,248,255,.16),
    inset -1px 0 0 rgba(237,224,255,.10),
    inset 0 -1px 0 rgba(79,63,139,.12);
}

/* Thin specular crown: reads as refracted glass rather than a neon border. */
body.v562 .glass-panel::after,
body.v562 .header-inner::after,
body.v562 .service-switcher::after,
body.v562 .services-dropdown::after {
  content: "";
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  z-index: 8;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72) 23%, rgba(255,255,255,.94) 50%, rgba(232,220,255,.55) 74%, transparent);
  opacity: .52;
  pointer-events: none;
}

/* Header reads as one floating system surface, not a conventional navbar. */
body.v562 .header-inner {
  border-radius: 28px;
  background:
    radial-gradient(240px circle at var(--v552-reflect-x, 22%) var(--v552-reflect-y, 0%), rgba(255,255,255,.10), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.185), rgba(43,46,82,.28));
  box-shadow: 0 17px 50px rgba(24,28,66,.16), inset 0 1px 0 rgba(255,255,255,.67), inset 0 -1px 0 rgba(91,73,153,.11);
}
body.v562 .desktop-nav .nav-indicator {
  height: 38px;
  margin-top: -19px;
  border-color: rgba(255,255,255,.31);
  background: linear-gradient(180deg, rgba(255,255,255,.205), rgba(255,255,255,.085));
  box-shadow: 0 6px 20px rgba(35,39,84,.12), inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(109,88,171,.08);
}

/* Typography: strong SF-style hierarchy without glow-heavy SaaS treatment. */
body.v562 .hero-copy h1,
body.v562 .service-hero-copy h1,
body.v562 .page-intro h1 {
  color: var(--v562-text);
  font-weight: 690;
  letter-spacing: -.052em;
  text-shadow: 0 3px 24px rgba(28,31,74,.24);
}
body.v562 .hero-copy h1 { line-height: .95; }
body.v562 .hero-copy h1 span {
  background: linear-gradient(92deg, #fff 0%, #d6f5ff 38%, #efe2ff 78%, #fff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
body.v562 .hero-copy p,
body.v562 .service-hero-copy p,
body.v562 .page-intro p,
body.v562 .contact-intro p {
  color: var(--v562-muted);
  text-shadow: 0 2px 14px rgba(27,30,70,.22);
}
body.v562 .eyebrow {
  width: fit-content;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 999px;
  background: rgba(255,255,255,.085);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
  color: rgba(255,255,255,.91);
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
}

/* Controls: less marketing shine, more physical system-button response. */
body.v562 .button {
  border-radius: var(--v562-r-control);
  transition: transform 220ms var(--v562-ease), background 220ms var(--v562-ease), border-color 220ms var(--v562-ease), box-shadow 220ms var(--v562-ease);
}
body.v562 .button::after {
  width: 18%;
  opacity: .24;
  transition: left 620ms var(--v562-ease), opacity 220ms ease;
}
body.v562 .button:hover::after { opacity: .36; }
body.v562 .button-primary,
body.v562 .button-header {
  border-color: rgba(255,255,255,.38);
  background: linear-gradient(180deg, rgba(91,145,255,.96), rgba(55,98,229,.95));
  box-shadow: 0 10px 27px rgba(49,74,171,.21), inset 0 1px 0 rgba(255,255,255,.48), inset 0 -1px 0 rgba(34,54,150,.18);
}
body.v562 .button-secondary,
body.v562 .button-quiet {
  border-color: rgba(255,255,255,.32);
  background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,.075));
}
body.v562 .button:hover { transform: translateY(-1px) scale(1.012); }
body.v562 .button:active { transform: translateY(0) scale(.972); transition-duration: 90ms; }

/* Interactive cards lift almost imperceptibly; large static panels do not float. */
body.v562 a.orbit-card,
body.v562 .product-card,
body.v562 .mini-service-card,
body.v562 .service-detail-card,
body.v562 .service-card-link {
  transition: transform 300ms var(--v562-ease), border-color 260ms var(--v562-ease), box-shadow 300ms var(--v562-ease), background 300ms var(--v562-ease);
}
@media (hover:hover) and (pointer:fine) {
  body.v562 a.orbit-card:hover,
  body.v562 .product-card:hover,
  body.v562 .mini-service-card:hover,
  body.v562 .service-detail-card:hover,
  body.v562 .service-card-link:hover {
    transform: translateY(-2px) scale(1.004);
    border-color: rgba(255,255,255,.54);
    box-shadow: 0 24px 66px rgba(25,29,68,.19), inset 0 1px 0 rgba(255,255,255,.70), inset 0 -1px 0 rgba(83,65,145,.10);
  }
}

/* Dedicated product switcher becomes a quieter macOS segmented control. */
body.v562.service-theme-tools .service-switcher {
  border-radius: 20px;
  border-color: rgba(255,255,255,.34);
  background: linear-gradient(180deg, rgba(255,255,255,.135), rgba(39,43,80,.24));
  box-shadow: 0 12px 34px rgba(25,29,68,.12), inset 0 1px 0 rgba(255,255,255,.52);
}
body.v562.service-theme-tools .v561-tool-indicator {
  border-color: rgba(255,255,255,.35);
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.095));
  box-shadow: 0 6px 17px rgba(30,34,78,.11), inset 0 1px 0 rgba(255,255,255,.64);
}

/* Footer becomes a single calm glass "dock" with a secondary legal shelf. */
body.v562 .site-footer { padding-top: 10px; padding-bottom: 18px; }
body.v562 .footer-panel {
  position: relative;
  padding: 26px 27px 12px;
  border-radius: 32px;
  background:
    radial-gradient(320px circle at var(--v552-reflect-x, 14%) var(--v552-reflect-y, 0%), rgba(255,255,255,.075), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.165), rgba(38,42,78,.30) 66%, rgba(27,30,68,.35));
  box-shadow: 0 24px 68px rgba(22,26,63,.18), inset 0 1px 0 rgba(255,255,255,.60), inset 0 -1px 0 rgba(86,67,147,.12);
}
body.v562 .footer-grid > * + * { border-left-color: rgba(255,255,255,.14); }
body.v562 .footer-column h2 {
  color: rgba(255,255,255,.92);
  font-size: .86rem;
  font-weight: 650;
  letter-spacing: .015em;
  text-transform: none;
}
body.v562 .footer-column a,
body.v562 .footer-brand > p,
body.v562 .legal-row p { color: rgba(241,245,255,.76); }
body.v562 .footer-column a:hover { color: #fff; transform: translateX(2px); }
body.v562 .social-placeholders span {
  border-color: rgba(255,255,255,.25);
  background: rgba(255,255,255,.075);
  color: rgba(255,255,255,.88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.33);
}
body.v562 .legal-row {
  min-height: 50px;
  margin-top: 4px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 17px;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

/* Forms and dropdowns share the same optical language. */
body.v562 input,
body.v562 select,
body.v562 textarea {
  border-color: rgba(255,255,255,.27);
  border-radius: 14px;
  background: rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
body.v562 input:focus,
body.v562 select:focus,
body.v562 textarea:focus {
  border-color: rgba(221,239,255,.68);
  box-shadow: 0 0 0 4px rgba(213,229,255,.12), inset 0 1px 0 rgba(255,255,255,.18);
}

/* Keyboard focus is clear but visually consistent with the material system. */
body.v562 :focus-visible {
  outline: 2px solid rgba(236,246,255,.92);
  outline-offset: 4px;
  box-shadow: 0 0 0 5px rgba(91,132,240,.20);
}


/* iPhone/tablet: preserve optical character with cheaper materials. */
@media (max-width: 900px) {
  body.v562 .glass-panel,
  body.v562 .page-home .glass-panel {
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.175), rgba(43,46,82,.31));
    box-shadow: 0 15px 38px rgba(23,27,65,.16), inset 0 1px 0 rgba(255,255,255,.52), inset 0 -1px 0 rgba(84,67,145,.10);
  }
  body.v562 .header-inner { border-radius: 23px; }
  body.v562 .footer-panel { border-radius: 25px; padding: 22px 20px 10px; }
  body.v562 .footer-grid > * + * { border-left-color: transparent; border-top-color: rgba(255,255,255,.13); }
  body.v562 .eyebrow { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media (max-width: 760px) {
  body.v562 .mobile-menu > nav {
    border-color: rgba(255,255,255,.35);
    background: linear-gradient(155deg, rgba(255,255,255,.20), rgba(40,44,81,.68));
    box-shadow: 0 28px 78px rgba(20,24,60,.30), inset 0 1px 0 rgba(255,255,255,.60);
  }
  body.v562 .mobile-menu nav > a.active {
    background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,.075));
    border-color: rgba(255,255,255,.28);
  }
  body.v562 .legal-row { align-items: flex-start; padding-top: 13px; padding-bottom: 13px; }
}

@media (prefers-reduced-transparency: reduce) {
  body.v562 .glass-panel,
  body.v562 .header-inner,
  body.v562 .footer-panel { background: rgba(50,54,88,.94) !important; }
}


/* ========================================================================== 
   V5.6.3 — APPLE OS SPATIAL DEPTH + IPHONE POLISH
   Final optical-cohesion layer: spatial hierarchy, compact system navigation,
   subtle section seams, cleaner control optics, and lower-cost mobile glass.
   ========================================================================== */
body.v563 {
  --v563-spring: cubic-bezier(.22,.82,.22,1);
  --v563-seam: rgba(255,255,255,.26);
  --v563-layer-low: linear-gradient(145deg,rgba(255,255,255,.145),rgba(255,255,255,.062) 31%,rgba(40,43,79,.235) 72%,rgba(29,32,68,.30));
  --v563-layer-mid: linear-gradient(145deg,rgba(255,255,255,.19),rgba(255,255,255,.085) 31%,rgba(39,42,78,.255) 70%,rgba(27,30,67,.33));
  --v563-layer-high: linear-gradient(145deg,rgba(255,255,255,.225),rgba(255,255,255,.105) 29%,rgba(39,42,79,.275) 69%,rgba(25,29,65,.355));
  color-scheme: dark;
}

/* 1) Three optical depth levels. The page now reads as a stack of system
      surfaces instead of identical website cards. */
body.v563 .stats-panel,
body.v563 .credibility-strip,
body.v563 .policy-content,
body.v563 .related-services {
  background: var(--v563-layer-low);
  box-shadow: 0 13px 36px rgba(22,27,64,.12), inset 0 1px 0 rgba(255,255,255,.54), inset 0 -1px 0 rgba(83,68,139,.08);
}
body.v563 .product-card,
body.v563 .service-detail-card,
body.v563 .mini-service-card,
body.v563 .form-panel,
body.v563 .service-process-panel,
body.v563 .service-expectations {
  background: var(--v563-layer-mid);
  box-shadow: 0 18px 48px rgba(22,27,65,.15), inset 0 1px 0 rgba(255,255,255,.62), inset 0 -1px 0 rgba(86,68,147,.10);
}
body.v563 .service-hero,
body.v563 .page-intro,
body.v563 .cta-band,
body.v563 .service-page-cta,
body.v563 .contact-intro {
  background: var(--v563-layer-high);
  box-shadow: 0 24px 68px rgba(21,25,61,.17), inset 0 1px 0 rgba(255,255,255,.70), inset 0 -1px 0 rgba(88,68,151,.11);
}

/* 2) Optical section seams — faint, centered refraction instead of hard
      dividers. This makes long pages feel like one continuous OS workspace. */
body.v563 .service-section,
body.v563 .services-overview,
body.v563 .tools-overview,
body.v563 .work-section,
body.v563 .faq-section {
  position: relative;
}
body.v563 .service-section + .service-section::before,
body.v563 .service-page-cta::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 50%;
  width: min(68%, 760px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.20) 22%, rgba(255,255,255,.38) 50%, rgba(233,223,255,.20) 78%, transparent);
  box-shadow: 0 1px 12px rgba(255,255,255,.06);
  pointer-events: none;
}

/* 3) Header becomes a compact macOS-style system strip after scroll. */
body.v563 .header-inner,
body.v563 .brand-mark,
body.v563 .brand-link,
body.v563 .desktop-nav > a,
body.v563 .nav-services > summary,
body.v563 .button-header {
  transition: min-height 320ms var(--v563-spring), height 320ms var(--v563-spring), width 320ms var(--v563-spring), flex-basis 320ms var(--v563-spring), padding 320ms var(--v563-spring), margin 320ms var(--v563-spring), border-radius 320ms var(--v563-spring), background 320ms var(--v563-spring), box-shadow 320ms var(--v563-spring), font-size 320ms var(--v563-spring), transform 220ms var(--v563-spring);
}

/* Navigation lens is quieter, whiter and more optical than a highlighted tab. */
body.v563 .desktop-nav .nav-indicator {
  border-color: rgba(255,255,255,.31);
  background: linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.085));
  box-shadow: 0 7px 22px rgba(25,29,68,.12), inset 0 1px 0 rgba(255,255,255,.70), inset 0 -1px 0 rgba(97,77,158,.07);
}
body.v563 .desktop-nav > a,
body.v563 .nav-services > summary { opacity: .84; }
body.v563 .desktop-nav > a:hover,
body.v563 .desktop-nav > a.active,
body.v563 .nav-services:hover > summary,
body.v563 .nav-services.active > summary,
body.v563 .nav-services[open] > summary { opacity: 1; }

/* 4) Larger panels get a shallow focus halo, not a neon glow. */
body.v563 .service-hero,
body.v563 .page-intro,
body.v563 .cta-band,
body.v563 .service-page-cta,
body.v563 .footer-panel {
  outline: 1px solid rgba(255,255,255,.055);
  outline-offset: 3px;
}
body.v563 .service-section-heading h2,
body.v563 .section-heading h2,
body.v563 .cta-copy h2 {
  letter-spacing: -.032em;
  text-shadow: 0 2px 18px rgba(25,28,68,.16);
}

/* 5) Controls behave like native OS controls: stronger focus, smaller hover
      displacement, and no remaining cyberpunk halo. */
body.v563 .button,
body.v563 .service-switcher a,
body.v563 .services-dropdown a {
  -webkit-tap-highlight-color: transparent;
}
@media (hover:hover) and (pointer:fine) {
  body.v563 .button:hover { transform: translateY(-1px) scale(1.008); }
  body.v563 a.orbit-card:hover,
  body.v563 .product-card:hover,
  body.v563 .mini-service-card:hover,
  body.v563 .service-detail-card:hover,
  body.v563 .service-card-link:hover { transform: translateY(-1px) scale(1.003); }
}
body.v563 .button:active { transform: scale(.982); }
body.v563 :focus-visible {
  outline: 2px solid rgba(248,251,255,.96);
  outline-offset: 4px;
  box-shadow: 0 0 0 5px rgba(107,137,232,.16);
}

/* 6) Tablet/iPhone pass: safe-area-aware chrome, cheaper materials, native
      touch sizing, bounded sheet scrolling, and no accidental horizontal pan. */
html { overflow-x: clip; }
body.v563 { overscroll-behavior-x: none; }
@media (max-width: 1100px) and (min-width: 761px) {
  body.v563 .header-inner { gap: 16px; padding-inline: 11px; }
  body.v563 .desktop-nav { gap: clamp(12px,1.55vw,24px); font-size: .88rem; }
  body.v563 .brand-link { font-size: clamp(1.06rem,1.75vw,1.46rem); gap: 10px; }
  body.v563 .brand-mark { flex-basis: 54px; width: 54px; height: 54px; }
  body.v563 .brand-mark img { width: 50px; height: 46px; }
  body.v563 .button-header { min-width: 132px; padding-inline: 18px; }
}
@media (max-width: 900px) {
  body.v563 .glass-panel,
  body.v563 .page-home .glass-panel {
    backdrop-filter: blur(8px) saturate(1.18) brightness(1.02);
    -webkit-backdrop-filter: blur(8px) saturate(1.18) brightness(1.02);
  }
  body.v563 .product-card,
  body.v563 .service-detail-card,
  body.v563 .mini-service-card,
  body.v563 .form-panel { background: linear-gradient(145deg,rgba(255,255,255,.18),rgba(43,46,82,.30)); }
}
@media (max-width: 760px) {
  body.v563 .site-header { padding-top: max(0px, env(safe-area-inset-top)); }
  body.v563 .header-inner {
    min-height: 64px;
    margin-top: 6px;
    border-radius: 22px;
    padding-inline: 12px;
    backdrop-filter: blur(14px) saturate(1.22);
    -webkit-backdrop-filter: blur(14px) saturate(1.22);
  }
  body.v563 .brand-mark { flex-basis: 48px; width: 48px; height: 48px; }
  body.v563 .brand-mark img { width: 45px; height: 41px; inset: 2px auto auto 1px; }
  body.v563 .brand-link { gap: 9px; font-size: clamp(1.02rem,4.4vw,1.24rem); }
  body.v563 .mobile-menu > summary,
  body.v563 .mobile-menu nav > a,
  body.v563 .mobile-menu nav .button { min-height: 44px; }
  body.v563 .mobile-menu > nav {
    max-height: calc(100svh - 98px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(20px + env(safe-area-inset-bottom));
    backdrop-filter: blur(18px) saturate(1.24);
    -webkit-backdrop-filter: blur(18px) saturate(1.24);
  }
  body.v563.v561-menu-open { overflow: hidden; }
  body.v563 .home-hero { min-height: auto; padding-top: 10px; }
  body.v563 .hero-copy { top: 0; }
  body.v563 .hero-copy h1 { letter-spacing: -.047em; }
  body.v563 .service-section + .service-section::before { width: 78%; top: -12px; opacity: .72; }
  body.v563 .service-hero,
  body.v563 .page-intro,
  body.v563 .cta-band,
  body.v563 .service-page-cta,
  body.v563 .footer-panel { outline-offset: 2px; }
}
@media (max-width: 430px) {
  body.v563 .shell { width: min(100% - 24px, var(--shell)); }
  body.v563 .button-row { gap: 9px; }
  body.v563 .button { min-height: 46px; padding-inline: 18px; }
  body.v563 .footer-panel { border-radius: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  body.v563 .header-inner,
  body.v563 .brand-mark,
  body.v563 .brand-link,
  body.v563 .desktop-nav > a,
  body.v563 .nav-services > summary { transition: none !important; }
}

/* ========================================================================== 
   V5.6.4 — HERO COHESION + READABILITY + GLASS CALIBRATION
   Corrects wallpaper dominance, strengthens contrast, rebuilds the homepage
   hero into one connected composition, and improves footer/contact legibility.
   ========================================================================== */
body.v564 {
  --v564-panel-radius: 34px;
  --v564-card-radius: 24px;
  --v564-control-radius: 16px;
  --v564-text: rgba(255,255,255,.985);
  --v564-body: rgba(244,247,255,.90);
  --v564-muted: rgba(231,236,248,.78);
  --v564-edge: rgba(255,255,255,.48);
  --v564-edge-soft: rgba(255,255,255,.28);
  --v564-shadow: 0 24px 74px rgba(21,24,56,.22);
  --v564-shadow-soft: 0 18px 54px rgba(20,24,60,.18);
}

body.v564 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v564.webp");
  filter: brightness(.82) contrast(1.01) saturate(.88);
  transform: scale(1.01);
}

body.v564 .site-frame::after,
body.v564 .site-frame.page-home::after {
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.045), transparent 28%),
    radial-gradient(circle at 78% 54%, rgba(126,102,199,.055), transparent 30%),
    linear-gradient(180deg, rgba(14,18,50,.16) 0%, rgba(16,19,54,.22) 42%, rgba(11,15,42,.34) 100%);
}

body.v564 .glass-panel,
body.v564 .page-home .glass-panel {
  border-color: var(--v564-edge);
  border-radius: var(--v564-panel-radius);
  background:
    radial-gradient(260px circle at var(--v552-reflect-x, 18%) var(--v552-reflect-y, 0%), rgba(255,255,255,.11), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.135) 24%, rgba(40,45,86,.34) 66%, rgba(24,28,66,.48) 100%);
  box-shadow:
    var(--v564-shadow),
    inset 0 1px 0 rgba(255,255,255,.66),
    inset 1px 0 0 rgba(233,244,255,.18),
    inset -1px 0 0 rgba(240,226,255,.12),
    inset 0 -1px 0 rgba(73,58,137,.15);
  backdrop-filter: blur(24px) saturate(1.10);
  -webkit-backdrop-filter: blur(24px) saturate(1.10);
}

body.v564 .site-header,
body.v564 .page-home .site-header { background: transparent; }
body.v564 .header-inner {
  border-color: rgba(255,255,255,.32);
  border-radius: 28px;
  background:
    radial-gradient(220px circle at var(--v552-reflect-x, 24%) var(--v552-reflect-y, 0%), rgba(255,255,255,.12), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.19), rgba(34,38,77,.48));
  box-shadow: 0 18px 52px rgba(17,20,51,.22), inset 0 1px 0 rgba(255,255,255,.72), inset 0 -1px 0 rgba(90,74,160,.16);
  backdrop-filter: blur(28px) saturate(1.08);
  -webkit-backdrop-filter: blur(28px) saturate(1.08);
}

body.v564 .desktop-nav > a,
body.v564 .desktop-nav .services-trigger,
body.v564 .logo-wordmark,
body.v564 .footer-column a,
body.v564 .footer-brand > p,
body.v564 .legal-row p,
body.v564 .contact-intro p,
body.v564 .service-detail-card p,
body.v564 .mini-service-card p,
body.v564 .product-card p,
body.v564 .page-intro p,
body.v564 .service-hero-copy p,
body.v564 .hero-copy p,
body.v564 .contact-card p,
body.v564 .contact-card li,
body.v564 .footer-column li,
body.v564 .footer-column address {
  color: var(--v564-body);
}

body.v564 .hero-copy h1,
body.v564 .service-hero-copy h1,
body.v564 .page-intro h1,
body.v564 .contact-intro h1,
body.v564 .section-heading h2,
body.v564 .footer-brand h2,
body.v564 .footer-column h2,
body.v564 .contact-form h2 {
  color: var(--v564-text);
  text-shadow: 0 3px 18px rgba(12,14,36,.34);
}

body.v564 .hero-copy p,
body.v564 .service-hero-copy p,
body.v564 .page-intro p,
body.v564 .contact-intro p {
  color: var(--v564-body);
  text-shadow: 0 2px 12px rgba(8,10,28,.28);
}

body.v564 .button-primary,
body.v564 .button-header {
  border-color: rgba(255,255,255,.44);
  box-shadow: 0 12px 30px rgba(32,63,161,.28), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(27,47,140,.18);
}
body.v564 .button-secondary,
body.v564 .button-quiet {
  border-color: rgba(255,255,255,.34);
  background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,.09));
}

/* ----- HOMEPAGE HERO REBUILD ----- */
body.v564.page-home .home-hero {
  position: relative;
  isolation: isolate;
  width: calc(100% - 112px);
  min-height: 620px;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
  padding: 28px;
  margin-bottom: 18px;
}
body.v564.page-home .home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 38px;
  background:
    radial-gradient(420px circle at 20% 18%, rgba(255,255,255,.095), transparent 42%),
    linear-gradient(150deg, rgba(255,255,255,.14), rgba(32,38,79,.23) 34%, rgba(20,24,57,.38) 100%);
  box-shadow: 0 26px 78px rgba(18,22,54,.22), inset 0 1px 0 rgba(255,255,255,.56), inset 0 -1px 0 rgba(81,65,149,.13);
  backdrop-filter: blur(22px) saturate(1.08);
  -webkit-backdrop-filter: blur(22px) saturate(1.08);
}
body.v564.page-home .hero-copy {
  top: 0;
  align-self: center;
  max-width: none;
  padding: 24px 22px 24px 6px;
  margin: 0;
}
body.v564.page-home .hero-copy::before {
  content: "";
  position: absolute;
  inset: 2px 8px 2px 0;
  z-index: -1;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(26,31,74,.34), rgba(255,255,255,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
body.v564.page-home .hero-copy h1 {
  width: auto;
  margin-bottom: 16px;
  font-size: clamp(3.1rem, 4.2vw, 4.9rem);
  line-height: .94;
  letter-spacing: -.05em;
  transform: none;
}
body.v564.page-home .hero-copy p {
  max-width: 305px;
  margin-bottom: 22px;
  font-size: 1rem;
  line-height: 1.56;
}
body.v564.page-home .button-row { gap: 12px; flex-wrap: wrap; }
body.v564.page-home .button-row .button { min-width: 126px; }

body.v564.page-home .orbit-stage {
  height: 100%;
  min-height: 560px;
  margin-top: 0;
}
body.v564.page-home .orbit-core {
  top: 50%;
  left: 50%;
  width: 250px;
  filter: drop-shadow(0 14px 28px rgba(18,24,60,.20));
}
body.v564.page-home .orbit-ring {
  top: 50%;
  left: 50%;
  border-color: rgba(180,227,243,.40);
  box-shadow: 0 0 4px rgba(157,219,240,.10), inset 0 0 6px rgba(255,255,255,.08);
}
body.v564.page-home .ring-one { width: 290px; }
body.v564.page-home .ring-two { width: 332px; border-width: 2px; opacity: .78; }
body.v564.page-home .orbit-axis {
  top: 50%;
  left: 50%;
  width: min(76%, 650px);
  height: 1px;
  opacity: .52;
  background: linear-gradient(90deg, transparent, rgba(182,230,243,.48) 14%, rgba(255,255,255,.78) 50%, rgba(182,230,243,.48) 86%, transparent);
  box-shadow: none;
}
body.v564.page-home .axis-diagonal-one { transform: translate(-50%, -50%) rotate(33deg); }
body.v564.page-home .axis-diagonal-two { transform: translate(-50%, -50%) rotate(-33deg); }

body.v564.page-home .orbit-card {
  width: clamp(190px, 15.8vw, 220px);
  min-height: 98px;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 22px;
  border-color: rgba(255,255,255,.44);
  background:
    radial-gradient(180px circle at var(--v552-reflect-x, 18%) var(--v552-reflect-y, 0%), rgba(255,255,255,.08), transparent 44%),
    linear-gradient(150deg, rgba(255,255,255,.20), rgba(31,36,74,.28) 60%, rgba(21,26,63,.44));
  box-shadow: 0 18px 42px rgba(17,21,52,.18), inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(74,60,138,.10);
  backdrop-filter: blur(20px) saturate(1.06);
  -webkit-backdrop-filter: blur(20px) saturate(1.06);
}
body.v564.page-home .orbit-card:hover { box-shadow: 0 22px 46px rgba(18,22,54,.23), inset 0 1px 0 rgba(255,255,255,.68); }
body.v564.page-home .orbit-card span {
  font-size: .80rem;
  font-weight: 650;
  line-height: 1.38;
  text-transform: none;
  color: rgba(255,255,255,.96);
}
body.v564.page-home .orbit-card svg { width: 42px; height: 42px; flex-basis: 42px; }
body.v564.page-home .orbit-card.top-left { top: 32px; left: 6%; }
body.v564.page-home .orbit-card.middle-left { top: 203px; left: 2.5%; }
body.v564.page-home .orbit-card.bottom-left { left: 6%; bottom: 34px; }
body.v564.page-home .orbit-card.top-right { top: 32px; right: 7%; }
body.v564.page-home .orbit-card.middle-right { top: 203px; right: 3.5%; }
body.v564.page-home .orbit-card.bottom-right { right: 7%; bottom: 34px; }

body.v564.page-home .stats-panel,
body.v564.page-home .home-service-grid,
body.v564.page-home .credibility-strip,
body.v564.page-home main > .shell:not(.home-hero) { width: calc(100% - 112px); }

body.v564.page-home .stats-panel {
  margin-top: 0;
  padding: 24px 26px;
  grid-template-columns: repeat(4, minmax(0,1fr));
  border-color: rgba(255,255,255,.44);
  background:
    radial-gradient(230px circle at var(--v552-reflect-x, 20%) var(--v552-reflect-y, 0%), rgba(255,255,255,.09), transparent 42%),
    linear-gradient(150deg, rgba(255,255,255,.20), rgba(37,42,79,.30) 55%, rgba(24,28,64,.45));
  box-shadow: 0 20px 54px rgba(18,22,54,.18), inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(80,64,145,.10);
}
body.v564.page-home .stats-panel article { padding: 8px 18px; gap: 14px; }
body.v564.page-home .stats-panel article + article { border-left-color: rgba(255,255,255,.14); }
body.v564.page-home .stats-panel svg { width: 52px; height: 52px; flex-basis: 52px; color: rgba(214,238,255,.92); filter: none; }
body.v564.page-home .stats-panel strong { color: rgba(255,255,255,.98); text-shadow: none; }
body.v564.page-home .stats-panel span { color: rgba(236,241,250,.80); }

/* ----- CONTACT + HIGH INFORMATION SURFACES ----- */
body.v564.v552-contact .contact-form,
body.v564.v552-contact .contact-intro,
body.v564.v552-contact .contact-card,
body.v564.v552-contact .location-card,
body.v564.v552-contact .cta-card {
  background:
    radial-gradient(240px circle at var(--v552-reflect-x, 20%) var(--v552-reflect-y, 0%), rgba(255,255,255,.10), transparent 44%),
    linear-gradient(150deg, rgba(255,255,255,.22), rgba(38,43,80,.34) 60%, rgba(25,29,66,.52));
}
body.v564 .contact-form,
body.v564.v552-contact .contact-form {
  border-color: rgba(255,255,255,.46);
}
body.v564 .contact-form input,
body.v564 .contact-form select,
body.v564 .contact-form textarea {
  color: rgba(255,255,255,.96);
  border-color: rgba(255,255,255,.30);
  background: linear-gradient(180deg, rgba(28,34,72,.42), rgba(255,255,255,.08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(26,34,77,.15);
}
body.v564 .contact-form input::placeholder,
body.v564 .contact-form textarea::placeholder { color: rgba(236,242,250,.70); }
body.v564 .contact-form label > span,
body.v564 .contact-form label b,
body.v564 .contact-form .floating-field > span { color: rgba(255,255,255,.93); }
body.v564 .contact-form input:focus,
body.v564 .contact-form select:focus,
body.v564 .contact-form textarea:focus {
  border-color: rgba(234,243,255,.80);
  box-shadow: 0 0 0 4px rgba(197,215,255,.16), inset 0 1px 0 rgba(255,255,255,.18);
}

/* ----- FOOTER STRENGTHENING ----- */
body.v564 .site-footer { padding-top: 10px; padding-bottom: 22px; }
body.v564 .footer-panel {
  padding: 28px 28px 14px;
  border-radius: 34px;
  border-color: rgba(255,255,255,.44);
  background:
    radial-gradient(360px circle at var(--v552-reflect-x, 14%) var(--v552-reflect-y, 0%), rgba(255,255,255,.08), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(33,38,76,.36) 50%, rgba(20,24,57,.54));
  box-shadow: 0 24px 72px rgba(18,21,52,.24), inset 0 1px 0 rgba(255,255,255,.60), inset 0 -1px 0 rgba(79,63,143,.12);
}
body.v564 .footer-column h2,
body.v564 .footer-brand h2,
body.v564 .footer-brand strong { color: rgba(255,255,255,.97); }
body.v564 .footer-column a,
body.v564 .footer-brand > p,
body.v564 .legal-row p,
body.v564 .footer-column address,
body.v564 .footer-column li {
  color: rgba(236,241,250,.82);
}
body.v564 .footer-grid > * + * { border-left-color: rgba(255,255,255,.15); }
body.v564 .legal-row {
  min-height: 52px;
  margin-top: 6px;
  border-color: rgba(255,255,255,.15);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
}

/* ----- MOBILE / IPHONE CALIBRATION ----- */
@media (max-width: 1150px) {
  body.v564.page-home .home-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 24px 22px 22px;
    gap: 18px;
  }
  body.v564.page-home .hero-copy {
    text-align: center;
    padding: 22px 16px 18px;
  }
  body.v564.page-home .hero-copy::before { inset: 0; }
  body.v564.page-home .hero-copy p { max-width: 620px; margin-left: auto; margin-right: auto; }
  body.v564.page-home .button-row { justify-content: center; }
  body.v564.page-home .orbit-stage { min-height: 560px; }
}

@media (max-width: 900px) {
  body.v564 .site-frame::before { filter: brightness(.80) contrast(1.01) saturate(.84); background-position: 55% center; }
  body.v564 .glass-panel,
  body.v564 .page-home .glass-panel,
  body.v564 .footer-panel,
  body.v564 .header-inner,
  body.v564.page-home .orbit-card {
    background: linear-gradient(150deg, rgba(255,255,255,.21), rgba(36,41,76,.58));
    backdrop-filter: blur(14px) saturate(1.03);
    -webkit-backdrop-filter: blur(14px) saturate(1.03);
  }
  body.v564.page-home .home-hero,
  body.v564.page-home .stats-panel,
  body.v564.page-home .home-service-grid,
  body.v564.page-home .credibility-strip,
  body.v564.page-home main > .shell:not(.home-hero) { width: calc(100% - 38px); }
  body.v564.page-home .home-hero::before { border-radius: 30px; }
  body.v564.page-home .orbit-stage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
    min-height: 0;
    height: auto;
    padding-top: 315px;
  }
  body.v564.page-home .orbit-core { top: 8px; left: 50%; width: 280px; transform: translateX(-50%); }
  body.v564.page-home .orbit-ring,
  body.v564.page-home .orbit-axis { display: none; }
  body.v564.page-home .orbit-card,
  body.v564.page-home .orbit-card.top-left,
  body.v564.page-home .orbit-card.middle-left,
  body.v564.page-home .orbit-card.bottom-left,
  body.v564.page-home .orbit-card.top-right,
  body.v564.page-home .orbit-card.middle-right,
  body.v564.page-home .orbit-card.bottom-right {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 86px;
  }
  body.v564.page-home .stats-panel { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 0; }
  body.v564.page-home .stats-panel article:nth-child(3) { border-left-color: transparent; }
}

@media (max-width: 640px) {
  body.v564.page-home .home-hero,
  body.v564.page-home .stats-panel,
  body.v564.page-home .home-service-grid,
  body.v564.page-home .credibility-strip,
  body.v564.page-home main > .shell:not(.home-hero) { width: calc(100% - 24px); }
  body.v564.page-home .hero-copy h1 { font-size: clamp(2.65rem, 12.5vw, 4rem); }
  body.v564.page-home .button-row { display: grid; grid-template-columns: 1fr; }
  body.v564.page-home .button-row .button { width: min(100%, 320px); margin-inline: auto; }
  body.v564.page-home .orbit-stage { grid-template-columns: 1fr; padding-top: 296px; }
  body.v564.page-home .orbit-core { width: 250px; }
  body.v564.page-home .stats-panel { grid-template-columns: 1fr; }
  body.v564.page-home .stats-panel article,
  body.v564.page-home .stats-panel article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  body.v564.page-home .stats-panel article:first-child { border-top: 0; }
}

@media (prefers-reduced-transparency: reduce) {
  body.v564 .glass-panel,
  body.v564 .header-inner,
  body.v564 .footer-panel,
  body.v564.page-home .orbit-card,
  body.v564.page-home .home-hero::before,
  body.v564.page-home .hero-copy::before { background: rgba(42,47,88,.95) !important; }
}

/* ========================================================================== 
   V5.6.5 — HOMEPAGE HERO STRUCTURAL FIX
   Activates the intended connected hero on the actual homepage body class,
   prevents service-card overlap, and keeps metrics outside the hero system.
   ========================================================================== */

body.v565.v552-home .home-hero {
  position: relative;
  isolation: isolate;
  width: calc(100% - 112px);
  min-height: 610px;
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  align-items: stretch;
  gap: 28px;
  margin: 18px auto 18px;
  padding: 28px 30px;
  overflow: hidden;
}

body.v565.v552-home .home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border: 1px solid rgba(255,255,255,.43);
  border-radius: 38px;
  background:
    radial-gradient(420px circle at 17% 22%, rgba(255,255,255,.105), transparent 42%),
    radial-gradient(460px circle at 74% 48%, rgba(151,178,255,.055), transparent 50%),
    linear-gradient(150deg, rgba(255,255,255,.145), rgba(36,42,83,.255) 43%, rgba(19,24,59,.41) 100%);
  box-shadow:
    0 28px 82px rgba(17,21,52,.22),
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(79,64,145,.14);
  backdrop-filter: blur(22px) saturate(1.07);
  -webkit-backdrop-filter: blur(22px) saturate(1.07);
}

body.v565.v552-home .home-hero::after {
  content: "";
  position: absolute;
  left: 394px;
  top: 48px;
  bottom: 48px;
  z-index: -1;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.18) 15%, rgba(255,255,255,.18) 85%, transparent);
  pointer-events: none;
}

body.v565.v552-home .hero-copy {
  position: relative;
  top: 0;
  z-index: 8;
  align-self: center;
  max-width: 330px;
  margin: 0;
  padding: 30px 20px 30px 8px;
}

body.v565.v552-home .hero-copy::before {
  content: "";
  position: absolute;
  inset: 4px 0 4px -8px;
  z-index: -1;
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(21,27,68,.38), rgba(255,255,255,.045));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17);
}

body.v565.v552-home .hero-copy h1 {
  width: auto;
  margin: 0 0 17px;
  color: rgba(255,255,255,.99);
  font-size: clamp(3rem, 3.75vw, 4.45rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .95;
  text-transform: none;
  transform: none;
  text-shadow: 0 3px 20px rgba(11,14,38,.34);
}

body.v565.v552-home .hero-copy h1 span {
  color: transparent;
  background: linear-gradient(92deg, #fff 0%, #d7f4ff 40%, #eadfff 77%, #fff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}

body.v565.v552-home .hero-copy p {
  max-width: 310px;
  margin: 0 0 23px;
  color: rgba(244,247,255,.91);
  font-size: 1rem;
  font-weight: 480;
  line-height: 1.56;
  text-shadow: 0 2px 12px rgba(10,12,33,.29);
}

body.v565.v552-home .button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.v565.v552-home .button-row .button {
  min-width: 126px;
  min-height: 43px;
  padding: 10px 16px;
  border-radius: 14px;
  font-size: .78rem;
}

body.v565.v552-home .orbit-stage {
  position: relative;
  min-width: 0;
  height: 100%;
  min-height: 550px;
  margin: 0;
  overflow: visible;
}

body.v565.v552-home .orbit-core {
  top: 50%;
  left: 50%;
  width: clamp(228px, 16.5vw, 270px);
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 15px 30px rgba(15,20,52,.24));
}

body.v565.v552-home .orbit-ring,
body.v565.v552-home .orbit-axis {
  top: 50%;
  left: 50%;
}

body.v565.v552-home .ring-one { width: clamp(265px, 19vw, 310px); }
body.v565.v552-home .ring-two {
  width: clamp(310px, 22vw, 356px);
  border-width: 2px;
  border-color: rgba(195,232,245,.36);
  opacity: .78;
  box-shadow: none;
}

body.v565.v552-home .orbit-axis {
  z-index: 0;
  width: min(73%, 720px);
  height: 1px;
  opacity: .38;
  background: linear-gradient(90deg, transparent, rgba(196,230,243,.40) 14%, rgba(255,255,255,.64) 50%, rgba(196,230,243,.40) 86%, transparent);
  box-shadow: none;
}

body.v565.v552-home .axis-horizontal { transform: translate(-50%, -50%); }
body.v565.v552-home .axis-diagonal-one { transform: translate(-50%, -50%) rotate(33deg); }
body.v565.v552-home .axis-diagonal-two { transform: translate(-50%, -50%) rotate(-33deg); }

body.v565.v552-home .orbit-card,
body.v565.v552-home .page-home .orbit-card {
  position: absolute;
  z-index: 5;
  width: clamp(188px, 14.1vw, 222px);
  min-height: 96px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(180px circle at var(--v552-reflect-x, 18%) var(--v552-reflect-y, 0%), rgba(255,255,255,.085), transparent 45%),
    linear-gradient(150deg, rgba(255,255,255,.205), rgba(35,40,79,.31) 58%, rgba(21,26,64,.48));
  box-shadow:
    0 18px 46px rgba(15,19,50,.20),
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(74,60,138,.11);
  backdrop-filter: blur(20px) saturate(1.05);
  -webkit-backdrop-filter: blur(20px) saturate(1.05);
  transform: none;
  transition: transform 260ms cubic-bezier(.2,.8,.2,1), border-color 220ms ease, box-shadow 260ms ease;
}

body.v565.v552-home .orbit-card:hover,
body.v565.v552-home .orbit-card.top-left:hover,
body.v565.v552-home .orbit-card.middle-left:hover,
body.v565.v552-home .orbit-card.bottom-left:hover,
body.v565.v552-home .orbit-card.top-right:hover,
body.v565.v552-home .orbit-card.middle-right:hover,
body.v565.v552-home .orbit-card.bottom-right:hover {
  transform: translateY(-2px) scale(1.005);
  border-color: rgba(255,255,255,.58);
  box-shadow: 0 22px 52px rgba(15,19,50,.24), inset 0 1px 0 rgba(255,255,255,.68);
}

body.v565.v552-home .orbit-card svg {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  filter: none;
}

body.v565.v552-home .orbit-card span {
  color: rgba(255,255,255,.97);
  font-size: clamp(.72rem, .74vw, .83rem);
  font-weight: 650;
  line-height: 1.35;
  text-transform: none;
}

/* Three modules on each side of the medallion. */
body.v565.v552-home .orbit-card.top-left    { top: 38px; left: 3.2%; }
body.v565.v552-home .orbit-card.middle-left { top: 50%; left: 0; transform: translateY(-50%); }
body.v565.v552-home .orbit-card.bottom-left { left: 3.2%; bottom: 38px; }
body.v565.v552-home .orbit-card.top-right    { top: 38px; right: 3.2%; }
body.v565.v552-home .orbit-card.middle-right { top: 50%; right: 0; transform: translateY(-50%); }
body.v565.v552-home .orbit-card.bottom-right { right: 3.2%; bottom: 38px; }

body.v565.v552-home .orbit-card.middle-left:hover,
body.v565.v552-home .orbit-card.middle-right:hover {
  transform: translateY(calc(-50% - 2px)) scale(1.005);
}

/* Metrics are a separate system strip below the hero. */
body.v565.v552-home .stats-panel {
  position: relative;
  z-index: 2;
  width: calc(100% - 112px);
  min-height: 96px;
  margin: 0 auto 16px;
  padding: 19px 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-radius: 30px;
  overflow: hidden;
}

body.v565.v552-home .stats-panel article {
  min-width: 0;
  padding: 7px 18px;
  gap: 13px;
}

body.v565.v552-home .stats-panel article + article {
  border-left: 1px solid rgba(255,255,255,.15);
}

body.v565.v552-home .stats-panel svg {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  color: rgba(220,241,255,.92);
  filter: none;
}

body.v565.v552-home .stats-panel strong {
  color: rgba(255,255,255,.99);
  font-size: clamp(1.35rem, 1.55vw, 1.8rem);
  text-shadow: none;
}

body.v565.v552-home .stats-panel span {
  color: rgba(237,242,250,.80);
  font-size: .86rem;
}

/* Keep all following homepage sections aligned to the hero edge. */
body.v565.v552-home .home-service-grid,
body.v565.v552-home .credibility-strip,
body.v565.v552-home main > .shell:not(.home-hero):not(.stats-panel) {
  width: calc(100% - 112px);
}

@media (max-width: 1250px) {
  body.v565.v552-home .home-hero {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: auto;
    padding: 24px;
  }
  body.v565.v552-home .home-hero::after { display: none; }
  body.v565.v552-home .hero-copy {
    max-width: 720px;
    margin-inline: auto;
    padding: 22px 20px 18px;
    text-align: center;
  }
  body.v565.v552-home .hero-copy::before { inset: 0; }
  body.v565.v552-home .hero-copy p { max-width: 620px; margin-left: auto; margin-right: auto; }
  body.v565.v552-home .button-row { justify-content: center; }
  body.v565.v552-home .orbit-stage { min-height: 545px; }
}

@media (max-width: 900px) {
  body.v565.v552-home .home-hero,
  body.v565.v552-home .stats-panel,
  body.v565.v552-home .home-service-grid,
  body.v565.v552-home .credibility-strip,
  body.v565.v552-home main > .shell:not(.home-hero):not(.stats-panel) {
    width: calc(100% - 38px);
  }
  body.v565.v552-home .home-hero {
    padding: 22px 18px;
    border-radius: 30px;
  }
  body.v565.v552-home .orbit-stage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-height: 0;
    height: auto;
    padding-top: 300px;
  }
  body.v565.v552-home .orbit-core {
    top: 4px;
    left: 50%;
    width: 260px;
    transform: translateX(-50%);
  }
  body.v565.v552-home .orbit-ring,
  body.v565.v552-home .orbit-axis { display: none; }
  body.v565.v552-home .orbit-card,
  body.v565.v552-home .orbit-card.top-left,
  body.v565.v552-home .orbit-card.middle-left,
  body.v565.v552-home .orbit-card.bottom-left,
  body.v565.v552-home .orbit-card.top-right,
  body.v565.v552-home .orbit-card.middle-right,
  body.v565.v552-home .orbit-card.bottom-right {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 86px;
    transform: none;
  }
  body.v565.v552-home .orbit-card:hover,
  body.v565.v552-home .orbit-card.middle-left:hover,
  body.v565.v552-home .orbit-card.middle-right:hover { transform: translateY(-2px); }
  body.v565.v552-home .stats-panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.v565.v552-home .stats-panel article:nth-child(3) { border-left: 0; }
  body.v565.v552-home .stats-panel article:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.14); }
}

@media (max-width: 620px) {
  body.v565.v552-home .home-hero,
  body.v565.v552-home .stats-panel,
  body.v565.v552-home .home-service-grid,
  body.v565.v552-home .credibility-strip,
  body.v565.v552-home main > .shell:not(.home-hero):not(.stats-panel) {
    width: calc(100% - 24px);
  }
  body.v565.v552-home .hero-copy h1 { font-size: clamp(2.6rem, 12vw, 3.85rem); }
  body.v565.v552-home .button-row { display: grid; grid-template-columns: 1fr; }
  body.v565.v552-home .button-row .button { width: min(100%, 320px); margin-inline: auto; }
  body.v565.v552-home .orbit-stage { grid-template-columns: 1fr; padding-top: 276px; }
  body.v565.v552-home .orbit-core { width: 235px; }
  body.v565.v552-home .stats-panel { grid-template-columns: 1fr; }
  body.v565.v552-home .stats-panel article,
  body.v565.v552-home .stats-panel article + article,
  body.v565.v552-home .stats-panel article:nth-child(n+3) {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.14);
  }
  body.v565.v552-home .stats-panel article:first-child { border-top: 0; }
}


/* ========================================================================== 
   V5.6.6 — HOMEPAGE HERO FULL REDESIGN
   Rebuilds the homepage hero as one connected Liquid Glass system, integrates
   metrics into the hero, simplifies the orbital composition, and reduces the
   scattered card-heavy feel.
   ========================================================================== */
body.v566.v552-home .home-hero {
  position: relative;
  isolation: isolate;
  width: calc(100% - 112px);
  min-height: 646px;
  display: grid;
  grid-template-columns: minmax(290px, 340px) minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: 16px 26px;
  margin: 18px auto 18px;
  padding: 32px 34px 20px;
  overflow: hidden;
}
body.v566.v552-home .home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border: 1px solid rgba(255,255,255,.43);
  border-radius: 38px;
  background:
    radial-gradient(360px circle at 17% 20%, rgba(255,255,255,.10), transparent 42%),
    radial-gradient(360px circle at 78% 32%, rgba(164,200,255,.06), transparent 40%),
    linear-gradient(145deg, rgba(255,255,255,.15), rgba(38,43,82,.26) 40%, rgba(20,24,58,.43) 100%);
  box-shadow: 0 28px 80px rgba(16,20,51,.22), inset 0 1px 0 rgba(255,255,255,.56), inset 0 -1px 0 rgba(80,64,146,.12);
  backdrop-filter: blur(22px) saturate(1.06);
  -webkit-backdrop-filter: blur(22px) saturate(1.06);
}
body.v566.v552-home .home-hero::after,
body.v566.v552-home .hero-copy::before,
body.v566.v552-home .orbit-axis { display:none; }

body.v566.v552-home .hero-copy {
  position: relative;
  top: 0;
  z-index: 6;
  align-self: center;
  max-width: 315px;
  margin: 0;
  padding: 4px 4px 0 2px;
}
body.v566.v552-home .hero-copy h1 {
  margin: 0 0 15px;
  width: auto;
  font-size: clamp(2.75rem, 3.35vw, 4.18rem);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.055em;
  text-transform: none;
  transform: none;
  color: rgba(255,255,255,.99);
  text-shadow: 0 3px 18px rgba(10,14,38,.32);
}
body.v566.v552-home .hero-copy h1 span {
  color: transparent;
  background: linear-gradient(92deg, #fff 0%, #d7f4ff 42%, #eadfff 80%, #fff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
body.v566.v552-home .hero-copy p {
  max-width: 300px;
  margin: 0 0 20px;
  color: rgba(244,247,255,.90);
  font-size: 1rem;
  line-height: 1.56;
  text-shadow: 0 2px 10px rgba(11,14,35,.26);
}
body.v566.v552-home .button-row {
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
}
body.v566.v552-home .button-row .button {
  min-width: 136px;
  min-height: 44px;
  padding: 11px 16px;
  border-radius: 14px;
  font-size: .79rem;
}

body.v566.v552-home .orbit-stage {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  min-height: 486px;
  height: 100%;
  margin: 0;
}
body.v566.v552-home .orbit-core {
  top: 50%;
  left: 50%;
  width: clamp(206px, 15vw, 232px);
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 14px 26px rgba(17,22,54,.20));
}
body.v566.v552-home .orbit-ring {
  top: 50%;
  left: 50%;
  border-color: rgba(200,233,244,.34);
  box-shadow: inset 0 0 8px rgba(255,255,255,.07);
}
body.v566.v552-home .ring-one {
  width: clamp(246px, 17.4vw, 274px);
  border-width: 2px;
}
body.v566.v552-home .ring-two {
  width: clamp(284px, 20.1vw, 314px);
  border-width: 2px;
  border-style: dotted;
  opacity: .64;
  box-shadow: none;
}

body.v566.v552-home .orbit-card,
body.v566.v552-home .page-home .orbit-card {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  width: clamp(172px, 12.5vw, 188px);
  min-height: 74px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 18px;
  color: rgba(255,255,255,.98);
  background:
    radial-gradient(140px circle at var(--v552-reflect-x, 18%) var(--v552-reflect-y, 0%), rgba(255,255,255,.075), transparent 45%),
    linear-gradient(150deg, rgba(255,255,255,.17), rgba(36,41,79,.26) 55%, rgba(21,26,63,.40));
  box-shadow: 0 14px 34px rgba(15,19,49,.16), inset 0 1px 0 rgba(255,255,255,.52), inset 0 -1px 0 rgba(74,60,138,.10);
  backdrop-filter: blur(18px) saturate(1.03);
  -webkit-backdrop-filter: blur(18px) saturate(1.03);
  transition: transform 240ms cubic-bezier(.2,.8,.2,1), box-shadow 240ms ease, border-color 200ms ease;
}
body.v566.v552-home .orbit-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.50);
  box-shadow: 0 18px 40px rgba(15,19,49,.20), inset 0 1px 0 rgba(255,255,255,.62);
}
body.v566.v552-home .orbit-card::before {
  content:"";
  position:absolute;
  top:50%;
  width:44px;
  height:1px;
  background: linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,.68), transparent);
  opacity:.40;
  pointer-events:none;
}
body.v566.v552-home .orbit-card.top-left::before,
body.v566.v552-home .orbit-card.middle-left::before,
body.v566.v552-home .orbit-card.bottom-left::before {
  right:-30px;
}
body.v566.v552-home .orbit-card.top-right::before,
body.v566.v552-home .orbit-card.middle-right::before,
body.v566.v552-home .orbit-card.bottom-right::before {
  left:-30px;
  transform: scaleX(-1);
}
body.v566.v552-home .orbit-card svg {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
}
body.v566.v552-home .orbit-card span {
  color: rgba(255,255,255,.96);
  font-size: clamp(.70rem, .72vw, .78rem);
  font-weight: 630;
  line-height: 1.28;
  text-transform: none;
}
body.v566.v552-home .orbit-card.top-left    { top: 66px; left: 11.5%; }
body.v566.v552-home .orbit-card.middle-left { top: 50%; left: 7%; transform: translateY(-50%); }
body.v566.v552-home .orbit-card.bottom-left { left: 11.5%; bottom: 66px; }
body.v566.v552-home .orbit-card.top-right   { top: 66px; right: 11.5%; }
body.v566.v552-home .orbit-card.middle-right{ top: 50%; right: 7%; transform: translateY(-50%); }
body.v566.v552-home .orbit-card.bottom-right{ right: 11.5%; bottom: 66px; }
body.v566.v552-home .orbit-card.middle-left:hover,
body.v566.v552-home .orbit-card.middle-right:hover { transform: translateY(calc(-50% - 2px)); }

body.v566.v552-home .hero-metrics.stats-panel {
  grid-column: 1 / -1;
  grid-row: 2;
  width: auto;
  min-height: 0;
  margin: 2px 0 0;
  padding: 12px 16px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
body.v566.v552-home .hero-metrics.stats-panel article {
  min-width: 0;
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 16px;
}
body.v566.v552-home .hero-metrics.stats-panel article + article {
  border-left: 1px solid rgba(255,255,255,.14);
}
body.v566.v552-home .hero-metrics.stats-panel svg {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  color: rgba(218,239,255,.92);
  filter:none;
}
body.v566.v552-home .hero-metrics.stats-panel strong {
  color: rgba(255,255,255,.99);
  font-size: clamp(1.08rem, 1.25vw, 1.35rem);
  line-height: 1.12;
}
body.v566.v552-home .hero-metrics.stats-panel span {
  color: rgba(238,242,250,.78);
  font-size: .79rem;
  font-weight: 580;
  line-height: 1.3;
}

body.v566.v552-home .credibility-strip,
body.v566.v552-home .home-service-grid,
body.v566.v552-home main > .shell:not(.home-hero) {
  width: calc(100% - 112px);
}
body.v566.v552-home .credibility-strip { margin-top: 0; margin-bottom: 16px; }
body.v566.v552-home .home-service-grid { margin-top: 6px; margin-bottom: 18px; }

@media (max-width: 1250px) {
  body.v566.v552-home .home-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 18px;
    min-height: auto;
    padding: 26px 24px 18px;
  }
  body.v566.v552-home .hero-copy {
    max-width: 720px;
    margin-inline: auto;
    padding: 0;
    text-align: center;
  }
  body.v566.v552-home .hero-copy p { max-width: 620px; margin-left:auto; margin-right:auto; }
  body.v566.v552-home .button-row { justify-content:center; }
  body.v566.v552-home .orbit-stage {
    grid-column: 1;
    grid-row: 2;
    min-height: 520px;
  }
  body.v566.v552-home .hero-metrics.stats-panel { grid-row: 3; }
}

@media (max-width: 900px) {
  body.v566.v552-home .home-hero,
  body.v566.v552-home .credibility-strip,
  body.v566.v552-home .home-service-grid,
  body.v566.v552-home main > .shell:not(.home-hero) {
    width: calc(100% - 38px);
  }
  body.v566.v552-home .home-hero {
    padding: 22px 18px 16px;
    border-radius: 30px;
  }
  body.v566.v552-home .orbit-stage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
    min-height: 0;
    height: auto;
    padding-top: 276px;
  }
  body.v566.v552-home .orbit-core {
    top: 0;
    left: 50%;
    width: 228px;
    transform: translateX(-50%);
  }
  body.v566.v552-home .orbit-ring { display:none; }
  body.v566.v552-home .orbit-card,
  body.v566.v552-home .orbit-card.top-left,
  body.v566.v552-home .orbit-card.middle-left,
  body.v566.v552-home .orbit-card.bottom-left,
  body.v566.v552-home .orbit-card.top-right,
  body.v566.v552-home .orbit-card.middle-right,
  body.v566.v552-home .orbit-card.bottom-right {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 78px;
    transform: none;
  }
  body.v566.v552-home .orbit-card::before { display:none; }
  body.v566.v552-home .orbit-card:hover,
  body.v566.v552-home .orbit-card.middle-left:hover,
  body.v566.v552-home .orbit-card.middle-right:hover { transform: translateY(-2px); }
  body.v566.v552-home .hero-metrics.stats-panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.v566.v552-home .hero-metrics.stats-panel article:nth-child(3) { border-left: 0; }
  body.v566.v552-home .hero-metrics.stats-panel article:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.14); }
}

@media (max-width: 620px) {
  body.v566.v552-home .home-hero,
  body.v566.v552-home .credibility-strip,
  body.v566.v552-home .home-service-grid,
  body.v566.v552-home main > .shell:not(.home-hero) {
    width: calc(100% - 24px);
  }
  body.v566.v552-home .hero-copy h1 { font-size: clamp(2.5rem, 12vw, 3.65rem); }
  body.v566.v552-home .button-row { display:grid; grid-template-columns:1fr; }
  body.v566.v552-home .button-row .button { width:min(100%,320px); margin-inline:auto; }
  body.v566.v552-home .orbit-stage { grid-template-columns: 1fr; padding-top: 246px; }
  body.v566.v552-home .orbit-core { width: 208px; }
  body.v566.v552-home .hero-metrics.stats-panel { grid-template-columns: 1fr; }
  body.v566.v552-home .hero-metrics.stats-panel article,
  body.v566.v552-home .hero-metrics.stats-panel article + article,
  body.v566.v552-home .hero-metrics.stats-panel article:nth-child(n+3) {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.14);
  }
  body.v566.v552-home .hero-metrics.stats-panel article:first-child { border-top: 0; }
}


/* ========================================================================== 
   V5.6.7 — HOMEPAGE COHESION / COMPACT OS CLUSTER
   Tightens the hero, simplifies the medallion system, restores wallpaper
   vibrancy, and turns the service cards into one unified system surface.
   ========================================================================== */
body.v567.v552-home .site-frame::before {
  filter: brightness(.89) contrast(1.015) saturate(.96);
}
body.v567.v552-home .site-frame::after,
body.v567.v552-home .site-frame.page-home::after {
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.035), transparent 29%),
    radial-gradient(circle at 79% 55%, rgba(126,102,199,.045), transparent 31%),
    linear-gradient(180deg, rgba(14,18,50,.12) 0%, rgba(16,19,54,.17) 44%, rgba(11,15,42,.27) 100%);
}

/* One compact system window rather than a wide sparse canvas. */
body.v567.v552-home .home-hero {
  width: calc(100% - 128px);
  min-height: 608px;
  grid-template-columns: minmax(390px, 430px) minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: 14px 32px;
  margin: 18px auto 20px;
  padding: 32px 38px 20px;
}
body.v567.v552-home .home-hero::before {
  border-radius: 40px;
  background:
    radial-gradient(420px circle at 18% 20%, rgba(255,255,255,.095), transparent 43%),
    radial-gradient(390px circle at 77% 43%, rgba(151,185,255,.055), transparent 45%),
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(36,42,81,.235) 42%, rgba(20,24,57,.38) 100%);
  box-shadow: 0 26px 74px rgba(16,20,50,.20), inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(80,64,146,.11);
}
body.v567.v552-home .hero-copy {
  max-width: 410px;
  padding: 4px 8px 0 2px;
}
body.v567.v552-home .hero-copy h1 {
  font-size: clamp(2.85rem, 3.05vw, 3.75rem);
  line-height: .97;
  letter-spacing: -.052em;
  margin-bottom: 16px;
}
body.v567.v552-home .hero-copy h1 span {
  white-space: nowrap;
}
body.v567.v552-home .hero-copy p {
  max-width: 360px;
  font-size: 1rem;
  line-height: 1.54;
}

/* Keep the operations cluster physically compact around the medallion. */
body.v567.v552-home .orbit-stage {
  width: min(100%, 820px);
  min-height: 475px;
  justify-self: center;
  align-self: center;
}
body.v567.v552-home .orbit-core {
  width: clamp(192px, 13.5vw, 215px);
  filter: drop-shadow(0 12px 24px rgba(15,20,50,.18));
}
/* The logo asset already contains its own circular frame: only one subtle
   orbital dotted ring is added around it. */
body.v567.v552-home .ring-one { display: none; }
body.v567.v552-home .ring-two {
  display: block;
  width: clamp(238px, 16.2vw, 260px);
  border-width: 1px;
  border-style: dotted;
  border-color: rgba(221,239,247,.35);
  opacity: .55;
}
body.v567.v552-home .orbit-card,
body.v567.v552-home .page-home .orbit-card {
  width: clamp(168px, 11.6vw, 180px);
  min-height: 70px;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 17px;
  border-color: rgba(255,255,255,.37);
  background:
    radial-gradient(130px circle at var(--v552-reflect-x,18%) var(--v552-reflect-y,0%), rgba(255,255,255,.07), transparent 44%),
    linear-gradient(150deg, rgba(255,255,255,.165), rgba(36,41,78,.24) 56%, rgba(21,26,62,.37));
  box-shadow: 0 12px 30px rgba(15,19,48,.15), inset 0 1px 0 rgba(255,255,255,.50), inset 0 -1px 0 rgba(74,60,138,.08);
}
body.v567.v552-home .orbit-card svg {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
}
body.v567.v552-home .orbit-card span {
  font-size: .72rem;
  line-height: 1.25;
  font-weight: 630;
}
body.v567.v552-home .orbit-card::before {
  width: 38px;
  opacity: .32;
}
body.v567.v552-home .orbit-card.top-left    { top: 62px; left: 8%; }
body.v567.v552-home .orbit-card.middle-left { top: 50%; left: 3.5%; }
body.v567.v552-home .orbit-card.bottom-left { left: 8%; bottom: 62px; }
body.v567.v552-home .orbit-card.top-right   { top: 62px; right: 8%; }
body.v567.v552-home .orbit-card.middle-right{ top: 50%; right: 3.5%; }
body.v567.v552-home .orbit-card.bottom-right{ right: 8%; bottom: 62px; }

body.v567.v552-home .hero-metrics.stats-panel {
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032));
  border-color: rgba(255,255,255,.16);
  padding: 11px 14px;
}
body.v567.v552-home .hero-metrics.stats-panel article { padding: 7px 14px; }
body.v567.v552-home .hero-metrics.stats-panel svg {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}

/* Credibility remains a single slim system strip. */
body.v567.v552-home .credibility-strip {
  width: calc(100% - 128px);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(34,39,77,.30));
  box-shadow: 0 18px 50px rgba(16,20,50,.16), inset 0 1px 0 rgba(255,255,255,.48);
}

/* Six services become ONE operating surface with internal cells instead of six
   independent oversized cards. */
body.v567.v552-home .home-service-grid {
  width: calc(100% - 128px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0;
  margin: 0 auto 18px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.40);
  border-radius: 34px;
  background:
    radial-gradient(380px circle at 16% 12%, rgba(255,255,255,.07), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.145), rgba(35,40,78,.30) 62%, rgba(22,27,64,.40));
  box-shadow: 0 22px 64px rgba(16,20,50,.18), inset 0 1px 0 rgba(255,255,255,.52), inset 0 -1px 0 rgba(78,62,141,.10);
  backdrop-filter: blur(22px) saturate(1.05);
  -webkit-backdrop-filter: blur(22px) saturate(1.05);
}
body.v567.v552-home .home-service-grid .mini-service-card {
  min-height: 190px;
  align-items: flex-start;
  padding: 22px 24px 20px;
  text-align: left;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.v567.v552-home .home-service-grid .mini-service-card:hover {
  transform: none;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
body.v567.v552-home .home-service-grid .mini-service-card:nth-child(2),
body.v567.v552-home .home-service-grid .mini-service-card:nth-child(3),
body.v567.v552-home .home-service-grid .mini-service-card:nth-child(5),
body.v567.v552-home .home-service-grid .mini-service-card:nth-child(6) {
  border-left: 1px solid rgba(255,255,255,.12);
}
body.v567.v552-home .home-service-grid .mini-service-card:nth-child(n+4) {
  border-top: 1px solid rgba(255,255,255,.12);
}
body.v567.v552-home .home-service-grid .mini-service-card svg {
  width: 44px;
  height: 44px;
  margin-bottom: 15px;
  color: rgba(225,242,255,.91);
  filter: none;
}
body.v567.v552-home .home-service-grid .mini-service-card h3 {
  min-height: 0;
  margin-bottom: 8px;
  color: rgba(255,255,255,.97);
  font-size: 1rem;
  line-height: 1.28;
}
body.v567.v552-home .home-service-grid .mini-service-card p {
  margin-bottom: 13px;
  color: rgba(235,240,249,.78);
  font-size: .86rem;
  line-height: 1.48;
}
body.v567.v552-home .home-service-grid .mini-service-card > a {
  margin-top: auto;
  color: rgba(205,239,255,.94);
  font-size: .74rem;
  letter-spacing: .035em;
}

@media (max-width: 1320px) {
  body.v567.v552-home .home-hero {
    grid-template-columns: minmax(340px,390px) minmax(0,1fr);
    width: calc(100% - 72px);
  }
  body.v567.v552-home .credibility-strip,
  body.v567.v552-home .home-service-grid,
  body.v567.v552-home main > .shell:not(.home-hero) { width: calc(100% - 72px); }
  body.v567.v552-home .orbit-card.top-left,
  body.v567.v552-home .orbit-card.bottom-left { left: 5%; }
  body.v567.v552-home .orbit-card.top-right,
  body.v567.v552-home .orbit-card.bottom-right { right: 5%; }
}

@media (max-width: 1100px) {
  body.v567.v552-home .home-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  body.v567.v552-home .hero-copy {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
  }
  body.v567.v552-home .hero-copy p { max-width: 620px; margin-left:auto; margin-right:auto; }
  body.v567.v552-home .button-row { justify-content:center; }
  body.v567.v552-home .orbit-stage {
    grid-column: 1;
    grid-row: 2;
    min-height: 480px;
  }
  body.v567.v552-home .hero-metrics.stats-panel { grid-row: 3; }
}

@media (max-width: 900px) {
  body.v567.v552-home .home-hero,
  body.v567.v552-home .credibility-strip,
  body.v567.v552-home .home-service-grid,
  body.v567.v552-home main > .shell:not(.home-hero) { width: calc(100% - 38px); }
  body.v567.v552-home .home-hero { padding: 22px 18px 16px; }
  body.v567.v552-home .home-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.v567.v552-home .home-service-grid .mini-service-card { min-height: 180px; }
  body.v567.v552-home .home-service-grid .mini-service-card:nth-child(odd) { border-left:0; }
  body.v567.v552-home .home-service-grid .mini-service-card:nth-child(even) { border-left:1px solid rgba(255,255,255,.12); }
  body.v567.v552-home .home-service-grid .mini-service-card:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.12); }
}

@media (max-width: 620px) {
  body.v567.v552-home .home-hero,
  body.v567.v552-home .credibility-strip,
  body.v567.v552-home .home-service-grid,
  body.v567.v552-home main > .shell:not(.home-hero) { width: calc(100% - 24px); }
  body.v567.v552-home .hero-copy h1 { font-size: clamp(2.45rem,11.2vw,3.4rem); }
  body.v567.v552-home .hero-copy h1 span { white-space: normal; }
  body.v567.v552-home .home-service-grid { grid-template-columns:1fr; }
  body.v567.v552-home .home-service-grid .mini-service-card,
  body.v567.v552-home .home-service-grid .mini-service-card:nth-child(even),
  body.v567.v552-home .home-service-grid .mini-service-card:nth-child(odd) {
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  body.v567.v552-home .home-service-grid .mini-service-card:first-child { border-top:0; }
}

/* ========================================================================== 
   V5.6.8 — FINAL VISUAL CALIBRATION
   Stronger lower-section glass, softer refractive edges, tighter hero cluster,
   stronger metrics/credibility hierarchy, and a more substantial footer.
   ========================================================================== */
body.v568 {
  --v568-edge: rgba(255,255,255,.31);
  --v568-edge-strong: rgba(255,255,255,.38);
  --v568-text: rgba(255,255,255,.985);
  --v568-copy: rgba(242,246,255,.88);
  --v568-muted: rgba(232,238,250,.78);
}

/* Softer borders: top refraction remains brighter via existing specular crown. */
body.v568 .glass-panel,
body.v568 .header-inner,
body.v568 .footer-panel,
body.v568 .service-switcher,
body.v568 .services-dropdown {
  border-color: var(--v568-edge);
}
body.v568 .glass-panel::after,
body.v568 .header-inner::after,
body.v568 .service-switcher::after,
body.v568 .services-dropdown::after {
  opacity: .44;
}

/* Homepage hero: slightly calmer headline, stronger hub and denser modules. */
body.v568.v552-home .hero-copy h1 {
  font-size: clamp(2.62rem, 2.82vw, 3.46rem);
  line-height: .98;
  margin-bottom: 17px;
}
body.v568.v552-home .hero-copy p {
  max-width: 370px;
  color: rgba(244,247,255,.91);
}
body.v568.v552-home .orbit-core {
  width: clamp(208px, 14.5vw, 232px);
  filter: drop-shadow(0 14px 28px rgba(14,19,50,.21));
}
body.v568.v552-home .ring-two {
  width: clamp(254px, 17.4vw, 282px);
  border-color: rgba(226,241,248,.30);
  opacity: .48;
}
body.v568.v552-home .orbit-card,
body.v568.v552-home .page-home .orbit-card {
  width: clamp(180px, 12.55vw, 196px);
  min-height: 76px;
  padding: 11px 13px;
  gap: 11px;
  border-radius: 18px;
  border-color: rgba(255,255,255,.31);
  background:
    radial-gradient(145px circle at var(--v552-reflect-x,18%) var(--v552-reflect-y,0%), rgba(255,255,255,.075), transparent 44%),
    linear-gradient(150deg, rgba(255,255,255,.19), rgba(35,40,78,.29) 55%, rgba(20,25,61,.43));
  box-shadow: 0 14px 34px rgba(14,18,47,.17), inset 0 1px 0 rgba(255,255,255,.52), inset 0 -1px 0 rgba(73,58,137,.08);
}
body.v568.v552-home .orbit-card svg {
  width: 31px;
  height: 31px;
  flex-basis: 31px;
}
body.v568.v552-home .orbit-card span {
  font-size: .75rem;
  line-height: 1.27;
}
body.v568.v552-home .orbit-card::before {
  width: 30px;
  opacity: .25;
}
body.v568.v552-home .orbit-card.top-left    { top: 61px; left: 11.2%; }
body.v568.v552-home .orbit-card.middle-left { top: 50%; left: 7.4%; }
body.v568.v552-home .orbit-card.bottom-left { left: 11.2%; bottom: 61px; }
body.v568.v552-home .orbit-card.top-right   { top: 61px; right: 11.2%; }
body.v568.v552-home .orbit-card.middle-right{ top: 50%; right: 7.4%; }
body.v568.v552-home .orbit-card.bottom-right{ right: 11.2%; bottom: 61px; }

/* Metrics: taller, clearer and closer to a system-status surface. */
body.v568.v552-home .hero-metrics.stats-panel {
  min-height: 82px;
  padding: 14px 16px;
  border-radius: 24px;
  border-color: rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.105), rgba(38,43,79,.18) 68%, rgba(23,28,63,.25));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 10px 30px rgba(14,18,48,.10);
}
body.v568.v552-home .hero-metrics.stats-panel article {
  min-height: 54px;
  padding: 8px 17px;
  gap: 13px;
}
body.v568.v552-home .hero-metrics.stats-panel svg {
  width: 39px;
  height: 39px;
  flex-basis: 39px;
  color: rgba(220,241,255,.94);
}
body.v568.v552-home .hero-metrics.stats-panel strong {
  font-size: clamp(1.22rem,1.36vw,1.48rem);
  color: rgba(255,255,255,.99);
}
body.v568.v552-home .hero-metrics.stats-panel span {
  font-size: .82rem;
  color: rgba(239,244,252,.84);
}

/* Credibility strip: stronger material + more vertical breathing room. */
body.v568.v552-home .credibility-strip {
  min-height: 148px;
  padding: 24px 26px;
  border-color: rgba(255,255,255,.29);
  background:
    radial-gradient(320px circle at 16% 10%, rgba(255,255,255,.08), transparent 47%),
    linear-gradient(145deg, rgba(255,255,255,.19), rgba(34,39,77,.38) 62%, rgba(22,27,64,.47));
  box-shadow: 0 20px 56px rgba(15,19,49,.18), inset 0 1px 0 rgba(255,255,255,.50), inset 0 -1px 0 rgba(75,60,138,.09);
}
body.v568.v552-home .credibility-strip article {
  padding: 10px 22px;
  gap: 16px;
}
body.v568.v552-home .credibility-strip svg {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  color: rgba(218,239,255,.93);
  filter: none;
}
body.v568.v552-home .credibility-strip h2 {
  color: rgba(255,255,255,.98);
  font-size: 1.02rem;
  margin-bottom: 5px;
}
body.v568.v552-home .credibility-strip p {
  color: rgba(235,241,250,.82);
  font-size: .88rem;
  line-height: 1.48;
}
body.v568.v552-home .credibility-strip article + article {
  border-left-color: rgba(255,255,255,.09);
}

/* Unified services surface: denser glass, quieter dividers, clearer hierarchy. */
body.v568.v552-home .home-service-grid {
  border-color: rgba(255,255,255,.29);
  background:
    radial-gradient(400px circle at 16% 10%, rgba(255,255,255,.085), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.19), rgba(34,40,78,.39) 60%, rgba(21,26,63,.49));
  box-shadow: 0 24px 68px rgba(15,19,49,.19), inset 0 1px 0 rgba(255,255,255,.51), inset 0 -1px 0 rgba(76,61,139,.10);
}
body.v568.v552-home .home-service-grid .mini-service-card {
  min-height: 214px;
  padding: 27px 27px 24px;
}
body.v568.v552-home .home-service-grid .mini-service-card:hover {
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(26,31,70,.12));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
body.v568.v552-home .home-service-grid .mini-service-card:nth-child(2),
body.v568.v552-home .home-service-grid .mini-service-card:nth-child(3),
body.v568.v552-home .home-service-grid .mini-service-card:nth-child(5),
body.v568.v552-home .home-service-grid .mini-service-card:nth-child(6) {
  border-left-color: rgba(255,255,255,.085);
}
body.v568.v552-home .home-service-grid .mini-service-card:nth-child(n+4) {
  border-top-color: rgba(255,255,255,.085);
}
body.v568.v552-home .home-service-grid .mini-service-card svg {
  width: 49px;
  height: 49px;
  margin-bottom: 16px;
}
body.v568.v552-home .home-service-grid .mini-service-card h3 {
  font-size: 1.06rem;
  margin-bottom: 9px;
}
body.v568.v552-home .home-service-grid .mini-service-card p {
  color: rgba(236,241,250,.82);
  font-size: .89rem;
  line-height: 1.52;
}
body.v568.v552-home .home-service-grid .mini-service-card > a {
  font-size: .78rem;
  color: rgba(218,242,255,.96);
}

/* Local contrast for content-heavy lower homepage areas without muting the hero. */
body.v568.v552-home .credibility-strip,
body.v568.v552-home .home-service-grid,
body.v568.v552-home .site-footer .footer-panel {
  backdrop-filter: blur(24px) saturate(1.04) brightness(.94);
  -webkit-backdrop-filter: blur(24px) saturate(1.04) brightness(.94);
}

/* Footer: stronger anchor on every page. */
body.v568 .footer-panel {
  border-color: rgba(255,255,255,.28);
  background:
    radial-gradient(380px circle at var(--v552-reflect-x,14%) var(--v552-reflect-y,0%), rgba(255,255,255,.085), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.19), rgba(31,36,74,.48) 50%, rgba(18,22,54,.66));
  box-shadow: 0 28px 78px rgba(14,17,44,.27), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(76,60,140,.12);
}
body.v568 .footer-column h2,
body.v568 .footer-brand h2,
body.v568 .footer-brand strong {
  color: rgba(255,255,255,.99);
}
body.v568 .footer-column a,
body.v568 .footer-brand > p,
body.v568 .footer-column li,
body.v568 .footer-column address,
body.v568 .legal-row p {
  color: rgba(239,244,252,.86);
}
body.v568 .legal-row {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.12);
}

@media (max-width: 1320px) {
  body.v568.v552-home .orbit-card.top-left,
  body.v568.v552-home .orbit-card.bottom-left { left: 8%; }
  body.v568.v552-home .orbit-card.middle-left { left: 4%; }
  body.v568.v552-home .orbit-card.top-right,
  body.v568.v552-home .orbit-card.bottom-right { right: 8%; }
  body.v568.v552-home .orbit-card.middle-right { right: 4%; }
}

@media (max-width: 900px) {
  body.v568.v552-home .hero-copy h1 { font-size: clamp(2.55rem,9.4vw,3.35rem); }
  body.v568.v552-home .credibility-strip { min-height: 0; padding: 20px 18px; }
  body.v568.v552-home .home-service-grid .mini-service-card { min-height: 190px; padding: 23px 21px 21px; }
  body.v568.v552-home .home-service-grid .mini-service-card:nth-child(even) { border-left-color: rgba(255,255,255,.08); }
  body.v568.v552-home .home-service-grid .mini-service-card:nth-child(n+3) { border-top-color: rgba(255,255,255,.08); }
  body.v568 .footer-panel {
    background: linear-gradient(150deg, rgba(255,255,255,.19), rgba(31,36,74,.68));
    backdrop-filter: blur(14px) saturate(1.02);
    -webkit-backdrop-filter: blur(14px) saturate(1.02);
  }
}

@media (max-width: 620px) {
  body.v568.v552-home .hero-copy h1 { font-size: clamp(2.35rem,10.8vw,3.15rem); }
  body.v568.v552-home .hero-metrics.stats-panel { padding: 11px 13px; }
  body.v568.v552-home .hero-metrics.stats-panel article { min-height: 52px; }
  body.v568.v552-home .home-service-grid .mini-service-card { min-height: 0; padding: 22px 20px; }
}


/* ========================================================================== 
   V5.6.9 — TEXT CONTRAST / LEGIBILITY PASS
   Text-color-only correction for stronger readability over Liquid Glass.
   Layout, spacing, glass materials, wallpaper and motion remain unchanged.
   ========================================================================== */
body.v569 {
  --v569-heading: #ffffff;
  --v569-copy: #f6f8ff;
  --v569-secondary: #e9eefb;
  --v569-muted: #dce5f6;
  --v569-accent: #d7f5ff;
  --v569-link: #caf1ff;
  color: var(--v569-copy);
}

/* Primary headings and high-priority labels */
body.v569 h1,
body.v569 h2,
body.v569 h3,
body.v569 h4,
body.v569 h5,
body.v569 h6,
body.v569 .logo-wordmark,
body.v569 .footer-brand strong,
body.v569 .footer-column h2,
body.v569 .contact-form h2,
body.v569 .product-name,
body.v569 .workflow-core {
  color: var(--v569-heading);
  text-shadow: 0 2px 12px rgba(7,10,30,.34);
}

/* General readable copy across every page */
body.v569 main p,
body.v569 main li,
body.v569 main dd,
body.v569 main address,
body.v569 .about-copy p,
body.v569 .cta-copy p,
body.v569 .service-note,
body.v569 .category-note,
body.v569 .policy-content p,
body.v569 .policy-content li,
body.v569 .policy-meta,
body.v569 .product-card p,
body.v569 .service-detail-card p,
body.v569 .mini-service-card p,
body.v569 .contact-intro p,
body.v569 .service-hero-copy p,
body.v569 .page-intro p,
body.v569 .hero-copy p {
  color: var(--v569-copy);
  text-shadow: 0 1px 8px rgba(7,10,29,.26);
}

/* Secondary/supporting copy: still clearly readable, but subordinate. */
body.v569 .eyebrow,
body.v569 .service-policy-links,
body.v569 .service-copy-grid p,
body.v569 .differences-card p,
body.v569 .map-card p,
body.v569 .contact-card p,
body.v569 .contact-card li,
body.v569 .legal-row p,
body.v569 .footer-brand > p,
body.v569 .footer-column li,
body.v569 .footer-column address {
  color: var(--v569-secondary);
}

/* Navigation and interactive text */
body.v569 .desktop-nav > a,
body.v569 .desktop-nav .services-trigger,
body.v569 .mobile-menu a,
body.v569 .services-dropdown a,
body.v569 .policy-tabs a,
body.v569 .service-switcher a {
  color: #f9fbff;
}
body.v569 .desktop-nav > a:hover,
body.v569 .desktop-nav .services-trigger:hover,
body.v569 .mobile-menu a:hover,
body.v569 .services-dropdown a:hover,
body.v569 .policy-tabs a:hover,
body.v569 .service-switcher a:hover {
  color: #ffffff;
}

/* Links inside content surfaces use a brighter icy-blue accent. */
body.v569 main a:not(.button):not(.orbit-card):not(.service-card-link),
body.v569 .footer-column a,
body.v569 .legal-row a,
body.v569 .mini-service-card > a {
  color: var(--v569-link);
}
body.v569 main a:not(.button):not(.orbit-card):not(.service-card-link):hover,
body.v569 .footer-column a:hover,
body.v569 .legal-row a:hover,
body.v569 .mini-service-card > a:hover {
  color: #ffffff;
}

/* Hero + integrated operating-system modules. */
body.v569.v552-home .hero-copy h1,
body.v569.v552-home .hero-copy h1 span,
body.v569.v552-home .orbit-card span,
body.v569.v552-home .hero-metrics.stats-panel strong,
body.v569.v552-home .credibility-strip h2,
body.v569.v552-home .home-service-grid .mini-service-card h3 {
  color: #ffffff;
}
body.v569.v552-home .hero-copy h1 span {
  background: linear-gradient(92deg, #ffffff 0%, #e8f9ff 42%, #f2eaff 78%, #ffffff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.v569.v552-home .hero-metrics.stats-panel span,
body.v569.v552-home .credibility-strip p,
body.v569.v552-home .home-service-grid .mini-service-card p {
  color: #eef3ff;
}
body.v569.v552-home .home-service-grid .mini-service-card > a {
  color: #d9f6ff;
}

/* Form labels, values and placeholder text. */
body.v569 label,
body.v569 .contact-form label > span,
body.v569 .contact-form label b,
body.v569 .contact-form .floating-field > span {
  color: #f8fbff;
}
body.v569 input,
body.v569 select,
body.v569 textarea {
  color: #ffffff;
}
body.v569 input::placeholder,
body.v569 textarea::placeholder {
  color: #dce5f4;
  opacity: 1;
}

/* Footer: stronger text contrast without changing the material itself. */
body.v569 .footer-column h2,
body.v569 .footer-brand h2,
body.v569 .footer-brand strong {
  color: #ffffff;
}
body.v569 .footer-column a,
body.v569 .footer-brand > p,
body.v569 .footer-column li,
body.v569 .footer-column address,
body.v569 .legal-row p {
  color: #edf2fc;
}
body.v569 .footer-column a:hover,
body.v569 .legal-row a:hover {
  color: #ffffff;
}

/* Keep buttons crisp and unambiguous. */
body.v569 .button,
body.v569 .button-primary,
body.v569 .button-secondary,
body.v569 .button-header,
body.v569 .button-quiet {
  color: #ffffff;
}

/* Small/mobile screens need even less muted text. */
@media (max-width: 900px) {
  body.v569 main p,
  body.v569 main li,
  body.v569 .footer-column a,
  body.v569 .footer-brand > p,
  body.v569 .legal-row p {
    color: #f3f6ff;
  }
}


/* ========================================================================== 
   V5.7.0 — CONNECTED HOMEPAGE ARCHITECTURE
   Homepage uses three primary Liquid Glass environments instead of scattered
   independent cards. Internal regions are separated by whitespace and hairlines.
   ========================================================================== */
body.v570.v552-home .v570-main {
  display: grid;
  gap: 20px;
  padding: 18px 0 20px;
}
body.v570.v552-home .v570-surface {
  position: relative;
  isolation: isolate;
  width: calc(100% - 112px);
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,.31);
  border-radius: 38px;
  background:
    radial-gradient(620px circle at var(--v552-reflect-x, 18%) var(--v552-reflect-y, 0%), rgba(255,255,255,.10), transparent 46%),
    linear-gradient(145deg, rgba(255,255,255,.155), rgba(45,49,86,.285) 52%, rgba(25,29,67,.45));
  box-shadow: 0 26px 78px rgba(17,21,53,.19), inset 0 1px 0 rgba(255,255,255,.56), inset 0 -1px 0 rgba(73,58,137,.10);
  backdrop-filter: blur(24px) saturate(1.06);
  -webkit-backdrop-filter: blur(24px) saturate(1.06);
  overflow: hidden;
}
body.v570.v552-home .v570-surface::after {
  content:"";
  position:absolute;
  left:8%; right:8%; top:0;
  height:1px;
  z-index:8;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.56) 24%,rgba(255,255,255,.78) 50%,rgba(238,225,255,.42) 76%,transparent);
  opacity:.55;
  pointer-events:none;
}
body.v570.v552-home .v570-kicker {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-bottom:13px;
  color:rgba(235,245,255,.91);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Hero: one surface, no nested glass cards. */
body.v570.v552-home .v570-hero {
  min-height: 650px;
  display:grid;
  grid-template-columns:minmax(300px, 34%) minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:12px 28px;
  padding:42px 42px 20px;
}
body.v570.v552-home .v570-hero-copy {
  align-self:center;
  max-width:390px;
  padding:8px 0 8px 4px;
}
body.v570.v552-home .v570-hero-copy h1 {
  width:auto;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(3.1rem,3.9vw,4.8rem);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.055em;
  text-transform:none;
  transform:none;
  text-shadow:0 3px 18px rgba(8,11,34,.30);
}
body.v570.v552-home .v570-hero-copy h1 span {
  white-space:nowrap;
  color:transparent;
  background:linear-gradient(92deg,#fff 0%,#d8f5ff 40%,#eedfff 78%,#fff 100%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
}
body.v570.v552-home .v570-hero-copy > p {
  max-width:360px;
  margin:0 0 24px;
  color:rgba(248,250,255,.93);
  font-size:1.04rem;
  line-height:1.58;
  text-shadow:0 2px 10px rgba(8,10,30,.24);
}
body.v570.v552-home .v570-hero-copy .button-row { display:flex; flex-wrap:wrap; gap:12px; }
body.v570.v552-home .v570-hero-copy .button { min-width:140px; min-height:45px; }

body.v570.v552-home .v570-hero-system {
  align-self:center;
  min-height:470px;
  display:grid;
  grid-template-columns:minmax(175px,1fr) clamp(220px,18vw,275px) minmax(175px,1fr);
  align-items:center;
  gap:20px;
  padding:10px 8px;
}
body.v570.v552-home .v570-node-column {
  height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
}
body.v570.v552-home .v570-node-left { align-items:flex-end; }
body.v570.v552-home .v570-node-right { align-items:flex-start; }
body.v570.v552-home .v570-service-node {
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  width:min(100%,220px);
  min-height:66px;
  padding:8px 7px;
  color:rgba(255,255,255,.97);
  border:0;
  border-radius:17px;
  background:transparent;
  box-shadow:none;
  transition:background 220ms cubic-bezier(.2,.8,.2,1),transform 220ms cubic-bezier(.2,.8,.2,1),color 180ms ease;
}
body.v570.v552-home .v570-service-node:hover {
  background:rgba(255,255,255,.075);
  transform:translateY(-1px);
}
body.v570.v552-home .v570-service-node.left { flex-direction:row-reverse; text-align:right; }
body.v570.v552-home .v570-service-node::after {
  content:"";
  position:absolute;
  top:50%;
  width:32px;
  height:1px;
  opacity:.34;
  background:linear-gradient(90deg,transparent,rgba(227,245,255,.82));
}
body.v570.v552-home .v570-service-node.left::after { right:-25px; }
body.v570.v552-home .v570-service-node.right::after { left:-25px; transform:scaleX(-1); }
body.v570.v552-home .v570-node-icon {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34);
}
body.v570.v552-home .v570-node-icon svg { width:26px;height:26px;color:#e4f7ff;filter:none; }
body.v570.v552-home .v570-node-label { font-size:.80rem;font-weight:650;line-height:1.3; }
body.v570.v552-home .v570-hub {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:1;
  justify-self:center;
}
body.v570.v552-home .v570-hub::before {
  content:"";
  position:absolute;
  inset:-11px;
  border:1px dotted rgba(206,237,248,.37);
  border-radius:50%;
  opacity:.70;
}
body.v570.v552-home .v570-hub img {
  position:relative;
  z-index:2;
  width:100%;height:100%;
  object-fit:contain;
  filter:drop-shadow(0 15px 28px rgba(15,20,52,.20));
}
body.v570.v552-home .v570-metrics {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-height:78px;
  padding:14px 8px 0;
  border-top:1px solid rgba(255,255,255,.14);
}
body.v570.v552-home .v570-metrics article {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 15px;
  text-align:center;
}
body.v570.v552-home .v570-metrics article+article { border-left:1px solid rgba(255,255,255,.12); }
body.v570.v552-home .v570-metrics strong { color:#fff;font-size:1.25rem;font-weight:720; }
body.v570.v552-home .v570-metrics span { color:rgba(244,248,255,.82);font-size:.82rem;font-weight:590; }

/* Services: one surface, six internal regions. */
body.v570.v552-home .v570-services { padding:34px 36px 24px; }
body.v570.v552-home .v570-section-intro { max-width:780px;margin-bottom:20px;padding:0 4px; }
body.v570.v552-home .v570-section-intro h2,
body.v570.v552-home .v570-journey-head h2 {
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(2rem,2.8vw,3.15rem);
  font-weight:690;
  letter-spacing:-.045em;
  line-height:1.02;
}
body.v570.v552-home .v570-section-intro p,
body.v570.v552-home .v570-journey-head p { margin:0;color:rgba(246,249,255,.88);font-size:1rem;line-height:1.58; }
body.v570.v552-home .v570-services-matrix {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.14);
}
body.v570.v552-home .v570-service-cell {
  position:relative;
  min-height:210px;
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:27px 25px 24px;
  color:inherit;
  background:transparent;
  transition:background 220ms ease;
}
body.v570.v552-home .v570-service-cell:nth-child(n+4) { border-top:1px solid rgba(255,255,255,.12); }
body.v570.v552-home .v570-service-cell:not(:nth-child(3n+1)) { border-left:1px solid rgba(255,255,255,.12); }
body.v570.v552-home .v570-service-cell:hover { background:rgba(255,255,255,.055); }
body.v570.v552-home .v570-service-icon {
  width:46px;height:46px;flex:0 0 46px;
  display:grid;place-items:center;
  border-radius:15px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26);
}
body.v570.v552-home .v570-service-icon svg { width:30px;height:30px;color:#e4f7ff;filter:none; }
body.v570.v552-home .v570-service-copy h3 { margin:0 0 8px;color:#fff;font-size:1.02rem;font-weight:670;line-height:1.25; }
body.v570.v552-home .v570-service-copy p { margin:0 0 15px;color:rgba(244,248,255,.84);font-size:.91rem;line-height:1.53; }
body.v570.v552-home .v570-service-link { color:#dff7ff;font-size:.77rem;font-weight:700;letter-spacing:.02em; }
body.v570.v552-home .v570-service-link b { margin-left:5px;font-size:1rem; }

/* Journey + proof + CTA live inside one final environment. */
body.v570.v552-home .v570-journey { padding:36px 36px 24px; }
body.v570.v552-home .v570-journey-head { max-width:870px;margin-bottom:24px;padding:0 4px; }
body.v570.v552-home .v570-workflow {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
body.v570.v552-home .v570-workflow article { min-height:162px;padding:24px 22px; }
body.v570.v552-home .v570-workflow article+article { border-left:1px solid rgba(255,255,255,.12); }
body.v570.v552-home .v570-workflow article>span { display:block;margin-bottom:14px;color:rgba(205,235,249,.68);font-size:.74rem;font-weight:760;letter-spacing:.1em; }
body.v570.v552-home .v570-workflow strong { display:block;margin-bottom:7px;color:#fff;font-size:1.05rem;font-weight:680; }
body.v570.v552-home .v570-workflow p { margin:0;color:rgba(242,247,255,.80);font-size:.88rem;line-height:1.5; }
body.v570.v552-home .v570-proof-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:22px 0 18px;
}
body.v570.v552-home .v570-proof-grid article { display:flex;align-items:flex-start;gap:12px;padding:12px 20px; }
body.v570.v552-home .v570-proof-grid article+article { border-left:1px solid rgba(255,255,255,.10); }
body.v570.v552-home .v570-proof-icon { width:36px;height:36px;flex:0 0 36px;color:#e2f6ff; }
body.v570.v552-home .v570-proof-icon svg { width:100%;height:100%; }
body.v570.v552-home .v570-proof-grid h3 { margin:0 0 5px;color:#fff;font-size:.91rem;font-weight:670; }
body.v570.v552-home .v570-proof-grid p { margin:0;color:rgba(242,247,255,.78);font-size:.80rem;line-height:1.45; }
body.v570.v552-home .v570-final-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 8px 4px;
  border-top:1px solid rgba(255,255,255,.14);
}
body.v570.v552-home .v570-final-cta h2 { margin:0 0 7px;color:#fff;font-size:clamp(1.55rem,2.1vw,2.25rem);font-weight:690;letter-spacing:-.035em; }
body.v570.v552-home .v570-final-cta p { max-width:720px;margin:0;color:rgba(244,248,255,.84);line-height:1.55; }
body.v570.v552-home .v570-final-cta .button { flex:0 0 auto;min-width:155px; }

@media (max-width:1200px) {
  body.v570.v552-home .v570-hero { grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;padding:32px 30px 20px; }
  body.v570.v552-home .v570-hero-copy { max-width:760px;margin:0 auto;text-align:center; }
  body.v570.v552-home .v570-hero-copy>p { max-width:650px;margin-left:auto;margin-right:auto; }
  body.v570.v552-home .v570-hero-copy .button-row { justify-content:center; }
  body.v570.v552-home .v570-hero-system { grid-row:2;min-height:430px; }
  body.v570.v552-home .v570-metrics { grid-row:3; }
  body.v570.v552-home .v570-hero-copy h1 span { white-space:normal; }
}
@media (max-width:900px) {
  body.v570.v552-home .v570-main { gap:14px;padding-top:12px; }
  body.v570.v552-home .v570-surface { width:calc(100% - 38px);border-radius:30px;backdrop-filter:blur(14px) saturate(1.03);-webkit-backdrop-filter:blur(14px) saturate(1.03); }
  body.v570.v552-home .v570-hero { padding:27px 20px 16px; }
  body.v570.v552-home .v570-hero-system { grid-template-columns:1fr;min-height:0;gap:14px;padding-top:0; }
  body.v570.v552-home .v570-hub { grid-row:1;width:min(58vw,245px);margin:0 auto 8px; }
  body.v570.v552-home .v570-node-column { height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch; }
  body.v570.v552-home .v570-node-left { grid-row:2; }
  body.v570.v552-home .v570-node-right { grid-row:3; }
  body.v570.v552-home .v570-service-node,
  body.v570.v552-home .v570-service-node.left { width:auto;min-height:64px;flex-direction:row;text-align:left;padding:8px; }
  body.v570.v552-home .v570-service-node::after { display:none; }
  body.v570.v552-home .v570-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.v570.v552-home .v570-metrics article:nth-child(3) { border-left:0; }
  body.v570.v552-home .v570-metrics article:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.10); }
  body.v570.v552-home .v570-services,
  body.v570.v552-home .v570-journey { padding:28px 22px 18px; }
  body.v570.v552-home .v570-services-matrix { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.v570.v552-home .v570-service-cell:nth-child(n) { border-left:0;border-top:0; }
  body.v570.v552-home .v570-service-cell:nth-child(even) { border-left:1px solid rgba(255,255,255,.12); }
  body.v570.v552-home .v570-service-cell:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.12); }
  body.v570.v552-home .v570-workflow,
  body.v570.v552-home .v570-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.v570.v552-home .v570-workflow article:nth-child(3),
  body.v570.v552-home .v570-proof-grid article:nth-child(3) { border-left:0; }
  body.v570.v552-home .v570-workflow article:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.12); }
  body.v570.v552-home .v570-proof-grid article:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.10); }
  body.v570.v552-home .v570-final-cta { align-items:flex-start;flex-direction:column; }
}
@media (max-width:620px) {
  body.v570.v552-home .v570-surface { width:calc(100% - 24px);border-radius:26px; }
  body.v570.v552-home .v570-hero { padding:24px 16px 14px; }
  body.v570.v552-home .v570-hero-copy h1 { font-size:clamp(2.55rem,12vw,3.65rem); }
  body.v570.v552-home .v570-hero-copy .button-row { display:grid;grid-template-columns:1fr; }
  body.v570.v552-home .v570-hero-copy .button { width:min(100%,330px);margin-inline:auto; }
  body.v570.v552-home .v570-node-column { grid-template-columns:1fr; }
  body.v570.v552-home .v570-service-node { justify-content:flex-start; }
  body.v570.v552-home .v570-metrics { grid-template-columns:1fr; }
  body.v570.v552-home .v570-metrics article,
  body.v570.v552-home .v570-metrics article+article,
  body.v570.v552-home .v570-metrics article:nth-child(n+3) { border-left:0;border-top:1px solid rgba(255,255,255,.10); }
  body.v570.v552-home .v570-metrics article:first-child { border-top:0; }
  body.v570.v552-home .v570-services,
  body.v570.v552-home .v570-journey { padding:24px 16px 16px; }
  body.v570.v552-home .v570-services-matrix,
  body.v570.v552-home .v570-workflow,
  body.v570.v552-home .v570-proof-grid { grid-template-columns:1fr; }
  body.v570.v552-home .v570-service-cell:nth-child(n),
  body.v570.v552-home .v570-workflow article:nth-child(n),
  body.v570.v552-home .v570-proof-grid article:nth-child(n) { border-left:0; }
  body.v570.v552-home .v570-service-cell:nth-child(n+2),
  body.v570.v552-home .v570-workflow article:nth-child(n+2),
  body.v570.v552-home .v570-proof-grid article:nth-child(n+2) { border-top:1px solid rgba(255,255,255,.11); }
  body.v570.v552-home .v570-final-cta .button { width:100%; }
}


/* ========================================================================== 
   V5.7.1 — HOMEPAGE FOOTER WIDTH MATCH
   Aligns the homepage footer's left/right edges exactly with the floating
   desktop header. No footer height, content, material, or typography changes.
   ========================================================================== */
@media (min-width: 901px) {
  body.v571.v552-home .site-footer .footer-panel {
    width: calc(100% - 32px);
    max-width: none;
    margin-inline: auto;
  }
}


/* ========================================================================== 
   V5.7.2 — HOMEPAGE DENSITY + LEGIBILITY
   Adds meaningful information density and stronger text contrast while keeping
   the connected-surface architecture. No return to scattered glass cards.
   ========================================================================== */
body.v572.v552-home {
  --v572-text:#ffffff;
  --v572-body:rgba(255,255,255,.955);
  --v572-secondary:rgba(246,249,255,.90);
  --v572-muted:rgba(235,241,251,.84);
  --v572-hairline:rgba(255,255,255,.14);
}
body.v572.v552-home .v570-main { gap:16px;padding-top:14px; }
body.v572.v552-home .v570-surface {
  width:calc(100% - 64px);
  border-color:rgba(255,255,255,.28);
  background:
    radial-gradient(620px circle at var(--v552-reflect-x,18%) var(--v552-reflect-y,0%),rgba(255,255,255,.11),transparent 45%),
    linear-gradient(145deg,rgba(255,255,255,.205),rgba(42,47,86,.36) 50%,rgba(22,27,65,.56));
  box-shadow:0 26px 72px rgba(16,20,52,.22),inset 0 1px 0 rgba(255,255,255,.60),inset 0 -1px 0 rgba(72,58,137,.12);
}
body.v572.v552-home .v570-surface::after { opacity:.42; }
body.v572.v552-home .v570-kicker { color:rgba(250,252,255,.94);font-size:.77rem; }
body.v572.v552-home .v570-section-intro h2,
body.v572.v552-home .v570-journey-head h2,
body.v572.v552-home .v572-tools-head h2,
body.v572.v552-home .v570-final-cta h2,
body.v572.v552-home .v570-service-copy h3,
body.v572.v552-home .v570-proof-grid h3,
body.v572.v552-home .v572-tool h3 { color:var(--v572-text);text-shadow:0 2px 10px rgba(7,10,29,.26); }
body.v572.v552-home .v570-section-intro p,
body.v572.v552-home .v570-journey-head p,
body.v572.v552-home .v570-service-copy p,
body.v572.v552-home .v570-workflow p,
body.v572.v552-home .v570-proof-grid p,
body.v572.v552-home .v570-final-cta p,
body.v572.v552-home .v572-tools-head p,
body.v572.v552-home .v572-tool p { color:var(--v572-body);text-shadow:0 1px 8px rgba(7,10,27,.23); }

/* Fuller hero: more useful occupied space, stronger type, larger system. */
body.v572.v552-home .v570-hero {
  min-height:620px;
  grid-template-columns:minmax(340px,36%) minmax(0,1fr);
  gap:10px 30px;
  padding:38px 40px 20px;
  background:
    radial-gradient(640px circle at 17% 15%,rgba(255,255,255,.105),transparent 47%),
    linear-gradient(145deg,rgba(255,255,255,.18),rgba(43,48,88,.32) 54%,rgba(23,28,67,.50));
}
body.v572.v552-home .v570-hero-copy { max-width:440px;padding-left:4px; }
body.v572.v552-home .v570-hero-copy h1 { font-size:clamp(3.15rem,4vw,4.95rem);text-shadow:0 3px 20px rgba(5,8,27,.38); }
body.v572.v552-home .v570-hero-copy>p { max-width:430px;margin-bottom:22px;color:var(--v572-body);font-size:1.11rem;line-height:1.62; }
body.v572.v552-home .v570-hero-copy .button { min-width:150px;min-height:48px;font-size:.84rem; }
body.v572.v552-home .v570-hero-system {
  min-height:490px;
  grid-template-columns:minmax(190px,1fr) clamp(245px,20vw,300px) minmax(190px,1fr);
  gap:18px;
  padding:4px 0;
}
body.v572.v552-home .v570-node-column { height:382px;gap:20px; }
body.v572.v552-home .v570-service-node { width:min(100%,250px);min-height:82px;padding:10px 9px;gap:13px; }
body.v572.v552-home .v570-service-node:hover { background:rgba(255,255,255,.09); }
body.v572.v552-home .v570-node-icon { width:52px;height:52px;flex-basis:52px;border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.055)); }
body.v572.v552-home .v570-node-icon svg { width:31px;height:31px;color:#f2fbff; }
body.v572.v552-home .v570-node-label { color:#fff;font-size:.88rem;font-weight:680;line-height:1.32;text-shadow:0 1px 7px rgba(7,10,27,.25); }
body.v572.v552-home .v570-service-node::after { width:38px;opacity:.42; }
body.v572.v552-home .v570-hub::before { inset:-9px;border-color:rgba(226,245,252,.40); }
body.v572.v552-home .v570-metrics { min-height:92px;padding-top:12px; }
body.v572.v552-home .v570-metrics article { gap:10px;padding:10px 18px; }
body.v572.v552-home .v570-metrics strong { color:#fff;font-size:1.45rem;text-shadow:0 2px 8px rgba(7,10,27,.24); }
body.v572.v552-home .v570-metrics span { color:rgba(255,255,255,.92);font-size:.91rem;font-weight:620; }

/* More substantial services surface. */
body.v572.v552-home .v570-services { padding:38px 38px 28px; }
body.v572.v552-home .v570-section-intro { max-width:900px;margin-bottom:24px; }
body.v572.v552-home .v570-section-intro h2,
body.v572.v552-home .v570-journey-head h2,
body.v572.v552-home .v572-tools-head h2 { font-size:clamp(2.2rem,3vw,3.45rem); }
body.v572.v552-home .v570-section-intro p,
body.v572.v552-home .v570-journey-head p,
body.v572.v552-home .v572-tools-head p { font-size:1.07rem;line-height:1.62; }
body.v572.v552-home .v570-service-cell { min-height:250px;gap:17px;padding:30px 27px 27px; }
body.v572.v552-home .v570-service-cell:hover { background:rgba(255,255,255,.07); }
body.v572.v552-home .v570-service-icon { width:54px;height:54px;flex-basis:54px;border-radius:17px;background:rgba(255,255,255,.09); }
body.v572.v552-home .v570-service-icon svg { width:34px;height:34px;color:#f0fbff; }
body.v572.v552-home .v570-service-copy h3 { margin-bottom:10px;font-size:1.12rem;font-weight:700; }
body.v572.v552-home .v570-service-copy p { margin-bottom:17px;font-size:.97rem;line-height:1.58; }
body.v572.v552-home .v570-service-link { color:#effcff;font-size:.84rem;font-weight:750; }

/* One connected RIKA Tools ecosystem surface. */
body.v572.v552-home .v572-tools { padding:38px 38px 24px; }
body.v572.v552-home .v572-tools-head { max-width:920px;margin-bottom:24px;padding:0 4px; }
body.v572.v552-home .v572-tools-head h2 { margin:0 0 10px;font-weight:700;letter-spacing:-.045em;line-height:1.03; }
body.v572.v552-home .v572-tools-head p { margin:0;max-width:860px; }
body.v572.v552-home .v572-tools-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--v572-hairline);
  border-bottom:1px solid var(--v572-hairline);
}
body.v572.v552-home .v572-tool {
  min-height:300px;
  display:flex;
  align-items:flex-start;
  gap:17px;
  padding:31px 28px 28px;
  color:inherit;
  background:transparent;
  transition:background 220ms ease;
}
body.v572.v552-home .v572-tool+ .v572-tool { border-left:1px solid var(--v572-hairline); }
body.v572.v552-home .v572-tool:hover { background:rgba(255,255,255,.07); }
body.v572.v552-home .v572-tool-icon {
  width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:18px;
  color:#effbff;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.065));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32);
}
body.v572.v552-home .v572-tool-icon svg { width:35px;height:35px; }
body.v572.v552-home .v572-tool-copy { min-width:0; }
body.v572.v552-home .v572-tool-label { display:block;margin-bottom:8px;color:rgba(226,242,252,.86);font-size:.75rem;font-weight:740;letter-spacing:.075em;text-transform:uppercase; }
body.v572.v552-home .v572-tool h3 { margin:0 0 10px;font-size:1.2rem;font-weight:710; }
body.v572.v552-home .v572-tool p { margin:0 0 18px;font-size:.97rem;line-height:1.58; }
body.v572.v552-home .v572-tool-link { color:#effcff;font-size:.84rem;font-weight:760; }
body.v572.v552-home .v572-tool-link b { margin-left:5px;font-size:1.02rem; }
body.v572.v552-home .v572-tools-foot { min-height:62px;display:flex;align-items:center;gap:12px;padding:12px 10px 0;color:rgba(245,249,255,.87);font-size:.84rem;font-weight:620; }
body.v572.v552-home .v572-tools-foot i { width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.42); }
body.v572.v552-home .v572-tools-foot a { margin-left:auto;color:#fff;font-weight:740; }
body.v572.v552-home .v572-tools-foot a b { margin-left:5px; }

/* Expanded process and proof content so the lower homepage feels complete. */
body.v572.v552-home .v570-journey { padding:39px 38px 26px; }
body.v572.v552-home .v570-journey-head { max-width:940px;margin-bottom:26px; }
body.v572.v552-home .v570-workflow article { min-height:214px;padding:28px 24px; }
body.v572.v552-home .v570-workflow article>span { margin-bottom:16px;color:rgba(230,244,252,.84);font-size:.80rem; }
body.v572.v552-home .v570-workflow strong { margin-bottom:9px;color:#fff;font-size:1.18rem;font-weight:710; }
body.v572.v552-home .v570-workflow p { color:rgba(255,255,255,.91);font-size:.94rem;line-height:1.58; }
body.v572.v552-home .v570-proof-grid { padding:25px 0 21px; }
body.v572.v552-home .v570-proof-grid article { min-height:110px;gap:14px;padding:17px 22px; }
body.v572.v552-home .v570-proof-icon { width:42px;height:42px;flex-basis:42px;color:#effaff; }
body.v572.v552-home .v570-proof-grid h3 { margin-bottom:6px;font-size:1rem;font-weight:700; }
body.v572.v552-home .v570-proof-grid p { color:rgba(255,255,255,.89);font-size:.88rem;line-height:1.52; }
body.v572.v552-home .v570-final-cta { min-height:112px;padding:26px 10px 7px; }
body.v572.v552-home .v570-final-cta h2 { font-size:clamp(1.8rem,2.35vw,2.55rem); }
body.v572.v552-home .v570-final-cta p { color:rgba(255,255,255,.91);font-size:1rem; }

/* Homepage footer: keep the requested header-width match, but boost text clarity. */
body.v572.v552-home .site-footer .footer-panel {
  width:calc(100% - 32px);
  max-width:none;
  margin-inline:auto;
  background:
    radial-gradient(380px circle at var(--v552-reflect-x,14%) var(--v552-reflect-y,0%),rgba(255,255,255,.085),transparent 46%),
    linear-gradient(145deg,rgba(255,255,255,.20),rgba(31,37,76,.45) 50%,rgba(17,22,55,.66));
}
body.v572.v552-home .footer-column h2,
body.v572.v552-home .footer-brand h2 { color:#fff; }
body.v572.v552-home .footer-column a,
body.v572.v552-home .footer-brand>p,
body.v572.v552-home .legal-row p,
body.v572.v552-home .footer-column address,
body.v572.v552-home .footer-column li { color:rgba(255,255,255,.90); }

@media (max-width:1200px) {
  body.v572.v552-home .v570-hero { grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;padding:32px 30px 20px; }
  body.v572.v552-home .v570-hero-copy { max-width:780px;margin-inline:auto;text-align:center; }
  body.v572.v552-home .v570-hero-copy>p { max-width:720px;margin-left:auto;margin-right:auto; }
  body.v572.v552-home .v570-hero-system { min-height:470px; }
  body.v572.v552-home .v570-node-column { height:350px; }
}
@media (max-width:900px) {
  body.v572.v552-home .v570-surface { width:calc(100% - 28px); }
  body.v572.v552-home .v570-hero-copy>p { font-size:1.04rem; }
  body.v572.v552-home .v570-service-node { min-height:70px; }
  body.v572.v552-home .v570-node-icon { width:46px;height:46px;flex-basis:46px; }
  body.v572.v552-home .v570-services,
  body.v572.v552-home .v572-tools,
  body.v572.v552-home .v570-journey { padding:28px 22px 20px; }
  body.v572.v552-home .v572-tools-grid { grid-template-columns:1fr; }
  body.v572.v552-home .v572-tool { min-height:0;padding:25px 20px; }
  body.v572.v552-home .v572-tool+.v572-tool { border-left:0;border-top:1px solid var(--v572-hairline); }
  body.v572.v552-home .v572-tools-foot { flex-wrap:wrap; }
  body.v572.v552-home .v572-tools-foot a { width:100%;margin-left:0;padding-top:5px; }
  body.v572.v552-home .v570-workflow article { min-height:190px; }
}
@media (max-width:620px) {
  body.v572.v552-home .v570-surface { width:calc(100% - 18px); }
  body.v572.v552-home .v570-hero { padding:23px 15px 14px; }
  body.v572.v552-home .v570-hero-copy h1 { font-size:clamp(2.65rem,12vw,3.8rem); }
  body.v572.v552-home .v570-hero-copy>p { font-size:1rem;line-height:1.58; }
  body.v572.v552-home .v570-node-label { font-size:.86rem; }
  body.v572.v552-home .v570-services,
  body.v572.v552-home .v572-tools,
  body.v572.v552-home .v570-journey { padding:24px 16px 17px; }
  body.v572.v552-home .v570-service-cell { min-height:0;padding:25px 16px; }
  body.v572.v552-home .v572-tool { flex-direction:column;gap:13px;padding:24px 16px; }
  body.v572.v552-home .v572-tools-foot i { display:none; }
  body.v572.v552-home .v572-tools-foot span { width:100%; }
  body.v572.v552-home .v570-workflow article { min-height:0;padding:24px 17px; }
  body.v572.v552-home .v570-proof-grid article { min-height:0;padding:17px 16px; }
}


/* ========================================================================== 
   V5.7.3 — NEW BLUE TECH BACKGROUND + STRONGER TEXT VISIBILITY
   Replaces the site background with the uploaded blue technology image and
   increases text contrast/legibility across all pages.
   ========================================================================== */
body.v573 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v574.webp");
  background-position: center center;
  filter: brightness(.58) contrast(1.12) saturate(.96);
  transform: scale(1.03);
}

body.v573 .site-frame::after,
body.v573.v552-home .site-frame::after {
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.06), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(0,175,255,.08), transparent 26%),
    linear-gradient(180deg, rgba(2,8,26,.26) 0%, rgba(3,10,34,.34) 32%, rgba(2,9,31,.48) 66%, rgba(2,8,24,.58) 100%);
}

/* global text hierarchy */
body.v573 .eyebrow,
body.v573 .hero-eyebrow,
body.v573 .section-kicker,
body.v573 .footer-kicker,
body.v573 .page-kicker,
body.v573 .service-kicker,
body.v573 .cta-kicker,
body.v573 .metric-label,
body.v573 .tools-kicker,
body.v573 .journey-step-label,
body.v573 .timeline-label,
body.v573 .tag,
body.v573 .pill {
  color: rgba(223,240,255,.96) !important;
}

body.v573 h1,
body.v573 h2,
body.v573 h3,
body.v573 h4,
body.v573 .hero-copy h1,
body.v573 .page-intro h1,
body.v573 .service-hero-copy h1,
body.v573 .section-heading h2,
body.v573 .footer-brand h2,
body.v573 .footer-column h2,
body.v573 .contact-form h2,
body.v573 .metric-value,
body.v573 .embedded-service-title,
body.v573 .tool-card h3,
body.v573 .workflow-card h3 {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.34);
}

body.v573 p,
body.v573 li,
body.v573 address,
body.v573 span,
body.v573 .hero-copy p,
body.v573 .page-intro p,
body.v573 .service-hero-copy p,
body.v573 .section-heading p,
body.v573 .footer-brand > p,
body.v573 .footer-column li,
body.v573 .footer-column address,
body.v573 .contact-card p,
body.v573 .contact-card li,
body.v573 .embedded-service-copy,
body.v573 .tool-card p,
body.v573 .workflow-card p,
body.v573 .metric-copy,
body.v573 .legal-row p {
  color: rgba(238,245,252,.94);
}

body.v573 .desktop-nav > a,
body.v573 .desktop-nav .services-trigger,
body.v573 .mobile-menu a,
body.v573 .logo-wordmark,
body.v573 .button,
body.v573 .button-primary,
body.v573 .button-secondary,
body.v573 .button-quiet,
body.v573 .button-header {
  color: #ffffff;
}

body.v573 a,
body.v573 .footer-column a,
body.v573 .legal-row a,
body.v573 .embedded-service-link,
body.v573 .tool-card a,
body.v573 .workflow-card a {
  color: rgba(188,235,255,.98);
}
body.v573 a:hover,
body.v573 .footer-column a:hover,
body.v573 .legal-row a:hover,
body.v573 .embedded-service-link:hover,
body.v573 .tool-card a:hover,
body.v573 .workflow-card a:hover {
  color: #ffffff;
}

/* stronger glass behind text-heavy zones */
body.v573 .glass-panel,
body.v573 .page-home .glass-panel,
body.v573 .footer-panel,
body.v573 .contact-form,
body.v573 .contact-card,
body.v573 .cta-band,
body.v573 .service-page-cta,
body.v573 .page-intro,
body.v573 .service-hero,
body.v573 .hero-metrics,
body.v573 .journey-surface,
body.v573 .tools-surface,
body.v573 .services-surface,
body.v573 .credibility-strip {
  background:
    radial-gradient(220px circle at var(--v552-reflect-x, 16%) var(--v552-reflect-y, 0%), rgba(255,255,255,.12), transparent 46%),
    linear-gradient(150deg, rgba(255,255,255,.20), rgba(18,31,63,.56) 58%, rgba(8,17,42,.74) 100%) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 20px 54px rgba(1,8,24,.28), inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(77,129,181,.10);
}

body.v573 .footer-panel {
  background:
    radial-gradient(260px circle at var(--v552-reflect-x, 14%) var(--v552-reflect-y, 0%), rgba(255,255,255,.10), transparent 48%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(14,26,56,.64) 48%, rgba(6,14,36,.82) 100%) !important;
}

body.v573 .metric-copy,
body.v573 .footer-column li,
body.v573 .footer-column address,
body.v573 .legal-row p,
body.v573 .tool-card p,
body.v573 .workflow-card p,
body.v573 .embedded-service-copy,
body.v573 .service-detail-card p,
body.v573 .mini-service-card p {
  color: rgba(239,245,252,.95) !important;
}

body.v573 input,
body.v573 select,
body.v573 textarea,
body.v573 .contact-form input,
body.v573 .contact-form select,
body.v573 .contact-form textarea {
  color: #ffffff;
  background: linear-gradient(180deg, rgba(11,20,46,.72), rgba(255,255,255,.08)) !important;
  border-color: rgba(255,255,255,.28) !important;
}
body.v573 input::placeholder,
body.v573 textarea::placeholder {
  color: rgba(222,232,243,.78);
}
body.v573 label,
body.v573 .contact-form label > span,
body.v573 .contact-form label b,
body.v573 .floating-field > span { color: #ffffff !important; }

@media (max-width: 900px) {
  body.v573 .site-frame::before {
    filter: brightness(.54) contrast(1.1) saturate(.92);
    background-position: center top;
  }
  body.v573 p,
  body.v573 li,
  body.v573 span,
  body.v573 .hero-copy p,
  body.v573 .page-intro p,
  body.v573 .service-hero-copy p,
  body.v573 .section-heading p,
  body.v573 .embedded-service-copy,
  body.v573 .tool-card p,
  body.v573 .workflow-card p {
    color: rgba(244,248,252,.96);
  }
}


/* V5.7.4 — production package + deployment console release marker */
body.v574 { --v574-release: 1; }


/* ========================================================================== 
   V5.7.5 — CLEARER HD BACKGROUND WITH CONTROLLED BLUR
   Makes the background less faded and more defined while keeping a soft blur
   so text remains easy to read.
   ========================================================================== */
body.v575 .site-frame::before {
  background-image: url("/assets/site-environment-photo-v575.webp");
  background-position: center center;
  filter: brightness(.70) contrast(1.10) saturate(1.01) blur(1.6px);
  transform: scale(1.02);
}

body.v575 .site-frame::after,
body.v575.v552-home .site-frame::after {
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.045), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(0,175,255,.075), transparent 28%),
    linear-gradient(180deg, rgba(2,8,26,.18) 0%, rgba(3,10,34,.24) 28%, rgba(2,9,31,.36) 62%, rgba(2,8,24,.48) 100%);
}

body.v575 h1,
body.v575 h2,
body.v575 h3,
body.v575 h4,
body.v575 .hero-copy h1,
body.v575 .page-intro h1,
body.v575 .service-hero-copy h1,
body.v575 .section-heading h2,
body.v575 .footer-brand h2,
body.v575 .footer-column h2,
body.v575 .contact-form h2,
body.v575 .metric-value,
body.v575 .embedded-service-title,
body.v575 .tool-card h3,
body.v575 .workflow-card h3 {
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.42);
}

body.v575 p,
body.v575 li,
body.v575 address,
body.v575 span,
body.v575 .hero-copy p,
body.v575 .page-intro p,
body.v575 .service-hero-copy p,
body.v575 .section-heading p,
body.v575 .footer-brand > p,
body.v575 .footer-column li,
body.v575 .footer-column address,
body.v575 .contact-card p,
body.v575 .contact-card li,
body.v575 .embedded-service-copy,
body.v575 .tool-card p,
body.v575 .workflow-card p,
body.v575 .metric-copy,
body.v575 .legal-row p {
  color: rgba(241,246,252,.95) !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.30);
}

body.v575 .glass-panel,
body.v575 .page-home .glass-panel,
body.v575 .footer-panel,
body.v575 .contact-form,
body.v575 .contact-card,
body.v575 .cta-band,
body.v575 .service-page-cta,
body.v575 .page-intro,
body.v575 .service-hero,
body.v575 .hero-metrics,
body.v575 .journey-surface,
body.v575 .tools-surface,
body.v575 .services-surface,
body.v575 .credibility-strip {
  background:
    radial-gradient(220px circle at var(--v552-reflect-x, 16%) var(--v552-reflect-y, 0%), rgba(255,255,255,.11), transparent 46%),
    linear-gradient(150deg, rgba(255,255,255,.18), rgba(17,29,60,.60) 56%, rgba(8,16,40,.77) 100%) !important;
  border-color: rgba(255,255,255,.26) !important;
}

@media (max-width: 900px) {
  body.v575 .site-frame::before {
    filter: brightness(.67) contrast(1.08) saturate(.98) blur(1.9px);
    background-position: center top;
  }
}


/* V5.7.6 — Client Login control only; existing selectors are untouched. */
body.v575 .desktop-nav > a.client-login-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;margin-left:3px;border:1px solid rgba(185,233,255,.34);border-radius:999px;background:linear-gradient(180deg,rgba(136,218,255,.15),rgba(38,105,159,.18));color:rgba(231,248,255,.98);font-weight:760;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px rgba(2,12,32,.10)}
body.v575 .desktop-nav > a.client-login-link:hover,body.v575 .desktop-nav > a.client-login-link:focus-visible{color:#fff;border-color:rgba(205,241,255,.62);background:linear-gradient(180deg,rgba(157,226,255,.24),rgba(42,115,174,.26))}
body.v575 .mobile-menu nav > a.client-login-mobile{display:flex;align-items:center;justify-content:center;min-height:46px;margin:9px 0 4px;border:1px solid rgba(186,232,255,.30);border-radius:15px;background:linear-gradient(180deg,rgba(124,207,248,.16),rgba(37,99,151,.18));color:#fff;font-weight:760}
@media (min-width:900px) and (max-width:1020px){
  body.v575 .desktop-nav > a.client-login-link{min-height:30px;padding:4px 6px;margin-left:0;font-size:10.5px;letter-spacing:-.02em}
}
@media (min-width:900px) and (max-width:1020px){body.v575 .desktop-nav > a.client-login-link{transform:translateX(-12px)}}

/* ========================================================================== 
   V5.8.0 — IPHONE PORTRAIT NAVIGATION + MOBILE INSTANT CONTENT
   Mobile-only hotfix. Desktop/tablet desktop navigation geometry is unchanged.
   ========================================================================== */


/* iPhone portrait navigation fix. The previous bottom-sheet implementation
   used a fixed descendant inside the glass header; mobile Safari can render
   that sheet outside the visible portrait viewport until an orientation
   change. Keep the same glass styling, but anchor the menu directly below
   the Menu control instead. */
@media (max-width: 760px) {
  body.v561 .site-header {
    z-index: 1000;
  }

  /* Never blur the entire page when the navigation opens. */
  body.v561.v561-menu-open::before {
    display: none !important;
    content: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.v561 .mobile-menu {
    position: relative !important;
    z-index: 1001;
  }

  /* Keep the word “Menu” visible in portrait rather than showing only the
     hamburger icon. */
  body.v561 .mobile-menu > summary {
    min-width: 92px !important;
    min-height: 46px !important;
    gap: 9px !important;
    padding: 10px 13px !important;
  }
  body.v561 .mobile-menu > summary > span:last-child {
    display: inline !important;
    color: #fff !important;
    font-weight: 700 !important;
  }

  body.v561 .mobile-menu > nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 1002 !important;
    display: grid;
    width: min(340px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100svh - 96px - env(safe-area-inset-top)) !important;
    max-height: calc(100dvh - 96px - env(safe-area-inset-top)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 12px !important;
    border-radius: 22px !important;
    transform: none !important;
    transform-origin: top right !important;
    filter: none !important;
    animation: none !important;
  }

  body.v561 .mobile-menu > nav::before {
    display: none !important;
    content: none !important;
  }

  body.v561 .mobile-menu:not([open]) > nav {
    display: none !important;
  }
  body.v561 .mobile-menu[open] > nav {
    display: grid !important;
  }
}

@media (max-width: 430px) {
  body.v561 .mobile-menu > nav {
    width: calc(100vw - 24px) !important;
  }
}

/* ========================================================================== 
   V5.8.2 — MOBILE MENU CONTRAST + SCROLL-STABLE OPEN STATE
   iPhone/mobile only. Desktop navigation and desktop layout are untouched.
   ========================================================================== */
@media (max-width: 760px) {
  /* Do not lock <body> when the details menu opens. On iOS Safari, toggling
     overflow:hidden while already scrolled can change the scroll container and
     make the sticky header/menu appear to disappear or jump. */
  body.v561.v561-menu-open {
    overflow: visible !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
  }

  /* Keep the sticky header/menu above all page content at every scroll depth. */
  body.v561 .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 5000 !important;
    overflow: visible !important;
  }
  body.v561 .header-inner,
  body.v561 .mobile-menu {
    overflow: visible !important;
  }
  body.v561 .mobile-menu {
    z-index: 5001 !important;
  }

  /* Stronger Apple-style dark glass. The previous panel was translucent enough
     for hero/page text to visually compete with the navigation labels. */
  body.v561 .mobile-menu > nav {
    z-index: 5002 !important;
    isolation: isolate;
    border-color: rgba(214, 240, 255, .44) !important;
    background:
      radial-gradient(circle at 16% -4%, rgba(107, 204, 255, .16), transparent 34%),
      linear-gradient(155deg, rgba(7, 25, 51, .975), rgba(8, 16, 39, .965) 58%, rgba(5, 12, 31, .985)) !important;
    box-shadow:
      0 26px 70px rgba(0, 7, 24, .58),
      inset 0 1px 0 rgba(255, 255, 255, .27),
      inset 0 -1px 0 rgba(102, 177, 225, .10) !important;
    backdrop-filter: blur(30px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(30px) saturate(1.18) !important;
  }

  body.v561 .mobile-menu nav > a:not(.button) {
    color: rgba(255, 255, 255, .97) !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .62) !important;
    background: rgba(255, 255, 255, .025);
  }
  body.v561 .mobile-menu nav > a:not(.button):hover,
  body.v561 .mobile-menu nav > a:not(.button):focus-visible {
    background: rgba(255, 255, 255, .08);
  }
  body.v561 .mobile-menu nav > a.active {
    color: #fff !important;
    border-color: rgba(194, 232, 255, .32) !important;
    background: linear-gradient(180deg, rgba(111, 190, 235, .20), rgba(255, 255, 255, .075)) !important;
  }

  body.v561 .mobile-service-links {
    border-color: rgba(190, 227, 250, .19) !important;
    background: rgba(1, 9, 25, .42) !important;
  }
  body.v561 .mobile-service-links a {
    color: rgba(246, 250, 255, .93) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .55) !important;
  }

  /* Explicitly neutralize the old page-blocking overlay and any scroll-lock
     behavior inherited from the original iOS bottom-sheet implementation. */
  body.v561.v561-menu-open::before {
    display: none !important;
    content: none !important;
    pointer-events: none !important;
  }
}

/* ========================================================================== 
   V5.9.0 — VISUAL REFINEMENT PASS
   Purpose: stronger readability, one coherent glass hierarchy, and cleaner
   typography/buttons without changing page structure or reintroducing
   scroll-driven effects.
   ========================================================================== */
body.v575 {
  --rika-glass-primary:
    radial-gradient(240px circle at var(--v552-reflect-x, 16%) var(--v552-reflect-y, 0%), rgba(255,255,255,.13), transparent 48%),
    linear-gradient(148deg, rgba(112,184,226,.24), rgba(11,41,79,.68) 54%, rgba(5,20,47,.84) 100%);
  --rika-glass-secondary:
    radial-gradient(210px circle at var(--v552-reflect-x, 16%) var(--v552-reflect-y, 0%), rgba(255,255,255,.10), transparent 48%),
    linear-gradient(148deg, rgba(89,164,210,.19), rgba(10,38,75,.62) 56%, rgba(5,19,45,.80) 100%);
  --rika-glass-border: rgba(205,239,255,.38);
  --rika-glass-border-soft: rgba(171,223,249,.28);
  --rika-glass-shadow: 0 22px 58px rgba(0,8,28,.34), inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(87,151,201,.08);
  --rika-copy: rgba(244,248,252,.96);
  --rika-copy-muted: rgba(222,235,246,.88);
}

/* Primary surfaces — important sections should read as one premium system. */
body.v575 .site-header,
body.v575 .page-intro,
body.v575 .service-hero,
body.v575 .cta-band,
body.v575 .service-page-cta,
body.v575 .footer-panel,
body.v575 .contact-form,
body.v575 .contact-card,
body.v575 .hero-metrics,
body.v575 .journey-surface,
body.v575 .tools-surface,
body.v575 .services-surface,
body.v575 .credibility-strip {
  border-color: var(--rika-glass-border) !important;
  box-shadow: var(--rika-glass-shadow) !important;
}

body.v575 .page-intro,
body.v575 .service-hero,
body.v575 .cta-band,
body.v575 .service-page-cta,
body.v575 .contact-form,
body.v575 .contact-card,
body.v575 .hero-metrics,
body.v575 .journey-surface,
body.v575 .tools-surface,
body.v575 .services-surface,
body.v575 .credibility-strip {
  background: var(--rika-glass-primary) !important;
}

/* Secondary surfaces retain transparency but no longer look like a different
   generation of glass. */
body.v575 .glass-panel,
body.v575 .mini-service-card,
body.v575 .service-detail-card,
body.v575 .product-card,
body.v575 .tool-card,
body.v575 .workflow-card,
body.v575 .process-panel,
body.v575 .audiences-panel,
body.v575 .differences-card,
body.v575 .map-card,
body.v575 .policy-content {
  border-color: var(--rika-glass-border-soft) !important;
}

/* Improve text hierarchy without darkening the environmental image. */
body.v575 .hero-copy p,
body.v575 .page-intro > p,
body.v575 .service-hero-copy > p:not(.eyebrow),
body.v575 .section-heading > p,
body.v575 .service-section-heading > p,
body.v575 .cta-copy p,
body.v575 .mini-service-card p,
body.v575 .service-detail-card p,
body.v575 .tool-card p,
body.v575 .workflow-card p,
body.v575 .footer-brand > p,
body.v575 .footer-column li,
body.v575 .footer-column address {
  color: var(--rika-copy) !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.34);
}

body.v575 .muted,
body.v575 .service-note,
body.v575 .category-note,
body.v575 .legal-row p {
  color: var(--rika-copy-muted) !important;
}

body.v575 .page-intro h1,
body.v575 .service-hero h1,
body.v575 .section-heading h2,
body.v575 .service-section-heading h2,
body.v575 .cta-copy h2 {
  letter-spacing: -.02em;
  text-wrap: balance;
}

body.v575 .section-heading,
body.v575 .service-section-heading {
  max-width: 920px;
  margin-inline: auto;
}

body.v575 .section-heading p,
body.v575 .service-section-heading > p:not(.eyebrow) {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* One button language across marketing, tools, service and contact pages. */
body.v575 .button,
body.v575 .button-primary,
body.v575 .button-secondary,
body.v575 .button-quiet,
body.v575 .button-header {
  min-height: 46px;
  border-radius: 14px;
  font-weight: 760;
  letter-spacing: .015em;
}

body.v575 .button-primary,
body.v575 .button-header {
  border-color: rgba(206,243,255,.72);
}

body.v575 .button-secondary,
body.v575 .button-quiet {
  border-color: rgba(190,229,250,.40);
}

/* Forms should visually belong to the same application family as the portal. */
body.v575 input,
body.v575 select,
body.v575 textarea,
body.v575 .contact-form input,
body.v575 .contact-form select,
body.v575 .contact-form textarea {
  border-radius: 13px !important;
  border-color: rgba(194,230,249,.34) !important;
  background: linear-gradient(180deg, rgba(8,22,49,.78), rgba(10,34,68,.62)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 22px rgba(0,7,24,.12);
}

body.v575 input:focus,
body.v575 select:focus,
body.v575 textarea:focus,
body.v575 .contact-form input:focus,
body.v575 .contact-form select:focus,
body.v575 .contact-form textarea:focus {
  border-color: rgba(155,225,255,.74) !important;
  box-shadow: 0 0 0 3px rgba(78,190,240,.12), inset 0 1px 0 rgba(255,255,255,.14) !important;
}

/* Keep mobile compact and readable; no desktop geometry is copied into mobile. */
@media (max-width: 760px) {
  body.v575 .page-intro,
  body.v575 .service-hero,
  body.v575 .cta-band,
  body.v575 .service-page-cta,
  body.v575 .contact-form,
  body.v575 .contact-card {
    border-color: rgba(205,239,255,.32) !important;
    box-shadow: 0 18px 44px rgba(0,8,28,.30), inset 0 1px 0 rgba(255,255,255,.24) !important;
  }

  body.v575 .button,
  body.v575 .button-primary,
  body.v575 .button-secondary,
  body.v575 .button-quiet,
  body.v575 .button-header {
    min-height: 48px;
  }
}

/* ========================================================================== 
   V5.9.1 — CONNECTED SURFACES + RIKA PRODUCT SYSTEM
   Visual-only refinement. No scroll-driven motion, no continuous animation.
   ========================================================================== */
body.v575 {
  --v591-hairline: rgba(190,232,252,.16);
  --v591-hairline-strong: rgba(204,239,255,.28);
  --v591-workspace: linear-gradient(152deg,rgba(86,162,207,.11),rgba(4,23,53,.34) 52%,rgba(3,16,40,.48));
}

/* 1) Long service/tool pages read as one connected workspace instead of a
      stack of unrelated floating cards. The backing surface is static. */
body.v575 .inner-page.service-page,
body.v575 .inner-page.tools-page,
body.v575.v552-services-hub .inner-page {
  position: relative;
  isolation: isolate;
}
body.v575 .inner-page.service-page::before,
body.v575 .inner-page.tools-page::before,
body.v575.v552-services-hub .inner-page::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:82px;
  bottom:18px;
  left:50%;
  width:calc(100% + 18px);
  max-width:1480px;
  transform:translateX(-50%);
  border:1px solid rgba(194,231,250,.10);
  border-radius:38px;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(118,201,239,.075),transparent 35%),
    var(--v591-workspace);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 28px 90px rgba(0,8,27,.12);
  pointer-events:none;
}
body.v575 .service-page > .service-section,
body.v575 .service-page > .service-visual-stage,
body.v575 .service-page > .service-copy-grid,
body.v575 .service-page > .service-process-panel,
body.v575 .service-page > .service-expectations {
  margin-bottom:20px;
}
body.v575 .service-page > .service-section,
body.v575 .service-page > .service-visual-stage,
body.v575 .service-page > .service-copy-grid,
body.v575 .service-page > .service-process-panel,
body.v575 .service-page > .service-expectations,
body.v575 .service-page > .service-page-cta {
  position:relative;
}
body.v575 .service-page > .service-visual-stage::before,
body.v575 .service-page > .service-copy-grid::before,
body.v575 .service-page > .service-process-panel::before,
body.v575 .service-page > .service-expectations::before,
body.v575 .service-page > .service-page-cta::before {
  content:"";
  position:absolute;
  left:50%;
  top:-11px;
  width:min(44%,520px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(203,238,255,.20),transparent);
  box-shadow:none;
  pointer-events:none;
}

/* Services hub: one outer work surface with six clearly separated service
   modules, rather than six unrelated floating panels. */
body.v575.v552-services-hub .service-detail-grid {
  gap:10px;
  padding:10px;
  border:1px solid rgba(198,235,253,.18);
  border-radius:30px;
  background:linear-gradient(150deg,rgba(104,182,223,.12),rgba(5,24,53,.46) 62%,rgba(4,18,43,.60));
  box-shadow:0 24px 66px rgba(0,8,27,.20),inset 0 1px 0 rgba(255,255,255,.12);
}
body.v575.v552-services-hub .service-detail-card {
  min-height:350px;
  border-color:rgba(193,229,248,.17)!important;
  background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(11,38,73,.46) 62%,rgba(5,20,47,.56))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
body.v575.v552-services-hub .process-panel,
body.v575.v552-services-hub .cta-band { margin-top:10px; }

/* 2) RIKA Tools overview — present the three products as a deliberate product
      ecosystem with differentiated workspaces and interface-like previews. */
body.v575 .v591-tool-ecosystem {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.35fr);
  gap:28px;
  align-items:center;
  max-width:1420px;
  margin:0 auto 12px;
  padding:28px 30px;
  border-radius:28px;
  background:var(--rika-glass-primary)!important;
}
body.v575 .v591-ecosystem-copy h2 {
  margin:0 0 10px;
  font-size:clamp(1.55rem,2.2vw,2.35rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
body.v575 .v591-ecosystem-copy > p:last-child { margin:0;color:var(--rika-copy); }
body.v575 .v591-ecosystem-flow {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:center;
}
body.v575 .v591-ecosystem-flow > a {
  min-height:126px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
  border:1px solid rgba(194,234,253,.19);
  border-radius:19px;
  background:linear-gradient(155deg,rgba(255,255,255,.09),rgba(5,29,63,.52));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:border-color 160ms ease,background 160ms ease,transform 160ms ease;
}
body.v575 .v591-ecosystem-flow > a:hover {
  transform:translateY(-1px);
  border-color:rgba(191,238,255,.38);
  background:linear-gradient(155deg,rgba(123,210,247,.13),rgba(6,35,72,.58));
}
body.v575 .v591-ecosystem-flow > a span {
  color:#afeaff!important;font-size:.72rem;font-weight:850;letter-spacing:.12em;
}
body.v575 .v591-ecosystem-flow > a strong { margin:7px 0 5px;color:#fff;font-size:1rem;line-height:1.25; }
body.v575 .v591-ecosystem-flow > a small { color:rgba(224,239,248,.80);font-size:.78rem;line-height:1.35; }
body.v575 .v591-ecosystem-flow > i { color:rgba(182,227,249,.58);font-style:normal;font-size:1.25rem; }

body.v575 .tools-page .product-stack {
  gap:1px;
  padding:10px;
  border:1px solid rgba(198,235,253,.18);
  border-radius:30px;
  background:linear-gradient(150deg,rgba(104,182,223,.12),rgba(5,24,53,.48) 62%,rgba(4,18,43,.64));
  box-shadow:0 26px 70px rgba(0,8,27,.22),inset 0 1px 0 rgba(255,255,255,.13);
}
body.v575 .tools-page .product-card {
  --v591-product-accent: 148,226,255;
  border-color:rgba(var(--v591-product-accent),.18)!important;
  border-radius:21px;
  background:
    radial-gradient(380px circle at 5% 0%,rgba(var(--v591-product-accent),.10),transparent 50%),
    linear-gradient(150deg,rgba(255,255,255,.07),rgba(8,31,65,.48) 58%,rgba(4,18,43,.60))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
body.v575 .tools-page #rika-business-suite { --v591-product-accent: 126,222,255; }
body.v575 .tools-page #rika-books { --v591-product-accent: 118,232,220; }
body.v575 .tools-page #rika-taxone { --v591-product-accent: 173,188,255; }
body.v575 .tools-page .product-main { grid-template-columns:106px minmax(0,1fr);padding:30px 34px; }
body.v575 .tools-page .product-main > svg {
  width:86px;height:86px;padding:19px;
  border:1px solid rgba(var(--v591-product-accent),.28);
  border-radius:25px;
  color:rgb(var(--v591-product-accent));
  background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(var(--v591-product-accent),.07));
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 30px rgba(0,7,24,.22);
}
body.v575 .v591-product-kicker {
  display:block;margin:0 0 7px;color:rgba(var(--v591-product-accent),.96)!important;
  font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;
}
body.v575 .v591-product-outcome {
  display:grid;gap:3px;margin:14px 0 16px;padding:12px 14px;
  border-left:2px solid rgba(var(--v591-product-accent),.55);
  border-radius:0 12px 12px 0;background:rgba(1,14,34,.22);
}
body.v575 .v591-product-outcome span { color:rgba(211,232,244,.74)!important;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
body.v575 .v591-product-outcome strong { color:#fff;font-size:.88rem;line-height:1.4; }
body.v575 .v591-product-outcome small { color:rgba(224,239,247,.82);font-size:.78rem;line-height:1.42; }
body.v575 .v591-product-preview {
  min-width:0;padding:24px 26px;
  border-left:1px solid rgba(var(--v591-product-accent),.16);
  background:linear-gradient(180deg,rgba(2,15,36,.26),rgba(2,19,44,.44));
}
body.v575 .v591-preview-label {
  margin-bottom:12px;color:rgba(var(--v591-product-accent),.92);font-size:.70rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;
}
body.v575 .v591-product-preview .feature-list { min-height:100%;padding:0;background:none;border:0; }
body.v575 .v591-product-preview .feature-list li {
  min-height:44px;padding:9px 0;border-bottom:1px solid rgba(191,229,248,.11);background:transparent;
}
body.v575 .v591-product-preview .feature-list li:last-child { border-bottom:0; }
body.v575 .v591-product-preview .feature-list svg { color:rgb(var(--v591-product-accent)); }

/* Individual RIKA product pages get a product identity without changing their
   underlying content or adding motion. */
body.v591-product-suite { --v591-tool-accent:126,222,255; }
body.v591-product-books { --v591-tool-accent:118,232,220; }
body.v591-product-taxone { --v591-tool-accent:173,188,255; }
body.service-theme-tools.v575 .service-hero {
  border-color:rgba(var(--v591-tool-accent,126,222,255),.34)!important;
  background:
    radial-gradient(460px circle at 8% 0%,rgba(var(--v591-tool-accent,126,222,255),.13),transparent 48%),
    var(--rika-glass-primary)!important;
}
body.service-theme-tools.v575 .service-hero-icon {
  border-color:rgba(var(--v591-tool-accent,126,222,255),.36)!important;
  color:rgb(var(--v591-tool-accent,126,222,255))!important;
  background:linear-gradient(155deg,rgba(255,255,255,.12),rgba(var(--v591-tool-accent,126,222,255),.08))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 16px 36px rgba(0,7,24,.22)!important;
}
body.v575 .v591-product-badge {
  display:inline-flex;margin:0 0 9px;padding:6px 9px;
  border:1px solid rgba(var(--v591-tool-accent,126,222,255),.24);border-radius:999px;
  background:rgba(var(--v591-tool-accent,126,222,255),.065);
  color:rgba(231,247,255,.93)!important;font-size:.69rem;font-weight:820;letter-spacing:.065em;text-transform:uppercase;
}
body.v575 .v591-product-summary {
  margin:13px 0 0!important;padding:11px 13px;border-left:2px solid rgba(var(--v591-tool-accent,126,222,255),.46);
  border-radius:0 11px 11px 0;background:rgba(2,18,41,.23);color:rgba(238,247,252,.90)!important;font-size:.88rem!important;
}
body.service-theme-tools.v575 .service-facts {
  border:1px solid rgba(var(--v591-tool-accent,126,222,255),.17);
  border-radius:20px;background:rgba(2,17,40,.20);overflow:hidden;
}
body.service-theme-tools.v575 .service-facts article { border-color:rgba(var(--v591-tool-accent,126,222,255),.13); }
body.service-theme-tools.v575 .service-facts span { color:rgba(var(--v591-tool-accent,126,222,255),.92)!important; }
body.service-theme-tools.v575 .service-switcher { margin-bottom:20px; }
body.service-theme-tools.v575 .v591-product-preview-stage {
  padding:10px;border:1px solid rgba(var(--v591-tool-accent,126,222,255),.18);border-radius:28px;
  background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(3,21,49,.38));
}
body.service-theme-tools.v575 .v591-product-preview-stage .service-visual-frame {
  position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(var(--v591-tool-accent,126,222,255),.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
body.v575 .v591-window-bar {
  position:absolute;z-index:3;top:0;left:0;right:0;height:38px;display:flex;align-items:center;gap:12px;padding:0 14px;
  border-bottom:1px solid rgba(197,233,251,.12);background:rgba(2,13,31,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
body.v575 .v591-window-dots { color:rgba(229,242,250,.45)!important;font-size:.54rem;letter-spacing:.28em; }
body.v575 .v591-window-title { margin-left:auto;color:rgba(227,243,251,.72)!important;font-size:.67rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase; }
body.service-theme-tools.v575 .v591-product-preview-stage .service-visual-hud { padding-top:34px; }
body.service-theme-tools.v575 .workflow-node { border-color:rgba(var(--v591-tool-accent,126,222,255),.26)!important;background:rgba(3,22,49,.62)!important; }
body.service-theme-tools.v575 .workflow-node-number { color:rgb(var(--v591-tool-accent,126,222,255))!important; }

@media (max-width:1000px) {
  body.v575 .v591-tool-ecosystem { grid-template-columns:1fr; }
  body.v575 .v591-ecosystem-flow { grid-template-columns:1fr auto 1fr auto 1fr; }
  body.v575 .tools-page .product-main { grid-template-columns:92px minmax(0,1fr);padding:25px; }
  body.v575 .tools-page .product-main > svg { width:76px;height:76px;padding:16px; }
  body.v575 .v591-product-preview { padding:20px; }
}
@media (max-width:760px) {
  body.v575 .inner-page.service-page::before,
  body.v575 .inner-page.tools-page::before,
  body.v575.v552-services-hub .inner-page::before { width:calc(100% + 6px);top:62px;border-radius:28px; }
  body.v575 .service-page > .service-section,
  body.v575 .service-page > .service-visual-stage,
  body.v575 .service-page > .service-copy-grid,
  body.v575 .service-page > .service-process-panel,
  body.v575 .service-page > .service-expectations { margin-bottom:14px; }
  body.v575.v552-services-hub .service-detail-grid { padding:7px;gap:7px;border-radius:24px; }
  body.v575 .v591-tool-ecosystem { padding:22px 17px;border-radius:23px;gap:20px; }
  body.v575 .v591-ecosystem-flow { grid-template-columns:1fr;gap:7px; }
  body.v575 .v591-ecosystem-flow > i { display:none; }
  body.v575 .v591-ecosystem-flow > a { min-height:84px;padding:14px 15px; }
  body.v575 .tools-page .product-stack { padding:7px;border-radius:24px; }
  body.v575 .tools-page .product-card { grid-template-columns:1fr;border-radius:18px; }
  body.v575 .tools-page .product-main { grid-template-columns:66px minmax(0,1fr);gap:15px;padding:20px 16px; }
  body.v575 .tools-page .product-main > svg { width:60px;height:60px;padding:13px;border-radius:18px; }
  body.v575 .v591-product-outcome { grid-column:1/-1;margin-top:13px; }
  body.v575 .v591-product-preview { border-left:0;border-top:1px solid rgba(var(--v591-product-accent),.14);padding:18px 16px; }
  body.service-theme-tools.v575 .v591-product-preview-stage { padding:6px;border-radius:22px; }
  body.v575 .v591-window-bar { height:34px;padding:0 10px; }
  body.service-theme-tools.v575 .v591-product-preview-stage .service-visual-hud { padding-top:30px; }
}


/* ========================================================================== 
   V5.9.2 — UNIFIED RIKA OPS GLASS ICON SYSTEM
   One static dimensional icon language across Services + RIKA product tools.
   No scroll-linked or continuous animation is introduced here.
   ========================================================================== */
body.v575{--rika-icon-rgb:139,224,255}
body.v575.service-theme-automation{--rika-icon-rgb:106,222,255}
body.v575.service-theme-consulting{--rika-icon-rgb:151,219,255}
body.v575.service-theme-tools{--rika-icon-rgb:125,232,221}
body.v575.service-theme-portals{--rika-icon-rgb:137,207,255}
body.v575.service-theme-websites{--rika-icon-rgb:172,196,255}
body.v575.service-theme-branding{--rika-icon-rgb:200,181,255}
body.v575.v552-services-hub #automation{--rika-icon-rgb:106,222,255}
body.v575.v552-services-hub #consulting{--rika-icon-rgb:151,219,255}
body.v575.v552-services-hub #tools{--rika-icon-rgb:125,232,221}
body.v575.v552-services-hub #portals{--rika-icon-rgb:137,207,255}
body.v575.v552-services-hub #websites{--rika-icon-rgb:172,196,255}
body.v575.v552-services-hub #branding{--rika-icon-rgb:200,181,255}

/* Primary service icons — identical dimensional construction, service-specific accent. */
body.v575 .service-detail-card>svg,
body.v575 .related-service-grid>a>svg{
  flex:0 0 auto;
  width:74px!important;height:74px!important;padding:16px;
  border:1px solid rgba(var(--rika-icon-rgb),.32);
  border-radius:22px;
  color:rgb(var(--rika-icon-rgb));
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.24),transparent 31%),
    linear-gradient(150deg,rgba(255,255,255,.13),rgba(var(--rika-icon-rgb),.075) 48%,rgba(3,19,46,.62));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),inset 0 -1px 0 rgba(255,255,255,.04),0 14px 32px rgba(0,7,24,.24);
  filter:none!important;
}
body.v575 .service-detail-card{--rika-icon-rgb:139,224,255}
body.v575 .service-detail-card#automation{--rika-icon-rgb:106,222,255}
body.v575 .service-detail-card#consulting{--rika-icon-rgb:151,219,255}
body.v575 .service-detail-card#tools{--rika-icon-rgb:125,232,221}
body.v575 .service-detail-card#portals{--rika-icon-rgb:137,207,255}
body.v575 .service-detail-card#websites{--rika-icon-rgb:172,196,255}
body.v575 .service-detail-card#branding{--rika-icon-rgb:200,181,255}

body.v575 .service-hero-icon{
  width:88px!important;height:88px!important;display:grid!important;place-items:center;
  padding:18px!important;border-radius:26px!important;
  border:1px solid rgba(var(--rika-icon-rgb),.36)!important;
  color:rgb(var(--rika-icon-rgb))!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.25),transparent 31%),
    linear-gradient(150deg,rgba(255,255,255,.14),rgba(var(--rika-icon-rgb),.08) 48%,rgba(3,18,44,.66))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.29),0 16px 36px rgba(0,7,24,.25)!important;
}
body.v575 .service-hero-icon svg{width:46px!important;height:46px!important;color:inherit!important;filter:none!important}

/* Delivery/process icons are the compact member of the same family. */
body.v575 .process-icon{
  width:58px!important;height:58px!important;display:grid!important;place-items:center;
  padding:11px!important;border:1px solid rgba(var(--rika-icon-rgb),.25)!important;border-radius:18px!important;
  color:rgb(var(--rika-icon-rgb))!important;
  background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(4,28,60,.54))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,7,24,.18)!important;
}
body.v575 .process-icon svg{width:34px!important;height:34px!important;color:inherit!important}

/* RIKA products — same glass object geometry, differentiated only by product accent. */
body.v575 .tools-page .product-main>svg{
  border-radius:25px!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.25),transparent 31%),
    linear-gradient(150deg,rgba(255,255,255,.13),rgba(var(--v591-product-accent),.075) 48%,rgba(3,19,46,.64))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 16px 36px rgba(0,7,24,.24)!important;
}
body.v575 .v591-product-preview .feature-list svg{
  width:24px!important;height:24px!important;padding:4px;border:1px solid rgba(var(--v591-product-accent),.23);border-radius:8px;
  background:rgba(var(--v591-product-accent),.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.13);
}

@media(max-width:760px){
  body.v575 .service-detail-card>svg,body.v575 .related-service-grid>a>svg{width:62px!important;height:62px!important;padding:13px;border-radius:19px}
  body.v575 .service-hero-icon{width:74px!important;height:74px!important;padding:15px!important;border-radius:22px!important}
  body.v575 .service-hero-icon svg{width:40px!important;height:40px!important}
  body.v575 .process-icon{width:52px!important;height:52px!important;border-radius:16px!important}
}

/* ==========================================================================\n   V5.9.3 HOMEPAGE CONVERSION & VISUAL HIERARCHY V2 — PRODUCTION\n   Based directly on V5.9.2 homepage. Static refinement; no new scroll motion.\n   ========================================================================== */
body.v593.v552-home .v570-main{gap:18px;padding-top:10px;padding-bottom:12px}
body.v593.v552-home .v570-surface{border-color:rgba(205,239,255,.40)!important;box-shadow:0 24px 64px rgba(0,8,28,.31),inset 0 1px 0 rgba(255,255,255,.34)!important}
body.v593.v552-home .v570-hero{position:relative;min-height:690px;padding:54px 42px 28px;grid-template-columns:minmax(0,.86fr) minmax(700px,1.18fr);column-gap:40px;overflow:hidden;background:radial-gradient(650px circle at 13% 12%,rgba(138,211,255,.22),transparent 60%),linear-gradient(140deg,rgba(88,164,213,.22),rgba(8,33,68,.66) 55%,rgba(4,16,42,.86))!important}
body.v593.v552-home .v570-hero:after{content:"";position:absolute;inset:auto 38px 106px;left:38px;height:1px;background:linear-gradient(90deg,transparent,rgba(182,229,255,.34) 12%,rgba(182,229,255,.34) 88%,transparent);pointer-events:none}
body.v593 .v570-hero-copy{align-self:center;max-width:650px;padding-bottom:54px}
body.v593 .v570-hero-copy h1{font-size:clamp(64px,4.4vw,88px)!important;line-height:.91!important;letter-spacing:-.055em!important;margin:10px 0 24px!important;text-shadow:0 8px 34px rgba(0,0,0,.34)!important}
body.v593 .v570-hero-copy h1 span{display:block;color:#77ddff!important;text-shadow:0 0 28px rgba(65,187,255,.24),0 8px 34px rgba(0,0,0,.36)!important}
body.v593 .v570-hero-copy>p{max-width:620px;font-size:18px!important;line-height:1.62!important;color:rgba(245,249,253,.98)!important}
body.v593 .v570-hero-copy .button-row{margin-top:25px;gap:12px}
body.v593 .v570-hero-copy .button{min-height:50px;padding:12px 22px;font-size:15px}
body.v593 .v593-hero-cues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(188,229,252,.22)}
body.v593 .v593-cue{display:grid;gap:3px;min-width:0;padding-left:13px;border-left:2px solid rgba(78,201,255,.60)}
body.v593 .v593-cue b{font-size:12px;letter-spacing:.01em;color:#fff}
body.v593 .v593-cue small{font-size:10px;line-height:1.3;color:rgba(222,238,249,.82)}
body.v593 .v570-hero-system{align-self:center;min-height:470px;padding-top:35px;transform:scale(1.03);transform-origin:center}
body.v593 .v593-system-label{position:absolute;top:0;left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 13px;border:1px solid rgba(172,223,248,.23);border-radius:999px;background:rgba(9,31,65,.36);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(221,242,252,.88)}
body.v593 .v570-hub{width:270px;height:270px;filter:drop-shadow(0 20px 34px rgba(1,10,34,.30))}
body.v593 .v570-hub:before{inset:-38px;border-color:rgba(113,218,255,.28)}
body.v593 .v570-hub:after{inset:-70px;border-color:rgba(129,211,249,.15)}
body.v593 .v570-service-node{min-height:76px;padding:11px 13px;border:1px solid rgba(187,229,250,.19);border-radius:17px;background:linear-gradient(145deg,rgba(126,207,247,.13),rgba(9,29,62,.37));box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
body.v593 .v570-service-node .v570-node-icon{width:42px;height:42px;border-color:rgba(186,231,251,.30);background:linear-gradient(145deg,rgba(170,228,255,.17),rgba(20,69,109,.24))}
body.v593 .v570-node-label{font-size:12.5px;line-height:1.23}
body.v593 .v570-metrics{grid-column:1/-1;margin-top:-20px;border-top:0;padding-top:20px;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(77,160,215,.08),rgba(255,255,255,.035));border-radius:18px;border:1px solid rgba(185,228,249,.16);overflow:hidden}
body.v593 .v570-metrics article{min-height:62px;padding:10px 22px}
body.v593 .v570-metrics strong{font-size:25px}

body.v593 .v570-services{padding:38px 40px 30px;background:linear-gradient(145deg,rgba(79,159,208,.18),rgba(7,30,65,.72) 52%,rgba(5,18,45,.82))!important}
body.v593 .v570-section-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.72fr);column-gap:40px;align-items:end;padding-bottom:22px}
body.v593 .v570-section-intro .v570-kicker,body.v593 .v570-section-intro h2{grid-column:1}
body.v593 .v570-section-intro>p{grid-column:2;grid-row:1/3;align-self:end;max-width:560px;margin:0 0 4px;font-size:14px!important;line-height:1.58!important}
body.v593 .v570-section-intro h2{font-size:42px!important;line-height:1.03;margin:5px 0 0;max-width:720px}
body.v593 .v593-section-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:4px 0 14px;border:1px solid rgba(174,222,247,.14);border-radius:14px;overflow:hidden;background:rgba(4,21,51,.22)}
body.v593 .v593-section-rail span{position:relative;padding:8px 10px;text-align:center;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(212,237,249,.78)}
body.v593 .v593-section-rail span+span{border-left:1px solid rgba(176,224,248,.12)}
body.v593 .v570-services-matrix{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(189,229,250,.22);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,rgba(126,201,241,.08),rgba(3,21,50,.26));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
body.v593 .v570-service-cell{min-height:205px;padding:25px 25px 22px;gap:16px;border:0!important;border-right:1px solid rgba(183,225,247,.16)!important;border-bottom:1px solid rgba(183,225,247,.16)!important;background:transparent!important}
body.v593 .v570-service-cell:nth-child(3n){border-right:0!important}
body.v593 .v570-service-cell:nth-child(n+4){border-bottom:0!important}
body.v593 .v570-service-icon{width:48px;height:48px;flex:0 0 48px;border-color:rgba(194,234,253,.31);background:linear-gradient(145deg,rgba(149,220,255,.17),rgba(20,68,109,.19));box-shadow:0 10px 24px rgba(0,14,43,.20),inset 0 1px 0 rgba(255,255,255,.18)}
body.v593 .v570-service-copy h3{font-size:17px!important;line-height:1.2;margin-bottom:8px}
body.v593 .v570-service-copy p{font-size:12.3px!important;line-height:1.48!important;max-width:370px}
body.v593 .v570-service-link{margin-top:13px;color:#8be4ff!important}

body.v593 .v572-tools{padding:38px 40px 30px;background:radial-gradient(700px circle at 55% 30%,rgba(71,145,206,.16),transparent 62%),linear-gradient(145deg,rgba(70,146,199,.17),rgba(7,28,62,.72) 55%,rgba(5,18,45,.84))!important}
body.v593 .v572-tools-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.85fr);column-gap:40px;align-items:end;padding-bottom:16px}
body.v593 .v572-tools-head .v570-kicker,body.v593 .v572-tools-head h2{grid-column:1}
body.v593 .v572-tools-head>p{grid-column:2;grid-row:1/3;align-self:end;margin:0 0 4px;font-size:14px!important;line-height:1.58!important}
body.v593 .v572-tools-head h2{font-size:42px!important;line-height:1.03;max-width:780px;margin:5px 0 0}
body.v593 .v593-ecosystem-flow{display:grid;grid-template-columns:1fr 52px 1fr 52px 1fr;align-items:center;margin:8px 0 16px;padding:14px 18px;border:1px solid rgba(183,228,249,.17);border-radius:18px;background:rgba(3,20,48,.24)}
body.v593 .v593-flow-node{display:flex;align-items:center;gap:10px;min-width:0}
body.v593 .v593-flow-node:before{content:attr(data-step);display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;border:1px solid rgba(176,226,251,.30);background:rgba(73,166,222,.14);font-size:10px;font-weight:850;color:#9ee7ff}
body.v593 .v593-flow-node strong{font-size:12px;color:#fff}.v593 .v593-flow-node span{font-size:10px;color:rgba(220,238,249,.78)}
body.v593 .v593-flow-node{flex-wrap:wrap}.v593 .v593-flow-node strong,.v593 .v593-flow-node span{width:calc(100% - 42px);margin-left:38px}.v593 .v593-flow-node strong{margin-top:-30px}.v593 .v593-flow-node span{margin-top:-6px}
body.v593 .v593-ecosystem-flow>i{text-align:center;color:rgba(111,215,255,.65);font-style:normal;font-size:22px}
body.v593 .v572-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:0;background:transparent}
body.v593 .v572-tool{position:relative;display:flex;flex-direction:column;min-height:356px;padding:22px;border:1px solid rgba(188,231,251,.23)!important;border-radius:22px;background:linear-gradient(150deg,rgba(137,211,248,.12),rgba(8,31,65,.48) 48%,rgba(4,18,45,.62))!important;box-shadow:0 17px 36px rgba(0,8,29,.20),inset 0 1px 0 rgba(255,255,255,.10);overflow:hidden}
body.v593 .v572-tool-icon{width:48px;height:48px;margin-bottom:12px}
body.v593 .v572-tool-copy h3{font-size:20px!important;margin:2px 0 7px}.v593 .v572-tool-copy p{font-size:12.5px!important;line-height:1.48!important}
body.v593 .v593-tool-preview{order:4;margin-top:auto;padding:12px;border:1px solid rgba(179,226,248,.16);border-radius:15px;background:linear-gradient(160deg,rgba(4,18,45,.70),rgba(22,61,98,.42));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
body.v593 .v593-preview-bar{display:flex;gap:5px;margin-bottom:9px}.v593 .v593-preview-bar span{width:6px;height:6px;border-radius:50%;background:rgba(117,210,251,.50)}
body.v593 .v593-preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.v593 .v593-preview-row+.v593-preview-row{margin-top:6px}
body.v593 .v593-preview-row span{display:grid;place-items:center;min-height:37px;padding:5px;border-radius:9px;background:rgba(97,180,226,.09);border:1px solid rgba(164,218,246,.10);font-size:8.5px;text-align:center;color:rgba(225,242,251,.82)!important;text-shadow:none!important}
body.v593 .v572-tools-foot{margin-top:15px;padding:12px 15px;border:1px solid rgba(177,225,247,.13);border-radius:15px;background:rgba(3,19,46,.22)}

body.v593 .v570-journey{padding:38px 40px 28px;background:linear-gradient(145deg,rgba(63,136,190,.16),rgba(7,28,61,.73) 54%,rgba(5,18,45,.85))!important}
body.v593 .v570-journey-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.75fr);column-gap:40px;align-items:end;padding-bottom:20px}
body.v593 .v570-journey-head .v570-kicker,body.v593 .v570-journey-head h2{grid-column:1}.v593 .v570-journey-head>p{grid-column:2;grid-row:1/3;align-self:end;margin:0 0 4px;font-size:14px!important;line-height:1.56!important}
body.v593 .v570-journey-head h2{font-size:42px!important;line-height:1.03;max-width:830px;margin:5px 0 0}
body.v593 .v570-workflow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(184,227,248,.18);border-radius:20px;overflow:hidden;background:rgba(3,20,48,.22)}
body.v593 .v570-workflow article{min-height:186px;padding:22px 21px;border:0!important}.v593 .v570-workflow article+article{border-left:1px solid rgba(185,228,249,.14)!important}
body.v593 .v570-workflow article>span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(74,174,229,.14);border:1px solid rgba(170,224,249,.24);font-size:10px;color:#9ce7ff!important}
body.v593 .v570-workflow article strong{display:block;margin:13px 0 6px;font-size:16px}.v593 .v570-workflow article p{font-size:11.8px!important;line-height:1.48!important}
body.v593 .v570-proof-grid{margin-top:12px;border:1px solid rgba(181,226,248,.14);border-radius:18px;overflow:hidden;background:rgba(3,20,48,.18)}
body.v593 .v570-proof-grid article{min-height:88px;padding:15px 17px}.v593 .v570-proof-grid article+article{border-left:1px solid rgba(180,225,247,.12)}
body.v593 .v570-proof-grid h3{font-size:13px!important}.v593 .v570-proof-grid p{font-size:10.8px!important;line-height:1.4!important}
body.v593 .v593-conversion-path{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:12px;border:1px solid rgba(180,226,248,.15);border-radius:18px;overflow:hidden;background:rgba(3,20,48,.24)}
body.v593 .v593-conversion-path>div{padding:15px 18px}.v593 .v593-conversion-path>div+div{border-left:1px solid rgba(180,226,248,.12)}
body.v593 .v593-conversion-path strong{display:block;font-size:12px;color:#fff}.v593 .v593-conversion-path span{display:block;margin-top:3px;font-size:10.5px;line-height:1.4;color:rgba(219,238,248,.82)!important}
body.v593 .v570-final-cta{margin-top:14px;padding:24px 26px;border:1px solid rgba(145,221,255,.35);border-radius:22px;background:radial-gradient(320px circle at 84% 30%,rgba(69,181,245,.21),transparent 67%),linear-gradient(120deg,rgba(72,158,215,.17),rgba(5,24,56,.46))!important;box-shadow:0 16px 34px rgba(0,9,30,.18),inset 0 1px 0 rgba(255,255,255,.12)}
body.v593 .v570-final-cta h2{font-size:27px!important;margin:3px 0 7px}.v593 .v570-final-cta p{max-width:720px;font-size:12.5px!important;line-height:1.46!important}.v593 .v593-cta-kicker{font-size:9px;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:#8be2ff!important}
body.v593 .v593-cta-actions{display:flex;gap:10px;align-items:center;flex:0 0 auto}.v593 .v593-cta-actions .button{min-width:145px;min-height:44px}

@media (max-width: 1100px){
 body.v593.v552-home .v570-hero{grid-template-columns:1fr 1fr;min-height:auto;padding:36px 28px}.v593 .v570-hero-copy h1{font-size:56px!important}.v593 .v570-hero-system{transform:none}.v593 .v593-hero-cues{grid-template-columns:1fr}.v593 .v570-section-intro,.v593 .v572-tools-head,.v593 .v570-journey-head{display:block}.v593 .v570-section-intro>p,.v593 .v572-tools-head>p,.v593 .v570-journey-head>p{margin-top:10px}.v593 .v572-tools-grid{grid-template-columns:1fr}.v593 .v593-ecosystem-flow{display:none}
}
@media (max-width: 760px){
 body.v593.v552-home .v570-main{gap:12px}.v593.v552-home .v570-hero{display:block;padding:24px 18px}.v593 .v570-hero-copy{padding-bottom:22px}.v593 .v570-hero-copy h1{font-size:49px!important}.v593 .v570-hero-copy>p{font-size:15px!important}.v593 .v593-hero-cues{grid-template-columns:1fr}.v593 .v570-hero-system{min-height:430px;margin-top:18px}.v593 .v570-metrics{grid-template-columns:repeat(2,1fr);margin-top:12px}.v593 .v570-services,.v593 .v572-tools,.v593 .v570-journey{padding:25px 17px}.v593 .v570-section-intro h2,.v593 .v572-tools-head h2,.v593 .v570-journey-head h2{font-size:32px!important}.v593 .v593-section-rail{grid-template-columns:repeat(2,1fr)}.v593 .v570-services-matrix{grid-template-columns:1fr}.v593 .v570-service-cell{border-right:0!important;border-bottom:1px solid rgba(183,225,247,.16)!important;min-height:auto}.v593 .v570-service-cell:last-child{border-bottom:0!important}.v593 .v570-workflow{grid-template-columns:1fr}.v593 .v570-workflow article+article{border-left:0!important;border-top:1px solid rgba(185,228,249,.14)!important}.v593 .v570-proof-grid{grid-template-columns:1fr}.v593 .v570-proof-grid article+article{border-left:0;border-top:1px solid rgba(180,225,247,.12)}.v593 .v593-conversion-path{grid-template-columns:1fr}.v593 .v593-conversion-path>div+div{border-left:0;border-top:1px solid rgba(180,226,248,.12)}.v593 .v570-final-cta{display:block}.v593 .v593-cta-actions{margin-top:16px;display:grid;grid-template-columns:1fr 1fr}.v593 .v593-cta-actions .button{min-width:0}
}
/* mockup final-fit correction: keep the current headline fully visible at 1920 desktop */
@media (min-width:1101px){
  body.v593.v552-home .v570-hero{grid-template-columns:minmax(0,1fr) minmax(650px,1.02fr);}
  body.v593 .v570-hero-copy{max-width:720px;}
  body.v593 .v570-hero-copy h1{font-size:82px!important;}
  body.v593 .v570-hero-copy h1 span{font-size:.87em;letter-spacing:-.045em;}
  body.v593 .v570-hero-system{transform:scale(1.00);}
}
@media (min-width:1101px){
  body.v593 .v570-hero-copy h1{font-size:80px!important;}
  body.v593 .v570-hero-copy h1 span{font-size:.70em!important;letter-spacing:-.035em;white-space:nowrap;}
}


/* ========================================================================== 
   V5.9.3 — RESPONSIVE VISUAL QA SAFETY PASS
   Static sizing/overflow/touch refinements only. No scroll-driven motion.
   ========================================================================== */
html{overflow-x:clip}
body.v575{overflow-x:clip}
body.v575 img,body.v575 svg{max-width:100%}
body.v575 .shell{min-width:0}
body.v575 .button,body.v575 .button-header{white-space:normal;text-align:center}
body.v575 .service-copy-grid>*,body.v575 .service-detail-grid>*,body.v575 .product-card>*,body.v575 .footer-grid>*{min-width:0}
@media(max-width:1180px){
 body.v575 .desktop-nav{gap:2px}
 body.v575 .desktop-nav>a,body.v575 .desktop-nav summary{padding-left:8px;padding-right:8px}
 body.v575 .footer-grid{gap:22px}
}
@media(max-width:900px){
 body.v575 .service-copy-grid,body.v575 .service-expectations,body.v575 .service-process-panel{min-width:0}
 body.v575 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.v575 .footer-contact a{overflow-wrap:anywhere}
}
@media(max-width:760px){
 body.v575 .site-frame{overflow:visible}
 body.v575 .shell{width:calc(100% - 20px)!important;max-width:none}
 body.v575 main{min-width:0}
 body.v575 h1,body.v575 h2,body.v575 h3{overflow-wrap:break-word}
 body.v575 .button-row{width:100%;max-width:100%}
 body.v575 .button-row .button{min-width:0}
 body.v575 .site-footer .footer-grid{grid-template-columns:1fr;gap:18px}
 body.v575 .legal-row{align-items:flex-start;gap:12px}
 body.v575 .legal-row nav{flex-wrap:wrap;justify-content:flex-start}
 body.v575 .service-switcher{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
 body.v575 .service-switcher::-webkit-scrollbar{display:none}
 body.v575 .service-visual-frame,body.v575 .v591-product-preview-stage,body.v575 .product-card{max-width:100%;overflow:hidden}
}
@media(max-width:430px){
 body.v575 .button-row{display:grid;grid-template-columns:1fr!important;gap:9px}
 body.v575 .button-row .button{width:100%}
 body.v575 .brand-link>span:last-child{font-size:12px}
 body.v575 .mobile-menu>summary{min-width:74px}
 body.v575 .legal-row{display:grid}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:950px){
 body.v575 .mobile-menu>nav{max-height:calc(100vh - 78px);overflow-y:auto;overscroll-behavior:contain}
 body.v575 .mobile-menu nav>a{min-height:40px}
}

/* V5.9.3 mobile homepage specificity correction after visual QA */
@media(max-width:760px){
  body.v593.v552-home .v570-hero{display:block!important;padding:24px 18px!important;grid-template-columns:none!important;min-height:0!important}
  body.v593 .v570-hero-copy{width:100%!important;max-width:100%!important;min-width:0!important;padding:0 0 22px!important;margin:0!important}
  body.v593 .v570-hero-copy h1{width:100%!important;max-width:100%!important;font-size:clamp(44px,13vw,54px)!important;line-height:.94!important}
  body.v593 .v570-hero-copy h1 span{white-space:normal!important;font-size:.78em!important}
  body.v593 .v570-hero-copy>p,body.v593 .v570-hero-copy .button-row,body.v593 .v593-hero-cues{width:100%!important;max-width:100%!important}
  body.v593 .v593-hero-cues{grid-template-columns:1fr!important}
  body.v593 .v570-hero-system{width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;grid-template-columns:1fr!important;gap:14px!important;padding:38px 0 0!important;transform:none!important}
  body.v593 .v570-hub{grid-row:1!important;width:min(58vw,220px)!important;height:auto!important;aspect-ratio:1;margin:0 auto 8px!important}
  body.v593 .v570-node-column{width:100%!important;height:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;align-items:stretch!important}
  body.v593 .v570-node-left{grid-row:2!important}.v593 .v570-node-right{grid-row:3!important}
  body.v593 .v570-service-node,body.v593 .v570-service-node.left{width:auto!important;min-width:0!important;min-height:64px!important;flex-direction:row!important;text-align:left!important}
  body.v593 .v570-service-node::after{display:none!important}
  body.v593 .v593-system-label{top:0!important;max-width:calc(100% - 10px);white-space:normal!important;text-align:center;line-height:1.3}
  body.v593 .v570-metrics{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:1fr 1fr!important;margin:12px 0 0!important;padding:0!important}
  body.v593 .v570-metrics article{width:auto!important;min-width:0!important;padding:12px 8px!important}
}
@media(max-width:430px){
  body.v593 .v570-node-column{grid-template-columns:1fr!important}
  body.v593 .v570-metrics{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  body.v593 .v570-section-intro,body.v593 .v572-tools-head,body.v593 .v570-journey-head{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
  body.v593 .v570-section-intro>p,body.v593 .v572-tools-head>p,body.v593 .v570-journey-head>p{width:100%!important;max-width:100%!important;min-width:0!important;margin-top:10px!important}
  body.v593 .v593-cta-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-top:16px!important}
  body.v593 .v593-cta-actions .button{width:100%!important;min-width:0!important;max-width:100%!important}
}
@media(max-width:430px){body.v593 .v593-cta-actions{grid-template-columns:1fr!important}}

/* ========================================================================== 
   V5.9.4 — SERVICE PAGES V2 + CREDIBILITY PAGES V2
   Static visual refinement only. No scroll-driven or continuous animation.
   ========================================================================== */
body.v594{--v594-line:rgba(193,232,251,.16);--v594-line-strong:rgba(203,239,255,.27)}

/* Service Pages V2 */
body.v594.v552-service-detail .service-switcher{margin-bottom:10px}
body.v594 .v594-service-value-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 20px;border:1px solid rgba(var(--v552-accent,120 220 255)/.23);border-radius:22px;overflow:hidden;background:rgba(2,17,40,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
body.v594 .v594-service-value-rail article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;min-height:112px;padding:18px;background:linear-gradient(150deg,rgba(var(--v552-accent,120 220 255)/.075),rgba(3,24,54,.42))}
body.v594 .v594-service-value-rail article+article{border-left:1px solid var(--v594-line)}
body.v594 .v594-service-value-rail article>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(var(--v552-accent,120 220 255)/.31);border-radius:11px;background:rgba(var(--v552-accent,120 220 255)/.08);color:rgb(var(--v552-accent,120 220 255));font-size:10px;font-weight:900;letter-spacing:.08em}
body.v594 .v594-service-value-rail strong{display:block;color:#fff;font-size:.91rem;line-height:1.25;margin:1px 0 5px}
body.v594 .v594-service-value-rail p{margin:0;color:rgba(224,239,248,.80)!important;font-size:.75rem!important;line-height:1.45!important}
body.v594.v552-service-detail .service-section-heading{max-width:850px}
body.v594.v552-service-detail .service-section-heading .eyebrow{margin-bottom:5px}
body.v594.v552-service-detail .service-problem-grid{gap:1px;padding:7px;border:1px solid rgba(var(--v552-accent,120 220 255)/.16);border-radius:24px;background:linear-gradient(150deg,rgba(var(--v552-accent,120 220 255)/.07),rgba(3,21,49,.43));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
body.v594.v552-service-detail .service-problem-grid>.glass-panel{border:0!important;border-radius:17px!important;background:rgba(255,255,255,.025)!important;box-shadow:none!important}
body.v594.v552-service-detail .service-problem-grid>.glass-panel+ .glass-panel{border-left:1px solid var(--v594-line)!important}
body.v594.v552-service-detail .service-copy-grid{gap:1px;padding:7px;border:1px solid rgba(var(--v552-accent,120 220 255)/.17);border-radius:25px;background:rgba(3,20,48,.31)}
body.v594.v552-service-detail .service-copy-grid>.glass-panel{border:0!important;border-radius:18px!important;box-shadow:none!important;background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(5,27,58,.38))!important}
body.v594.v552-service-detail .service-copy-grid>.glass-panel+ .glass-panel{border-left:1px solid var(--v594-line)!important}
body.v594.v552-service-detail .service-process-panel,body.v594.v552-service-detail .service-expectations{border-color:rgba(var(--v552-accent,120 220 255)/.20)!important;background:linear-gradient(150deg,rgba(var(--v552-accent,120 220 255)/.055),rgba(4,23,53,.46))!important}
body.v594.v552-service-detail .service-expectation-grid{gap:0;border:1px solid var(--v594-line);border-radius:18px;overflow:hidden;background:rgba(2,18,43,.25)}
body.v594.v552-service-detail .service-expectation-grid article{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.v594.v552-service-detail .service-expectation-grid article+article{border-left:1px solid var(--v594-line)!important}
body.v594.v552-service-detail .related-service-grid{gap:8px}
body.v594.v552-service-detail .related-service-grid>a{box-shadow:none!important;background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(4,24,54,.39))!important}

/* About V2 */
body.v594 .about-page{position:relative}
body.v594 .v594-about-operating-model{margin:16px 0;padding:28px 30px;border-radius:28px;background:linear-gradient(145deg,rgba(83,170,218,.13),rgba(4,23,53,.52) 58%,rgba(3,17,41,.64))!important}
body.v594 .v594-about-operating-model>header{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:24px;align-items:end;margin-bottom:20px}
body.v594 .v594-about-operating-model>header .eyebrow{grid-column:1/-1;margin:0}
body.v594 .v594-about-operating-model h2{margin:0;font-size:clamp(1.65rem,2.5vw,2.65rem);line-height:1.04;letter-spacing:-.04em}
body.v594 .v594-about-operating-model>header>p:last-child{margin:0;color:var(--rika-copy);line-height:1.6}
body.v594 .v594-about-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--v594-line);border-radius:20px;overflow:hidden;background:rgba(2,17,40,.28)}
body.v594 .v594-about-model-grid article{min-height:166px;padding:20px;background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(6,28,59,.38))}
body.v594 .v594-about-model-grid article+article{border-left:1px solid var(--v594-line)}
body.v594 .v594-about-model-grid span{display:block;margin-bottom:17px;color:#9ce8ff;font-size:10px;font-weight:900;letter-spacing:.12em}
body.v594 .v594-about-model-grid strong{display:block;margin-bottom:7px;color:#fff;font-size:.95rem}
body.v594 .v594-about-model-grid p{margin:0;color:rgba(221,238,247,.79)!important;font-size:.76rem!important;line-height:1.48!important}
body.v594 .about-page .audiences-panel,body.v594 .about-page .process-panel{box-shadow:0 18px 42px rgba(0,8,27,.18),inset 0 1px 0 rgba(255,255,255,.12)!important}

/* Work V2 */
body.v594 .v594-work-intro{max-width:900px;margin-bottom:16px}
body.v594 .v594-work-intro .eyebrow{margin-bottom:6px}
body.v594 .v594-work-framework{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:10px;padding:7px;border-radius:24px;background:linear-gradient(150deg,rgba(80,166,217,.12),rgba(4,23,53,.53))!important}
body.v594 .v594-work-framework>div{min-height:142px;padding:18px;border-radius:16px;background:rgba(255,255,255,.025)}
body.v594 .v594-work-framework>div+div{border-left:1px solid var(--v594-line)}
body.v594 .v594-work-framework span{display:block;margin-bottom:12px;color:#9de8ff;font-size:10px;font-weight:900;letter-spacing:.12em}
body.v594 .v594-work-framework strong{display:block;color:#fff;font-size:.9rem;margin-bottom:6px}
body.v594 .v594-work-framework p{margin:0;color:rgba(223,239,248,.79)!important;font-size:.75rem!important;line-height:1.47!important}
body.v594 .v594-work-disclosure{margin:0 0 14px;padding:0 5px;color:rgba(214,234,245,.68)!important;font-size:.72rem!important;line-height:1.45!important}
body.v594 .v594-work-grid{gap:1px;padding:8px;border:1px solid var(--v594-line);border-radius:28px;background:linear-gradient(150deg,rgba(74,158,209,.10),rgba(3,21,49,.47))}
body.v594 .v594-work-grid>.service-detail-card{border:0!important;border-radius:19px!important;box-shadow:none!important;background:linear-gradient(150deg,rgba(255,255,255,.05),rgba(5,26,57,.39))!important}

/* Contact V2 */
body.v594 .v594-contact-flow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.2fr);gap:28px;align-items:center;margin-bottom:16px;padding:26px 28px;border-radius:27px;background:linear-gradient(145deg,rgba(83,174,224,.14),rgba(4,23,53,.54) 60%,rgba(3,17,42,.66))!important}
body.v594 .v594-contact-flow header h1{margin:5px 0 9px;font-size:clamp(2rem,3.5vw,3.9rem);line-height:.99;letter-spacing:-.045em}
body.v594 .v594-contact-flow header>p:last-child{margin:0;max-width:720px;color:var(--rika-copy)}
body.v594 .v594-contact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--v594-line);border-radius:19px;overflow:hidden;background:rgba(2,17,40,.28)}
body.v594 .v594-contact-steps article{min-height:154px;padding:17px;background:rgba(255,255,255,.025)}
body.v594 .v594-contact-steps article+article{border-left:1px solid var(--v594-line)}
body.v594 .v594-contact-steps span{display:block;color:#9ee8ff;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:11px}
body.v594 .v594-contact-steps strong{display:block;color:#fff;font-size:.86rem;margin-bottom:5px}
body.v594 .v594-contact-steps p{margin:0;color:rgba(222,239,248,.78)!important;font-size:.72rem!important;line-height:1.45!important}
body.v594 .contact-intro>h2{margin-top:0;font-size:clamp(1.8rem,2.7vw,2.8rem);letter-spacing:-.04em}
body.v594 .v594-form-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 0 17px;border:1px solid var(--v594-line);border-radius:15px;overflow:hidden;background:rgba(3,20,46,.27)}
body.v594 .v594-form-guidance span{padding:11px 12px;color:rgba(222,239,248,.76);font-size:.69rem;line-height:1.35}
body.v594 .v594-form-guidance span+span{border-left:1px solid var(--v594-line)}
body.v594 .v594-form-guidance b{display:block;margin-bottom:3px;color:#fff;font-size:.68rem}

@media(max-width:1050px){
 body.v594 .v594-about-operating-model>header,body.v594 .v594-contact-flow{grid-template-columns:1fr}
 body.v594 .v594-about-model-grid,body.v594 .v594-work-framework{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.v594 .v594-about-model-grid article:nth-child(3),body.v594 .v594-work-framework>div:nth-child(3){border-left:0;border-top:1px solid var(--v594-line)}
 body.v594 .v594-about-model-grid article:nth-child(4),body.v594 .v594-work-framework>div:nth-child(4){border-top:1px solid var(--v594-line)}
}
@media(max-width:760px){
 body.v594 .v594-service-value-rail,body.v594 .v594-contact-steps{grid-template-columns:1fr}
 body.v594 .v594-service-value-rail article,body.v594 .v594-contact-steps article{min-height:0}
 body.v594 .v594-service-value-rail article+article,body.v594 .v594-contact-steps article+article{border-left:0;border-top:1px solid var(--v594-line)}
 body.v594.v552-service-detail .service-problem-grid,body.v594.v552-service-detail .service-copy-grid{padding:6px}
 body.v594.v552-service-detail .service-problem-grid>.glass-panel+ .glass-panel,body.v594.v552-service-detail .service-copy-grid>.glass-panel+ .glass-panel{border-left:0!important;border-top:1px solid var(--v594-line)!important}
 body.v594.v552-service-detail .service-expectation-grid{display:grid;grid-template-columns:1fr}
 body.v594.v552-service-detail .service-expectation-grid article+article{border-left:0!important;border-top:1px solid var(--v594-line)!important}
 body.v594 .v594-about-operating-model,body.v594 .v594-contact-flow{padding:22px 17px}
 body.v594 .v594-about-model-grid,body.v594 .v594-work-framework{grid-template-columns:1fr}
 body.v594 .v594-about-model-grid article+article,body.v594 .v594-work-framework>div+div{border-left:0;border-top:1px solid var(--v594-line)}
 body.v594 .v594-work-framework{padding:6px}
 body.v594 .v594-form-guidance{grid-template-columns:1fr}
 body.v594 .v594-form-guidance span+span{border-left:0;border-top:1px solid var(--v594-line)}
}
/* V5.9.4 service switcher positioning correction: restore intended sticky
   behavior that was being overridden by the later generic glass rule. */
@media(min-width:761px){body.v594.v552-service-detail .service-switcher{position:sticky!important;top:calc(var(--header-height) + 10px)!important;z-index:24!important}}
@media(max-width:760px){body.v594.v552-service-detail .service-switcher{position:relative!important;top:auto!important;z-index:2!important}}


/* ========================================================================== 
   V5.9.5 — SERVICES/TOOLS HUB V3
   Static routing + comparison hierarchy. No scroll-linked or continuous motion.
   ========================================================================== */
.v595-service-router,.v595-tool-router,.v595-capability-map,.v595-tool-compare{margin-top:18px;padding:clamp(22px,3vw,34px);border-radius:30px}.v595-router-head{max-width:900px}.v595-router-head .eyebrow{margin:0 0 8px}.v595-router-head h2{margin:0;font-size:clamp(27px,3.2vw,44px);line-height:1.05;letter-spacing:-.04em}.v595-router-head>p:last-child{max-width:800px;margin:10px 0 0;color:rgba(236,246,252,.83);line-height:1.6}.v595-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.v595-route-card{min-width:0;display:flex;flex-direction:column;gap:7px;min-height:190px;padding:19px;border:1px solid rgba(186,228,249,.18);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(5,25,54,.42));color:#fff;text-decoration:none}.v595-route-card>span,.v595-tool-choice>span{color:#9de7ff;font-size:10px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.v595-route-card strong,.v595-tool-choice strong{font-size:18px;line-height:1.18}.v595-route-card small,.v595-tool-choice small{color:rgba(232,244,250,.76);font-size:12.5px;line-height:1.5}.v595-route-card b,.v595-tool-choice b,.v595-capability-rail a,.v595-compare-grid b{margin-top:auto;color:#aff0ff;font-size:11px}.v595-capability-rail{display:grid;grid-template-columns:1fr auto 1.3fr auto 1fr;gap:10px;align-items:stretch;margin-top:20px}.v595-capability-rail>div{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid rgba(184,228,248,.15);border-radius:19px;background:rgba(7,27,56,.40)}.v595-capability-rail>div>span{color:#9de8ff;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.v595-capability-rail>div>small{color:rgba(230,242,249,.75);line-height:1.5}.v595-capability-rail>div>a{margin-top:auto;text-decoration:none}.v595-capability-rail>i{align-self:center;color:rgba(174,229,250,.56);font-style:normal;font-size:22px}.v595-tool-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.v595-tool-choice{display:flex;flex-direction:column;gap:8px;min-height:278px;padding:21px;border:1px solid rgba(187,229,249,.18);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(4,24,53,.47));color:#fff;text-decoration:none}.v595-tool-choice.suite{box-shadow:inset 0 1px 0 rgba(188,235,255,.12)}.v595-tool-choice.books{background:linear-gradient(145deg,rgba(168,222,255,.075),rgba(6,27,57,.48))}.v595-tool-choice.tax{background:linear-gradient(145deg,rgba(190,186,255,.07),rgba(11,24,57,.49))}.v595-tool-choice ul{display:grid;gap:5px;margin:7px 0 0;padding:0;list-style:none;color:rgba(226,241,249,.78);font-size:11px}.v595-tool-choice li:before{content:"•";margin-right:7px;color:#9de8ff}.v595-tool-compare{margin-bottom:18px}.v595-compare-grid{display:grid;gap:1px;margin-top:20px;border:1px solid rgba(182,227,248,.14);border-radius:20px;overflow:hidden;background:rgba(1,13,33,.28)}.v595-compare-grid>div,.v595-compare-grid>a{display:grid;grid-template-columns:.75fr 1fr 1.35fr .75fr;gap:14px;align-items:center;padding:14px 17px;color:#fff;text-decoration:none;background:rgba(255,255,255,.03)}.v595-compare-grid>a+a{border-top:1px solid rgba(182,227,248,.11)}.v595-compare-label{color:rgba(186,229,248,.72)!important;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;background:rgba(72,161,207,.08)!important}.v595-compare-grid>a span{color:rgba(229,242,249,.76);font-size:11.5px;line-height:1.4}.v595-compare-grid>a strong{font-size:13px}.v595-compare-grid b{text-align:right}
@media(max-width:980px){.v595-route-grid,.v595-tool-choice-grid{grid-template-columns:1fr 1fr}.v595-capability-rail{grid-template-columns:1fr}.v595-capability-rail>i{display:none}.v595-compare-grid>div,.v595-compare-grid>a{grid-template-columns:.8fr 1fr 1.2fr}.v595-compare-grid>div span:last-child,.v595-compare-grid>a b{display:none}}
@media(max-width:650px){.v595-service-router,.v595-tool-router,.v595-capability-map,.v595-tool-compare{padding:20px 16px;border-radius:24px}.v595-route-grid,.v595-tool-choice-grid{grid-template-columns:1fr}.v595-route-card{min-height:0}.v595-tool-choice{min-height:0}.v595-compare-label{display:none!important}.v595-compare-grid>a{display:grid;grid-template-columns:1fr;gap:5px;padding:15px}.v595-compare-grid>a b{display:block;text-align:left;margin-top:4px}}


/* ========================================================================== 
   V5.9.6 — WEBSITE TRUST + CONVERSION V3
   Static credibility and conversion hierarchy. No scroll-driven motion.
   ========================================================================== */
body.v596 .v596-services-tools-bridge,body.v596 .v596-trust-process,body.v596 .v596-contact-expectations{margin-top:18px;padding:24px 26px;border-radius:26px}
body.v596 .v596-services-tools-bridge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;background:linear-gradient(145deg,rgba(15,46,87,.58),rgba(5,22,49,.68))}body.v596 .v596-services-tools-bridge h2{max-width:880px;margin:4px 0 7px;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.035em}body.v596 .v596-services-tools-bridge p{max-width:920px;margin:0;color:rgba(227,241,249,.78);line-height:1.55}body.v596 .v596-bridge-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
body.v596 .v596-trust-process{background:linear-gradient(145deg,rgba(8,31,67,.66),rgba(6,19,44,.74))}body.v596 .v596-trust-process>header{max-width:880px;margin-bottom:16px}body.v596 .v596-trust-process h2{margin:4px 0 7px;font-size:clamp(24px,2.5vw,36px);letter-spacing:-.035em}body.v596 .v596-trust-process>header p{margin:0;color:rgba(224,239,248,.76)}body.v596 .v596-trust-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}body.v596 .v596-trust-steps article{min-width:0;padding:14px 14px 13px;border:1px solid rgba(190,229,247,.12);border-radius:17px;background:rgba(255,255,255,.028)}body.v596 .v596-trust-steps article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;margin-bottom:10px;border:1px solid rgba(136,218,252,.22);background:rgba(99,192,235,.09);font-size:9px;font-weight:900;color:#c5efff}body.v596 .v596-trust-steps strong{font-size:13px}body.v596 .v596-trust-steps p{margin:6px 0 0;font-size:11px;line-height:1.5;color:rgba(218,235,245,.70)}
body.v596 .v596-contact-expectations>header{margin-bottom:14px}body.v596 .v596-contact-expectations h2{margin:4px 0;font-size:clamp(24px,2.5vw,34px)}body.v596 .v596-contact-expectations>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body.v596 .v596-contact-expectations article{padding:14px;border:1px solid rgba(190,229,247,.12);border-radius:16px;background:rgba(255,255,255,.025)}body.v596 .v596-contact-expectations article strong{font-size:12px}body.v596 .v596-contact-expectations article p{margin:5px 0 0;font-size:11px;line-height:1.5;color:rgba(219,236,246,.72)}body.v596 .v596-contact-expectations nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}body.v596 .v596-contact-expectations nav a{font-size:10px;color:#b9e8fb}
.v596-footer-trust{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:13px 0;margin-top:12px;border-top:1px solid rgba(255,255,255,.09)}.v596-footer-trust>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.v596-footer-trust strong{font-size:11px}.v596-footer-trust span{font-size:9px;color:#b9d9e8}.v596-footer-trust small{font-size:9px;color:rgba(208,229,240,.55)}.v596-footer-trust nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.v596-footer-trust nav a{font-size:9px;color:#b9e8fb}
body.v596 .cta-band,body.v596 .v570-final-cta{border-color:rgba(154,222,250,.20)}body.v596 .cta-band h2,body.v596 .v570-final-cta h2{letter-spacing:-.03em}
@media(max-width:920px){body.v596 .v596-services-tools-bridge{grid-template-columns:1fr}body.v596 .v596-bridge-actions{justify-content:flex-start}body.v596 .v596-trust-steps{grid-template-columns:1fr 1fr}.v596-footer-trust{align-items:flex-start;flex-direction:column}.v596-footer-trust nav{justify-content:flex-start}}
@media(max-width:650px){body.v596 .v596-services-tools-bridge,body.v596 .v596-trust-process,body.v596 .v596-contact-expectations{padding:19px 16px;border-radius:22px}body.v596 .v596-trust-steps,body.v596 .v596-contact-expectations>div{grid-template-columns:1fr}body.v596 .v596-bridge-actions{display:grid;grid-template-columns:1fr;width:100%}body.v596 .v596-bridge-actions .button{width:100%}.v596-footer-trust>div{display:grid;gap:4px}.v596-footer-trust nav{gap:9px}}


/* ========================================================================== 
   V5.9.7 — FINAL CONSISTENCY + PERFORMANCE / ACCESSIBILITY PASS
   No scroll-driven or continuous motion added.
   ========================================================================== */
body.v575 img{height:auto}body.v575 h1,body.v575 h2,body.v575 h3{text-wrap:balance}body.v575 p{text-wrap:pretty}body.v575 .section-heading,body.v575 .v570-section-intro,body.v575 .page-intro{max-width:100%}body.v575 .site-header .shell,body.v575 .site-footer .shell{width:min(1180px,calc(100% - 32px))}body.v575 .button,body.v575 button,body.v575 summary,body.v575 a{ -webkit-tap-highlight-color:transparent }body.v575 a:focus-visible,body.v575 button:focus-visible,body.v575 summary:focus-visible,body.v575 input:focus-visible,body.v575 textarea:focus-visible,body.v575 select:focus-visible{outline:2px solid rgba(169,235,255,.95)!important;outline-offset:3px!important}body.v575 .button-row{align-items:stretch}body.v575 .button-row .button{display:inline-flex;align-items:center;justify-content:center}body.v575 .footer-panel{overflow:hidden}body.v575 .footer-grid>*{min-width:0}body.v575 .footer-contact a,body.v575 .footer-links a{overflow-wrap:anywhere}body.v575 .service-page-cta .button,body.v575 .cta-band .button{min-width:150px}
@media(max-width:900px){body.v575 .site-header .shell,body.v575 .site-footer .shell{width:min(100% - 24px,1180px)}}
@media(max-width:760px){body.v575 .site-header .shell,body.v575 .site-footer .shell{width:calc(100% - 20px)}body.v575 .button,body.v575 .button-header,body.v575 .mobile-menu summary{min-height:44px}body.v575 input,body.v575 textarea,body.v575 select{font-size:16px}body.v575 .footer-panel{padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){body.v575 *,body.v575 *::before,body.v575 *::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

body.v575 .v597-compact-trust{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 2px 16px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:12px}body.v575 .v597-compact-trust>div{display:grid;gap:2px}body.v575 .v597-compact-trust strong{font-size:13px}body.v575 .v597-compact-trust span{font-size:10px;color:rgba(235,244,252,.84)}body.v575 .v597-compact-trust small{font-size:9px;color:rgba(222,236,247,.70)}body.v575 .v597-compact-trust nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}body.v575 .v597-compact-trust nav a{font-size:10px;color:rgba(233,247,255,.88)}@media(max-width:760px){body.v575 .v597-compact-trust{display:grid}body.v575 .v597-compact-trust nav{justify-content:flex-start}}


/* ==========================================================================
   V5.9.7.2 — COMPLETE PUBLIC WEBSITE VISUAL FINISHING PASS
   Brings the complete public website to the same finish standard as the
   Client Portal auth experience. Static, premium, readable, responsive.
   No new scroll-driven or continuous motion.
   ========================================================================== */
body.v5972{
  --finish-primary:
    radial-gradient(320px circle at 10% 0%,rgba(255,255,255,.115),transparent 48%),
    linear-gradient(148deg,rgba(86,155,202,.19),rgba(8,33,68,.70) 56%,rgba(3,16,39,.88));
  --finish-secondary:
    radial-gradient(240px circle at 12% 0%,rgba(255,255,255,.075),transparent 50%),
    linear-gradient(148deg,rgba(72,139,186,.14),rgba(7,29,60,.62) 58%,rgba(3,16,38,.82));
  --finish-subtle:linear-gradient(150deg,rgba(255,255,255,.045),rgba(5,24,51,.44));
  --finish-border:rgba(195,232,251,.28);
  --finish-border-strong:rgba(207,239,255,.40);
  --finish-copy:rgba(242,248,252,.95);
  --finish-muted:rgba(213,231,242,.79);
  --finish-cyan:#b9efff;
  --finish-shadow:0 24px 68px rgba(0,7,27,.34),inset 0 1px 0 rgba(255,255,255,.27),inset 0 -1px 0 rgba(86,148,195,.07);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Arial,sans-serif;
  letter-spacing:-.005em;
}

/* Keep the environmental image stable and improve text separation locally. */
body.v5972 .site-frame::before{animation:none!important;filter:brightness(.67) contrast(1.07) saturate(.94) blur(1.2px)!important;transform:scale(1.025)!important}
body.v5972 .site-frame::after{
  background:
    radial-gradient(70% 38% at 50% 8%,rgba(64,170,226,.11),transparent 70%),
    linear-gradient(180deg,rgba(2,11,28,.20),rgba(2,13,34,.42) 58%,rgba(1,8,24,.66))!important;
  backdrop-filter:none!important;
}

/* Shared page rhythm. */
body.v5972 .inner-page{padding-top:18px;padding-bottom:26px}
body.v5972 .inner-page>section+section,body.v5972 .inner-page>nav+section,body.v5972 .inner-page>article+section{margin-top:16px}
body.v5972 .inner-page h1,body.v5972 .inner-page h2,body.v5972 .inner-page h3{letter-spacing:-.035em;text-wrap:balance}
body.v5972 .inner-page p,body.v5972 .inner-page li{color:var(--finish-muted);line-height:1.62}
body.v5972 .eyebrow{color:#aeeaff!important;font-size:10px!important;font-weight:850!important;letter-spacing:.105em!important;text-transform:uppercase}

/* Primary glass language — aligned with the polished portal auth surfaces. */
body.v5972 .glass-panel,
body.v5972 .page-intro,
body.v5972 .service-hero,
body.v5972 .contact-form,
body.v5972 .contact-card,
body.v5972 .cta-band,
body.v5972 .service-page-cta,
body.v5972 .footer-panel{
  border:1px solid var(--finish-border)!important;
  background:var(--finish-primary)!important;
  box-shadow:var(--finish-shadow)!important;
  backdrop-filter:blur(24px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.12)!important;
}
body.v5972 .glass-panel,body.v5972 .page-intro,body.v5972 .service-hero,body.v5972 .cta-band,body.v5972 .service-page-cta{border-radius:26px!important}
body.v5972 .mini-service-card,body.v5972 .service-detail-card,body.v5972 .product-card,body.v5972 .tool-card,body.v5972 .workflow-card,body.v5972 .related-service-grid>a,body.v5972 .v595-route-card,body.v5972 .v595-tool-choice{
  border:1px solid rgba(190,231,250,.16)!important;
  background:var(--finish-secondary)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 13px 34px rgba(0,8,27,.14)!important;
}
body.v5972 .mini-service-card:hover,body.v5972 .service-detail-card:hover,body.v5972 .product-card:hover,body.v5972 .tool-card:hover,body.v5972 .workflow-card:hover,body.v5972 .related-service-grid>a:hover,body.v5972 .v595-route-card:hover,body.v5972 .v595-tool-choice:hover{
  transform:none!important;
  border-color:rgba(198,237,255,.34)!important;
  background:linear-gradient(148deg,rgba(88,164,208,.20),rgba(7,30,61,.68) 58%,rgba(3,16,38,.84))!important;
}

/* Header finishing: calmer glass, clearer current location, stable mobile menu. */
body.v5972 .site-header{
  border:1px solid rgba(212,240,255,.30)!important;
  border-radius:28px!important;
  background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(10,31,59,.76) 52%,rgba(3,16,39,.90))!important;
  box-shadow:0 20px 56px rgba(0,7,24,.30),inset 0 1px 0 rgba(255,255,255,.30)!important;
  backdrop-filter:blur(26px) saturate(1.13)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.13)!important;
}
body.v5972 .brand-link{font-weight:790;letter-spacing:.02em}
body.v5972 .desktop-nav>a,body.v5972 .nav-services>summary{color:rgba(237,247,253,.90);font-weight:740}
body.v5972 .desktop-nav>a.active,body.v5972 .desktop-nav>a[aria-current="page"],body.v5972 .nav-services.active>summary{color:#fff}
body.v5972 .mobile-menu>summary{border-color:rgba(207,239,255,.28)!important;background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(7,29,59,.46))!important}
body.v5972 .mobile-menu>nav{border-color:rgba(207,239,255,.26)!important;background:linear-gradient(155deg,rgba(6,24,50,.985),rgba(3,13,32,.99))!important;box-shadow:0 26px 62px rgba(0,6,23,.46)!important}
body.v5972 .mobile-menu nav>a{border-radius:13px;color:rgba(241,248,253,.94)!important}
body.v5972 .mobile-menu nav>a.active,body.v5972 .mobile-menu nav>a[aria-current="page"]{background:rgba(119,203,243,.11)!important;border-color:rgba(174,229,252,.19)!important;color:#fff!important}

/* Typography and content hierarchy. */
body.v5972 .page-intro h1,body.v5972 .service-hero h1,body.v5972 .v594-contact-flow h1{font-weight:790!important;line-height:1.01!important;letter-spacing:-.052em!important}
body.v5972 .section-heading h2,body.v5972 .service-section-heading h2,body.v5972 .cta-copy h2,body.v5972 .glass-panel>header h2{font-weight:760;line-height:1.08}
body.v5972 .page-intro>p,body.v5972 .service-hero-copy>p:not(.eyebrow),body.v5972 .section-heading>p,body.v5972 .service-section-heading>p,body.v5972 .cta-copy p{color:var(--finish-copy)!important;max-width:820px}

/* Connected sections — fewer "random cards", more composed surfaces. */
body.v5972 .service-section,body.v5972 .service-copy-grid,body.v5972 .service-visual-stage{border-radius:24px}
body.v5972 .service-section{padding:clamp(20px,2.7vw,30px)!important;border:1px solid rgba(183,227,249,.11);background:linear-gradient(150deg,rgba(255,255,255,.025),rgba(4,21,46,.30))}
body.v5972 .service-copy-grid>*{border-radius:20px!important}
body.v5972 .service-process-panel,body.v5972 .service-expectations{padding:clamp(22px,3vw,32px)!important}
body.v5972 .related-service-grid>a{border-radius:18px!important}

/* Buttons — one polished action language. */
body.v5972 .button,body.v5972 .button-primary,body.v5972 .button-header{
  min-height:46px;border:1px solid rgba(195,234,255,.38)!important;border-radius:14px!important;
  background:linear-gradient(180deg,rgba(83,144,255,.98),rgba(51,101,226,.98))!important;
  color:#fff!important;font-weight:800!important;letter-spacing:.005em!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 11px 26px rgba(23,75,177,.20)!important;
}
body.v5972 .button:hover,body.v5972 .button-primary:hover,body.v5972 .button-header:hover{transform:none!important;filter:brightness(1.04)}
body.v5972 .button-secondary,body.v5972 .button-quiet{
  border:1px solid rgba(195,233,252,.21)!important;background:linear-gradient(150deg,rgba(255,255,255,.065),rgba(7,29,58,.54))!important;color:#eaf8ff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important
}

/* Contact form — same premium dark field language as portal login.
   Includes Safari/iOS autofill protection against yellow/white fields. */
body.v5972 .contact-form{padding:clamp(20px,3vw,30px)!important;border-radius:27px!important}
body.v5972 .contact-form input,body.v5972 .contact-form select,body.v5972 .contact-form textarea{
  border:1px solid rgba(194,231,250,.24)!important;border-radius:14px!important;
  background:rgba(3,18,42,.58)!important;color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.v5972 .contact-form input:focus,body.v5972 .contact-form select:focus,body.v5972 .contact-form textarea:focus{border-color:rgba(145,223,255,.62)!important;box-shadow:0 0 0 3px rgba(99,197,240,.11)!important}
body.v5972 .contact-form input::placeholder,body.v5972 .contact-form textarea::placeholder{color:rgba(216,232,242,.48)!important}
body.v5972 .contact-form .floating-field>span{background:rgba(4,31,64,.93)!important;color:#f6fbff!important;border-radius:8px;padding-inline:7px}
body.v5972 input:-webkit-autofill,body.v5972 input:-webkit-autofill:hover,body.v5972 input:-webkit-autofill:focus,body.v5972 textarea:-webkit-autofill,body.v5972 select:-webkit-autofill{
  -webkit-text-fill-color:#fff!important;caret-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px rgb(6,28,57) inset!important;
  box-shadow:0 0 0 1000px rgb(6,28,57) inset!important;
  transition:background-color 99999s ease-out 0s!important;
}

/* Policy / FAQ finishing for easier long-form reading. */
body.v5972 .policy-tabs{gap:7px;padding:7px;border:1px solid rgba(187,228,249,.15);border-radius:18px;background:rgba(3,18,42,.50)}
body.v5972 .policy-tabs a{min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:rgba(224,240,249,.77)}
body.v5972 .policy-tabs a.active,body.v5972 .policy-tabs a:hover{background:rgba(113,201,243,.10);border-color:rgba(177,228,250,.20);color:#fff}
body.v5972 .policy-content{padding:clamp(22px,3vw,36px)!important;border-radius:26px!important}
body.v5972 .policy-content>section{padding:18px 0;border-top:1px solid rgba(190,231,250,.09)}
body.v5972 .policy-content>section:first-child{border-top:0;padding-top:0}
body.v5972 .policy-content h2{font-size:clamp(18px,2vw,24px);color:#f7fcff}
body.v5972 .policy-content p,body.v5972 .policy-content li{max-width:940px;color:rgba(222,236,245,.83)!important}
body.v5972 .policy-content a{color:#b8eeff;text-decoration-color:rgba(184,238,255,.36)}

/* About / Work / Services / Tools finishing. */
body.v5972 .v594-about-operating-model,body.v5972 .v594-work-framework,body.v5972 .v594-contact-flow,body.v5972 .v595-service-router,body.v5972 .v595-tool-router,body.v5972 .v595-capability-map,body.v5972 .v595-tool-compare,body.v5972 .v596-services-tools-bridge,body.v5972 .v596-trust-process,body.v5972 .v596-contact-expectations{
  border-color:rgba(195,233,252,.20)!important;background:var(--finish-primary)!important;box-shadow:var(--finish-shadow)!important;
}
body.v5972 .v595-route-card,body.v5972 .v595-tool-choice{min-height:0}
body.v5972 .v595-capability-rail>div,body.v5972 .v596-trust-steps article{background:var(--finish-subtle)!important;border-color:rgba(188,230,249,.12)!important}

/* Footer: calmer hierarchy, better legibility, stronger trust finishing. */
body.v5972 .site-footer{padding-top:18px!important}
body.v5972 .footer-panel{padding:clamp(22px,3vw,32px)!important;border-radius:28px!important}
body.v5972 .footer-grid{gap:24px 0!important}
body.v5972 .footer-grid>*+*{border-left-color:rgba(194,232,250,.10)!important}
body.v5972 .footer-brand h2,body.v5972 .footer-column h2{color:#fff!important;font-weight:760}
body.v5972 .footer-brand>p,body.v5972 .footer-column li,body.v5972 .footer-column address{color:rgba(215,232,242,.78)!important}
body.v5972 .footer-links a,body.v5972 .footer-contact a{color:rgba(234,245,251,.90)}
body.v5972 .legal-row{border-top-color:rgba(190,230,249,.11)!important}

/* Accessibility + responsive finishing. */
body.v5972 a:focus-visible,body.v5972 button:focus-visible,body.v5972 summary:focus-visible,body.v5972 input:focus-visible,body.v5972 select:focus-visible,body.v5972 textarea:focus-visible{outline:2px solid rgba(178,237,255,.95)!important;outline-offset:3px!important}
@media(max-width:900px){
  body.v5972 .inner-page{padding-top:12px}
  body.v5972 .service-section{padding:20px 17px!important}
  body.v5972 .footer-grid>*+*{border-left:0!important}
}
@media(max-width:760px){
  body.v5972 .site-header{border-radius:24px!important}
  body.v5972 .inner-page{width:calc(100% - 20px)!important;padding-bottom:18px}
  body.v5972 .glass-panel,body.v5972 .page-intro,body.v5972 .service-hero,body.v5972 .cta-band,body.v5972 .service-page-cta{border-radius:22px!important}
  body.v5972 .page-intro,body.v5972 .service-hero,body.v5972 .policy-content{padding-left:17px!important;padding-right:17px!important}
  body.v5972 .button-row{display:grid!important;grid-template-columns:1fr!important;width:100%}
  body.v5972 .button-row .button{width:100%}
  body.v5972 .contact-form input,body.v5972 .contact-form select{min-height:54px!important}
  body.v5972 .contact-form textarea{min-height:170px!important}
  body.v5972 .policy-tabs{grid-template-columns:1fr 1fr!important}
  body.v5972 .footer-panel{padding:20px 15px!important}
}
@media(max-width:430px){
  body.v5972 .policy-tabs{grid-template-columns:1fr!important}
  body.v5972 .brand-link>span:last-child{font-size:12px!important}
  body.v5972 .mobile-menu>summary{min-width:82px!important}
}
@media(prefers-reduced-motion:reduce){body.v5972 *,body.v5972 *::before,body.v5972 *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* ========================================================================== 
   V5.10.2 — MAIN WEBSITE LAPTOP RESPONSIVE CORRECTION
   Targeted only: homepage service-system fit + contact workflow readability.
   No copy, portal, policy, animation, or visual-system changes.
   ========================================================================== */

/* Keep the six-service hero system completely inside the right hero column on
   common 1366/1440-class laptops without changing the large-desktop design. */
@media (min-width:1101px) and (max-width:1799px){
  body.v593.v552-home .v570-hero{
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
    column-gap:24px!important;
    padding-left:30px!important;
    padding-right:30px!important;
  }
  body.v593 .v570-hero-copy h1{
    font-size:clamp(66px,5.35vw,76px)!important;
  }
  body.v593 .v570-hero-system{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:440px!important;
    grid-template-columns:minmax(142px,1fr) clamp(200px,17vw,232px) minmax(142px,1fr)!important;
    gap:10px!important;
    padding:32px 0 8px!important;
    transform:none!important;
  }
  body.v593 .v570-node-column{
    min-width:0!important;
    height:336px!important;
    gap:12px!important;
  }
  body.v593 .v570-service-node{
    width:min(100%,188px)!important;
    min-width:0!important;
    min-height:68px!important;
    gap:8px!important;
    padding:8px 7px!important;
  }
  body.v593 .v570-service-node .v570-node-icon{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
  body.v593 .v570-service-node .v570-node-icon svg{
    width:24px!important;
    height:24px!important;
  }
  body.v593 .v570-node-label{
    min-width:0!important;
    font-size:11.4px!important;
    line-height:1.22!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.v593 .v570-hub{
    width:224px!important;
    height:224px!important;
  }
  body.v593 .v570-hub:before{inset:-28px!important}
  body.v593 .v570-hub:after{inset:-52px!important}
  body.v593 .v570-service-node.left::after{right:-16px!important;width:20px!important}
  body.v593 .v570-service-node.right::after{left:-16px!important;width:20px!important}
  body.v593 .v593-system-label{
    max-width:calc(100% - 16px)!important;
    font-size:9px!important;
    letter-spacing:.10em!important;
  }
}

/* The contact workflow lives in a narrow third column on laptop desktops.
   Use a readable 2×2 process grid and compact typography instead of forcing
   four ultra-narrow cards that make the entire page excessively tall. */
@media (min-width:1161px){
  body.v552-contact .contact-layout{
    grid-template-columns:minmax(220px,.78fr) minmax(460px,1.55fr) minmax(310px,1fr)!important;
    gap:14px!important;
  }
  body.v552-contact.v596 .contact-side{
    min-width:0!important;
  }
  body.v552-contact.v596 .v596-trust-process{
    min-width:0!important;
    padding:20px 18px!important;
  }
  body.v552-contact.v596 .v596-trust-process>header{
    margin-bottom:13px!important;
  }
  body.v552-contact.v596 .v596-trust-process h2{
    font-size:clamp(22px,2.05vw,29px)!important;
    line-height:1.04!important;
    letter-spacing:-.03em!important;
  }
  body.v552-contact.v596 .v596-trust-process>header p{
    font-size:12px!important;
    line-height:1.48!important;
  }
  body.v552-contact.v596 .v596-trust-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.v552-contact.v596 .v596-trust-steps article{
    min-width:0!important;
    padding:11px 10px 10px!important;
  }
  body.v552-contact.v596 .v596-trust-steps article>span{
    width:27px!important;
    height:27px!important;
    margin-bottom:8px!important;
  }
  body.v552-contact.v596 .v596-trust-steps strong{
    display:block!important;
    font-size:11.5px!important;
    line-height:1.3!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.v552-contact.v596 .v596-trust-steps p{
    margin-top:5px!important;
    font-size:10px!important;
    line-height:1.42!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.v552-contact .map-card{
    min-height:220px!important;
    padding:22px 18px!important;
  }
  body.v552-contact .contact-side .cta-band{
    padding:20px 18px!important;
  }
}

/* At the tablet / small-laptop transition, keep the existing two-column
   contact layout but make the process module consume the full row so its
   2×2 cards never collapse into narrow strips. */
@media (min-width:761px) and (max-width:1160px){
  body.v552-contact .contact-side{
    grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr)!important;
    align-items:start!important;
  }
  body.v552-contact.v596 .contact-side .v596-trust-process{
    min-width:0!important;
  }
  body.v552-contact.v596 .v596-trust-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.v552-contact .contact-side .cta-band{
    grid-column:1/-1!important;
  }
}

/* ========================================================================== 
   V5.10.2.3 — CONTACT COMPOSITION + FRAME ALIGNMENT CORRECTION
   Targeted visual correction only. Keeps content, forms, portal, policies,
   behavior, and mobile interaction unchanged.
   ========================================================================== */

/* Contact-page frame: header, main content, and footer now share one desktop
   alignment system instead of the 1180px header/footer sitting inside a
   wider 1720px-based content shell. */
@media (min-width:921px){
  body.v552-contact .site-header,
  body.v552-contact .page-home .site-header{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.v552-contact .site-header .shell,
  body.v552-contact .site-footer .shell{
    width:min(1720px,calc(100% - 104px))!important;
  }
  body.v552-contact .header-inner{
    border:1px solid rgba(212,240,255,.30)!important;
    border-radius:26px!important;
    background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(10,31,59,.76) 52%,rgba(3,16,39,.90))!important;
    box-shadow:0 20px 56px rgba(0,7,24,.30),inset 0 1px 0 rgba(255,255,255,.30)!important;
    backdrop-filter:blur(26px) saturate(1.13)!important;
    -webkit-backdrop-filter:blur(26px) saturate(1.13)!important;
  }
}

/* Desktop contact composition: simple two-column first row, then one aligned
   three-card support row. This removes the tall uneven right rail that made
   the page feel scattered. */
@media (min-width:1161px){
  body.v552-contact .contact-layout{
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.78fr)!important;
    gap:16px!important;
    align-items:start!important;
  }
  body.v552-contact .contact-intro{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
  }
  body.v552-contact .form-panel{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
  }
  body.v552-contact .contact-side{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(235px,.78fr) minmax(0,1.64fr) minmax(235px,.78fr)!important;
    gap:16px!important;
    align-items:stretch!important;
    min-width:0!important;
  }
  body.v552-contact .contact-side>.glass-panel{
    min-width:0!important;
    height:100%!important;
    margin:0!important;
  }
  body.v552-contact .contact-side .map-card{
    min-height:0!important;
    padding:24px 20px!important;
  }
  body.v552-contact.v596 .contact-side .v596-trust-process{
    padding:22px 20px!important;
  }
  body.v552-contact.v596 .contact-side .v596-trust-process>header{
    margin-bottom:14px!important;
  }
  body.v552-contact.v596 .contact-side .v596-trust-process h2{
    font-size:clamp(23px,1.72vw,30px)!important;
    line-height:1.05!important;
  }
  body.v552-contact.v596 .contact-side .v596-trust-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.v552-contact .contact-side .cta-band{
    grid-column:auto!important;
    justify-content:center!important;
    align-items:center!important;
    padding:24px 20px!important;
  }
  body.v552-contact .contact-side .cta-copy{
    max-width:260px!important;
    margin-inline:auto!important;
  }
}

/* Tablet/small-laptop contact composition: process first at full width,
   map and CTA below as an aligned pair. */
@media (min-width:761px) and (max-width:1160px){
  body.v552-contact .contact-side{
    grid-column:1/-1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  body.v552-contact.v596 .contact-side .v596-trust-process{
    grid-column:1/-1!important;
    grid-row:1!important;
  }
  body.v552-contact .contact-side .map-card{
    grid-column:1!important;
    grid-row:2!important;
    min-height:220px!important;
  }
  body.v552-contact .contact-side .cta-band{
    grid-column:2!important;
    grid-row:2!important;
    justify-content:center!important;
  }
}

/* Keep page edges synchronized at the tablet transition as well. */
@media (min-width:761px) and (max-width:920px){
  body.v552-contact .site-header .shell,
  body.v552-contact .site-footer .shell,
  body.v552-contact main.inner-page.shell{
    width:min(100% - 24px,1180px)!important;
  }
}


/* ========================================================================== 
   V5.10.2.4 — CONTACT "GET IN TOUCH" REMOVAL + FORM REBALANCE
   Remove the redundant left contact-details card and use a centered, focused
   form row followed by the aligned support row. No content or behavior change
   outside the Contact-page composition.
   ========================================================================== */

body.v552-contact .contact-intro{display:none!important}

@media (min-width:1161px){
  body.v552-contact .contact-layout{
    grid-template-columns:1fr!important;
    gap:16px!important;
    align-items:start!important;
  }
  body.v552-contact .form-panel{
    grid-column:1!important;
    grid-row:1!important;
    width:min(100%,1000px)!important;
    justify-self:center!important;
    min-width:0!important;
  }
  body.v552-contact .contact-side{
    grid-column:1!important;
    grid-row:2!important;
  }
}

@media (min-width:761px) and (max-width:1160px){
  body.v552-contact .contact-layout{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.v552-contact .form-panel{
    grid-column:1!important;
    grid-row:1!important;
    width:min(100%,900px)!important;
    justify-self:center!important;
  }
  body.v552-contact .contact-side{
    grid-column:1!important;
    grid-row:2!important;
  }
}

@media (max-width:760px){
  body.v552-contact .form-panel{
    grid-column:1!important;
    width:100%!important;
  }
}

/* ========================================================================== 
   V5.10.2.5 — CONTACT PAGE COHESIVE WORKSPACE REDESIGN
   Replace the fragmented form/map/process/CTA stack with one primary contact
   workspace and one compact review rail. Public contact page only.
   ========================================================================== */
body.v552-contact .v594-contact-flow,
body.v552-contact .contact-side,
body.v552-contact .v596-contact-expectations,
body.v552-contact .contact-intro{display:none!important}

body.v552-contact .contact-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1.62fr) minmax(330px,.78fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  margin-bottom:18px!important;
}
body.v552-contact .contact-primary,
body.v552-contact .contact-brief{
  min-width:0!important;
  margin:0!important;
}
body.v552-contact .contact-primary{
  width:100%!important;
  justify-self:stretch!important;
  padding:clamp(24px,2.6vw,38px)!important;
}
body.v552-contact .contact-form-intro{
  max-width:760px;
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(194,232,250,.12);
}
body.v552-contact .contact-form-intro .eyebrow{margin:0 0 7px}
body.v552-contact .contact-form-intro h1{
  margin:0 0 10px;
  font-size:clamp(34px,3.15vw,54px);
  line-height:1.01;
  letter-spacing:-.05em;
  font-weight:790;
}
body.v552-contact .contact-form-intro p{
  margin:0;
  max-width:720px;
  color:rgba(222,238,248,.78);
  font-size:14px;
  line-height:1.6;
}
body.v552-contact .contact-form h2{
  margin:0 0 16px;
  font-size:clamp(20px,1.7vw,27px);
  letter-spacing:-.025em;
}
body.v552-contact .contact-form .submit-button{
  min-width:190px;
  margin-top:10px;
}

body.v552-contact .contact-brief{
  display:flex!important;
  flex-direction:column;
  padding:clamp(24px,2.2vw,32px)!important;
  background:linear-gradient(155deg,rgba(58,137,190,.17),rgba(4,24,54,.73) 48%,rgba(2,14,35,.86))!important;
}
body.v552-contact .contact-brief-head{
  padding-bottom:18px;
  border-bottom:1px solid rgba(193,232,250,.12);
}
body.v552-contact .contact-brief-head h2{
  margin:6px 0 9px;
  font-size:clamp(25px,2.15vw,36px);
  line-height:1.05;
  letter-spacing:-.04em;
}
body.v552-contact .contact-brief-head p{
  margin:0;
  color:rgba(220,237,247,.74);
  font-size:12px;
  line-height:1.55;
}
body.v552-contact .contact-brief-steps{
  display:grid;
  gap:8px;
  margin:18px 0;
}
body.v552-contact .contact-brief-steps article{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:11px;
  align-items:start;
  padding:13px;
  border:1px solid rgba(190,230,249,.11);
  border-radius:16px;
  background:rgba(255,255,255,.028);
}
body.v552-contact .contact-brief-steps article>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:11px;
  border:1px solid rgba(139,219,252,.20);
  background:rgba(95,191,236,.09);
  color:#c7efff;
  font-size:9px;
  font-weight:900;
}
body.v552-contact .contact-brief-steps strong{font-size:12px;color:#fff}
body.v552-contact .contact-brief-steps p{
  margin:4px 0 0;
  color:rgba(218,235,245,.70);
  font-size:10.5px;
  line-height:1.45;
}
body.v552-contact .contact-commitments{
  display:grid;
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(191,231,250,.10);
  border-radius:16px;
  background:rgba(2,16,38,.28);
}
body.v552-contact .contact-commitments>div{
  display:grid;
  gap:3px;
  padding:12px 13px;
  background:rgba(255,255,255,.024);
}
body.v552-contact .contact-commitments>div+div{border-top:1px solid rgba(191,231,250,.09)}
body.v552-contact .contact-commitments strong{font-size:10.5px;color:#fff}
body.v552-contact .contact-commitments span{font-size:9.5px;line-height:1.45;color:rgba(216,234,244,.68)}
body.v552-contact .contact-identity{
  display:grid;
  gap:5px;
  margin-top:auto;
  padding-top:18px;
  color:rgba(223,239,248,.78);
  font-size:10.5px;
}
body.v552-contact .contact-identity strong{color:#fff;font-size:12px}
body.v552-contact .contact-identity a{color:#bfeeff;text-decoration:none}
body.v552-contact .contact-policy-links{
  display:flex;
  gap:8px 11px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(191,231,250,.10);
}
body.v552-contact .contact-policy-links a{color:rgba(191,235,252,.78);font-size:9px;text-decoration:none}

@media (max-width:1160px){
  body.v552-contact .contact-workspace{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.v552-contact .contact-brief{min-height:0!important}
  body.v552-contact .contact-brief-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  body.v552-contact .contact-brief-steps article{grid-template-columns:1fr;gap:8px}
  body.v552-contact .contact-commitments{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}
  body.v552-contact .contact-commitments>div+div{border-top:0;border-left:1px solid rgba(191,231,250,.09)}
  body.v552-contact .contact-identity{margin-top:16px}
}
@media (max-width:760px){
  body.v552-contact .contact-workspace{gap:12px!important}
  body.v552-contact .contact-primary,
  body.v552-contact .contact-brief{padding:20px 16px!important}
  body.v552-contact .contact-form-intro{padding-bottom:16px;margin-bottom:16px}
  body.v552-contact .contact-form-intro h1{font-size:clamp(30px,10vw,42px)}
  body.v552-contact .contact-form-intro p{font-size:12.5px}
  body.v552-contact .contact-brief-steps,
  body.v552-contact .contact-commitments{grid-template-columns:1fr}
  body.v552-contact .contact-commitments>div+div{border-left:0;border-top:1px solid rgba(191,231,250,.09)}
  body.v552-contact .two-columns{grid-template-columns:1fr}
}


/* ========================================================================== 
   V5.10.2.6 — CONTACT PAGE VERTICAL COMPACTION
   Reduce unused vertical space while preserving the approved two-panel layout.
   Public Contact page only.
   ========================================================================== */
body.v552-contact .contact-workspace{
  align-items:start!important;
  gap:14px!important;
  margin-bottom:12px!important;
}
body.v552-contact .contact-primary{
  padding:clamp(20px,2vw,28px)!important;
}
body.v552-contact .contact-form-intro{
  max-width:820px!important;
  padding-bottom:13px!important;
  margin-bottom:13px!important;
}
body.v552-contact .contact-form-intro .eyebrow{margin-bottom:5px!important}
body.v552-contact .contact-form-intro h1{
  margin-bottom:7px!important;
  font-size:clamp(32px,2.75vw,48px)!important;
  line-height:1!important;
}
body.v552-contact .contact-form-intro p{
  max-width:800px!important;
  font-size:12.5px!important;
  line-height:1.48!important;
}
body.v552-contact .contact-form{
  padding:17px 18px 15px!important;
  border-radius:22px!important;
}
body.v552-contact .contact-form h2{
  margin-bottom:8px!important;
  font-size:19px!important;
}
body.v552-contact .contact-form .form-grid{gap:8px!important}
body.v552-contact .contact-form>label,
body.v552-contact .contact-form .form-grid label{
  margin-bottom:6px!important;
}
body.v552-contact .contact-form .floating-field{
  padding-top:6px!important;
}
body.v552-contact .contact-form .floating-field>span{
  left:13px!important;
  top:18px!important;
  font-size:.80rem!important;
}
body.v552-contact .contact-form .floating-field:has(select)>span,
body.v552-contact .contact-form .floating-field:focus-within>span,
body.v552-contact .contact-form .floating-field:has(input:not(:placeholder-shown))>span,
body.v552-contact .contact-form .floating-field:has(textarea:not(:placeholder-shown))>span{
  top:0!important;
}
body.v552-contact .contact-form input,
body.v552-contact .contact-form select,
body.v552-contact .contact-form textarea{
  min-height:48px!important;
  padding-top:13px!important;
}
body.v552-contact .contact-form textarea{
  min-height:86px!important;
  padding-top:18px!important;
}
body.v552-contact .contact-form .submit-button{
  min-height:42px!important;
  min-width:170px!important;
  margin-top:4px!important;
}
body.v552-contact .contact-brief{
  align-self:start!important;
  display:block!important;
  min-height:0!important;
  padding:20px 21px!important;
}
body.v552-contact .contact-brief-head{
  padding-bottom:11px!important;
}
body.v552-contact .contact-brief-head h2{
  margin:4px 0 6px!important;
  font-size:clamp(23px,1.85vw,31px)!important;
  line-height:1.03!important;
}
body.v552-contact .contact-brief-head p{
  font-size:11px!important;
  line-height:1.45!important;
}
body.v552-contact .contact-brief-steps{
  gap:6px!important;
  margin:11px 0!important;
}
body.v552-contact .contact-brief-steps article{
  grid-template-columns:30px 1fr!important;
  gap:9px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
}
body.v552-contact .contact-brief-steps article>span{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
}
body.v552-contact .contact-brief-steps p{
  margin-top:2px!important;
  font-size:9.8px!important;
  line-height:1.38!important;
}
body.v552-contact .contact-commitments{border-radius:13px!important}
body.v552-contact .contact-commitments>div{
  padding:8px 10px!important;
}
body.v552-contact .contact-commitments strong{font-size:10px!important}
body.v552-contact .contact-commitments span{font-size:9px!important;line-height:1.35!important}
body.v552-contact .contact-identity{
  margin-top:11px!important;
  padding-top:10px!important;
  gap:3px!important;
  font-size:9.8px!important;
  border-top:1px solid rgba(191,231,250,.10);
}
body.v552-contact .contact-identity strong{font-size:11px!important}
body.v552-contact .contact-policy-links{
  margin-top:8px!important;
  padding-top:8px!important;
  gap:6px 9px!important;
}
body.v552-contact .contact-policy-links a{font-size:8.6px!important}
body.v552-contact .site-footer{padding-top:5px!important}
body.v552-contact .footer-panel{padding-top:22px!important}

@media (max-width:1160px){
  body.v552-contact .contact-brief{width:100%!important}
  body.v552-contact .contact-brief-steps article{grid-template-columns:30px 1fr!important}
  body.v552-contact .contact-identity{margin-top:10px!important}
}
@media (max-width:760px){
  body.v552-contact .contact-primary,
  body.v552-contact .contact-brief{padding:18px 15px!important}
  body.v552-contact .contact-form{padding:15px 13px 13px!important}
  body.v552-contact .contact-compact-row{grid-template-columns:1fr!important}
  body.v552-contact .contact-form-intro h1{font-size:clamp(29px,9.5vw,39px)!important}
  body.v552-contact .contact-form-intro p{font-size:12px!important}
}

/* ========================================================================== 
   V5.10.2.8 — APPROVED CONTACT PAGE PREMIUM VISUAL IMPLEMENTATION
   Implements the user-approved Contact page mockup while preserving the
   existing form handler, business information, policy links, and responsive
   behavior. Contact page only.
   ========================================================================== */

body.v552-contact{
  --contact-cyan:#31d7ff;
  --contact-blue:#1f73ff;
  --contact-line:rgba(137,213,255,.24);
  --contact-soft:rgba(217,239,251,.78);
}
body.v552-contact .site-frame{overflow:clip}
body.v552-contact .site-header{padding-top:10px!important}
body.v552-contact .site-header .shell,
body.v552-contact .site-footer .shell,
body.v552-contact main.inner-page.shell{
  width:min(100% - 52px,1720px)!important;
}
body.v552-contact main.inner-page.shell{
  padding-top:16px!important;
  padding-bottom:0!important;
}
body.v552-contact .header-inner{
  min-height:86px!important;
  padding-inline:18px!important;
  border-color:rgba(131,213,255,.28)!important;
  box-shadow:0 20px 55px rgba(0,9,31,.23), inset 0 1px rgba(255,255,255,.07)!important;
}
body.v552-contact .brand-link{font-weight:820!important;letter-spacing:-.02em!important}
body.v552-contact .button-header{
  min-width:154px!important;
  box-shadow:0 12px 28px rgba(18,104,255,.25), inset 0 1px rgba(255,255,255,.18)!important;
}

body.v552-contact .contact-workspace{
  grid-template-columns:minmax(0,1.64fr) minmax(390px,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;
  margin-bottom:18px!important;
}
body.v552-contact .contact-primary,
body.v552-contact .contact-brief{
  border:1px solid rgba(139,216,255,.33)!important;
  box-shadow:0 26px 80px rgba(0,10,40,.28), inset 0 1px rgba(255,255,255,.075)!important;
  backdrop-filter:blur(18px) saturate(126%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(126%)!important;
}
body.v552-contact .contact-primary{
  position:relative!important;
  overflow:hidden!important;
  padding:32px 34px 30px!important;
  background:
    radial-gradient(circle at 79% 9%,rgba(32,144,255,.19),transparent 28%),
    linear-gradient(145deg,rgba(39,118,169,.24),rgba(4,26,59,.78) 48%,rgba(3,17,42,.88))!important;
}
body.v552-contact .contact-primary::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.07),transparent 25%,transparent 76%,rgba(70,188,255,.05));
}
body.v552-contact .contact-form-intro{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 230px!important;
  align-items:center!important;
  max-width:none!important;
  min-height:175px!important;
  padding:0 0 18px!important;
  margin:0 0 18px!important;
  border-bottom:1px solid rgba(189,229,250,.18)!important;
}
body.v552-contact .contact-intro-copy{position:relative;z-index:2;max-width:730px}
body.v552-contact .contact-form-intro .eyebrow,
body.v552-contact .contact-brief .eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  margin:0 0 10px!important;
  padding:5px 11px!important;
  border:1px solid rgba(67,210,255,.34)!important;
  border-radius:999px!important;
  background:rgba(30,159,213,.12)!important;
  box-shadow:inset 0 0 18px rgba(41,208,255,.055)!important;
  color:#78e8ff!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:850!important;
}
body.v552-contact .contact-form-intro h1{
  margin:0 0 10px!important;
  max-width:660px!important;
  color:#fff!important;
  font-size:clamp(40px,3.35vw,62px)!important;
  line-height:.99!important;
  letter-spacing:-.055em!important;
  font-weight:825!important;
}
body.v552-contact .contact-form-intro h1 span{color:var(--contact-cyan)!important}
body.v552-contact .contact-form-intro p{
  max-width:690px!important;
  margin:0!important;
  color:rgba(231,244,251,.82)!important;
  font-size:14px!important;
  line-height:1.58!important;
}
body.v552-contact .contact-hero-art{
  position:relative;
  z-index:1;
  width:220px;
  justify-self:end;
  opacity:.95;
  filter:drop-shadow(0 22px 30px rgba(7,94,255,.22));
}
body.v552-contact .contact-hero-art::before{
  content:"";
  position:absolute;
  inset:20% 8%;
  border-radius:50%;
  background:rgba(28,123,255,.18);
  filter:blur(28px);
  z-index:-1;
}
body.v552-contact .contact-hero-art svg{display:block;width:100%;height:auto}

body.v552-contact .contact-form{
  position:relative!important;
  z-index:2;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.v552-contact .contact-form h2{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 16px!important;
  color:#dff8ff!important;
  font-size:18px!important;
  line-height:1!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  font-weight:820!important;
}
body.v552-contact .section-dot{
  width:18px;height:18px;border-radius:6px;
  border:1px solid rgba(57,218,255,.45);
  background:radial-gradient(circle,#64e6ff 0 23%,rgba(34,165,255,.22) 25% 100%);
  box-shadow:0 0 16px rgba(49,215,255,.22);
}
body.v552-contact .contact-form .form-grid{gap:12px!important}
body.v552-contact .contact-form>label,
body.v552-contact .contact-form .form-grid label{margin-bottom:10px!important}
body.v552-contact .contact-form .floating-field{
  position:relative!important;
  padding-top:14px!important;
}
body.v552-contact .contact-form .floating-field>span{
  position:absolute!important;
  left:15px!important;
  top:0!important;
  z-index:4!important;
  padding:0 4px!important;
  background:#092b53!important;
  color:rgba(244,250,255,.92)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:720!important;
  transform:none!important;
}
body.v552-contact .contact-form .floating-field:has(select)>span,
body.v552-contact .contact-form .floating-field:focus-within>span,
body.v552-contact .contact-form .floating-field:has(input:not(:placeholder-shown))>span,
body.v552-contact .contact-form .floating-field:has(textarea:not(:placeholder-shown))>span{
  top:0!important;
  transform:none!important;
}
body.v552-contact .contact-form input,
body.v552-contact .contact-form select,
body.v552-contact .contact-form textarea{
  width:100%!important;
  min-height:52px!important;
  padding:13px 16px 13px 46px!important;
  border:1px solid rgba(128,206,249,.28)!important;
  border-radius:13px!important;
  background:rgba(2,24,54,.62)!important;
  color:#f5fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  font-size:14px!important;
  line-height:1.35!important;
  outline:none!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease!important;
}
body.v552-contact .contact-form select{padding-right:42px!important}
body.v552-contact .contact-form textarea{
  min-height:108px!important;
  resize:vertical!important;
  padding-top:17px!important;
}
body.v552-contact .contact-form input::placeholder,
body.v552-contact .contact-form textarea::placeholder{color:rgba(201,224,238,.62)!important}
body.v552-contact .contact-form input:focus,
body.v552-contact .contact-form select:focus,
body.v552-contact .contact-form textarea:focus{
  border-color:rgba(48,211,255,.68)!important;
  background:rgba(4,31,68,.82)!important;
  box-shadow:0 0 0 3px rgba(40,190,255,.085), inset 0 1px rgba(255,255,255,.04)!important;
}
body.v552-contact .field-glyph{
  position:absolute;
  left:16px;
  top:34px;
  z-index:3;
  width:17px;
  height:17px;
  fill:none;
  stroke:#28d7ff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
  opacity:.96;
}
body.v552-contact .field-message .field-glyph{top:37px}
body.v552-contact .contact-submit-row{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:2px;
}
body.v552-contact .contact-form .submit-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:250px!important;
  min-height:52px!important;
  margin:0!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#3387ff,#1268ef)!important;
  box-shadow:0 13px 30px rgba(13,91,255,.30), inset 0 1px rgba(255,255,255,.28)!important;
  font-size:14px!important;
  font-weight:800!important;
}
body.v552-contact .contact-form .submit-button svg{
  width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
body.v552-contact .contact-secure-note{
  display:flex;
  align-items:center;
  gap:9px;
  max-width:250px;
  margin:0;
  color:rgba(216,235,245,.74);
  font-size:11.5px;
  line-height:1.4;
}
body.v552-contact .contact-secure-note svg{
  flex:0 0 auto;width:23px;height:23px;fill:none;stroke:#c9e7f6;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
}

body.v552-contact .contact-brief{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  padding:28px 28px 22px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(53,166,255,.15),transparent 28%),
    linear-gradient(150deg,rgba(27,99,151,.20),rgba(3,25,57,.79) 48%,rgba(2,15,37,.89))!important;
}
body.v552-contact .contact-brief-head{
  padding:0 0 16px!important;
  border-bottom:1px solid rgba(190,230,250,.17)!important;
}
body.v552-contact .contact-brief-title{display:flex;align-items:flex-start;gap:12px}
body.v552-contact .contact-brief-star{
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(78,218,255,.48);background:linear-gradient(145deg,rgba(54,203,255,.24),rgba(25,101,255,.23));
  color:#80efff;font-size:25px;box-shadow:0 0 22px rgba(38,177,255,.15);
}
body.v552-contact .contact-brief-head .eyebrow{
  margin:0 0 7px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
  font-size:14px!important;letter-spacing:.11em!important;color:#4ee0ff!important;
}
body.v552-contact .contact-brief-head h2{
  margin:0!important;
  color:#f7fbff!important;
  font-size:15px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  font-weight:560!important;
}
body.v552-contact .contact-brief-head p{display:none!important}
body.v552-contact .contact-brief-steps{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin:16px 0!important;
}
body.v552-contact .contact-brief-steps article{
  display:grid!important;
  grid-template-columns:44px 48px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  min-height:84px!important;
  padding:13px 14px!important;
  border:1px solid rgba(135,214,255,.21)!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,rgba(19,66,111,.38),rgba(2,25,56,.42))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
}
body.v552-contact .contact-brief-steps .step-number{
  display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:11px!important;
  border:1px solid rgba(96,219,255,.35)!important;background:linear-gradient(180deg,#2a8dff,#1263e9)!important;
  color:white!important;font-size:12px!important;font-weight:900!important;box-shadow:0 7px 16px rgba(19,93,255,.23)!important;
}
body.v552-contact .contact-brief-steps .step-icon{
  display:grid;place-items:center;width:44px;height:44px;color:#39d9ff;
}
body.v552-contact .contact-brief-steps .step-icon svg{
  width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
body.v552-contact .contact-brief-steps strong{display:block;color:#fff!important;font-size:14px!important;font-weight:760!important}
body.v552-contact .contact-brief-steps p{
  margin:4px 0 0!important;color:rgba(224,239,247,.78)!important;font-size:11px!important;line-height:1.45!important;
}
body.v552-contact .contact-commitments{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  overflow:visible!important;
  border:0!important;
  border-top:1px solid rgba(190,230,250,.17)!important;
  border-bottom:1px solid rgba(190,230,250,.17)!important;
  border-radius:0!important;
  background:transparent!important;
  padding:7px 0!important;
}
body.v552-contact .contact-commitments>div{
  display:grid!important;
  grid-template-columns:36px 135px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:54px!important;
  padding:7px 0!important;
  background:transparent!important;
  border:0!important;
}
body.v552-contact .contact-commitments>div+div{border-top:0!important}
body.v552-contact .commitment-icon{
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(150,220,255,.22);color:#d7f4ff;
}
body.v552-contact .commitment-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.v552-contact .contact-commitments strong{color:#fff!important;font-size:11.5px!important;font-weight:760!important}
body.v552-contact .contact-commitments span:last-child{color:rgba(221,238,247,.76)!important;font-size:10.5px!important;line-height:1.45!important}
body.v552-contact .contact-identity{
  display:block!important;
  margin:0!important;
  padding:14px 0 0!important;
  border:0!important;
}
body.v552-contact .contact-identity>strong{
  display:block!important;margin-bottom:9px!important;color:#42dcff!important;font-size:15px!important;letter-spacing:.02em!important;font-weight:820!important;
}
body.v552-contact .identity-links{
  display:grid!important;
  grid-template-columns:1.2fr 1fr!important;
  gap:8px 14px!important;
}
body.v552-contact .identity-links a{
  position:relative;
  color:rgba(232,244,250,.84)!important;
  text-decoration:none!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}
body.v552-contact .contact-policy-links{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 15px!important;
  margin-top:14px!important;
  padding-top:11px!important;
  border-top:1px solid rgba(190,230,250,.17)!important;
}
body.v552-contact .contact-policy-links a{color:#87ddff!important;font-size:9.5px!important;text-decoration:none!important}

body.v552-contact .site-footer{padding-top:0!important;padding-bottom:16px!important}
body.v552-contact .footer-panel{
  padding:22px 28px 14px!important;
  border-color:rgba(137,213,255,.29)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(21,72,118,.34),rgba(2,24,55,.82))!important;
  box-shadow:0 20px 60px rgba(0,9,31,.20),inset 0 1px rgba(255,255,255,.055)!important;
}
body.v552-contact .footer-grid{gap:20px!important}
body.v552-contact .footer-brand p{max-width:260px!important}
body.v552-contact .v596-footer-trust{display:none!important}
body.v552-contact .legal-row{margin-top:14px!important;padding-top:12px!important}

@media (max-width:1500px){
  body.v552-contact .site-header .shell,
  body.v552-contact .site-footer .shell,
  body.v552-contact main.inner-page.shell{width:min(100% - 34px,1390px)!important}
  body.v552-contact .contact-workspace{grid-template-columns:minmax(0,1.62fr) minmax(360px,.88fr)!important;gap:16px!important}
  body.v552-contact .contact-primary{padding:28px 28px 27px!important}
  body.v552-contact .contact-form-intro{grid-template-columns:minmax(0,1fr) 190px!important;min-height:155px!important}
  body.v552-contact .contact-form-intro h1{font-size:clamp(38px,3.25vw,52px)!important}
  body.v552-contact .contact-hero-art{width:185px!important}
  body.v552-contact .contact-brief{padding:24px 23px 20px!important}
  body.v552-contact .contact-brief-steps article{grid-template-columns:38px 40px minmax(0,1fr)!important;gap:9px!important;padding:11px 12px!important;min-height:76px!important}
  body.v552-contact .contact-brief-steps .step-number{width:38px!important;height:38px!important}
  body.v552-contact .contact-brief-steps .step-icon{width:40px!important;height:40px!important}
  body.v552-contact .contact-brief-steps .step-icon svg{width:27px!important;height:27px!important}
  body.v552-contact .contact-commitments>div{grid-template-columns:32px 112px minmax(0,1fr)!important;gap:8px!important}
}

@media (max-width:1160px){
  body.v552-contact .site-header .shell,
  body.v552-contact .site-footer .shell,
  body.v552-contact main.inner-page.shell{width:min(100% - 24px,1040px)!important}
  body.v552-contact .contact-workspace{grid-template-columns:1fr!important;gap:14px!important}
  body.v552-contact .contact-primary{padding:26px!important}
  body.v552-contact .contact-brief{min-height:0!important;padding:24px!important}
  body.v552-contact .contact-brief-steps{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  body.v552-contact .contact-brief-steps article{grid-template-columns:38px 1fr!important;grid-template-rows:auto auto!important;align-items:start!important}
  body.v552-contact .contact-brief-steps .step-icon{display:none!important}
  body.v552-contact .contact-commitments{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
  body.v552-contact .contact-commitments>div{grid-template-columns:32px 1fr!important;grid-template-rows:auto auto!important;padding:12px!important}
  body.v552-contact .contact-commitments>div+div{border-left:1px solid rgba(190,230,250,.13)!important}
  body.v552-contact .contact-commitments span:last-child{grid-column:2!important}
  body.v552-contact .identity-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:760px){
  body.v552-contact .site-header{padding-top:8px!important}
  body.v552-contact .site-header .shell,
  body.v552-contact .site-footer .shell,
  body.v552-contact main.inner-page.shell{width:min(100% - 18px,690px)!important}
  body.v552-contact main.inner-page.shell{padding-top:10px!important}
  body.v552-contact .contact-primary,
  body.v552-contact .contact-brief{padding:19px 16px!important;border-radius:22px!important}
  body.v552-contact .contact-form-intro{display:block!important;min-height:0!important;padding-bottom:15px!important;margin-bottom:15px!important}
  body.v552-contact .contact-form-intro h1{font-size:clamp(34px,10vw,44px)!important}
  body.v552-contact .contact-form-intro p{font-size:12.5px!important;line-height:1.55!important}
  body.v552-contact .contact-hero-art{display:none!important}
  body.v552-contact .contact-form h2{font-size:15px!important;margin-bottom:12px!important}
  body.v552-contact .two-columns,
  body.v552-contact .contact-compact-row{grid-template-columns:1fr!important}
  body.v552-contact .contact-form>label,
  body.v552-contact .contact-form .form-grid label{margin-bottom:8px!important}
  body.v552-contact .contact-form input,
  body.v552-contact .contact-form select{min-height:50px!important}
  body.v552-contact .contact-form textarea{min-height:104px!important}
  body.v552-contact .contact-submit-row{display:grid!important;gap:12px!important}
  body.v552-contact .contact-form .submit-button{width:100%!important;min-width:0!important}
  body.v552-contact .contact-secure-note{max-width:none!important;justify-content:center!important;text-align:center!important}
  body.v552-contact .contact-brief-title{gap:9px!important}
  body.v552-contact .contact-brief-star{width:38px;height:38px;flex-basis:38px;font-size:21px}
  body.v552-contact .contact-brief-head .eyebrow{font-size:12px!important}
  body.v552-contact .contact-brief-steps{grid-template-columns:1fr!important}
  body.v552-contact .contact-brief-steps article{grid-template-columns:38px 40px 1fr!important;grid-template-rows:auto!important}
  body.v552-contact .contact-brief-steps .step-icon{display:grid!important}
  body.v552-contact .contact-commitments{grid-template-columns:1fr!important}
  body.v552-contact .contact-commitments>div{grid-template-columns:32px 1fr!important;grid-template-rows:auto auto!important;padding:10px 0!important}
  body.v552-contact .contact-commitments>div+div{border-left:0!important;border-top:1px solid rgba(190,230,250,.12)!important}
  body.v552-contact .identity-links{grid-template-columns:1fr!important}
  body.v552-contact .footer-panel{padding:18px 16px 12px!important}
}

/* Approved mockup balance: keep company identity/policies anchored to the lower
   edge of the process rail on wide desktop, avoiding an accidental empty tail. */
@media (min-width:1161px){
  body.v552-contact .contact-identity{margin-top:auto!important}
}


/* ========================================================================== 
   V5.10.2.9 — PUBLIC WEBSITE DESIGN SYSTEM ALIGNMENT
   The approved V5.10.2.8 Contact page is the visual reference for the entire
   public website. Client Portal is intentionally excluded because it does
   not load this public-site stylesheet.
   ========================================================================== */
.v51029-public-theme{
  --public-cyan:#31d7ff;
  --public-blue:#1f73ff;
  --public-border:rgba(139,216,255,.33);
  --public-border-soft:rgba(139,216,255,.16);
  --public-glass:linear-gradient(145deg,rgba(39,118,169,.22),rgba(4,26,59,.76) 48%,rgba(3,17,42,.90));
  --public-shadow:0 26px 80px rgba(0,10,40,.28),inset 0 1px rgba(255,255,255,.075);
}
.v51029-public-theme .site-header{padding-top:10px!important}
.v51029-public-theme .site-header .shell,
.v51029-public-theme .site-footer .shell,
.v51029-public-theme main.inner-page.shell,
.v51029-public-theme .v570-main{
  width:min(100% - 52px,1720px)!important;
  margin-inline:auto!important;
}
.v51029-public-theme .header-inner{
  min-height:86px!important;
  padding-inline:18px!important;
  border:1px solid rgba(131,213,255,.28)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(76,126,165,.30),rgba(5,28,57,.78) 58%,rgba(3,17,39,.90))!important;
  box-shadow:0 20px 55px rgba(0,9,31,.23),inset 0 1px rgba(255,255,255,.07)!important;
}
.v51029-public-theme .brand-link{font-weight:820!important;letter-spacing:-.02em!important}
.v51029-public-theme .brand-mark{box-shadow:0 0 0 5px rgba(48,143,255,.10),0 0 22px rgba(42,210,255,.28)!important}
.v51029-public-theme .desktop-nav{gap:clamp(18px,2.2vw,42px)!important;font-size:.90rem!important}
.v51029-public-theme .desktop-nav>a,
.v51029-public-theme .nav-services>summary{padding:31px 0 29px!important}
.v51029-public-theme .button-header{min-width:154px!important;box-shadow:0 12px 28px rgba(18,104,255,.25),inset 0 1px rgba(255,255,255,.18)!important}
.v51029-public-theme .button-primary,
.v51029-public-theme .button-header{
  background:linear-gradient(135deg,#1167ee,#0789dd 72%,#06aeca)!important;
  border-color:rgba(85,224,255,.72)!important;
  box-shadow:0 0 0 3px rgba(21,136,255,.10),0 0 22px rgba(0,174,255,.34),inset 0 1px rgba(255,255,255,.24)!important;
}
.v51029-public-theme .inner-page{padding-top:16px!important;padding-bottom:0!important}
.v51029-public-theme .page-intro{text-align:left!important;max-width:1180px!important;margin:0 auto 18px!important;padding:10px 18px 18px!important;border-bottom:1px solid rgba(189,229,250,.14)!important}
.v51029-public-theme .page-intro h1{font-size:clamp(2.35rem,3.6vw,4.1rem)!important;letter-spacing:-.05em!important;line-height:1.02!important}
.v51029-public-theme .page-intro>p{max-width:780px!important;color:rgba(231,244,251,.78)!important;font-size:1rem!important}
.v51029-public-theme .eyebrow{display:inline-flex!important;width:max-content!important;padding:5px 11px!important;border:1px solid rgba(67,210,255,.34)!important;border-radius:999px!important;background:rgba(30,159,213,.12)!important;box-shadow:inset 0 0 18px rgba(41,208,255,.055)!important;color:#78e8ff!important;font-size:10px!important;line-height:1!important;letter-spacing:.08em!important;font-weight:850!important}
.v51029-public-theme .glass-panel,
.v51029-public-theme .service-detail-card,
.v51029-public-theme .process-panel,
.v51029-public-theme .audiences-panel,
.v51029-public-theme .differences-card,
.v51029-public-theme .v595-route-card,
.v51029-public-theme .product-card,
.v51029-public-theme .v591-tool-ecosystem,
.v51029-public-theme .v595-tool-router,
.v51029-public-theme .v595-tool-choice,
.v51029-public-theme .v594-work-framework,
.v51029-public-theme .v594-work-disclosure,
.v51029-public-theme .policy-content,
.v51029-public-theme .cta-band{
  border:1px solid var(--public-border)!important;
  background:var(--public-glass)!important;
  box-shadow:var(--public-shadow)!important;
  backdrop-filter:blur(18px) saturate(126%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(126%)!important;
}
.v51029-public-theme .service-detail-grid{gap:16px!important;margin-bottom:18px!important}
.v51029-public-theme .service-detail-card{min-height:330px!important;padding:28px 30px 25px!important;border-radius:22px!important}
.v51029-public-theme .service-detail-card:hover,
.v51029-public-theme .v595-route-card:hover,
.v51029-public-theme .product-card:hover,
.v51029-public-theme .glass-panel:hover{
  border-color:rgba(117,234,255,.58)!important;
  box-shadow:0 28px 75px rgba(0,10,40,.30),0 0 30px rgba(30,189,255,.16)!important;
}
.v51029-public-theme .service-detail-card>svg{width:66px!important;height:66px!important;margin-bottom:15px!important}
.v51029-public-theme .service-detail-card h2{letter-spacing:-.03em!important}
.v51029-public-theme .process-panel{margin-bottom:18px!important;padding:20px 24px 24px!important;border-radius:22px!important}
.v51029-public-theme .process-flow{gap:10px!important}
.v51029-public-theme .process-icon{border-color:rgba(67,210,255,.30)!important;background:rgba(30,159,213,.09)!important}
.v51029-public-theme .cta-band{border-radius:22px!important;padding:24px 28px!important}
.v51029-public-theme .cta-copy h2{letter-spacing:-.035em!important}
.v51029-public-theme .site-footer{padding-top:0!important;padding-bottom:16px!important}
.v51029-public-theme .footer-panel{
  padding:22px 24px 0!important;
  border:1px solid rgba(139,216,255,.30)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(18,73,116,.45),rgba(3,23,50,.90))!important;
  box-shadow:0 22px 65px rgba(0,8,30,.28),inset 0 1px rgba(255,255,255,.065)!important;
}
.v51029-public-theme .footer-grid{gap:20px!important;padding-bottom:19px!important}
.v51029-public-theme .footer-brand p{max-width:260px!important}
.v51029-public-theme .v596-footer-trust{display:none!important}
.v51029-public-theme .legal-row{margin-top:14px!important;padding-top:12px!important}
.v51029-public-theme .v570-hero,
.v51029-public-theme .v570-surface,
.v51029-public-theme .v570-services,
.v51029-public-theme .v572-tools,
.v51029-public-theme .v570-journey,
.v51029-public-theme .v570-final-cta,
.v51029-public-theme .v596-trust-process,
.v51029-public-theme .v596-services-tools-bridge,
.v51029-public-theme .v594-work-intro,
.v51029-public-theme .v594-work-grid,
.v51029-public-theme .v595-tool-choice-grid,
.v51029-public-theme .v595-capability-map,
.v51029-public-theme .v591-product-stack,
.v51029-public-theme .v591-tool-ecosystem,
.v51029-public-theme .v595-tool-compare{
  border-color:rgba(139,216,255,.30)!important;
}
.v51029-public-theme .v570-hero,
.v51029-public-theme .v570-surface,
.v51029-public-theme .v570-services,
.v51029-public-theme .v572-tools,
.v51029-public-theme .v570-journey,
.v51029-public-theme .v570-final-cta{
  border-radius:24px!important;
}
@media(max-width:1500px){
  .v51029-public-theme .site-header .shell,
  .v51029-public-theme .site-footer .shell,
  .v51029-public-theme main.inner-page.shell,
  .v51029-public-theme .v570-main{width:min(100% - 34px,1390px)!important}
}
@media(max-width:760px){
  .v51029-public-theme .site-header{padding-top:8px!important}
  .v51029-public-theme .site-header .shell,
  .v51029-public-theme .site-footer .shell,
  .v51029-public-theme main.inner-page.shell,
  .v51029-public-theme .v570-main{width:min(100% - 18px,690px)!important}
  .v51029-public-theme .header-inner{min-height:70px!important;padding-inline:12px!important;border-radius:20px!important}
  .v51029-public-theme .brand-link{font-size:1.05rem!important;gap:9px!important}
  .v51029-public-theme .brand-mark{width:48px!important;height:48px!important;flex-basis:48px!important}
  .v51029-public-theme .brand-mark img{width:44px!important;height:38px!important}
  .v51029-public-theme .page-intro{padding:8px 8px 15px!important}
  .v51029-public-theme .page-intro h1{font-size:clamp(2rem,9vw,3rem)!important}
  .v51029-public-theme .service-detail-grid{gap:12px!important}
  .v51029-public-theme .service-detail-card{min-height:0!important;padding:22px 20px!important}
  .v51029-public-theme .footer-panel{padding:18px 16px 12px!important;border-radius:22px!important}
}

/* ========================================================================== 
   V5.10.2.10 — DESKTOP LAYOUT / SPACING / CARD AUDIT
   Production follow-up to V5.10.2.9. Public website only; Client Portal is
   intentionally untouched. Tuned for 1920x1080 laptop/desktop QA while
   preserving the approved Contact-page visual language.
   ========================================================================== */
@media (min-width:1100px){
  /* Shared desktop rhythm */
  .v51029-public-theme{--audit-section-gap:14px;--audit-card-gap:14px}
  .v51029-public-theme .inner-page{padding-top:12px!important}
  .v51029-public-theme .page-intro{max-width:1260px!important;margin-bottom:14px!important;padding:8px 14px 14px!important}
  .v51029-public-theme .page-intro h1{margin-bottom:7px!important;font-size:clamp(2.3rem,3.15vw,3.72rem)!important}
  .v51029-public-theme .page-intro>p{max-width:850px!important;line-height:1.52!important}
  .v51029-public-theme p{line-height:1.55}

  /* Cards: premium, balanced and less vertically wasteful */
  .v51029-public-theme .service-detail-grid{gap:var(--audit-card-gap)!important;margin-bottom:var(--audit-section-gap)!important;max-width:1480px!important}
  .v51029-public-theme .service-detail-card{min-height:292px!important;padding:23px 25px 21px!important;text-align:left!important;align-items:flex-start!important}
  .v51029-public-theme .service-detail-card>svg{width:58px!important;height:58px!important;margin-bottom:12px!important}
  .v51029-public-theme .service-detail-card h2{margin-bottom:9px!important;line-height:1.15!important}
  .v51029-public-theme .service-detail-card p{margin-bottom:16px!important;line-height:1.52!important}
  .v51029-public-theme .service-detail-card .button{margin-top:auto!important}
  .v51029-public-theme .process-panel{margin-bottom:var(--audit-section-gap)!important;padding:17px 21px 20px!important}
  .v51029-public-theme .process-panel>h2{margin-bottom:12px!important}
  .v51029-public-theme .process-flow{gap:8px!important}
  .v51029-public-theme .process-flow li{gap:9px!important;padding-right:20px!important}
  .v51029-public-theme .process-icon{width:48px!important;height:48px!important;flex-basis:48px!important}
  .v51029-public-theme .process-icon svg{width:26px!important;height:26px!important}
  .v51029-public-theme .audiences-panel{margin-bottom:var(--audit-section-gap)!important;padding:15px 21px 17px!important}
  .v51029-public-theme .audiences-panel>h2{margin-bottom:10px!important}
  .v51029-public-theme .audience-grid article{padding:6px 16px!important}
  .v51029-public-theme .differences-card{padding:17px 20px!important}
  .v51029-public-theme .differences-card h2{margin-bottom:9px!important}
  .v51029-public-theme .differences-card ul{gap:7px!important}
  .v51029-public-theme .cta-band{margin-bottom:var(--audit-section-gap)!important;padding:20px 24px!important;gap:20px!important}

  /* Homepage: preserve composition, remove cumulative dead space */
  body.v51029-public-theme.v552-home .v570-main{gap:12px!important;padding-top:10px!important;padding-bottom:12px!important}
  body.v51029-public-theme.v552-home .v570-hero{padding:30px 34px 22px!important;min-height:0!important}
  body.v51029-public-theme.v552-home .v570-services{padding:27px 30px 19px!important}
  body.v51029-public-theme.v552-home .v570-section-intro{margin-bottom:15px!important}
  body.v51029-public-theme.v552-home .v570-service-cell{padding:20px 21px!important}
  body.v51029-public-theme.v552-home .v570-service-copy p{margin-bottom:11px!important}
  body.v51029-public-theme.v552-home .v570-journey{padding:27px 30px 19px!important}
  body.v51029-public-theme.v552-home .v570-journey-head{margin-bottom:17px!important}
  body.v51029-public-theme.v552-home .v570-workflow article{min-height:142px!important;padding:19px 19px!important}
  body.v51029-public-theme.v552-home .v570-workflow article>span{margin-bottom:10px!important}
  body.v51029-public-theme.v552-home .v570-final-cta{padding:22px 27px!important}

  /* About / Work: align panels and remove isolated whitespace */
  .v51029-public-theme .about-top{gap:14px!important;margin-bottom:14px!important}
  .v51029-public-theme .about-copy{padding:4px 6px!important}
  .v51029-public-theme .about-copy p{margin-bottom:8px!important}
  body.v51029-public-theme .v596-trust-process,
  body.v51029-public-theme .v596-services-tools-bridge,
  body.v51029-public-theme .v594-work-intro,
  body.v51029-public-theme .v594-work-grid,
  body.v51029-public-theme .v594-work-framework,
  body.v51029-public-theme .v594-work-disclosure{margin-bottom:var(--audit-section-gap)!important}

  /* Services hub and tool routing */
  .v51029-public-theme .v595-tool-choice-grid,
  .v51029-public-theme .v595-capability-map,
  .v51029-public-theme .v595-tool-compare,
  .v51029-public-theme .v591-product-stack,
  .v51029-public-theme .v591-tool-ecosystem,
  .v51029-public-theme .v595-tool-router{margin-bottom:var(--audit-section-gap)!important}
  .v51029-public-theme .v595-route-card,
  .v51029-public-theme .v595-tool-choice{padding:20px 22px!important}
  .v51029-public-theme .product-stack{gap:14px!important;margin-bottom:14px!important}
  .v51029-public-theme .product-main{grid-template-columns:88px minmax(0,1fr)!important;gap:19px!important;padding:20px 27px!important}
  .v51029-public-theme .product-main>svg{width:78px!important;height:78px!important}
  .v51029-public-theme .product-main p{margin-bottom:10px!important;line-height:1.52!important}
  .v51029-public-theme .feature-list{gap:7px!important;margin:12px 0!important;padding:13px 27px!important}

  /* Legal pages: retain readable legal separation without oversized gaps */
  .v51029-public-theme .policy-page{max-width:1240px!important;padding-bottom:14px!important}
  .v51029-public-theme .policy-tabs{margin-bottom:12px!important}
  .v51029-public-theme .policy-content{padding:28px 34px!important}
  .v51029-public-theme .policy-content section+section{margin-top:20px!important;padding-top:18px!important}
  .v51029-public-theme .policy-content h2{margin-bottom:6px!important}
  .v51029-public-theme .policy-content p,
  .v51029-public-theme .policy-content li{line-height:1.55!important}

  /* Footer: consistent visual landing across every public page */
  .v51029-public-theme .site-footer{padding-top:0!important;padding-bottom:12px!important}
  .v51029-public-theme .footer-panel{padding:19px 22px 0!important}
  .v51029-public-theme .footer-grid{gap:0!important;padding-bottom:15px!important}
  .v51029-public-theme .footer-grid>*{padding-inline:20px!important}
  .v51029-public-theme .footer-brand>p{margin:10px 0 12px!important;line-height:1.48!important}
  .v51029-public-theme .footer-column{gap:6px!important}
  .v51029-public-theme .footer-column h2{margin-bottom:4px!important}
  .v51029-public-theme .legal-row{min-height:46px!important;margin-top:10px!important;padding-top:9px!important}
}

/* ========================================================================== 
   V5.10.2.11 — SERVICE DETAIL DESKTOP RHYTHM CORRECTION
   Corrects the actual shared service-detail template missed by V5.10.2.10.
   Public service pages only. Client Portal and Contact composition untouched.
   ========================================================================== */
@media (min-width:1100px){
  body.v51029-public-theme.v552-service-detail .inner-page.service-page{
    padding-top:10px!important;
    padding-bottom:0!important;
  }

  /* Hero: retain presence, remove excessive vertical bulk. */
  body.v51029-public-theme.v552-service-detail .service-hero{
    grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr)!important;
    gap:30px!important;
    margin-bottom:12px!important;
    padding:30px 36px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-hero-icon{
    width:72px!important;height:72px!important;margin-bottom:14px!important;border-radius:21px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-hero-icon svg{width:42px!important;height:42px!important}
  body.v51029-public-theme.v552-service-detail .service-hero h1{
    margin-bottom:11px!important;
    font-size:clamp(2.7rem,3.65vw,4.25rem)!important;
    line-height:1!important;
  }
  body.v51029-public-theme.v552-service-detail .service-hero-copy>p:not(.eyebrow){
    max-width:780px!important;margin-bottom:15px!important;font-size:1.02rem!important;line-height:1.52!important;
  }
  body.v51029-public-theme.v552-service-detail .service-facts{gap:8px!important}
  body.v51029-public-theme.v552-service-detail .service-facts article{padding:13px 15px!important;border-radius:14px!important}
  body.v51029-public-theme.v552-service-detail .service-facts span{margin-bottom:3px!important}
  body.v51029-public-theme.v552-service-detail .service-facts p{font-size:.90rem!important;line-height:1.4!important}

  /* Navigation/value rail: compact connective controls, not full sections. */
  body.v51029-public-theme.v552-service-detail .service-switcher{
    gap:5px!important;margin-bottom:10px!important;padding:6px!important;border-radius:15px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-switcher a{
    min-height:40px!important;padding:6px 8px!important;font-size:.72rem!important;
  }
  body.v51029-public-theme.v552-service-detail .v594-service-value-rail{
    margin-bottom:12px!important;border-radius:18px!important;
  }
  body.v51029-public-theme.v552-service-detail .v594-service-value-rail article{
    min-height:88px!important;grid-template-columns:32px minmax(0,1fr)!important;gap:10px!important;padding:13px 15px!important;
  }
  body.v51029-public-theme.v552-service-detail .v594-service-value-rail article>span{width:30px!important;height:30px!important}
  body.v51029-public-theme.v552-service-detail .v594-service-value-rail strong{margin-bottom:3px!important}

  /* Shared section system. */
  body.v51029-public-theme.v552-service-detail .service-page>.service-section,
  body.v51029-public-theme.v552-service-detail .service-page>.service-visual-stage,
  body.v51029-public-theme.v552-service-detail .service-page>.service-copy-grid,
  body.v51029-public-theme.v552-service-detail .service-page>.service-process-panel,
  body.v51029-public-theme.v552-service-detail .service-page>.service-expectations{
    margin-bottom:12px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-section{
    padding:18px 20px!important;
    border-radius:22px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-section-heading{
    max-width:900px!important;margin-bottom:12px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-section-heading h2{
    margin-bottom:5px!important;font-size:clamp(1.55rem,2.25vw,2.45rem)!important;
  }
  body.v51029-public-theme.v552-service-detail .service-section-heading>p:not(.eyebrow){line-height:1.5!important}

  /* Problem cards. */
  body.v51029-public-theme.v552-service-detail .service-problem-grid{gap:1px!important;padding:6px!important;border-radius:20px!important}
  body.v51029-public-theme.v552-service-detail .service-problem-grid article{
    min-height:176px!important;padding:19px 20px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-problem-grid article>span{
    margin-bottom:13px!important;font-size:1.35rem!important;
  }
  body.v51029-public-theme.v552-service-detail .service-problem-grid h3{margin-bottom:6px!important}
  body.v51029-public-theme.v552-service-detail .service-problem-grid p{line-height:1.48!important}

  /* Workflow visual: keep the signature visual but reduce dead height. */
  body.v51029-public-theme.v552-service-detail .service-visual-stage{
    gap:12px!important;margin-top:0!important;
  }
  body.v51029-public-theme.v552-service-detail .service-visual-frame,
  body.v51029-public-theme.v552-service-detail .service-visual-caption{min-height:270px!important;border-radius:20px!important}
  body.v51029-public-theme.v552-service-detail .service-visual-caption{padding:24px!important}
  body.v51029-public-theme.v552-service-detail .workflow-node{min-width:118px!important;padding:11px 13px!important;border-radius:14px!important}
  body.v51029-public-theme.v552-service-detail .workflow-core{width:92px!important;height:92px!important}

  /* Deliverables + outcomes. */
  body.v51029-public-theme.v552-service-detail .service-copy-grid{
    gap:1px!important;padding:6px!important;border-radius:21px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-deliverables,
  body.v51029-public-theme.v552-service-detail .service-outcomes{padding:22px 24px!important}
  body.v51029-public-theme.v552-service-detail .service-deliverables h2,
  body.v51029-public-theme.v552-service-detail .service-outcomes h2{margin-bottom:7px!important;font-size:clamp(1.45rem,2vw,2.1rem)!important}
  body.v51029-public-theme.v552-service-detail .service-check-list{gap:7px!important;margin-top:14px!important}
  body.v51029-public-theme.v552-service-detail .service-check-list li{padding:8px 10px!important;gap:8px!important}
  body.v51029-public-theme.v552-service-detail .service-check-list li>span{width:23px!important;height:23px!important}
  body.v51029-public-theme.v552-service-detail .service-check-list p{font-size:.87rem!important;line-height:1.42!important}
  body.v51029-public-theme.v552-service-detail .service-note{margin-top:12px!important;padding:11px 13px!important}
  body.v51029-public-theme.v552-service-detail .service-outcomes{margin-top:0!important;margin-bottom:0!important}

  /* Process + expectations. */
  body.v51029-public-theme.v552-service-detail .service-process-panel,
  body.v51029-public-theme.v552-service-detail .service-expectations{padding:20px 22px!important;border-radius:22px!important}
  body.v51029-public-theme.v552-service-detail .service-process-panel ol{gap:9px!important;margin-top:14px!important}
  body.v51029-public-theme.v552-service-detail .service-process-panel li{
    min-height:164px!important;padding:17px 18px!important;border-radius:14px!important;
  }
  body.v51029-public-theme.v552-service-detail .service-process-panel li>span{margin-bottom:18px!important;font-size:1.2rem!important}
  body.v51029-public-theme.v552-service-detail .service-process-panel h3{margin-bottom:5px!important}
  body.v51029-public-theme.v552-service-detail .service-process-panel p{line-height:1.45!important}
  body.v51029-public-theme.v552-service-detail .service-expectation-grid{gap:9px!important;margin-top:14px!important}
  body.v51029-public-theme.v552-service-detail .service-expectation-grid article{padding:17px 18px!important;border-radius:13px!important}
  body.v51029-public-theme.v552-service-detail .service-expectation-grid h3{margin-bottom:5px!important}
  body.v51029-public-theme.v552-service-detail .service-policy-links{gap:6px!important;margin-top:12px!important}
  body.v51029-public-theme.v552-service-detail .service-policy-links a{padding:6px 10px!important}

  /* FAQ + related services. */
  body.v51029-public-theme.v552-service-detail .service-faq-grid{gap:8px!important}
  body.v51029-public-theme.v552-service-detail .service-faq-grid details{padding-inline:17px!important}
  body.v51029-public-theme.v552-service-detail .service-faq-grid summary{min-height:60px!important}
  body.v51029-public-theme.v552-service-detail .service-faq-grid details>p{margin-bottom:15px!important;padding-top:11px!important}
  body.v51029-public-theme.v552-service-detail .related-service-grid{gap:9px!important}
  body.v51029-public-theme.v552-service-detail .related-service-grid>a{
    min-height:170px!important;grid-template-columns:54px minmax(0,1fr)!important;gap:14px!important;padding:19px!important;
  }

  /* Final action lands cleanly into footer. */
  body.v51029-public-theme.v552-service-detail .service-page-cta{
    margin-bottom:12px!important;padding:19px 22px!important;
  }
}
