/* Static glossy surfaces. No floating spheres or bubble animation loops. */
:root {
  --gloss-pearl: radial-gradient(circle at 28% 20%,#fff 0%,#eaf5ff 24%,#b9d2e6 58%,#6b91ae 90%);
  --gloss-amber: radial-gradient(circle at 28% 20%,#fff5dc 0%,#ffd0a6 25%,#ff9c60 58%,#cb541e 90%);
}
.header { background: linear-gradient(180deg,#fff 0%,#f9fcff 55%,#edf3f8 100%); border-bottom-color: #cfdce7; box-shadow: inset 0 1px 0 #fff,0 5px 22px #0d213d06; }
.header.scrolled { box-shadow: inset 0 1px 0 #fff,0 8px 26px #0d213d12; }
.header nav>a:not(.button),.nav-services>a { border-radius: 999px; }
.header nav>a:not(.button)::before,.nav-services>a::before { content: ''; position: absolute; inset: 3px -10px; border-radius: inherit; background: linear-gradient(180deg,#fff,#e8f0f7); border: 1px solid #cbdce780; box-shadow: inset 0 1px 1px #fff,0 3px 8px #173d5710; opacity: 0; pointer-events: none; z-index: -1; transition: opacity .25s; }
.header nav>a:not(.button),.nav-services>a { isolation: isolate; }
.header nav>a:not(.button):is(:hover,:focus-visible,[aria-current=page])::before,.nav-services>a:is(:hover,:focus-visible,[aria-current=page])::before { opacity: 1; }
.service-menu { background: linear-gradient(145deg,#fff,#f4f8fc); border-bottom: 1px solid #cbdbe8; box-shadow: inset 0 1px 0 #fff,0 24px 40px #0d213d18; }
.menu-service-grid>a { border: 1px solid transparent; border-radius: 14px; transition: background .25s,border-color .25s,box-shadow .25s; }
.menu-service-grid>a:is(:hover,:focus-visible) { background: linear-gradient(165deg,#fff,#eaf1f7); border-color: #d1dfe9; box-shadow: inset 0 1px 0 #fff,0 5px 10px #0d213d0a; }
.menu-number { width: 28px; height: 28px; flex-shrink: 0; display: grid; place-items: center; padding: 0; border-radius: 50%; color: #0d213d; background: var(--gloss-pearl); box-shadow: inset 0 1px 2px #fff, inset -2px -3px 4px #405e7a25,0 2px 3px #0d213d20; }

/* A curved highlight creates a glossy, inflated appearance on the controls. */
.button,.connected-actions .button { border-radius: 999px; border: 1px solid #f5aa736e; background: linear-gradient(180deg,#ffd0a5 0%,#ffac72 12%,#ff904d 46%,#fa702a 49%,#f4510b 100%); box-shadow: inset 0 2px 2px #ffe4c9,inset 0 -3px 5px #b23a2029,0 3px 0 #a63b182b,0 8px 18px #ec692521; color: #0d213d; }
.button:hover,.connected-actions .button:hover { background: linear-gradient(180deg,#ffdec0 0%,#ffbb88 12%,#ffa05b 46%,#ff823d 49%,#f96319 100%); box-shadow: inset 0 2px 2px #fff0df,inset 0 -3px 5px #b23a2024,0 3px 0 #a63b182b,0 10px 24px #ec69252b; }
.button:active,.connected-actions .button:active { box-shadow: inset 0 2px 5px #a73c153d,0 2px 7px #ec692526; }
.button.dark,.cta .button { background: linear-gradient(180deg,#526e87 0%,#29435d 12%,#213b55 46%,#112b46 49%,#0d213d 100%); border-color: #738fa770; color: #fff; box-shadow: inset 0 1px 1px #d7e9f880,inset 0 -2px 4px #020c1c50,0 4px 12px #0d213d24; }
.button.dark:hover,.cta .button:hover { background: linear-gradient(180deg,#638098,#35526e 12%,#294a68 46%,#1a3754 49%,#132c48); }
.button.outline { border-color: #87a3bb7a; color: #fff; background: linear-gradient(180deg,#b8d7f127,#82a4c212 45%,#061a2e2b 49%,#c2d9ed08); box-shadow: inset 0 1px 1px #d7e9f842,0 5px 12px #0718271a; }
.button.outline:hover { background: linear-gradient(180deg,#c9e2f63b,#87b2d324 45%,#1839552e 49%,#c2d9ed12); }
.button .button-dot,.connected-actions .button>span { width: 28px; height: 28px; display: grid; place-items: center; flex-shrink: 0; border-radius: 50%; color: #0d213d; background: var(--gloss-amber); box-shadow: inset 0 1px 2px #fff8,inset -2px -3px 4px #8b391c36,0 2px 3px #3a1e192b; font-size: 17px; }
.button .button-dot::after { inset: auto; line-height: 1; font-size: 17px; }
.button.dark .button-dot,.button.outline .button-dot { background: var(--gloss-pearl); }

/* Reflective cards retain their existing 3D interaction; the finish itself is static. */
.service-card { border-radius: 22px; border: 1px solid #cddce9; background: radial-gradient(ellipse at 4% 0%,#fff 0%,transparent 60%),linear-gradient(160deg,#fff 0%,#f5f9fd 42%,#eaf2f9 100%); box-shadow: inset 0 2px 1px #fff,inset 0 -3px 6px #7ea0bc10,0 4px 0 #d4e0eb80,0 12px 28px #173c5a0c; }
.service-card::before { background: linear-gradient(128deg,transparent 34%,#ffffffb3 35%,#ffffff24 47%,transparent 48%),radial-gradient(320px circle at var(--card-x,20%) var(--card-y,0%),#fff9,transparent 65%); }
.service-card::after { content: ''; position: absolute; pointer-events: none; top: -40px; right: -35px; width: 108px; height: 108px; border-radius: 50%; border: 1px solid #d4e8f5b3; background: radial-gradient(ellipse at 28% 20%,#fff 0%,#ffffffa6 15%,transparent 31%),radial-gradient(ellipse at 40% 35%,#f3f9ffa1,#b3cee477 61%,#587c9d66); box-shadow: inset 3px 3px 5px #fff9,inset -5px -7px 10px #41648130; opacity: .8; }
.service-card:nth-child(2n)::after { background: radial-gradient(ellipse at 28% 20%,#fff 0%,#fff0dba6 15%,transparent 31%),radial-gradient(ellipse at 40% 35%,#ffe6cca1,#ffb67a77 61%,#d2764966); border-color: #ffe2cbb3; }
.service-card .card-number { z-index: 1; }
.service-card:is(:hover,:focus-visible) { background: linear-gradient(155deg,#456078 0%,#27445e 15%,#1b3650 43%,#132b44 45%,#0c2037 100%); border-color: #7894ad; box-shadow: inset 0 2px 1px #d5e8f56b,inset 0 -3px 6px #0003,0 4px 0 #081827,0 19px 35px #173c5a24; }
.service-card:is(:hover,:focus-visible)::before { background: linear-gradient(128deg,transparent 34%,#ffffff14 35%,#ffffff03 47%,transparent 48%),radial-gradient(320px circle at var(--card-x,20%) var(--card-y,0%),#c7e1f514,transparent 65%); }
.service-card .service-icon { border-radius: 17px; background: linear-gradient(145deg,#fff,#eef6fd 42%,#ccdfed); box-shadow: inset 0 2px 1px #fff,inset 0 -2px 4px #6e91b229,3px 4px 0 #c8d9e6,0 8px 13px #15334b0e; }
.service-card .card-link span { border-color: #c4d5e2; background: var(--gloss-pearl); box-shadow: inset 0 1px 2px #fff,0 2px 4px #21445b1a; }
.service-card:is(:hover,:focus-visible) .card-link span { background: var(--gloss-amber); border-color: #ffc396; }

/* Glass panels and raised options across the remaining pages. */
.expertise-tabs { gap: 7px; padding-block: 10px; }
.expertise-tabs button { margin-top: 0; border: 1px solid #6787a033; border-radius: 14px; background: linear-gradient(180deg,#b0cfe51a 0%,#ffffff05 42%,#00000012 46%,#91b0ca08 100%); box-shadow: inset 0 1px 1px #e5f4ff20; }
.expertise-tabs button:hover { background: linear-gradient(180deg,#b0cfe52b,#ffffff0a 42%,#00000012 46%,#91b0ca12); }
.expertise-tabs button[aria-selected=true] { border-color: #ffac7570; background: linear-gradient(180deg,#ffce9e29,#ffac7517 42%,#d3541412 46%,#ffac750d); box-shadow: inset 0 2px 0 #ffc2968c,0 5px 12px #0002; }
.industry-tabs { gap: 6px; }
.industry-tabs button { border: 1px solid #cadce9; border-radius: 16px 16px 0 0; background: linear-gradient(180deg,#fff,#f2f7fc 47%,#e9f0f7 49%,#f3f7fb); box-shadow: inset 0 2px 1px #fff; }
.industry-tabs button[aria-selected=true] { border-color: #6d8ba5; background: linear-gradient(180deg,#536f87,#2c4862 15%,#203c56 46%,#163049 49%,#0d213d); box-shadow: inset 0 2px 0 #ffa66d; }
.industry-panel,.form-card,.deliverables { border-radius: 20px; border: 1px solid #ccdae6; background: radial-gradient(ellipse at 4% 0%,#fff,transparent 64%),linear-gradient(145deg,#f8fcff,#edf3f9); box-shadow: inset 0 2px 1px #fff,inset 0 -3px 8px #718fa20d,0 6px 0 -3px #d0dde8,0 16px 34px #16324a0a; }
.industry-panel { border-radius: 0 0 20px 20px; }
.field input,.field select,.field textarea { border-radius: 11px; background: linear-gradient(180deg,#f5f9fd,#fff 35%); border-color: #c3d3e0; box-shadow: inset 0 2px 3px #0d213d07,0 1px 0 #fff; }
.signal-caption { border-radius: 18px; border: 1px solid #7295b04d; border-left: 2px solid #f9843f; background: linear-gradient(145deg,#c3def322,#ffffff08 38%,#0000000d 41%,#a0c3de0c); box-shadow: inset 0 1px 1px #e0f1ff40,0 10px 25px #0002; }
.cta { border-radius: 25px; background: radial-gradient(ellipse at 14% -20%,#ffe6c6b3,transparent 66%),linear-gradient(125deg,#ffad70,#fa7f38 46%,#f4510b); box-shadow: inset 0 2px 2px #ffe2c2,inset 0 -4px 7px #bd441f24,0 6px 0 -2px #bd441f,0 20px 42px #f4510b21; }
@media(max-width:940px) { .expertise-tabs { gap: 5px; }.expertise-tabs button { padding-inline: 10px; }.industry-tabs { gap: 4px; } }
@media(max-width:740px) {
  .header nav>a:not(.button)::before,.nav-services>a::before { inset: 4px -8px; }
  .header nav>a:not(.button),.nav-services>a { border-radius: 12px; }
  .expertise-tabs { gap: 7px; }.expertise-tabs button { padding-inline: 13px; }
  .industry-tabs { border-bottom: 0; }.industry-tabs button { border-radius: 12px; }.industry-panel { border-radius: 16px; margin-top: 8px; }
}
@media(max-width:540px) { .service-card { border-radius: 20px; }.service-card::after { width: 92px; height: 92px; top: -35px; right: -30px; }.button .button-dot,.connected-actions .button>span { width: 25px; height: 25px; } }
@media(prefers-reduced-motion:reduce) { .header nav a::before,.menu-service-grid>a { transition: none; } }
@media print { .service-card::after { display: none; } }

/* A cleaner, more spacious finish for the connected homepage. */
.home-page .header { background: #ffffffed; backdrop-filter: blur(16px); box-shadow: 0 8px 30px #0d213d0a; }
.home-page .connected-hero {
  background:
    radial-gradient(ellipse at 76% 42%,#20496a 0,transparent 42%),
    radial-gradient(ellipse at 16% 0,#18334e 0,transparent 38%),
    linear-gradient(120deg,#071626 0%,#0a1c30 58%,#0c2338 100%);
}
.home-page .connected-hero::after {
  background:
    linear-gradient(#8db0ce08 1px,transparent 1px),
    linear-gradient(90deg,#8db0ce08 1px,transparent 1px),
    radial-gradient(600px circle at var(--light-x,72%) var(--light-y,40%),#82b8e20c,transparent 65%);
  background-size: 56px 56px,56px 56px,auto;
  mask-image: linear-gradient(90deg,transparent 10%,#000 78%);
}
.home-page .connected-meta { padding-block: 21px; }
.home-page .connected-grid { padding-block: 46px 54px; }
.home-page .connected-copy h1 { line-height: 1.02; }
.home-page .connected-copy>p { max-width: 470px; }
.home-page .connected-actions .button { border-radius: 999px; box-shadow: 0 9px 26px #f4510b35; }
.home-page .connected-actions .button:hover { box-shadow: 0 13px 30px #f4510b45; }
.home-page .signal-map {
  border: 1px solid #a9c5df1c;
  border-radius: 28px;
  background: radial-gradient(ellipse at 50% 44%,#183b5940,transparent 70%);
}
.home-page .signal-node { border-radius: 10px; }
.home-page .signal-caption {
  max-width: none;
  margin-top: 16px;
  padding: 19px 22px;
  border: 1px solid #a9c5df24;
  border-left: 3px solid #ff8745;
  border-radius: 16px;
  background: linear-gradient(135deg,#ffffff0d,#ffffff04);
  box-shadow: 0 18px 42px #00000018,inset 0 1px 0 #ffffff0c;
}
.home-page .signal-caption p { min-height: 0; }
.home-page .expertise-dock { border-top-color: #ffffff1c; }
.home-page .expertise-tabs button {
  margin: 10px 5px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 12px 13px;
}
.home-page .expertise-tabs button[aria-selected=true] {
  border-color: #ffac7540;
  border-top-color: #ff8745;
  background: linear-gradient(145deg,#ffffff10,#ffffff04);
  box-shadow: inset 0 1px 0 #ffffff12;
}
.home-page .connection-strip { background: #f5f7fa; }
.home-page .connection-strip p { gap: clamp(12px,2.5vw,35px); }
.home-page #services { padding-block: 96px 108px; }
.home-page .service-grid { gap: 18px; border: 0; }
.home-page .service-card {
  min-height: 290px;
  padding: 29px 27px 25px;
  border: 1px solid #dce5ed;
  border-radius: 20px;
  background: linear-gradient(145deg,#fff,#f7f9fc);
  box-shadow: 0 8px 24px #10244008;
  transition: transform .25s,border-color .25s,box-shadow .25s,background .25s;
}
.home-page .service-card:is(:hover,:focus-visible) {
  transform: translateY(-6px);
  border-color: #9eb4c8;
  background: linear-gradient(145deg,#344f68,#142b43);
  color: #fff;
  box-shadow: 0 20px 38px #10244018;
}
.home-page .service-card:is(:hover,:focus-visible) p { color: #c4d2df; }
.home-page .service-card:is(:hover,:focus-visible) .card-number { color: #d8e3ed; }
.home-page .service-card:is(:hover,:focus-visible) .service-icon {
  border-color: #708aa1;
  background: linear-gradient(145deg,#456078,#203a53);
  color: #ffd0ad;
  box-shadow: inset 0 1px 0 #ffffff24,0 4px 10px #0002;
}
.home-page .service-card .service-icon {
  width: 48px;
  height: 48px;
  border: 1px solid #f2d7c7;
  border-radius: 15px;
  background: linear-gradient(145deg,#fff7f0,#ffe7d8);
  color: #bb4a1b;
}
.home-page .service-card:nth-child(3n + 2) .service-icon {
  border-color: #d5e2ef;
  background: linear-gradient(145deg,#f5faff,#e4effa);
  color: #315a7b;
}
.home-page .service-card .card-top { margin-bottom: 26px; }
.home-page .service-card .card-link { margin-top: 19px; }
.home-page .service-card .card-link span { border-radius: 50%; }
.home-page .approach-section {
  width: min(1400px,calc(100% - 64px));
  margin-inline: auto;
  border: 1px solid #ffffff14;
  border-radius: 30px;
  background: radial-gradient(ellipse at 100% 0,#1a3d59,#0b2035 60%);
}
.home-page .industry-section { padding-top: 104px; }
.home-page .industry-panel { padding: 35px 38px; }
.home-page .industry-tabs button { border-radius: 12px 12px 0 0; }
.home-page .cta {
  border-radius: 26px;
  box-shadow: 0 16px 40px #f4510b1c;
}
.home-page .cta .button { border-radius: 999px; }

@media(max-width:940px) {
  .home-page .connected-grid { padding-block: 38px 44px; }
  .home-page #services { padding-block: 75px; }
  .home-page .service-grid { gap: 12px; }
  .home-page .service-card { padding: 24px 21px; }
}
@media(max-width:740px) {
  .home-page .connected-grid { padding-block: 36px 38px; }
  .home-page .connected-visual { max-width: 580px; }
  .home-page .expertise-tabs button { margin: 5px; border-left: 1px solid transparent; }
  .home-page .expertise-tabs button[aria-selected=true] { border-left-color: #ffac7540; }
  .home-page .service-grid { gap: 14px; }
  .home-page .service-card { min-height: 270px; padding: 22px; }
  .home-page .approach-section { width: calc(100% - 32px); border-radius: 24px; }
}
@media(max-width:540px) {
  .home-page .connected-meta { padding-block: 17px; }
  .home-page .connected-grid { padding-block: 30px 32px; }
  .home-page .signal-map { border-radius: 20px; }
  .home-page .signal-caption { padding: 16px; }
  .home-page #services { padding-block: 62px; }
  .home-page .service-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-page .service-card { min-height: 0; padding: 23px; }
  .home-page .industry-section { padding-top: 68px; }
  .home-page .industry-panel { padding: 24px; }
}