/* FOCUX Tech 3.1 — shared visual language for every WordPress template. */
:root {
  --fx-v3-ink:#f7fbff;
  --fx-v3-muted:#96abc0;
  --fx-v3-line:rgba(185,219,255,.16);
  --fx-v3-navy:#03070c;
  --fx-v3-blue:#168bff;
  --fx-v3-cyan:#57e5ff;
  --fx-v3-lime:#c8ff32;
}

body.focux-site {
  --fx-ink:var(--fx-v3-navy);
  --fx-panel:#07101c;
  --fx-panel-2:#0c1929;
  --fx-line:var(--fx-v3-line);
  --fx-text:var(--fx-v3-ink);
  --fx-muted:var(--fx-v3-muted);
  --fx-blue:var(--fx-v3-blue);
  --fx-cyan:var(--fx-v3-cyan);
  background:var(--fx-v3-navy);
  color:var(--fx-v3-ink);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}

body.focux-site::before {
  background:radial-gradient(circle at 88% 4%,rgba(16,112,185,.24),transparent 30rem),radial-gradient(circle at 8% 58%,rgba(17,45,91,.17),transparent 34rem),var(--fx-v3-navy);
}

body.focux-site:not(.home) .fx-header {
  position:sticky;
  top:0;
  z-index:100;
  padding:14px clamp(20px,4vw,68px);
  border:0;
  background:rgba(3,7,12,.88);
  backdrop-filter:blur(18px);
}
body.focux-site:not(.home).admin-bar .fx-header { top:32px; }
body.focux-site:not(.home) .fx-wrap.fx-nav {
  width:min(1240px,100%);
  min-height:66px;
  padding:8px 10px 8px 18px;
  border:1px solid var(--fx-v3-line);
  border-radius:999px;
  background:rgba(8,17,29,.74);
  box-shadow:0 20px 70px rgba(0,0,0,.2);
}
body.focux-site:not(.home) .fx-logo .custom-logo { max-width:142px; max-height:47px; }
body.focux-site:not(.home) .fx-menu { gap:clamp(18px,2.4vw,34px); }
body.focux-site:not(.home) .fx-menu a { color:#adc0d4; font-size:13px; font-weight:600; }
body.focux-site:not(.home) .fx-menu a:hover,
body.focux-site:not(.home) .fx-menu a:focus-visible,
body.focux-site:not(.home) .fx-menu-item.is-current>.fx-menu-link-row>a,
body.focux-site:not(.home) .fx-menu a[aria-current=page] { color:#fff; }

body.focux-site:not(.home) .fx-nav-actions .fx-button,
body.focux-site:not(.home) .fx-button,
body.focux-site:not(.home) .wp-block-button__link {
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:var(--fx-v3-lime);
  box-shadow:none;
  color:#07110a;
  font-size:14px;
  font-weight:750;
}
body.focux-site:not(.home) .fx-button:hover,
body.focux-site:not(.home) .fx-button:focus-visible,
body.focux-site:not(.home) .wp-block-button__link:hover,
body.focux-site:not(.home) .wp-block-button__link:focus-visible {
  background:#d5ff5d;
  box-shadow:0 12px 34px rgba(200,255,50,.13);
  color:#07110a;
  transform:translateY(-2px);
}
body.focux-site:not(.home) .fx-button--ghost { border:1px solid var(--fx-v3-line); background:rgba(255,255,255,.045); color:#d7e4f0; }

body.focux-site:not(.home) main { overflow:hidden; background:var(--fx-v3-navy); }
body.focux-site:not(.home) .fx-wrap { width:min(1240px,calc(100% - 40px)); }
body.focux-site:not(.home) .fx-page-hero,
body.focux-site:not(.home) .fx-team-hero {
  position:relative;
  overflow:hidden;
  min-height:500px;
  display:flex;
  align-items:center;
  padding:clamp(96px,10vw,150px) 0 clamp(86px,9vw,132px);
  border-bottom:1px solid var(--fx-v3-line);
  background:radial-gradient(circle at 84% 18%,rgba(15,101,161,.42),transparent 32%),radial-gradient(circle at 13% 92%,rgba(17,43,85,.34),transparent 35%),linear-gradient(145deg,#020508 0%,#07101a 54%,#020609 100%);
  isolation:isolate;
}
body.focux-site:not(.home) .fx-page-hero::before,
body.focux-site:not(.home) .fx-team-hero::before {
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.12;
  background-image:linear-gradient(rgba(91,181,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(91,181,255,.18) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg,transparent,#000 55%,transparent);
  content:"";
}
body.focux-site:not(.home) .fx-page-hero::after,
body.focux-site:not(.home) .fx-team-hero::after {
  position:absolute;
  right:-8vw;
  bottom:-23rem;
  width:min(48vw,660px);
  aspect-ratio:1;
  border:1px solid rgba(102,190,255,.15);
  border-radius:50%;
  box-shadow:0 0 0 72px rgba(46,151,239,.025),0 0 100px rgba(28,135,222,.13);
  content:"";
  pointer-events:none;
}
body.focux-site:not(.home) .fx-page-hero .fx-wrap,
body.focux-site:not(.home) .fx-team-hero .fx-wrap { position:relative; z-index:1; }
body.focux-site:not(.home) .fx-eyebrow {
  display:inline-flex;
  width:fit-content;
  align-items:center;
  gap:9px;
  margin-bottom:24px;
  padding:8px 12px 8px 10px;
  border:1px solid var(--fx-v3-line);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#b5c8db;
  font-family:"Cascadia Code",Consolas,monospace;
  font-size:10px;
  letter-spacing:.1em;
}
body.focux-site:not(.home) .fx-eyebrow::before {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--fx-v3-lime);
  box-shadow:0 0 16px var(--fx-v3-lime);
}
body.focux-site:not(.home) .fx-page-hero h1,
body.focux-site:not(.home) .fx-team-hero h1 {
  max-width:980px;
  margin-bottom:22px;
  color:#f7fbff;
  font-size:clamp(3.25rem,6vw,5.6rem);
  font-weight:680;
  line-height:.96;
  letter-spacing:-.065em;
  text-wrap:balance;
}
body.focux-site:not(.home) .fx-page-hero p,
body.focux-site:not(.home) .fx-team-hero p {
  max-width:720px;
  color:var(--fx-v3-muted);
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.7;
}

body.focux-site:not(.home) .fx-section {
  position:relative;
  padding:clamp(88px,9vw,132px) 0;
  background:#050a11;
}
body.focux-site:not(.home) .fx-section:nth-of-type(even),
body.focux-site:not(.home) .fx-section--panel { background:linear-gradient(180deg,#07111b,#04090f); }
body.focux-site:not(.home) .fx-section-heading { max-width:880px; margin-bottom:58px; }
body.focux-site:not(.home) .fx-section-heading h2,
body.focux-site:not(.home) .fx-team-intro h2,
body.focux-site:not(.home) .fx-page-content h2,
body.focux-site:not(.home) .fx-cta h2 { color:#f7fbff; font-weight:650; letter-spacing:-.052em; }
body.focux-site:not(.home) .fx-section-heading h2,
body.focux-site:not(.home) .fx-team-intro h2,
body.focux-site:not(.home) .fx-cta h2 { font-size:clamp(2.65rem,4.7vw,4.6rem); line-height:.99; }
body.focux-site:not(.home) .fx-section-heading p,
body.focux-site:not(.home) .fx-page-content,
body.focux-site:not(.home) .fx-team-intro>p { color:var(--fx-v3-muted); }

body.focux-site:not(.home) .fx-card,
body.focux-site:not(.home) .fx-industry-card,
body.focux-site:not(.home) .fx-client-card,
body.focux-site:not(.home) .fx-project-card,
body.focux-site:not(.home) .fx-contact-note,
body.focux-site:not(.home) .fx-service-capabilities,
body.focux-site:not(.home) .fx-tech-panel,
body.focux-site:not(.home) .fx-check-grid,
body.focux-site:not(.home) .fx-post-card,
body.focux-site:not(.home) .fx-team-card,
body.focux-site:not(.home) .fx-project-empty,
body.focux-site:not(.home) .fx-client-empty {
  overflow:hidden;
  border:1px solid var(--fx-v3-line);
  border-radius:24px;
  background:radial-gradient(circle at 92% 8%,rgba(38,135,213,.14),transparent 34%),linear-gradient(150deg,rgba(13,30,47,.88),rgba(4,10,17,.96));
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
body.focux-site:not(.home) .fx-card,
body.focux-site:not(.home) .fx-industry-card,
body.focux-site:not(.home) .fx-project-card,
body.focux-site:not(.home) .fx-post-card { padding:30px; }
body.focux-site:not(.home) .fx-card:hover,
body.focux-site:not(.home) .fx-industry-card:hover,
body.focux-site:not(.home) .fx-client-card:hover,
body.focux-site:not(.home) .fx-project-card:hover,
body.focux-site:not(.home) .fx-team-card:hover {
  border-color:rgba(117,194,255,.42);
  box-shadow:0 24px 54px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.055);
  transform:translateY(-5px);
}
body.focux-site:not(.home) .fx-icon { width:48px; height:48px; border-color:var(--fx-v3-line); border-radius:50%; background:rgba(24,139,255,.09); color:#76c8ff; }
body.focux-site:not(.home) .fx-card-link,
body.focux-site:not(.home) .fx-project-industry,
body.focux-site:not(.home) .fx-team-role { color:#6fc2ff; }
body.focux-site:not(.home) .fx-client-logo { border-radius:18px; background:rgba(255,255,255,.96); }
body.focux-site:not(.home) .fx-team-photo { border-radius:23px 23px 0 0; }

body.focux-site:not(.home) .fx-form {
  padding:clamp(22px,4vw,38px);
  border:1px solid var(--fx-v3-line);
  border-radius:26px;
  background:linear-gradient(150deg,rgba(13,30,47,.88),rgba(4,10,17,.96));
}
body.focux-site:not(.home) .fx-field input,
body.focux-site:not(.home) .fx-field textarea,
body.focux-site:not(.home) .fx-field select { min-height:50px; border-color:var(--fx-v3-line); border-radius:13px; background:rgba(3,9,16,.82); }
body.focux-site:not(.home) .fx-field textarea { min-height:170px; }
body.focux-site:not(.home) .fx-field input:focus,
body.focux-site:not(.home) .fx-field textarea:focus,
body.focux-site:not(.home) .fx-field select:focus { border-color:#62baff; box-shadow:0 0 0 3px rgba(98,186,255,.12); }

body.focux-site:not(.home) .fx-cta {
  padding:clamp(64px,8vw,104px) clamp(22px,6vw,76px);
  border-color:var(--fx-v3-line);
  border-radius:34px;
  background:radial-gradient(circle at 82% 20%,rgba(24,139,255,.24),transparent 32%),linear-gradient(150deg,#0c2338,#060d16 65%);
}

.focux-site .fx-footer { border-top:1px solid var(--fx-v3-line); background:#020509; }
.focux-site .fx-footer-main { padding-top:78px; }
.focux-site .fx-footer h3 { color:#dce9f5; font-family:"Cascadia Code",Consolas,monospace; font-size:10px; }
.focux-site .fx-footer p,
.focux-site .fx-footer li { color:#7f94a8; }
.focux-site .fx-footer-contact-link { border-color:var(--fx-v3-line); border-radius:999px; color:#b8d7ee!important; }
.focux-site .fx-footer-contact-link:hover { border-color:#69c0ff; background:rgba(63,167,245,.08); }
.focux-site .fx-footer-social a { border-color:var(--fx-v3-line); color:#9cb3c7; }
.focux-site .fx-footer-bottom { border-color:var(--fx-v3-line); color:#586f83; }

@media (max-width:980px) {
  body.focux-site:not(.home) .fx-header { padding:10px 16px; }
  body.focux-site:not(.home) .fx-wrap.fx-nav { min-height:60px; padding:7px 9px 7px 14px; }
  body.focux-site:not(.home) .fx-primary-nav { top:76px; }
  body.focux-site:not(.home) .fx-menu { border-color:var(--fx-v3-line); border-radius:22px; background:rgba(3,9,16,.98); }
  body.focux-site:not(.home) .fx-nav-actions { display:none; }
  body.focux-site:not(.home) .fx-menu-toggle { display:grid; place-items:center; border-radius:999px; color:#fff; }
}
@media (max-width:782px) {
  body.focux-site:not(.home).admin-bar .fx-header { top:46px; }
  body.focux-site:not(.home) .fx-page-hero,
  body.focux-site:not(.home) .fx-team-hero { min-height:430px; padding:82px 0 72px; }
  body.focux-site:not(.home) .fx-page-hero h1,
  body.focux-site:not(.home) .fx-team-hero h1 { font-size:clamp(2.65rem,11vw,4.2rem); }
  body.focux-site:not(.home) .fx-section { padding:78px 0; }
  body.focux-site:not(.home) .fx-contact-note,
  body.focux-site:not(.home) .fx-service-capabilities { padding:24px; }
}
@media (max-width:520px) {
  body.focux-site:not(.home) .fx-header { padding-inline:10px; }
  body.focux-site:not(.home) .fx-wrap { width:min(100% - 28px,1240px); }
  body.focux-site:not(.home) .fx-card,
  body.focux-site:not(.home) .fx-industry-card,
  body.focux-site:not(.home) .fx-project-card,
  body.focux-site:not(.home) .fx-post-card { padding:23px; border-radius:20px; }
  body.focux-site:not(.home) .fx-form { padding:19px; border-radius:21px; }
  body.focux-site:not(.home) .fx-cta { border-radius:25px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
