/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden;}
body{
  font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  background:#fff;
  color:#111827;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;}
img,svg{max-width:100%;}
section,.stats-band,.quote-band{scroll-margin-top:82px;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PARALLAX BLOB SYSTEM
   KEY FIX: background is a SOLID rgba color.
   filter:blur() creates the soft edge naturally.
   Do NOT use radial-gradient → transparent — it becomes invisible.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform;
  transform:translate3d(var(--px,0),var(--py,0),0);
  z-index: 0;
}
/* Blue — visible on white at these opacities */
.blob-blue-lg { width:640px; height:640px; background:rgba(37,99,235,0.10); filter:blur(90px); }
.blob-blue-md { width:440px; height:440px; background:rgba(59,130,246,0.10); filter:blur(70px); }
.blob-blue-sm { width:300px; height:300px; background:rgba(26,86,219,0.09);  filter:blur(60px); }
.blob-navy    { width:480px; height:480px; background:rgba(13,31,60,0.06);   filter:blur(80px); }

/* Dot pattern */
.dots {
  position:absolute; pointer-events:none; z-index:0;
  display:grid; grid-template-columns:repeat(7,1fr); gap:20px;
  transform:translate3d(var(--px,0),var(--py,0),0);
  will-change:transform;
}
.dots span {
  display:block; width:3.5px; height:3.5px; border-radius:50%;
  background:#1d4ed8; opacity:0.2;
}

/* Thin horizontal rule */
.h-rule {
  position:absolute; pointer-events:none; z-index:0;
  height:1px; left:0; right:0;
  background:linear-gradient(to right,transparent 0%,rgba(37,99,235,0.15) 30%,rgba(37,99,235,0.15) 70%,transparent 100%);
}

[data-speed] { --px:0px; --py:0px; }
.parallax-layer,
.depth-ribbon,
.depth-line,
.section-glow,
.mesh-grid {
  transform:translate3d(var(--px,0),var(--py,0),0);
  will-change:transform;
}

.depth-ribbon,
.depth-line,
.section-glow,
.mesh-grid {
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.depth-ribbon {
  height:220px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(37,99,235,0),rgba(37,99,235,0.18),rgba(96,165,250,0));
  filter:blur(.2px);
}
.depth-line {
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(37,99,235,.22),transparent);
}
.section-glow {
  width:540px; height:540px; border-radius:50%;
  background:rgba(37,99,235,.11);
  filter:blur(90px);
}
.mesh-grid {
  width:520px; height:520px;
  opacity:.22;
  background-image:
    linear-gradient(rgba(37,99,235,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.16) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle, #000 0 48%, transparent 72%);
}

/* All section content sits above blobs */
.wrap {
  position:relative; z-index:1;
  width:100%; max-width:1160px; margin:0 auto; padding:0 48px;
}

section { position:relative; overflow:hidden; }

/* ── NAV ── */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:900;
  height:64px; background:rgba(255,255,255,0.93);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,0.07);
  transition:box-shadow .3s;
}
#nav.raised { box-shadow:0 2px 20px rgba(0,0,0,0.07); }
.nav-wrap {
  width:100%; max-width:1160px; margin:0 auto; padding:0 48px;
  height:100%; display:flex; align-items:center; justify-content:space-between;
  gap:18px;
}
.logo { display:flex; align-items:center; min-width:0; }
.nav-wordmark {
  width:190px; max-width:42vw; height:46px;
  object-fit:contain; object-position:left center;
  filter:none;
  user-select:none;
  -webkit-user-drag:none;
}
.nav-links { display:flex; align-items:center; gap:32px; list-style:none; min-width:0; }
.nav-links a { font-size:13.5px; font-weight:500; color:#6b7280; transition:color .2s, background .2s; }
.nav-links a:hover { color:#111827; }
.nav-menu-toggle {
  display:none;
  width:40px; height:40px;
  border:1px solid #dbe3ef;
  border-radius:8px;
  background:#fff;
  color:#0d1f3c;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
}
.nav-menu-toggle:focus { outline:none; }
.nav-menu-toggle:focus-visible {
  outline:3px solid rgba(37,99,235,.22);
  outline-offset:2px;
}
.nav-menu-toggle span {
  position:absolute;
  width:1px; height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
.nav-menu-toggle i,
.nav-menu-toggle i::before,
.nav-menu-toggle i::after {
  content:'';
  display:block;
  width:18px; height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-menu-toggle i { position:relative; }
.nav-menu-toggle i::before,
.nav-menu-toggle i::after { position:absolute; left:0; }
.nav-menu-toggle i::before { top:-6px; }
.nav-menu-toggle i::after { top:6px; }
.nav-cta {
  padding:8px 22px; background:#0d1f3c; color:#fff !important;
  border-radius:6px; font-weight:600 !important; font-size:13.5px !important;
  transition:background .2s !important;
}
.nav-cta:hover { background:#162d52 !important; }

/* ── HERO ── */
#hero {
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  padding:150px 0 110px;
  min-height:min(100vh,980px);
  display:flex; align-items:center;
  isolation:isolate;
}
#hero::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.78),rgba(255,255,255,0));
  pointer-events:none;
  z-index:0;
}
/* Blue blobs — placed so you can CLEARLY see them against white */
#hero .b1 { display:none; }
#hero .b2 { bottom:-140px; left:-160px; }
#hero .b3 { top:35%; left:38%; width:280px; height:280px;
  display:none; background:rgba(59,130,246,0.07); filter:blur(60px); }
#hero .r1 { display:none; }
#hero .m1 { left:-120px; top:68px; }
#hero .l1 { left:16%; right:8%; bottom:15%; }

.hero-grid {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center; gap:80px;
}
.hero-copy { min-width:0; }
.hero-eyebrow {
  display:flex; align-items:center; gap:10px;
  font-size:11px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; color:#2563eb; margin-bottom:24px;
  opacity:0; animation:fadeUp .6s .1s forwards;
}
.hero-eyebrow i { width:22px; height:1.5px; background:#2563eb; display:block; }

h1 {
  font-size:64px; font-weight:900;
  letter-spacing:0; line-height:1.09; color:#111827;
  margin-bottom:24px;
  opacity:0; animation:fadeUp .6s .25s forwards;
}
h1 em { font-style:normal; color:#2563eb; display:block; }

.hero-sub {
  font-size:17px; line-height:1.8; color:#6b7280;
  max-width:460px; margin-bottom:40px; font-weight:400;
  opacity:0; animation:fadeUp .6s .4s forwards;
}
.hero-btns {
  display:flex; align-items:center; gap:14px;
  opacity:0; animation:fadeUp .6s .55s forwards;
}

/* Buttons — restrained */
.btn-a {
  padding:13px 28px; background:#2563eb; color:#fff;
  border-radius:6px; font-size:14.5px; font-weight:600;
  border:none; cursor:pointer; transition:background .2s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-a:hover { background:#1d4ed8; }
.btn-a svg { width:14px; height:14px; }

.btn-b {
  padding:13px 28px; background:transparent; color:#374151;
  border-radius:6px; font-size:14.5px; font-weight:600;
  border:1.5px solid #d1d5db; cursor:pointer;
  transition:border-color .2s, color .2s;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.btn-b:hover { border-color:#2563eb; color:#2563eb; }

/* Hero logo parallax scene */
.hero-logo-side {
  display:flex; justify-content:center; align-items:center;
  opacity:0; animation:fadeIn .9s .5s forwards;
}
.logo-scene {
  position:relative;
  width:min(100%,520px);
  min-height:500px;
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-scene::before {
  display:none;
}
.logo-scene::after {
  display:none;
}
.logo-shell {
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  justify-content:center;
  --logo-scale:1;
  transform:
    translate3d(var(--px,0),var(--py,0),0)
    scale(var(--logo-scale));
  transform-style:preserve-3d;
  will-change:transform;
  transition:filter .25s ease;
}
.logo-float {
  width:min(100%,470px); height:auto;
  display:block;
  object-fit:contain;
  animation:gentleFloat 7s ease-in-out infinite;
  will-change:transform, filter;
  filter:none;
  user-select:none;
  -webkit-user-drag:none;
}
@keyframes gentleFloat {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-16px); }
}

/* Scroll cue */
.scroll-cue {
  position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  opacity:0; animation:fadeIn 1s 1.2s forwards;
}
.cue-line {
  width:1px; height:44px;
  background:linear-gradient(to bottom, rgba(37,99,235,0), rgba(37,99,235,0.35), rgba(37,99,235,0));
  animation:cuePulse 2.2s ease-in-out infinite;
}
.cue-text { font-size:9.5px; letter-spacing:3px; color:#9ca3af; text-transform:uppercase; font-weight:600; }
@keyframes cuePulse {
  0%,100%{opacity:.3;transform:scaleY(.5)} 50%{opacity:1;transform:scaleY(1)}
}

/* ── STATS ── */
.stats-band {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 25%,rgba(96,165,250,.25),transparent 30%),
    linear-gradient(135deg,#071832 0%,#0d2b66 62%,#123a8a 100%);
  border-top:1px solid rgba(191,219,254,.18); border-bottom:1px solid rgba(191,219,254,.18);
  padding:52px 0;
}
.stats-band::before {
  content:'';
  position:absolute;
  left:50%; top:50%;
  width:min(980px,calc(100% - 96px));
  height:clamp(100px,10vw,140px);
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(147,197,253,.16),rgba(255,255,255,0));
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:0;
}
.stats-band .wrap {
  position:relative;
  z-index:1;
}
.stats-band .l1,
.stats-band .l2 {
  left:50%;
  transform:translate3d(var(--px,0),var(--py,0),0) translateX(-50%);
  z-index:0;
}
.stats-band .l1 { top:28px; width:min(84%,960px); }
.stats-band .l2 { bottom:32px; width:min(64%,720px); }
.stats-row {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  position:relative;
}
.stat { text-align:center; padding:0 24px; position:relative; }
.stat+.stat::before {
  content:''; position:absolute; left:0; top:10%; bottom:10%;
  width:1px; background:rgba(191,219,254,.22);
}
.stat-n {
  font-size:50px; font-weight:900; letter-spacing:0;
  color:#fff; line-height:1;
}
.stat-n sup { font-size:26px; color:#93c5fd; vertical-align:super; font-weight:700; }
.stat-l {
  font-size:11px; font-weight:600; color:rgba(219,234,254,.68);
  letter-spacing:1.5px; text-transform:uppercase; margin-top:8px;
}

/* ── SECTION LABELS ── */
.eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:10.5px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; color:#2563eb; margin-bottom:14px;
}
.eyebrow::before { content:''; width:18px; height:1.5px; background:currentColor; }
.sec-h {
  font-size:40px; font-weight:900; letter-spacing:0;
  color:#111827; line-height:1.12; margin-bottom:14px; max-width:540px;
}
.sec-p {
  font-size:16px; line-height:1.8; color:#6b7280; max-width:500px; margin-bottom:52px;
}
.c { text-align:center; }
.c .sec-h, .c .sec-p { margin-left:auto; margin-right:auto; }

/* ── SERVICES ── */
#services {
  background:
    linear-gradient(180deg,#fff 0%,#f8fbff 55%,#fff 100%);
  padding:110px 0;
  isolation:isolate;
}
#services .b1 { top:-200px; right:-100px; }
#services .b2 { bottom:-160px; left:-140px; }
#services .r1 { width:1100px; top:44%; left:50%; transform:translate3d(var(--px,0),var(--py,0),0) translateX(-50%) rotate(-7deg); }
#services .m1 { top:8%; right:-120px; }
#services .l1 { top:72%; left:6%; width:88%; }

/* KEY FIX: cards have gap and individual borders — NOT a grid-border trick */
.svc-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:52px 24px;
  align-items:stretch;
}
.svc-card {
  min-width:0;
  background:#fff;
  border:1.5px solid #e5e7eb;
  border-radius:8px;
  padding:40px 36px;
  box-shadow:0 12px 34px rgba(13,31,60,.045);
  transition:border-color .25s, box-shadow .25s;
  height:100%;
  display:flex;
  flex-direction:column;
}
.svc-card:hover {
  border-color:rgba(37,99,235,0.3);
  box-shadow:0 4px 24px rgba(37,99,235,0.07);
}
.svc-ico {
  width:46px; height:46px; border-radius:8px;
  background:#eff6ff; border:1px solid rgba(37,99,235,0.12);
  display:flex; align-items:center; justify-content:center;
  color:#2563eb; margin-bottom:22px;
}
.svc-ico svg { width:20px; height:20px; }
.svc-title { font-size:17.5px; font-weight:800; letter-spacing:0; color:#111827; margin-bottom:11px; }
.svc-desc  { font-size:14px;  line-height:1.78; color:#6b7280; margin-bottom:20px; }
.svc-tags  { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:26px; }
.tag {
  font-size:11px; font-weight:600; padding:3px 11px; border-radius:4px;
  background:#eff6ff; color:#1d4ed8; letter-spacing:0.2px;
}
.svc-cta {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:700; color:#2563eb;
  transition:gap .2s, color .2s;
}
.svc-cta:hover { gap:10px; color:#1d4ed8; }
.svc-cta svg { width:12px; height:12px; }

/* ── WHY US ── */
#why {
  background:
    radial-gradient(circle at 84% 18%,rgba(96,165,250,.28),transparent 28%),
    linear-gradient(135deg,#071832 0%,#0d2b66 58%,#0a1e42 100%);
  border-top:1px solid rgba(191,219,254,.18);
  border-bottom:1px solid rgba(191,219,254,.18);
  padding:112px 0;
  color:#fff;
  isolation:isolate;
}
#why .b1 { top:-180px; right:-140px; }
#why .b2 { bottom:-160px; left:-120px; }
#why .r1 { width:980px; left:-220px; top:18%; transform:translate3d(var(--px,0),var(--py,0),0) rotate(14deg); opacity:.85; }
#why .m1 { right:-190px; bottom:-210px; background:rgba(96,165,250,.14); }
#why .sec-h,
#why .pt-body h4 { color:#fff; }
#why .sec-p,
#why .pt-body p { color:rgba(255,255,255,.68); }
#why .eyebrow,
#why .pt-num { color:#93c5fd; }
#why .why-panel .pt-num { color:#2563eb; }
#why .why-panel .pt-body h4,
#why .why-panel h3 { color:#111827; }
#why .why-panel .pt-body p,
#why .why-panel p { color:#6b7280; }
#why .btn-b,
.page-section.blue .btn-b {
  color:#fff;
  border-color:rgba(255,255,255,.75);
}
#why .btn-b:hover,
.page-section.blue .btn-b:hover {
  color:#fff;
  border-color:#fff;
  background:rgba(255,255,255,.08);
}

.why-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:90px; align-items:start; }
.why-panels { display:flex; flex-direction:column; gap:14px; }
.why-panel {
  min-width:0;
  background:rgba(255,255,255,.94); border:1px solid rgba(191,219,254,.34); border-radius:8px;
  padding:22px 24px; display:flex; gap:16px; align-items:flex-start;
  box-shadow:0 20px 46px rgba(0,0,0,.14);
  transition:border-color .2s, box-shadow .2s;
}
.why-panel:hover { border-color:rgba(37,99,235,0.22); }
.panel-ico {
  width:38px; height:38px; border-radius:8px;
  background:#eff6ff; border:1px solid rgba(37,99,235,0.12);
  display:flex; align-items:center; justify-content:center;
  color:#2563eb; flex-shrink:0;
}
.panel-ico svg { width:17px; height:17px; }
.panel-title { font-size:13.5px; font-weight:800; color:#111827; margin-bottom:4px; }
.panel-text  { font-size:13px; line-height:1.65; color:#6b7280; }

.why-pts { display:flex; flex-direction:column; gap:28px; }
.why-pt {
  display:flex; gap:18px; align-items:flex-start;
  opacity:1; transform:none; filter:none;
  transition:none;
}
.why-pt.in { opacity:1; transform:none; filter:none; }
.pt-num {
  font-size:10.5px; font-weight:900; color:#2563eb;
  letter-spacing:1px; min-width:24px; padding-top:3px;
}
.pt-body h4 { font-size:14.5px; font-weight:800; color:#111827; margin-bottom:5px; }
.pt-body p  { font-size:13.5px; line-height:1.7; color:#6b7280; }

/* ── QUOTE BAND ── */
.quote-band {
  background:
    radial-gradient(circle at 24% 18%,rgba(96,165,250,.18),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  padding:92px 0;
  position:relative; overflow:hidden;
  isolation:isolate;
}
.quote-band::before {
  content:''; position:absolute;
  width:500px; height:500px; border-radius:50%;
  background:rgba(37,99,235,0.18); filter:blur(80px);
  top:-180px; right:-80px; pointer-events:none;
}
.quote-band::after {
  content:''; position:absolute;
  width:380px; height:380px; border-radius:50%;
  background:rgba(26,86,219,0.14); filter:blur(70px);
  bottom:-140px; left:-60px; pointer-events:none;
}
.quote-band .r1 { width:820px; top:24%; left:50%; transform:translate3d(var(--px,0),var(--py,0),0) translateX(-50%) rotate(-7deg); opacity:.42; }
.quote-band .m1 { right:-180px; top:-180px; opacity:.28; }
.quote-inner { position:relative; z-index:1; text-align:center; max-width:700px; margin:0 auto; padding:0 48px; }
.q-mark { font-size:64px; line-height:.8; color:rgba(37,99,235,0.30); font-family:Georgia,serif; display:block; margin-bottom:20px; }
.q-text { font-size:24px; font-weight:600; line-height:1.55; color:#111827; margin-bottom:20px; letter-spacing:0; }
.q-auth { font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:#9ca3af; }

/* ── EXPERTISE ── */
#expertise {
  background:
    radial-gradient(circle at 16% 18%,rgba(96,165,250,.24),transparent 30%),
    linear-gradient(135deg,#071832 0%,#0d2b66 58%,#0a1e42 100%);
  padding:112px 0;
  isolation:isolate;
}
#expertise .b1 { top:-160px; left:-130px; }
#expertise .b2 { bottom:-140px; right:-120px; }
#expertise .r1 { width:900px; bottom:8%; right:-260px; transform:translate3d(var(--px,0),var(--py,0),0) rotate(-12deg); }
#expertise .m1 { left:-220px; top:18%; }
#expertise .sec-h { color:#fff; }
#expertise .sec-p { color:rgba(255,255,255,.68); }
#expertise .eyebrow { color:#93c5fd; }

.exp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.exp-card {
  min-width:0;
  border:1.5px solid #e5e7eb; border-radius:8px; padding:30px 26px;
  background:#fff; position:relative; overflow:hidden;
  box-shadow:0 14px 38px rgba(13,31,60,.045);
  transition:border-color .2s;
}
.exp-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,#2563eb,#60a5fa);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s cubic-bezier(.23,1,.32,1);
}
.exp-card:hover { border-color:rgba(37,99,235,0.2); }
.exp-card:hover::before { transform:scaleX(1); }
.exp-cat { font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:#2563eb; margin-bottom:12px; }
.exp-ttl { font-size:16px; font-weight:800; letter-spacing:0; color:#111827; margin-bottom:14px; }
.exp-list { list-style:none; display:flex; flex-direction:column; gap:8px; }
.exp-list li { font-size:13.5px; color:#6b7280; display:flex; align-items:baseline; gap:9px; }
.exp-list li::before { content:''; width:4px; height:4px; border-radius:50%; background:#60a5fa; flex-shrink:0; margin-top:6px; }

/* ── CONTACT ── */
#contact {
  background:
    radial-gradient(circle at 88% 18%,rgba(96,165,250,.18),transparent 28%),
    linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  border-top:1px solid #e5e7eb;
  padding:112px 0;
  isolation:isolate;
}
#contact .b1 { top:-160px; right:-120px; }
#contact .b2 { bottom:-140px; left:-100px; }
#contact .r1 { width:980px; left:44%; top:22%; transform:translate3d(var(--px,0),var(--py,0),0) rotate(8deg); }
#contact .m1 { right:-180px; top:8%; background:rgba(37,99,235,.09); }
#contact .sec-h { color:#111827; }
#contact .sec-p,
#contact .c-row p { color:#6b7280; }
#contact .eyebrow { color:#2563eb; }
#contact .c-row h4 { color:#111827; }

.contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:90px; align-items:start; }
.c-list { display:flex; flex-direction:column; gap:24px; }
.c-row  { display:flex; gap:14px; align-items:flex-start; }
.c-ico {
  width:42px; height:42px; border-radius:8px;
  background:#eff6ff; border:1px solid rgba(37,99,235,0.12);
  display:flex; align-items:center; justify-content:center;
  color:#2563eb; flex-shrink:0;
}
.c-ico svg { width:17px; height:17px; }
.c-row h4 { font-size:13px; font-weight:700; color:#111827; margin-bottom:3px; }
.c-row p  { font-size:13.5px; color:#6b7280; line-height:1.62; }
.c-row a { color:#2563eb; font-weight:700; }
.c-row a:hover { color:#1d4ed8; }
.c-detail { display:block; margin-top:2px; }

.c-form {
  min-width:0;
  background:#fff; border:1.5px solid #e5e7eb;
  border-radius:8px; padding:42px 38px;
  box-shadow:0 24px 64px rgba(13,31,60,0.10);
}
.c-form h3 { font-size:19px; font-weight:900; letter-spacing:0; color:#111827; margin-bottom:4px; }
.c-form > p { font-size:13.5px; color:#9ca3af; margin-bottom:26px; }
.frow { margin-bottom:16px; }
.flbl { display:block; font-size:11px; font-weight:700; color:#9ca3af; letter-spacing:.5px; text-transform:uppercase; margin-bottom:6px; }
.finput, .ftarea {
  width:100%; padding:11px 14px;
  border:1.5px solid #e5e7eb; border-radius:8px;
  font-size:14px; color:#111827; font-family:inherit;
  background:#fff; outline:none;
  transition:border-color .2s, box-shadow .2s;
  -webkit-appearance:none;
}
.finput:focus, .ftarea:focus {
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(96,165,250,0.12);
}
.finput::placeholder, .ftarea::placeholder { color:#d1d5db; }
.ftarea { resize:vertical; min-height:108px; }
.f-submit {
  width:100%; padding:13px 0;
  background:#2563eb; color:#fff;
  border:none; border-radius:8px;
  font-size:14.5px; font-weight:700;
  cursor:pointer; transition:background .2s;
  margin-top:4px;
}
.f-submit:hover { background:#1d4ed8; }
.f-submit.is-loading {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  opacity:.9;
  cursor:wait;
}
.f-submit.is-loading::before {
  content:'';
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.42);
  border-top-color:#fff;
  animation:buttonSpin .75s linear infinite;
}
.f-submit:disabled {
  cursor:not-allowed;
}
@keyframes buttonSpin {
  to { transform:rotate(360deg); }
}

/* Careers openings and admin */
.section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:34px;
}
.section-head .sec-p { margin-bottom:0; }
.admin-entry { flex:0 0 auto; background:#fff; }
.jobs-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  grid-auto-rows:1fr;
}
.job-card {
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1.5px solid #dbe7f8;
  border-radius:8px;
  padding:28px;
  box-shadow:0 14px 38px rgba(13,31,60,.055);
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
.job-card:hover {
  border-color:rgba(37,99,235,.28);
  box-shadow:0 18px 48px rgba(13,31,60,.085);
}
.job-card-link {
  color:inherit;
  text-decoration:none;
}
.job-card-link:hover .job-view {
  background:#1d4ed8;
}
.job-card h3 {
  font-size:19px;
  line-height:1.25;
  font-weight:900;
  color:#111827;
  margin-bottom:10px;
}
.job-card p {
  font-size:14px;
  line-height:1.76;
  color:#6b7280;
  margin-bottom:20px;
}
.job-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.job-pill {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eff6ff;
  border:1px solid rgba(37,99,235,.10);
  color:#1d4ed8;
  font-size:11.5px;
  font-weight:800;
  line-height:1.2;
}
.job-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
}
.job-actions .btn-a,
.job-actions .btn-b {
  padding:11px 16px;
  font-size:13px;
}
.jobs-empty {
  grid-column:1 / -1;
  background:#fff;
  border:1.5px dashed #bfdbfe;
  border-radius:8px;
  padding:34px;
  text-align:center;
  color:#6b7280;
  font-size:15px;
  line-height:1.7;
}
.job-detail-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:28px;
  align-items:start;
}
.job-detail-card,
.job-detail-side {
  min-width:0;
  background:#fff;
  border:1.5px solid #dbe7f8;
  border-radius:8px;
  box-shadow:0 18px 52px rgba(13,31,60,.07);
}
.job-detail-card {
  padding:42px;
}
.job-detail-card .sec-p {
  margin-bottom:28px;
}
.job-detail-copy {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.job-detail-copy h3 {
  margin-top:10px;
  font-size:17px;
  font-weight:900;
  color:#111827;
}
.job-detail-copy p,
.job-detail-list li {
  font-size:15px;
  line-height:1.82;
  color:#6b7280;
}
.job-detail-list {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.job-detail-list li {
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.job-detail-list li::before {
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:#60a5fa;
  flex:0 0 auto;
  margin-top:11px;
}
.job-detail-side {
  padding:30px;
  position:sticky;
  top:92px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.job-detail-side h3 {
  font-size:19px;
  font-weight:900;
  color:#111827;
}
.job-detail-meta {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:8px;
}
.job-detail-meta span {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border:1px solid rgba(37,99,235,.10);
  border-radius:8px;
  background:#f8fbff;
  color:#374151;
  font-size:13.5px;
  line-height:1.45;
}
.job-detail-meta strong {
  color:#1d4ed8;
  font-size:10.5px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.job-detail-side .btn-a,
.job-detail-side .btn-b {
  width:100%;
}
.job-details-area {
  min-height:180px;
}
.admin-layout {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:28px;
  align-items:start;
}
.admin-form,
.admin-panel {
  min-width:0;
  height:100%;
}
.admin-form-head,
.admin-panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.admin-form-head .sec-h,
.admin-panel-head .sec-h {
  font-size:30px;
  margin-bottom:0;
}
.admin-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.admin-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-top:8px;
}
.admin-actions .f-submit { margin-top:0; }
.btn-soft {
  min-height:46px;
  background:#fff;
}
.admin-status {
  min-height:24px;
  color:#16a34a;
  font-size:12px;
  font-weight:800;
  text-align:right;
}
.admin-note {
  margin-top:16px;
  color:#6b7280;
  font-size:12.5px;
  line-height:1.65;
}
.admin-panel {
  background:#fff;
  border:1.5px solid #e5e7eb;
  border-radius:8px;
  padding:34px;
  box-shadow:0 24px 64px rgba(13,31,60,.08);
}
.admin-jobs-list {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.admin-job {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1.5px solid #e5e7eb;
  border-radius:8px;
  padding:18px;
  background:#f8fbff;
}
.admin-job h3 {
  font-size:15px;
  line-height:1.35;
  color:#111827;
  margin-bottom:5px;
}
.admin-job p {
  font-size:12.5px;
  line-height:1.6;
  color:#6b7280;
}
.admin-job-actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-job-actions button {
  min-height:38px;
  padding:9px 13px;
  border-radius:6px;
  border:1.5px solid #d1d5db;
  background:#fff;
  color:#374151;
  font-family:inherit;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
}
.admin-job-actions button:hover {
  border-color:#2563eb;
  color:#2563eb;
}
.admin-job-actions .danger:hover {
  border-color:#dc2626;
  color:#dc2626;
}

/* ── FOOTER ── */
footer { background:#0d1f3c; padding:36px 0; }
.foot-wrap {
  width:100%; max-width:1160px; margin:0 auto; padding:0 48px;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
}
.f-brand { font-size:12.5px; font-weight:900; letter-spacing:3.5px; color:rgba(255,255,255,.8); }
.f-copy  { font-size:12.5px; color:rgba(255,255,255,.3); }
.f-tag   { font-size:11px; letter-spacing:2px; color:rgba(255,255,255,.18); }

/* ── REVEAL ── */
.rv {
  --reveal-opacity:1;
  --reveal-distance:36px;
  --reveal-y:0px;
  opacity:1;
  transform:none;
  filter:none;
  transition:none;
}
.motion-ready .rv {
  --reveal-opacity:0;
  --reveal-y:var(--reveal-distance);
  opacity:var(--reveal-opacity);
  transform:translate3d(0,var(--reveal-y),0);
  filter:none;
}
.motion-ready .rv.in {
  opacity:var(--reveal-opacity);
  transform:translate3d(0,var(--reveal-y),0);
  filter:none;
}
.rv.why-panel,
.rv.c-row {
  --reveal-distance:20px;
}
.rv.d1{transition-delay:.07s} .rv.d2{transition-delay:.14s} .rv.d3{transition-delay:.21s} .rv.d4{transition-delay:.28s}

@keyframes fadeUp  { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .wrap,.nav-wrap,.foot-wrap{padding:0 36px;}
  #hero{padding:108px 0 86px; align-items:flex-start; min-height:auto;}
  h1{font-size:52px;}
  .sec-h{font-size:36px;}
  .page-hero h1{font-size:50px;}
  .cta-panel h2{font-size:32px;}
  .hero-grid{grid-template-columns:1fr; gap:32px;}
  .hero-copy{order:2; max-width:620px; margin:0 auto; text-align:center;}
  .hero-eyebrow{justify-content:center;}
  .hero-sub{margin-left:auto; margin-right:auto;}
  .hero-btns{justify-content:center;}
  .hero-logo-side{display:flex; order:1; opacity:1; animation:none;}
  .logo-scene{width:min(100%,360px); min-height:240px; margin:0 auto;}
  .logo-float{width:min(100%,300px); height:auto; animation:none;}
  .scroll-cue{display:none;}
  .why-layout,.contact-grid{gap:58px;}
}
@media(max-width:900px){
  .wrap,.nav-wrap,.foot-wrap,.quote-inner{padding:0 24px;}
  .blob:not(.auto-depth),
  .mesh-grid:not(.auto-depth),
  .section-glow:not(.auto-depth),
  .depth-ribbon:not(.auto-depth),
  .depth-line:not(.auto-depth),
  .h-rule:not(.auto-depth) {
    display:none;
  }
  .auto-depth{opacity:.12;}
  .hero-grid{gap:30px;}
  .svc-grid{grid-template-columns:1fr;}
  .svc-grid,.exp-grid{row-gap:42px;}
  .why-panels,.c-list{gap:32px;}
  .rv{--reveal-distance:30px;}
  .rv.why-panel,.rv.c-row{--reveal-distance:18px;}
  .why-layout,.contact-grid{grid-template-columns:1fr; gap:52px;}
  .exp-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,1fr); row-gap:32px;}
  .stat+.stat::before{display:none;}
  .stats-band::before{
    width:min(560px,calc(100% - 48px));
    height:calc(100% - 56px);
    background:radial-gradient(ellipse at center,rgba(147,197,253,.18) 0%,rgba(147,197,253,.10) 42%,rgba(255,255,255,0) 74%);
  }
  .stats-band .l1{width:calc(100% - 48px);}
  .stats-band .l2{width:min(64%,420px);}
}
@media(max-width:760px){
  footer{padding:32px 0;}
  .foot-wrap{flex-direction:column; justify-content:center; text-align:center; gap:10px;}
  .f-brand,.f-copy,.f-tag{line-height:1.5;}
}
@media(max-width:560px){
  #hero{padding:90px 0 64px;}
  #services,#why,#expertise,#contact{padding:88px 0;}
  .quote-band{padding:76px 0;}
  h1{font-size:36px; letter-spacing:0;}
  .sec-h{font-size:28px;}
  .hero-eyebrow{flex-wrap:wrap; row-gap:6px; letter-spacing:2.2px; line-height:1.28;}
  .hero-sub{font-size:16px; line-height:1.72; margin-bottom:30px;}
  .hero-btns{flex-direction:column; align-items:stretch;}
  .btn-a,.btn-b{justify-content:center;}
  .hero-grid{gap:24px;}
  .svc-grid,.exp-grid{row-gap:36px;}
  .why-panels,.c-list{gap:28px;}
  .rv{--reveal-distance:24px;}
  .rv.why-panel,.rv.c-row{--reveal-distance:16px;}
  .logo-scene{min-height:156px; width:100%;}
  .logo-float{width:min(100%,210px); height:auto;}
  .nav-wordmark{width:150px; height:40px;}
  .nav-links li:not(:last-child){display:none;}
  .stats-row{grid-template-columns:1fr;}
  .stats-band{padding:44px 0;}
  .stats-band::before{
    width:min(260px,calc(100% - 64px));
    height:calc(100% - 48px);
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(147,197,253,.14),rgba(255,255,255,0));
  }
  .stats-band .l1{top:22px;}
  .stats-band .l2{bottom:24px; width:min(72%,260px);}
  .stat{padding:18px 0;}
  .stat:first-child{padding-top:0;}
  .stat:not(:first-child){border-top:1px solid rgba(191,219,254,.18);}
  .svc-card,.why-panel,.exp-card,.c-form{padding:28px 22px;}
  .contact-grid{gap:42px;}
}
@media(max-width:360px){
  .wrap,.nav-wrap,.foot-wrap,.quote-inner{padding-left:18px; padding-right:18px;}
  .nav-wrap{gap:12px;}
  .nav-wordmark{width:112px;}
  .nav-cta{padding:8px 10px; font-size:12px !important;}
  .nav-menu-toggle{width:36px; height:36px;}
  #hero{padding-top:84px;}
  h1{font-size:34px;}
  .sec-h{font-size:25px;}
  .hero-sub,.sec-p{font-size:15.5px;}
  .hero-grid{gap:22px;}
  .hero-logo-side{display:flex;}
  .logo-scene{min-height:132px;}
  .logo-float{width:min(100%,172px);}
  .svc-card,.why-panel,.exp-card,.c-form{padding:26px 20px;}
  .c-row{gap:12px;}
  .c-ico{width:38px; height:38px;}
}

/* ── MULTI-PAGE STRUCTURE ── */
.nav-wrap{max-width:1280px;}
.nav-links{gap:20px;}
.nav-links a{font-size:12.8px; white-space:nowrap;}
.nav-links a.active{color:#2563eb; font-weight:700;}
.nav-links .cta-item{flex-shrink:0;}
.page-hero{
  background:
    radial-gradient(circle at 78% 18%,rgba(96,165,250,.26),transparent 30%),
    radial-gradient(circle at 12% 80%,rgba(37,99,235,.20),transparent 28%),
    linear-gradient(135deg,#071832 0%,#0d2b66 60%,#123a8a 100%);
  padding:142px 0 92px;
  min-height:520px;
  display:flex;
  align-items:center;
  isolation:isolate;
  color:#fff;
  border-bottom:1px solid rgba(191,219,254,.18);
}
.page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(7,24,50,.78),rgba(7,24,50,.24) 52%,rgba(18,58,138,.18)),
    linear-gradient(rgba(147,197,253,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(147,197,253,.08) 1px,transparent 1px);
  background-size:auto,72px 72px,72px 72px;
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.86) 72%,transparent 100%);
}
.page-hero .m1{
  left:auto; right:-120px; top:44px;
  opacity:.28;
  background-image:
    linear-gradient(rgba(191,219,254,.22) 1px,transparent 1px),
    linear-gradient(90deg,rgba(191,219,254,.22) 1px,transparent 1px);
}
.page-hero .b2{
  right:-180px; bottom:-150px;
  background:rgba(147,197,253,.18);
  filter:blur(84px);
}
.page-hero-inner{max-width:760px;}
.page-hero h1{font-size:62px; letter-spacing:0; opacity:1; animation:none; margin-bottom:22px; color:#fff;}
.page-hero h1 em{display:inline; color:#93c5fd;}
.page-kicker{display:inline-flex; align-items:center; gap:10px; color:#93c5fd; font-size:11px; font-weight:800; letter-spacing:3px; text-transform:uppercase; margin-bottom:22px;}
.page-kicker::before{content:''; width:24px; height:1.5px; background:currentColor; display:block;}
.page-sub{font-size:17px; line-height:1.82; color:rgba(219,234,254,.78); max-width:640px; margin-bottom:32px;}
.page-hero .btn-b{
  color:#fff;
  border-color:rgba(255,255,255,.72);
}
.page-hero .btn-b:hover{
  color:#fff;
  border-color:#fff;
  background:rgba(255,255,255,.08);
}
.page-section{position:relative; padding:104px 0; overflow:hidden; isolation:isolate;}
.page-section.white{background:#fff;}
.page-section.soft{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);}
.page-section.soft + .page-section.white:not(:has(.cta-panel)):not(:has(.office-grid)){
  background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
}
.page-section.blue{background:linear-gradient(135deg,#071832 0%,#0d2b66 58%,#0a1e42 100%); color:#fff;}
.page-section.blue .sec-h,.page-section.blue .content-card h3,.page-section.blue .list-title{color:#fff;}
.page-section.blue .sec-p,.page-section.blue .content-card p,.page-section.blue .list-card li{color:rgba(255,255,255,.7);}
.page-section.blue .content-card{background:rgba(255,255,255,.94); color:#111827;}
.page-section.blue .content-card h3{color:#111827;}
.page-section.blue .content-card p,.page-section.blue .content-card li{color:#6b7280;}
.page-section.white:has(.cta-panel),
.page-section.white:has(.office-grid){
  background:
    radial-gradient(circle at 80% 20%,rgba(96,165,250,.26),transparent 28%),
    linear-gradient(135deg,#071832 0%,#0d2b66 58%,#123a8a 100%);
  color:#fff;
}
.page-section.white:has(.cta-panel) .cta-panel{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(191,219,254,.24);
  box-shadow:none;
}
.page-section.white:has(.cta-panel) .cta-panel h2,
.page-section.white:has(.cta-panel) .cta-panel p{
  color:#fff;
}
.page-section.white:has(.cta-panel) .cta-panel p{
  color:rgba(219,234,254,.76);
}
.page-section.white:has(.office-grid) .office-card{
  border-color:rgba(191,219,254,.22);
  box-shadow:0 20px 54px rgba(0,0,0,.12);
}
.split-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:start;}
.split-grid > *,
.content-grid > *,
.process-grid > *,
.office-grid > *{min-width:0;}
.content-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; grid-auto-rows:1fr;}
.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.content-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.content-card{
  min-width:0;
  background:#fff;
  border:1.5px solid #e5e7eb;
  border-radius:8px;
  padding:32px 28px;
  box-shadow:0 12px 34px rgba(13,31,60,.045);
  display:flex;
  flex-direction:column;
  height:100%;
}
.content-card h3{font-size:18px; line-height:1.25; font-weight:850; letter-spacing:0; color:#111827; margin-bottom:12px;}
.content-card p{font-size:14px; line-height:1.78; color:#6b7280;}
.content-card .svc-ico{margin-bottom:18px;}
.list-card ul,.content-card ul{list-style:none; display:flex; flex-direction:column; gap:10px; margin-top:14px;}
.list-card li,.content-card li{font-size:14px; color:#6b7280; line-height:1.65; display:flex; gap:10px; align-items:flex-start;}
.list-card li::before,.content-card li::before{content:''; width:5px; height:5px; border-radius:50%; background:#60a5fa; flex:0 0 auto; margin-top:9px;}
.process-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; counter-reset:step;}
.process-card{counter-increment:step; display:flex; gap:18px; align-items:flex-start;}
.step-num{width:42px; height:42px; border-radius:8px; background:#eff6ff; border:1px solid rgba(37,99,235,.14); color:#2563eb; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:900; flex:0 0 auto;}
.step-num::before{content:counter(step, decimal-leading-zero);}
.tag-cloud{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
.pill{font-size:12px; font-weight:700; color:#1d4ed8; background:#eff6ff; border:1px solid rgba(37,99,235,.10); border-radius:999px; padding:7px 12px;}
.cta-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#071832 0%,#0d2b66 58%,#123a8a 100%);
  color:#fff;
  border-radius:8px;
  padding:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  box-shadow:0 24px 64px rgba(13,31,60,.14);
}
.cta-panel h2{font-size:38px; line-height:1.12; margin-bottom:10px;}
.cta-panel p{color:rgba(255,255,255,.72); max-width:650px; line-height:1.75;}
.page-actions{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.office-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:22px; align-items:stretch;}
.office-card{background:#fff; border:1.5px solid #e5e7eb; border-radius:8px; padding:28px; box-shadow:0 12px 34px rgba(13,31,60,.045); height:100%;}
.office-card h3{font-size:18px; margin-bottom:10px; color:#111827;}
.office-card p{font-size:14px; color:#6b7280; line-height:1.75;}
.office-card a{color:#2563eb; font-weight:800;}
.footer-links{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:18px;}
.footer-links a{font-size:12px; color:rgba(255,255,255,.48);}
.footer-links a:hover{color:#fff;}
.mini-nav{display:flex; gap:10px; flex-wrap:wrap; margin-top:30px;}
.mini-nav a{font-size:13px; font-weight:800; color:#2563eb; background:#eff6ff; border:1px solid rgba(37,99,235,.10); border-radius:8px; padding:10px 12px;}
.linkedin-link{display:inline-flex; align-items:center; gap:8px; margin-top:10px; color:#2563eb; font-weight:800;}
.auto-depth{opacity:.22;}
.auto-glow{
  top:8%;
  right:-180px;
  background:rgba(37,99,235,.10);
}
.auto-glow.depth-left{left:-180px; right:auto; top:14%;}
.auto-line{
  width:min(920px,82%);
  top:50%;
  left:50%;
  transform:translate3d(var(--px,0),var(--py,0),0) translateX(-50%);
  opacity:.38;
}
.page-section.blue .auto-glow,
.page-section.white:has(.cta-panel) .auto-glow,
.page-section.white:has(.office-grid) .auto-glow{
  background:rgba(147,197,253,.15);
  opacity:.32;
}
.page-section.blue .auto-line,
.page-section.white:has(.cta-panel) .auto-line,
.page-section.white:has(.office-grid) .auto-line{
  background:linear-gradient(90deg,transparent,rgba(191,219,254,.34),transparent);
}
@media(max-width:1180px){
  .nav-wrap{position:relative;}
  .nav-menu-toggle{display:inline-flex;}
  .nav-links li:not(.cta-item){display:none;}
  #nav.menu-open .nav-menu-toggle {
    background:#eff6ff;
    border-color:rgba(37,99,235,.25);
    color:#2563eb;
  }
  #nav.menu-open .nav-menu-toggle i { transform:rotate(45deg); }
  #nav.menu-open .nav-menu-toggle i::before { transform:translateY(6px) rotate(90deg); }
  #nav.menu-open .nav-menu-toggle i::after { opacity:0; }
  #nav.menu-open .nav-links{
    position:absolute;
    z-index:920;
    top:calc(100% + 10px);
    left:36px;
    right:36px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:10px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:8px;
    box-shadow:0 18px 48px rgba(13,31,60,.14);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  #nav.menu-open .nav-links li{display:block;}
  #nav.menu-open .nav-links a:not(.nav-cta){
    display:block;
    padding:12px 14px;
    border-radius:6px;
    color:#374151;
  }
  #nav.menu-open .nav-links a:not(.nav-cta):hover,
  #nav.menu-open .nav-links a.active{
    background:#eff6ff;
    color:#2563eb;
  }
  #nav.menu-open .nav-links .nav-cta{
    display:flex;
    justify-content:center;
    margin-top:6px;
  }
}
@media(max-width:900px){
  .page-hero{padding:118px 0 76px; min-height:auto; text-align:center;}
  .page-hero-inner,.page-sub{margin-left:auto; margin-right:auto;}
  .page-kicker{justify-content:center;}
  .split-grid,.content-grid,.content-grid.two,.content-grid.four,.process-grid,.office-grid,.jobs-grid,.admin-layout,.job-detail-layout{grid-template-columns:minmax(0,1fr);}
  .content-grid{gap:22px;}
  .section-head{align-items:flex-start; flex-direction:column;}
  .job-detail-side{position:relative; top:auto;}
  .page-section{padding:84px 0;}
  .cta-panel{flex-direction:column; align-items:flex-start;}
}
@media(max-width:560px){
  #nav.menu-open .nav-links{left:24px; right:24px;}
  .page-hero{padding:96px 0 62px;}
  .page-hero h1{font-size:34px; letter-spacing:0;}
  .page-sub{font-size:16px; line-height:1.72;}
  .content-card,.office-card,.cta-panel,.job-card,.admin-panel,.job-detail-card,.job-detail-side{padding:26px 22px;}
  .admin-form-grid,.admin-actions,.admin-job{grid-template-columns:minmax(0,1fr);}
  .admin-job-actions{justify-content:flex-start;}
  .admin-form-head,.admin-panel-head{flex-direction:column; align-items:flex-start;}
  .admin-form-head .sec-h,.admin-panel-head .sec-h{font-size:26px;}
  .admin-entry{width:100%;}
  .page-actions{flex-direction:column; align-items:stretch;}
  .page-actions .btn-a,.page-actions .btn-b{justify-content:center;}
}
@media(max-width:360px){
  #nav.menu-open .nav-links{left:18px; right:18px;}
}
